svnno****@sourc*****
svnno****@sourc*****
2009年 11月 19日 (木) 19:59:21 JST
Revision: 1420
http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1420
Author: dhrname
Date: 2009-11-19 19:59:21 +0900 (Thu, 19 Nov 2009)
Log Message:
-----------
同列の中の同じ文字が表示されなくなるバグを修正
Modified Paths:
--------------
branches/05x/054/sie.js
Modified: branches/05x/054/sie.js
===================================================================
--- branches/05x/054/sie.js 2009-11-18 13:54:24 UTC (rev 1419)
+++ branches/05x/054/sie.js 2009-11-19 10:59:21 UTC (rev 1420)
@@ -1982,11 +1982,13 @@
if (data !== void 0) { //dataがある場合
var advanceX = [], glyphData = [];
for (var i=0,gli=glyphs.length;i<gli;++i) {
+ var glyph = glyphs[i], unicode = glyph.getAttribute("unicode") || "なし"; //unicode属性に指定がない場合、処理させないようにする
//indexは該当する文字が何番目にあるかの数字
- var index = data.indexOf(glyphs[i].getAttribute("unicode"));
- if (index > -1) {
- advanceX[index] = parseFloat(glyphs[i].getAttribute(horizOrVert) || advX); //字幅を収納
- glyphData[index] = glyphs[i].getAttribute("d");
+ var index = data.indexOf(unicode);
+ while (index > -1) {
+ advanceX[index] = parseFloat(glyph.getAttribute(horizOrVert) || advX); //字幅を収納
+ glyphData[index] = glyph.getAttribute("d");
+ index = data.indexOf(unicode, index+1);
}
}
for (var i=0,adv=0;i<data.length;++i) {
@@ -2077,11 +2079,13 @@
if (data !== void 0) { //dataがある場合
var advanceX = [], glyphData = [];
for (var i=0,gli=glyphs.length;i<gli;++i) {
+ var glyph = glyphs[i], unicode = glyph.getAttributeNS(null, "unicode") || "なし"; //unicode属性に指定がない場合、処理させないようにする
//indexは該当する文字が何番目にあるかの数字
- var index = data.indexOf((glyphs[i].getAttributeNS(null, "unicode") || "なし")); //unicode属性に指定がない場合、処理させないようにする
- if (index > -1) {
- advanceX[index] = parseFloat(glyphs[i].getAttributeNS(null, horizOrVert) || advX); //字幅を収納
- glyphData[index] = glyphs[i].getAttributeNS(null, "d");
+ var index = data.indexOf(unicode);
+ while (index > -1) {
+ advanceX[index] = parseFloat(glyph.getAttributeNS(null, horizOrVert) || advX); //字幅を収納
+ glyphData[index] = glyph.getAttributeNS(null, "d");
+ index = data.indexOf(unicode, index+1);
}
}
for (var i=0,adv=0;i<data.length;++i) {