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