[Sie-announce] SIEコード [1392] font-sizeを文字の位置ずらしに適用させないようにした

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 11月 5日 (木) 20:37:26 JST


Revision: 1392
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1392
Author:   dhrname
Date:     2009-11-05 20:37:26 +0900 (Thu, 05 Nov 2009)

Log Message:
-----------
font-sizeを文字の位置ずらしに適用させないようにした

Modified Paths:
--------------
    branches/05x/053/sie.js

Modified: branches/05x/053/sie.js
===================================================================
--- branches/05x/053/sie.js	2009-11-04 13:58:43 UTC (rev 1391)
+++ branches/05x/053/sie.js	2009-11-05 11:37:26 UTC (rev 1392)
@@ -1846,8 +1846,8 @@
   try {
     var tsrc = document.getElementsByTagName("FONTFACEURI");
     for (var i=0;i<tsrc.length;++i) {
-      var src = tsrc[i].getAttribute("xlink:href");
-      getURL(src, _ie_font, [ {id : src.substring(src.indexOf("#"), src.length-1), style:{}} ], 1);
+      var src = tsrc[i].getAttribute("xlink:href"), ids = src.substring(src.indexOf("#")+1, src.length);
+      getURL(src.replace(/#.+$/, ""), _ie_font, [ {id : ids, style:{}} ], 1);
     }
   } catch (e) {stlog.add(e,1847);}
 };
@@ -1883,7 +1883,8 @@
         var index = data.indexOf(glyphs[i].getAttribute("unicode")), path = document.createElement("v:shape");
         if (index > -1) {
           //fontSizeと文字数をかけた長さ分、ずらしていく
-          var x = dx + fontSize * index, y = dy, advanceX[index] = parseFloat(glyphs[i].getAttribute("horiz-adv-x") || advX);
+          var x = dx + fontSize * index, y = dy;
+          advanceX[index] = parseFloat(glyphs[i].getAttribute("horiz-adv-x") || advX);
           ti.parentNode.insertBefore(path, ti);
           NAIBU.pathData(glyphs[i].getAttribute("d"), path, true, x, y, ti.w, ti.h, fontSize, parseFloat(em || 1000));
         }
@@ -1914,7 +1915,7 @@
   var tsrc = doc.getElementsByTagNameNS(NAIBU.svgNameSpace, "font-face-uri");
   for (var i=0;i<tsrc.length;++i) {
     var src = tsrc[i].getAttributeNS("http://www.w3.org/1999/xlink", "xlink:href"), ids = src.substring(src.indexOf("#")+1, src.length);
-    getURL(src.replace(/#.+$/, ""), _ie_font, [ {id : ids, style:{}} ], 1);
+    getURL(src.replace(/#.+$/, ""), _noie_font, [ {id : ids, style:{}} ], 1);
   }
 };
 function _noie_font(data) {
@@ -1944,7 +1945,8 @@
       for (var i=0,gli=glyphs.length;i<gli;++i) {
         var index = data.indexOf(glyphs[i].getAttributeNS(null, "unicode")), path = document.createElementNS(NAIBU.svgNameSpace, "path");
         //fontSizeと文字数をかけた長さ分、ずらしていく
-        var x = dx + fontSize * index, y = dy, advanceX[index] = parseFloat(glyphs[i].getAttribute("horiz-adv-x") || advX);
+        var x = dx + fontSize * index, y = dy;
+        advanceX[index] = parseFloat(glyphs[i].getAttribute("horiz-adv-x") || advX);
         ti.insertBefore(path);
         NAIBU.pathData(glyphs[i].getAttributeNS(null, "d"), path, false, x, y);
       }
@@ -1956,7 +1958,7 @@
 };
 NAIBU.pathData = function(/*string*/ data, /*Element*/ p, /*boolean*/ t, /*float*/x, y, w, h, fontSize, em) {
   //CTMでフォントを移動させておく
-  var fe = fontSize / em, matrix = new Matrix(fe, 0, 0, -fe, x, y+fontSize);
+  var fe = fontSize / em, matrix = new Matrix(fe, 0, 0, -fe, x, y);
   if (t) { //IEならば
     var s = new STPath(p, matrix);
     s.d = data;




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