svnno****@sourc*****
svnno****@sourc*****
2010年 5月 1日 (土) 23:06:18 JST
Revision: 1811 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1811 Author: dhrname Date: 2010-05-01 23:06:17 +0900 (Sat, 01 May 2010) Log Message: ----------- Modified Paths: -------------- branches/ufltima/dom/svg.js Modified: branches/ufltima/dom/svg.js =================================================================== --- branches/ufltima/dom/svg.js 2010-04-30 14:33:45 UTC (rev 1810) +++ branches/ufltima/dom/svg.js 2010-05-01 14:06:17 UTC (rev 1811) @@ -2631,8 +2631,14 @@ //Textノードにdiv要素を格納したリストをプロパティとして蓄えておく tar._tar = []; for (var i=0, tdli=tar.data.length;i<tdli;++i) { - var d = document.createElement("div"); - d.style.position = "absolute"; + var d = document.createElement("div"), dstyle = d.style; + dstyle.position = "absolute"; + dstyle.marginLeft = "0px"; + dstyle.marginTop = "0px"; + dstyle.paddingTop = "0px"; + dstyle.paddingLeft = "0px"; + dstyle.textIndent = "0px"; + dstyle.whiteSpace = "nowrap"; d.appendChild(document.createTextNode(tar.data.charAt(i))); tar._tar[tar._tar.length] = d; } @@ -2657,7 +2663,8 @@ } else { var ptx = pty = ptdx = ptdy = {numberOfItems : 0}; } - var kern = "fijlt.,:;1"; + var kern = "fijlt.,:;1'", akern = "abcdghkmnopqsuvwxyz", alm = 0; +; while (ti) { if (ti.nodeType === Node.TEXT_NODE) { var tt = ti._tar; @@ -2682,19 +2689,28 @@ } else if (n < tdy.numberOfItems) { y += tdy.getItem(n).value; } - var alm = 0; if (isYokogaki) { - if (kern.indexOf(ti.data.charAt(i))) { //カーニングを求める - alm = fontSize/2; + if (kern.indexOf(ti.data.charAt(i)) > -1) { //カーニングを求める + if (alm === 0) { + alm = fontSize/2; + } else { + alm = 0; + } + x -= alm; + } else if(akern.indexOf(ti.data.charAt(i)) > -1){ + if (alm === 0) { + x = x - fontSize/2; + } + alm = 0; } x += fontSize; - x -= alm; } else { y += fontSize; } tar._list[tar._list.length] = x; tar._list[tar._list.length] = y; tar._list[tar._list.length] = fontSize - alm; + x -= alm; ++n; } } else if ((ti.localName === "tspan") && (ti.namespaceURI === "http://www.w3.org/2000/svg") && ti.firtChild) {