[Sie-announce] SIEコード [2931] 1, SVGTextElementの変数を整理

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 9月 10日 (土) 23:43:49 JST


Revision: 2931
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2931
Author:   dhrname
Date:     2011-09-10 23:43:48 +0900 (Sat, 10 Sep 2011)

Log Message:
-----------
1, SVGTextElementの変数を整理
2, SVGTextElementを改良して、text要素のxとy属性が一つの数値からなるリストの場合のみ、字詰め処理をブラウザに任せるようにした

Modified Paths:
--------------
    branches/08x/085/org/w3c/dom/svg.js

Modified: branches/08x/085/org/w3c/dom/svg.js
===================================================================
--- branches/08x/085/org/w3c/dom/svg.js	2011-09-07 13:59:22 UTC (rev 2930)
+++ branches/08x/085/org/w3c/dom/svg.js	2011-09-10 14:43:48 UTC (rev 2931)
@@ -4194,14 +4194,18 @@
     }
     tnext = tpar = isLast = null;
     tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
-      var tar = evt.target, ti = tar.firstChild, ttp = tar._tar;
+      var tar = evt.target,
+          ti = tar.firstChild,
+          ttp = tar._tar,
+          style = tar.ownerDocument.defaultView.getComputedStyle(tar, null),
+          n = parseFloat(style.getPropertyValue("font-size")) * Math.sqrt(Math.abs(tar.getScreenCTM()._determinant())),
+          tod = tar.ownerDocument.documentElement,
+          ttpc = ttp, //ttpcはttpのキャッシュ
+          tlen = tar.getComputedTextLength(),
+          anchor = style.getPropertyValue("text-anchor");
       ttp.style.cssText = tar.style.cssText;
-      var style = tar.ownerDocument.defaultView.getComputedStyle(tar, null);
-      var n = parseFloat(style.getPropertyValue("font-size")) * Math.sqrt(Math.abs(tar.getScreenCTM()._determinant()));
       ttp.style.fontSize = n + "px";
       ttp.style.fontFamily = style.getPropertyValue("font-family");
-      var tod = tar.ownerDocument.documentElement, ttpc = ttp; //ttpcはttpのキャッシュ
-      var tlen = tar.getComputedTextLength(), anchor = style.getPropertyValue("text-anchor");
       /*ここでの変数jは前回ノードまでの総文字数*/
       for (var i=0, j=0, tli=tar.getNumberOfChars();i<tli;++i) {
         if (ti) {
@@ -4277,6 +4281,14 @@
             } else if (disp && !disp._isDefault) {
         tts.display = "block";
       }
+      if ((tar.x.baseVal.numberOfItems === 1) && (tar.y.baseVal.numberOfItems === 1)
+          && tar._isYokogaki && (tar.firstChild.nodeName === "#text")) {
+        var tft = tar.firstChild._tars;
+        for (var i=1, tli=tft.length;i<tli;++i) {
+          tft[0].innerText += tft[i].innerText;
+          tft[i].style.display = "none";
+        }
+      }
       var isRect = true;
       if (ttp.lastChild) {
         if (ttp.lastChild.nodeName !== "rect") {




Sie-announce メーリングリストの案内
Back to archive index