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") {