[Sie-announce] SIEコード [1537] 余分なコードの削除

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 1月 5日 (火) 23:05:32 JST


Revision: 1537
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1537
Author:   dhrname
Date:     2010-01-05 23:05:32 +0900 (Tue, 05 Jan 2010)

Log Message:
-----------
余分なコードの削除

Modified Paths:
--------------
    branches/DOM/org/w3c/dom/svg.js

Modified: branches/DOM/org/w3c/dom/svg.js
===================================================================
--- branches/DOM/org/w3c/dom/svg.js	2010-01-05 13:34:20 UTC (rev 1536)
+++ branches/DOM/org/w3c/dom/svg.js	2010-01-05 14:05:32 UTC (rev 1537)
@@ -59,62 +59,7 @@
 var  NAIBU = {};
 //documentを速くするために
 /*@cc_on  _d=document;eval('var  document=_d')@*/
-//svgtovml load時に、最初に起動する関数
-function svgtovml() {
-  var isMSIE = /*@cc_on!@*/false; //IEだったらtrueを返す
-  var ary = document.getElementsByTagName("script");
-  for (var i=0; i < ary.length; i++)  {//全script要素をチェックして、type属性がimage/svg+xmlならば、中身をSVGとして処理する
-    var hoge = ary[i].type;
-    if (ary[i].type == "image/svg+xml")  {
-      var ait = ary[i].text;
-      if (ait.match(/lt;/)) {
-        ait = ait.replace(/<.+?>/g,''); //ソース内のタグを除去
-      };
-      //エンティティを文字に戻す
-      ait = ait.replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&quot;/g,'"');
-      if (isMSIE) {
-        setVMLNameSpace();
-        var da = {};
-        da.obj = new Array(i); da.obj[i] = ary[i]; da.num = i + 1; da.content = ait; da.success = true;
-        ca(da);
-      }  else{
-        var s = textToSVG(ait,ary[i].getAttribute("width"),ary[i].getAttribute("height"));
-        ary[i].parentNode.insertBefore(s,ary[i]);
-      }
-    }
-  }
-  if (isMSIE) {
-    var st = setVMLNameSpace();
-    st.addRule("object","display: none;");
-    st.addRule("embed","display: none;");
-    var obj = document.getElementsByTagName("object");
-    var emd = document.getElementsByTagName("embed");
-    docme = new Array(obj.length+emd.length);
-    getObject(obj,0);
-    getEmbed(emd,0);
-    success = true;
-  }
-}
 
-//vmlの名前空間をセット(必須)
-function setVMLNameSpace() {
-  document.namespaces.add("v","urn:schemas-microsoft-com:vml");
-  document.namespaces.add("o","urn:schemas-microsoft-com:office:office");
-  var st = document.createStyleSheet();
-  st.addRule("v\\:*","behavior: url(#default#VML);display:inline-block;font-size:12px;");//inline-blockはIEのバグ対策
-  st.addRule("o\\:*","behavior: url(#default#VML);display:inline-block");
-  return st;
-}
-
-//loadイベントに関数を追加
-if (window.addEventListener) {
-  window.addEventListener('load', svgtovml, false);
-} else if (window.attachEvent) {
-  window.attachEvent('onload', svgtovml);
-} else {
-  window.onload = svgtovml;
-}
-
 //以下は例外処理のログをとるためのもの。開発者以外は削除すること
 var  stlog = new STLog(true);
 function STLog(jou) {
@@ -131,926 +76,6 @@
   this.p.innerHTML += "<p>"+code+":"+e.message+"</p>";
 }
 }
-
-//DOMツリーを参照して新たなドキュメントを作成していく
-//ele 参照DOMツリー
-//paren 実際のHTMLツリー
-//elem 新規XMLツリー
-SVGtoVML.prototype.chset = function( /*element*/ ele, /*element*/ paren, /*element*/ elem){
-  var nods = ele.childNodes;
-  for (var i=0,nodesli=nods.length;i<nodesli;i++) {
-    var te = nods[i], s = null, t = null;
-    if (te.nodeType == 1) {
-      t = this.createElementNS(te.namespaceURI, te.nodeName);
-      if (te.namespaceURI == "http://www.w3.org/2000/svg") {
-        var q = true; //q=trueはHTMLで要素を無視したいとき
-        switch (te.localName) {
-          case "g":
-            s = document.createElement("v:group"); q = false; t.tar = s;
-          break;
-          case "linearGradient":
-            s = document.createElement("v:fill"); q = false; t.tar = s;
-          break;
-          case "radialGradient":
-            s = document.createElement("v:fill"); q = false; t.tar = s;
-          break;
-          case "stop":
-            s = document.createElement("stop"); q = false; t.tar = s;
-          break;
-          case "a":
-            s = document.createElement("a");
-          break;
-          case "text":
-            s = document.createElement("div");
-          break;
-          case "image":
-            s = document.createElement("v:image");
-          break;
-          default:
-            s = document.createElement("v:shape");
-          break;
-        }
-        switch (te.localName) {
-          case "path":
-            t = this.path[this.path.length] = new STPath(te,s);
-          break;
-          case "rect":
-            t = this.rect[this.rect.length] = new STRectElement(te,s);
-          break;
-          case "circle":
-            t = this.circle[this.circle.length] = new STCircle(te,s);
-          break;
-          case "ellipse":
-            t = this.ellipse[this.ellipse.length] = new STEllipse(te,s);
-          break;
-          case "polyline":
-            t = this.polyline[this.polyline.length] = new STPolyline(te,s);
-          break;
-          case "polygon":
-            t = this.polygon[this.polygon.length] = new STPolygon(te,s);
-          break;
-          case "line":
-            t = this.line[this.line.length] = new STLine(te,s);
-          break;
-          case "a":
-            this.a[this.a.length] = new STAElement(te,s);
-          break;
-          case "text":
-            t = this.text[this.text.length] = new STText(te,s);
-          break;
-          case "image":
-            t = this.image[this.image.length] = new STImage(te,s);
-          break;
-          default: if (q) {s = null;} break;
-        }
-      }
-    } else {
-      t = new Node();
-      t.nodeType = te.nodeType; t.nodeValue = te.nodeValue; t.nodeName = te.nodeName; t.namespaceURI = te.namespaceURI; t.localName = te.localName; t.prefix = te.prefix;
-    }
-    if (s && paren) {paren.appendChild(s);}
-    elem.appendChild(t);
-    this.chset(te, s, t);
-  }  
-}
-
-//getObject object要素を取得して、data属性のファイルをロード
-function getObject( /*Array*/ obb, /*int*/ n) {
-  if (n < obb.length) {
-  if (!"getSVGDocument" in obb[n]) {obb[n].getSVGDocument = function() {return STdocument[n];}}//object要素にgetSVGDocumentメソッドをつける(for IE)
-    try {
-      getURL(obb[n].getAttribute("data"),object_ca,obb,n+1);
-    } catch(e) {stlog.add(e,177);getObject(obb,n+1);}
-  }
-}
-
-//getObject embed要素を取得して、data属性のファイルをロード
-function getEmbed(obb,n) {
-  if (n < obb.length) {
-  if (!"getSVGDocument" in obb[n]) {obb[n].getSVGDocument = function() {return STdocument[n];}}
-    try {
-      getURL(obb[n].src,embed_ca,obb,n+1);
-    } catch(e) {stlog.add(e,185);getEmbed(obb,n+1);}
-  }  else{
-  }
-}
-
-//a要素の処理
-function STAElement( /*element*/ a) {
-  SVGElement.call(this, arguments);
-  this.xlink = new NAIBU.XLink(a);
-  this.target = a.getAttribute("target");
-  return this;
-}
-STAElement.prototype.set = function aset() {
-  try {
-    var t = this.target;
-    var st = "replace";
-    if (t == "_blank") {
-      st = "new";
-    }
-    this.xlink.tar.setAttribute("xlink:show",st);
-    this.xlink.set();
-    var txts = this.xlink.tar.style;
-    txts.cursor = "hand";
-    txts.left = 0;
-    txts.top = 0;
-  }  catch(e) {stlog.add(e,204);}
-}
-
-//text要素の処理
-function STText( /*element*/ te) {
-  SVGElement.call(this, arguments);
-  this.tar = te;
-  var x = te.getAttribute("x");
-  var y = te.getAttribute("y");
-  this.fs = te.style.fontSize || te.getAttribute("fontSize");
-  this.fs = this.fs || te.currentStyle.fontSize;
-  this.paint = new NAIBU.PaintColor(te);
-  this.transformable = new TransformList(te);
-  try { //子要素のtspan要素を処理
-    var li = this.tar.getElementsByTagName("SPAN");
-    var lli = li.length;
-    var l = new Array(lli);
-    for (var i=0,lli=li.length;i<lli;i++) {
-      l[i] = new STTSpanElement(li[i],x,y);
-    }
-    this.tspan = l;
-    this.x = x || 0; this.y = y || 0;
-  } catch(e) {stlog.add(e,129264);}
-  return this;
-}
-STText.prototype.set = function textset( /*float*/ w, /*float*/ h, /*Matrix*/ matrix) {
-  try {
-  var ttm = matrix.multiply(this.transformable.tr.matrix);
-  var p = new Point(parseFloat(this.x),parseFloat(this.y));
-  var ptm = p.matrixTransform(ttm);
-  var tts = this.tar.style;
-  tts.position = "absolute";
-  var backr = document.createElement("v:rect");
-  var backrs = backr.style; //ずれを修正するためのもの
-  backrs.width = 1;
-  backrs.height = 1;
-  backrs.left = 0;
-  backrs.top = 0;
-  backr.setAttribute("stroked", "false");
-  backr.setAttribute("filled", "false");
-  var ttp = this.tar.parentNode;
-  if (ttp.lastChild.nodeName != "rect") {
-    ttp.appendChild(backr);
-  }
-  tts.left = ptm.x;
-  tts.top = ptm.y;
-  tts.width = 0;
-  tts.height = 0;
-  tts.whiteSpace = "nowrap";
-  tts.color = this.paint.fill == "none" ? "transparent"  :  this.paint.fill;
-  tts.fontSize = fontset(this.fs,w,h,ttm);
-  tts.marginTop = -parseFloat(tts.fontSize);
-  } catch(e) {stlog.add(e,236);}
-  try {
-    var arr = this.tspan;
-    for (var i=0,arri=arr.length;i<arri;i++) {
-      arr[i].set(ttm);
-    }
-  } catch(e) {stlog.add(e,2831);}
-}
-//fontset フォントの大きさを幅と高さを使ってpx単位に変換
-function fontset( /*float*/ f, /*float*/ w, /*float*/ h, /*Matrix*/ ttm) {
-  try {
-  var sw = new STLength(f, Math.sqrt((w*w + h*h) / 2));
-  var swx = sw.value * Math.sqrt(Math.abs(ttm.a * ttm.d - ttm.b * ttm.c));
-  } catch(e) {stlog.add(e,282);swx=f;}
-  return swx;
-}
-
-//span要素の処理
-function STTSpanElement( /*element*/ ele, /*float*/ x, /*float*/ y) {
-  SVGElement.call(this, arguments);
-  this.tar = ele;
-  this.x = parseFloat(ele.getAttribute("x") || x || 0);
-  this.y = parseFloat(ele.getAttribute("y") || y || 0);
-  this.fs = ele.getAttribute("fontSize") || ele.style.fontSize || ele.currentStyle.fontSize;
-  this.paint = new NAIBU.PaintColor(ele);
-  this.transformable = new TransformList(ele);
-  return this;
-}
-STTSpanElement.prototype.set = function( /*Matrix*/ matrix) {
-  try {
-  var p = new Point(this.x, this.y);
-  var ptm = p.matrixTransform(matrix);
-  var tts = this.tar.style;
-  tts.position = "absolute";
-  tts.left = ptm.x - parseFloat(this.tar.parentNode.style.left);
-  tts.top = ptm.y - parseFloat(this.tar.parentNode.style.top);// - parseFloat(this.fs);
-  tts.whiteSpace = "nowrap";
-  tts.color = this.paint.fill;
-  } catch(e) {stlog.add(e,304);}
-}
-
-//line要素の処理
-function STLine( /*element*/ li) {
-  SVGElement.call(this, arguments);
-  this.tar = li;
-  this.x1 = parseFloat(li.getAttribute("x1") || 0);
-  this.y1 = parseFloat(li.getAttribute("y1") || 0);
-  this.x2 = parseFloat(li.getAttribute("x2") || 0);
-  this.y2 = parseFloat(li.getAttribute("y2") || 0);
-  this.paint = new NAIBU.PaintColor(li);
-  this.transformable = new TransformList(li);
-  return this;
-}
-STLine.prototype.set = function lineset(w,h,matrix) {
-  try {
-    var ttm = matrix.multiply(this.transformable.tr.matrix);
-    var list = ["m", this.x1, this.y1, "l", this.x2, this.y2];
-    var pl = new PList(list);
-    var plm = pl.matrixTransform(ttm);
-    var dat = plm.list.join(" ");
-    var ele = this.tar;
-    ele.setAttribute("path", dat);
-    ele.setAttribute("coordsize", w + " " + h);
-    this.paint.set(ele, w, h, ttm);
-  } catch(e) {stlog.add(e,257);}
-}
-
-//path要素の処理
-
-//QからCに変換
-NAIBU.qtoc = function (/*float*/ x, /*float*/ y, /*Array*/ F) {
-  F[0] = "c";
-  for (var i = 1; i < F.length; i += 6) {
-    var x1 = F[i], y1 = F[i+1], x2 = F[i+2], y2 = F[i+3];
-    F.splice(i, 2, (x + 2 * x1) / 3, (y + 2 * y1) / 3, (2 * x1 + x2) / 3, (2 * y1 + y2) / 3);
-    x = x2; y = y2;
-  }
-  return F;
-}
-
-//前回の座標を反転させる。それを挿入
-NAIBU.nst = function ( /*int*/ skip, /*Array*/ F, /*float*/ x1, /*float*/ y1) {
-  F.splice(1, 0, x1, y1);
-  for (var i = skip+1; i < F.length; i += skip) {
-    x1 = 2 * F[i-2] - F[i-4];
-    y1 = 2 * F[i-1] - F[i-3];
-    F.splice(i, 0, x1, y1);
-  }
-  return F;
-}
-
-//相対座標を絶対座標に変換
-NAIBU.reltoabs = function (/*float*/ x, /*float*/ y, /*Array*/ F) {
-  var skip = 2;
-  if (F[0] == "c") { 
-    skip = 6;
-  } else if (F[0] == "q") {
-    skip = 4;
-  }
-  for (var i = 1, Fli = F.length; i < Fli; i += 2) {
-    F[i] += x; F[i+1] += y;
-    if ((i+1) % skip == 0) {
-      x = F[i]; y = F[i+1];
-    }
-  }
-  return F;
-}
-
-//配列の座標値すべてに、minxとminy分を引く
-Array.prototype._minm = function( /*float*/ minx, /*float*/ miny) {
-  var self = this;
-  var g = new Array();
-  try {
-  for (var i=0, ili=self.length; i<ili; i++) {
-    var ar = self[i];
-    for (var j=1, ari=ar.length; j<ari; j+=2) {
-      if (isNaN(ar[j])) {
-        j--;
-      } else {
-        ar[j] -= minx;
-        ar[j+1] -= miny;
-      }
-    }
-    g[i] = ar.join(" ");
-  }
-  } catch(e) {stlog.add(e,4472);}
-  return g;
-}
-
-//polygon要素を処理
-function STPolygon( /*element*/ ele) {
-  SVGElement.call(this, arguments);
-  this.tar = ele;
-  this.points = ele.attributes["points"].nodeValue;
-  this.paint = new NAIBU.PaintColor(ele);
-  this.transformable = new TransformList(ele);
-  return this;
-}
-STPolygon.prototype.set = function polygonset(w,h,matrix) {
-  var dat;
-  var ttm = matrix.multiply(this.transformable.tr.matrix);
-  try {
-    var F = this.points.replace(/^\s+|\s+$/g, "").split(/[\s,]+/);
-    var pl = new PList(F);
-    var plm = pl.matrixTransform(ttm);
-    plm.list.splice(2, 0, "l");
-    dat = "m" + plm.list.join(" ") + "x e";
-  } catch(e) {stlog.add(e,395);}
-  try {
-    var ele = this.tar;
-    ele.setAttribute("path", dat);
-    ele.setAttribute("coordsize", w + " " + h);
-    this.paint.set(ele, w, h, ttm);
-  } catch(e) {stlog.add(e,406);}
-}
-
-//polyline要素を処理
-function STPolyline( /*element*/ ele) {
-  SVGElement.call(this, arguments);
-  this.tar = ele;
-  this.points = ele.attributes["points"].nodeValue;
-  this.paint = new NAIBU.PaintColor(ele);
-  this.transformable = new TransformList(ele);
-  return this;
-}
-STPolyline.prototype.set = function polylineset(w,h,matrix) {
-  var dat;
-  var ttm = matrix.multiply(this.transformable.tr.matrix);
-  try {
-    var F = this.points.replace(/^\s+|\s+$/g, "").split(/[\s,]+/);
-    var pl = new PList(F);
-    var plm = pl.matrixTransform(ttm);
-    plm.list.splice(2, 0, "l");
-    dat = "m" + plm.list.join(" ") + "e";
-  } catch(e) {stlog.add(e,429);}
-  try {
-    var ele = this.tar;
-    ele.setAttribute("path", dat);
-    ele.setAttribute("coordsize", w + " " + h);
-    this.paint.set(ele, w, h, ttm);
-  } catch(e) {stlog.add(e,440);}
-}
-
-//circle要素を処理
-function STCircle( /*element*/ ele) {
-  SVGElement.call(this, arguments);
-  this.tar = ele;
-  try {
-    this.cx = parseFloat(ele.getAttribute("cx") || 0);
-    this.cy = parseFloat(ele.getAttribute("cy") || 0);
-    this.r = parseFloat(ele.getAttribute("r"));
-    this.paint = new NAIBU.PaintColor(ele);
-    this.transformable = new TransformList(ele);
-  } catch(e) {stlog.add(e,450);}
-  return this;
-}
-//ベジェ曲線で円を表現する
-STCircle.prototype.set = function ovalset(w,h,matrix) {
-  var cx = this.cx, cy = this.cy, rx = ry = this.r;
-  var top = cy - ry, left = cx - rx, bottom = cy + ry, right = cx + rx;
-  try {
-  var ttm = matrix.multiply(this.transformable.tr.matrix);
-  var rrx = rx * 0.55228, rry = ry * 0.55228;
-  var list = ["m", cx,top, "c", cx-rrx,top, left,cy-rry, left,cy, left,cy+rry, cx-rrx,bottom, cx,bottom, cx+rrx,bottom, right,cy+rry, right,cy, right,cy-rry, cx+rrx,top, cx,top, "x e"];
-  var pl = new PList(list);
-  var plm = pl.matrixTransform(ttm);
-  var dat = plm.list.join(" ");
-  } catch(e) {stlog.add(e,468);}
-  try {
-    var ele = this.tar;
-    ele.setAttribute("path", dat);
-    ele.setAttribute("coordsize", w + " " + h);
-    this.paint.set(ele, w, h, ttm);
-  } catch(e) {stlog.add(e,479);}
-}
-
-//ellipse要素を処理
-function STEllipse( /*element*/ ele) {
-  SVGElement.call(this, arguments);
-  this.tar = ele;
-  try {
-    this.cx = parseFloat(ele.getAttribute("cx") || 0);
-    this.cy = parseFloat(ele.getAttribute("cy") || 0);
-    this.rx = parseFloat(ele.getAttribute("rx"));
-    this.ry = parseFloat(ele.getAttribute("ry"));
-    this.paint = new NAIBU.PaintColor(ele);
-    this.transformable = new TransformList(ele);
-  } catch(e) {stlog.add(e,490);}
-  return this;
-}
-STEllipse.prototype.set = function elliset(w,h,matrix) {
-  var cx = this.cx, cy = this.cy, rx = this.rx, ry = this.ry;
-  var top = cy - ry, left = cx - rx, bottom = cy + ry, right = cx + rx;
-  try {
-  var ttm = matrix.multiply(this.transformable.tr.matrix);
-  var rrx = rx * 0.55228, rry = ry * 0.55228;
-  var list = ["m", cx,top, "c", cx-rrx,top, left,cy-rry, left,cy, left,cy+rry, cx-rrx,bottom, cx,bottom, cx+rrx,bottom, right,cy+rry, right,cy, right,cy-rry, cx+rrx,top, cx,top, "x e"];
-  var pl = new PList(list);
-  var plm = pl.matrixTransform(ttm);
-  var dat = plm.list.join(" ");
-  } catch(e) {stlog.add(e,508);}
-  try {
-    var ele = this.tar;
-    ele.setAttribute("path", dat);
-    ele.setAttribute("coordsize", w + " " + h);
-    this.paint.set(ele, w, h, ttm);
-  } catch(e) {stlog.add(e,519);}
-}
-
-//rect要素を処理
-function STRectElement( /*element*/ rect) {
-  SVGElement.call(this, arguments);
-  this.tar = rect;
-  try {
-    this.x = parseFloat(rect.getAttribute("x") || 0);
-    this.y = parseFloat(rect.getAttribute("y") || 0);
-    this.width = parseFloat(rect.getAttribute("svgwidth"));
-    this.height = parseFloat(rect.getAttribute("svgheight"));
-    if (rect.getAttribute("rx") || rect.getAttribute("ry")) {
-      this.rx = parseFloat(rect.getAttribute("rx") || rect.getAttribute("ry"));
-      this.ry = parseFloat(rect.getAttribute("ry") || rect.getAttribute("rx"));
-      if (this.rx > this.width / 2) { //rx属性が幅より大きければ、幅の半分を属性に設定
-        this.rx = this.width / 2;
-      }
-      if (this.ry > this.height / 2) {
-        this.ry = this.height / 2;
-      }
-    }
-  } catch(oe) {stlog.add(oe,541);}
-  try {
-    this.paint = new NAIBU.PaintColor(rect);
-    this.transformable = new TransformList(rect);
-  } catch(ee) {stlog.add(ee,545);}
-  return this;
-}
-STRectElement.prototype.set = function rectset(w,h,matrix) {
-  try {
-    var x = this.x, y = this.y, xw = x + this.width, yh = y + this.height;
-    var list;
-    if (this.rx) {
-      var rx = this.rx, ry = this.ry;
-      var rrx = rx * 0.55228, rry = ry * 0.55228;
-      var a = xw - rx, b = x + rx, c = y + ry, d = yh - ry;
-      list = ["m",b,y, "l",a,y, "c",a+rrx,y,xw,c-rry,xw,c, "l",xw,d, "c",xw,d+rry,a+rrx,yh,a,yh, "l",b,yh, "c",b-rrx,yh,x,d+rry,x,d, "l",x,c, "c",x,c-rry,b-rrx,y,b,y];
-    } else {
-      list = ["m",x,y, "l",x,yh, xw,yh, xw,y, "x e"];
-    }
-    var ttm = matrix.multiply(this.transformable.tr.matrix);
-    var pl = new PList(list);
-    var plm = pl.matrixTransform(ttm);
-    var dat = plm.list.join(" ");
-  } catch(e) {stlog.add(e,564);}
-  try {
-    var ele = this.tar;
-    ele.setAttribute("path", dat);
-    ele.setAttribute("coordsize", w + " " + h);
-    this.paint.set(ele, w, h, ttm);
-  } catch(ee) {stlog.add(ee,576);}
-}
-
-//image要素の処理
-function STImage( /*element*/ ele){
-  SVGElement.call(this, arguments);
-  this.tar = ele;
-  this.x = parseFloat(ele.getAttribute("x") || 0);
-  this.y = parseFloat(ele.getAttribute("y") || 0);
-  this.width = parseFloat(ele.getAttribute("svgwidth"));
-  this.height = parseFloat(ele.getAttribute("svgheight"));
-  ele.setAttribute("xlink:show", "embed");
-  this.xlink = new NAIBU.XLink(ele);
-  this.paint = new NAIBU.PaintColor(ele, this.width, this.height);
-  this.transformable = new TransformList(ele);
-  return this;
-}
-STImage.prototype.set = function imagesets(w,h,matrix){
-  try {
-    var ttm = matrix.multiply(this.transformable.tr.matrix);
-    var ts = this.tar.style;
-    ts.position = "absolute";
-    var pt = new Point(this.x, this.y);
-    var ptt = pt.matrixTransform(ttm);
-    ts.left = ptt.x;
-    ts.top =  ptt.y;
-    ts.width = this.width * ttm.a;
-    ts.height = this.height * ttm.d;
-    if (ttm.b != 0 || ttm.c != 0 || this.paint.fillopacity) {//フィルター プロパティを使うと、PNGの透過性がなくなるので注意
-      ts.filter = "progid:DXImageTransform.Microsoft.Matrix progid:DXImageTransform.Microsoft.Alpha";
-      var ttfi = this.tar.filters.item('DXImageTransform.Microsoft.Matrix');
-      ttfi.M11 = 1;
-      ttfi.M12 = ttm.b;
-      ttfi.M21 = ttm.c;
-      ttfi.M22 = 1;
-      ttfi.sizingMethod = "auto expand";
-      var ttfia = this.tar.filters.item('DXImageTransform.Microsoft.Alpha');
-      ttfia.Style = 0;
-      ttfia.Opacity = parseFloat(this.paint.fillopacity)*100;
-    }
-    this.xlink.set();
-  } catch(e) {stlog.set(e,21896);}
-}
-
-/*use要素の処理*/
-function STUseElement( /*element*/ ele){
-  SVGElement.call(this, arguments);
-  this.tar = ele;
-  this.x = parseFloat(ele.getAttribute("x") || 0);
-  this.y = parseFloat(ele.getAttribute("y") || 0);
-  this.width = ele.getAttribute("svgwidth");
-  this.height = ele.getAttribute("svgheight");
-  ele.setAttribute("xlink:show", "embed")
-  this.xlink = new NAIBU.XLink(ele);
-  return this;
-}
-STUseElement.prototype.set = function(/*float*/ w, /*float*/ h){
-  try {
-    var ts = this.tar.getAttribute("transform") || "";
-    var s = this.xlink.set();
-    var sd = s.rootElement;
-    sd.setAttribute("transform", ts+ "matrix(1,0,0,1," +this.x+ "," +this.y+ ") ");
-    sd.firstChild.setAttribute("id","");
-    var regw = new STLength(w); regw.value = w; var regh = new STLength(h); regh.value = h;
-    s.set(w,h,regw,regh);
-    sd.setAttribute("coordorgin","0  0");
-  } catch(e) {stlog.set(e,85436);}
-}
-
-//PaintColor 色、線などをすべてコントロール
-NAIBU.PaintColor = function( /*element*/ ele, /*float*/ w, /*float*/ h) {
-  this.tar = ele;
-  this.fill = "black";
-  this.stroke = "none";
-  this.fillon = true;
-  this.strokeon = true;
-  this.strokeweight = "1";
-if (ele) { //親要素の値を継承
-  var elpn = ele.parentNode;
-  if (elpn.tagName == "group") {
-    var pnp = new NAIBU.PaintColor(elpn);
-    for (var p  in  pnp) {
-      if (p == "tar" || p == "fillon" || p == "strokeon") {
-      } else {
-        this[p] = pnp[p];
-      }
-    }
-  }
-  var f = this.getAttribute("fill");
-  if (f) {
-    this.fill = colorsname[f] ? colorsname[f] : f;
-  }
-  var s = this.getAttribute("stroke");
-  if (s) {
-    this.stroke = colorsname[s] ? colorsname[s] : s;
-  }
-  if (this.fill == "none") {
-    this.fillon = false;
-  }
-  if (this.stroke == "none") {
-    this.strokeon = false;
-  }
-  this.opacity = this.getAttribute("opacity");
-  this.fillopacity = this.getAttribute("fillopacity");
-  this.strokeopacity = this.getAttribute("strokeopacity");
-  var sw = this.getAttribute("strokewidth") || this.getAttribute("strokesvgwidth");
-  if (sw) {
-    this.strokeweight = sw;
-  }
-  this.strokejoin = this.getAttribute("strokelinejoin") || "miter";
-  this.strokemiterlimit = this.getAttribute("strokemiterlimit") || "4";
-  this.strokeendcap = this.getAttribute("strokelinecap") || "butt";
-  if (this.strokeendcap == "butt") {  this.strokeendcap = "flat"; }
-  var sdash = this.getAttribute("strokedasharray");
-  if (sdash) {
-    if (sdash == "none") {  sdash = "solid"; }
-    var strs = sdash.split(",");
-    for (var i=0,sli=strs.length;i<sli;i++) {
-      strs[i] = Math.ceil(parseFloat(strs[i]) / parseFloat(this.strokeweight)); //精密ではないので注意
-    }
-    this.strokedashstyle = strs.join(" ");
-    if (strs.length % 2 == 1) { this.strokedashstyle += " " +this.strokedashstyle;}
-  }
-}
-  return this;
-}
-NAIBU.PaintColor.prototype.getAttribute = function pcgetAttribute( /*string*/ name) {
-  try {
-    var element = this.tar;
-    var style = element.style[name];
-    if (style) {
-      return style;
-    }
-    var attribute = element.attributes[name];
-    var s = attribute ? attribute.nodeValue : null;
-    return s;
-  }  catch(e) {stlog.add(e,659); return null;}
-}
-NAIBU.PaintColor.prototype.set = function pcset( /*element*/ el, /*float*/ w, /*float*/ h, /*Matrix*/ matrix) {
-  var fillElement = document.createElement("v:fill");
-  var strokeElement = document.createElement("v:stroke");
-  var rgrad = false;
-  if (this.fillon) {
-    try {
-    if (this.fillopacity) {
-      fillElement.setAttribute("opacity", this.fillopacity);
-    }
-    if (this.fill.match(/url\(#(\w+)/)) { //fill属性の値がurl(#id)ならば、idを設定したグラデーション関連要素を呼び出す
-      var gradfill = document.getElementById(RegExp.$1);
-      var ftype = gradfill.getAttribute("type");
-      rgrad = this.gradient(gradfill,fillElement,ftype);
-    }  else{
-      fillElement.setAttribute("color",this.fill);
-    }
-    }  catch(e) {stlog.add(e,682); fillElement.setAttribute("on","true");
-      fillElement.setAttribute("color","black");}
-  }  else{
-    fillElement.setAttribute("on","false");
-  }
-  if (this.strokeon) {
-    try {
-    strokeElement.setAttribute("joinstyle",this.strokejoin);
-    if (this.strokedashstyle) {
-    strokeElement.setAttribute("dashstyle",this.strokedashstyle);
-    }
-    strokeElement.setAttribute("miterlimit",this.strokemiterlimit);
-    strokeElement.setAttribute("endcap",this.strokeendcap);
-    var sw = new STLength(this.strokeweight, Math.sqrt((w*w + h*h) / 2));
-    var swx = sw.value * Math.sqrt(Math.abs(matrix.a * matrix.d - matrix.b * matrix.c));
-    strokeElement.setAttribute("weight", swx + "px");
-    if (swx < 1) {
-      this.strokeopacity = this.strokeopacity ? this.strokeopacity * swx : swx;
-    }
-    if (this.strokeopacity) {
-      strokeElement.setAttribute("opacity", this.strokeopacity);
-    }
-    if (this.stroke.match(/url\(#(\w+)/)) {
-      var gradstroke = document.getElementById(RegExp.$1);
-      var stype = gradstroke.getAttribute("type");
-      this.gradient(gradstroke,strokeElement,stype);
-    }  else{
-      strokeElement.setAttribute("color",this.stroke);
-    }
-    }  catch(e) {stlog.add(e,720); strokeElement.setAttribute("on","false"); }
-  }  else{
-    strokeElement.setAttribute("on","false");
-  }
-  if (this.opacity) {
-    fillElement.setAttribute("opacity", this.opacity);
-  }
-  if (rgrad) { //gradientradialならば、背景を作っておく
-    try{
-    var s = this.tar.cloneNode(false);
-    this.tar.parentNode.insertBefore(s, this.tar);
-    s.setAttribute("path", this.tar.getAttribute("path"));
-    s.setAttribute("fillcolor", this.color2);
-    var fillElement2 = document.createElement("v:fill");
-    fillElement2.setAttribute("opacity", this.stopopacity2);
-    s.appendChild(fillElement2);
-    s.appendChild(strokeElement);
-    this.tar.setAttribute("fillcolor", this.color1);
-    this.tar.style.filter = "progid:DXImageTransform.Microsoft.Alpha";
-    var ttfia = this.tar.filters.item("DXImageTransform.Microsoft.Alpha");
-    ttfia.style = 2;
-    ttfia.opacity = 100 * parseFloat(this.stopopacity1);
-    ttfia.finishopacity = 0;
-    }  catch(e) {stlog.add(e,9522);}
-  } else {
-    el.appendChild(fillElement);
-    el.appendChild(strokeElement);
-  }
-}
-
-//linearGradient、radialGradient要素を処理
-NAIBU.PaintColor.prototype.gradient = function pcgradient( /*element*/ gel, /*element*/ ele, /*string*/ type) {
-  var tgc = gel;
-  var pgs;
-  var grad = false;
-  ele.setAttribute("method","sigma");
-  try {
-  if (type == "gradient") {
-    var ang;
-    var x1 = parseFloat(gel.getAttribute("x1").replace(/%/,"")), y1 = parseFloat(gel.getAttribute("y1").replace(/%/,""));
-    var x2 = parseFloat(gel.getAttribute("x2").replace(/%/,"")), y2=  parseFloat(gel.getAttribute("y2").replace(/%/,""));
-    ang =   270 - Math.atan2(y2-y1,x2-x1)*180/Math.PI; if (ang>=360) {ang = ang-360;}
-    ele.setAttribute("angle",ang+"");
-    ele.setAttribute("focus","0%");
-  } else if (type == "gradientRadial") {
-    grad = true;
-  }
-  }  catch(e) {stlog.add(e,749);if (ele) {ele.setAttribute("angle","270");}}
-  try {
-  ele.setAttribute("type",type);
-  if (gel.getAttribute("xlink:href")) {
-    pgs = document.getElementById(gel.getAttribute("xlink:href").match(/\w+/));
-  } else {
-    pgs = tgc;
-  }
-  var tc = pgs.getElementsByTagName("stop");
-  var ttc = new Array(),  ttco = new Array();
-  for (var i=0,tci=tc.length;i<tci;i++) {
-    var tcp = new NAIBU.PaintColor(tc[i]);
-    ttc[i] = tcp.getAttribute("stopcolor") || "black";
-    ttco[i] = tcp.getAttribute("stopopacity") || "1";
-  }
-  if (ttco[0]) {ele.setAttribute("o:opacity2",ttco[0]);}
-  if (ttco[ttco.length-1]) {ele.setAttribute("opacity",ttco[ttco.length-1]);}
-  if (ttc.length > 2) {
-    var tgoff = tc[0].getAttribute("offset");
-    if (!tgoff.match(/%/)) {tgoff = Math.round(parseFloat(tgoff)*100);}
-    var cst = "";
-    for (var i=0;i<ttc.length;i++) {
-      var tgoff = tc[i].getAttribute("offset");
-      if (!tgoff.match(/%/)) {tgoff = Math.round(parseFloat(tgoff)*100);}
-      cst = cst  +tgoff+  "%  "  +ttc[i]+  ",";
-    }
-    ele.setAttribute("colors",cst);
-  }  else{
-    ele.setAttribute("color",ttc[0]);
-    ele.setAttribute("color2",ttc[ttc.length-1]);
-  }
-  }  catch(e) {stlog.add(e,784);}
-  this.color1 = ttc[0];
-  this.color2 = ttc[ttc.length-1];
-  this.stopopacity1 = ttco[0];
-  this.stopopacity2 = ttco[ttco.length-1];
-  return grad;
-}
-
-//path要素のd属性で使われるA(rcTo)コマンドを処理
-function STArc() {
-  return this;
-}
-STArc.prototype.matrixTransform = function arcmatrixTransform( /*Matrix*/ matrix) {
-  var plst = new PList(this.D);
-  var s = new STArc();
-  s.D = plst.matrixTransform(matrix).list;
-  plst = null;
-  return s;
-}
-//2つの点から角度を算出
-STArc.prototype.CVAngle = function starccvangle(ux,uy,vx,vy) {
-  var rad = Math.atan2(vy, vx) - Math.atan2(uy, ux);
-  return (rad >= 0) ? rad : 2 * Math.PI + rad;
-}
-//弧をベジェ曲線に変換
-STArc.prototype.set = function starcset(x1,y1,rx,ry,psai,fA,fS,x4,y4) {
-  var fS = parseFloat(fS),  rx = parseFloat(rx),  ry = parseFloat(ry),  psai = parseFloat(psai),  x1 = parseFloat(x1),  x4 = parseFloat(x4),  y1 = parseFloat(y1),  y4 = parseFloat(y4);
-  if (rx == 0 || ry == 0) {throw "line";}
-  rx = Math.abs(rx); ry = Math.abs(ry);
-  var ccx = (x1 - x4) / 2,  ccy = (y1 - y4) / 2;
-  var cpsi = Math.cos(psai*Math.PI/180),  spsi = Math.sin(psai*Math.PI/180);
-  var x1d = cpsi*ccx + spsi*ccy,  y1d = -1*spsi*ccx + cpsi*ccy;
-  var x1dd = x1d * x1d, y1dd = y1d * y1d;
-  var rxx = rx * rx, ryy = ry * ry;
-  var lamda = x1dd/rxx + y1dd/ryy;
-  var sds;
-  if (lamda > 1) {
-    rx = Math.sqrt(lamda) * rx;
-    ry = Math.sqrt(lamda) * ry;
-    sds = 0;
-  }  else{
-    var seif = 1;
-    if (fA == fS) {
-      seif = -1;
-    }
-    sds = seif * Math.sqrt((rxx*ryy - rxx*y1dd - ryy*x1dd) / (rxx*y1dd + ryy*x1dd));
-  }
-  var cxd = sds*rx*y1d / ry,  cyd = -1 * sds*ry*x1d / rx;
-  var cx = cpsi*cxd - spsi*cyd + (x1+x4)/2, cy = spsi*cxd + cpsi*cyd + (y1+y4)/2;
-  var s1 = this.CVAngle(1,0,(x1d-cxd)/rx,(y1d-cyd)/ry);
-  var dr = this.CVAngle((x1d-cxd)/rx,(y1d-cyd)/ry,(-x1d-cxd)/rx,(-y1d-cyd)/ry);
-  if (!fS  &&  dr > 0) {
-    dr -=   2*Math.PI;
-  } else if (fS  &&  dr < 0) {
-    dr += 2*Math.PI;
-  }
-  var sse = dr * 2 / Math.PI;
-  var seg = Math.ceil(sse<0 ? -1*sse  :  sse);
-  var segr = dr / seg;
-  var nea = new Array();
-  var t = 8/3 * Math.sin(segr/4) * Math.sin(segr/4) / Math.sin(segr/2);
-  var cpsirx = cpsi * rx;
-  var cpsiry = cpsi * ry;
-  var spsirx = spsi * rx;
-  var spsiry = spsi * ry;
-  var mc = Math.cos(s1);
-  var ms = Math.sin(s1);
-  var x2 = x1 - t * (cpsirx * ms + spsiry * mc);
-  var y2 = y1 - t * (spsirx * ms - cpsiry * mc);
-  for (var i = 0; i < seg; i++) {
-    s1 += segr;
-    mc = Math.cos(s1);
-    ms = Math.sin(s1);
-    var x3 = cpsirx * mc - spsiry * ms + cx;
-    var y3 = spsirx * mc + cpsiry * ms + cy;
-    var dx = -t * (cpsirx * ms + spsiry * mc);
-    var dy = -t * (spsirx * ms - cpsiry * mc);
-    nea = nea.concat([x2, y2, x3 - dx, y3 - dy, x3, y3]);
-    x2 = x3 + dx;
-    y2 = y3 + dy;
-  }
-  this.D = (this.D ? this.D.concat(nea) : nea);
-  nea = null;
-  return true;
-}
-//setをできるだけ繰り返す
-STArc.prototype.sset = function starcsset( /*float*/ nox, /*float*/ noy, /*array*/ f, /*float*/ rx, /*float*/ ry) {
-  for (var i=1,fli=f.length;i<fli+1;i+=7){
-    this.set(nox,noy,f[i],f[i+1],f[i+2],f[i+3],f[i+4],f[i+5]+rx,f[i+6]+ry);
-    nox = f[i+5]+rx; noy = f[i+6]+ry;
-  }
-}
-
-function utf16( /*string*/ s)  {
-  return unescape(s);
-}
-function unescapeUTF16( /*string*/ s) {
-  return s.replace(/%u\w\w\w\w/g,  utf16);
-}
-
-//Text2SVG機能。SVGのソース(文章)をSVG画像に変換できる。(必須ではない)
-function textToSVG( /*string*/ source, /*float*/ w, /*float*/ h) {
-  var data = 'data:image/svg+xml,' + unescapeUTF16(escape(source));
-  var ob = document.createElement("object");
-  ob.setAttribute("data",data);
-  ob.setAttribute("width",w);
-  ob.setAttribute("height",h);
-  ob.setAttribute("type","image/svg+xml");
-  return ob;
-}
-
-//XMLHttpRequestオブジェクトの作成
-function HTTP() {
-  var xmlhttp;
-  try {
-    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
-  } catch (e) {
-    try {
-      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
-    } catch (E) {
-      xmlhttp = false;
-    }
-  }
-  if (!xmlhttp) {
-    try {
-      xmlhttp = new XMLHttpRequest();
-    } catch (e) {
-      xmlhttp = false;
-    }
-  }
-  return xmlhttp;
-}
-var success = true;
-//SVGDocumentを収納しておく
-var STdocument = new Array();
-
-//次のembed,object要素を読み込む処理
-function embed_ca( /*object*/ data) {
-  ca(data);
-  getEmbed(data.obj,data.num);
-}
-function object_ca( /*object*/ data) {
-  ca(data);
-  getObject(data.obj,data.num);
-}
-
-//IE用。object要素のデータからVMLを作成
-function ca( /*object*/ data) {
-if (success  &&  data.success) {
-  var dn = data.num-1;
-  try {
-    var obj = data.obj[dn];
-    var obw = new STLength(obj.getAttribute("width"),obj.clientWidth),  obh = new STLength(obj.getAttribute("height"),obj.clientHeight);
-    var obwidth = obw.value,  obheight = obh.value;
-  } catch(e) {stlog.add(e,1209);}
-try{ //DOMのためのパーサ
-  var dp = new DOMParser();
-  var doc = dp.parseFromString(data.content,"image/svg+xml");
-  var svgdoc = DOMImplementation.createDocument("svg","http://www.w3.org/2000/svg");
-  alert(svgdoc.documentElement.childNodes[0].nodeName);
-}catch(e){stlog.add(e,2003);}
-  //正規表現でソースをVML用に書き換え
-  var dc = data.content.replace(/!DOCTYPE/,"!--").replace(/(dtd">|\]>)/,"-->").replace(/<script.+>/g,"").replace(/<\?.+\?>/g,"").replace(/xmlns="[^"]+"/,"").replace(/<svg/,"<v:group style='position:relative;top:0;left:0;width:100%;height:100%'").replace(/<\/svg/,"</v:group").replace(/<path\s/g,"<v:shape tag='path' ").replace(/<\/path/g,"</v:shape").replace(/<rect/g,"<v:shape tag='rect'").replace(/<text/g,"<div").replace(/<\/text/g,"</div").replace(/<\/rect/g,"</v:shape").replace(/<line\s/g,"<v:shape tag='line' ").replace(/<\/line>/g,"</v:shape>").replace(/<circle\s/g,"<v:shape tag='circle' ").replace(/<\/circle/g,"</v:shape").replace(/<ellipse\s/g,"<v:shape tag='ellipse' ").replace(/<\/ellipse/g,"</v:shape").replace(/<g(\s|>)/g,"<v:group style='top:0;left:0;position:relative;width:100%;height:100%'$1").replace(/<\/g>/g,"</v:group>").replace(/<polyline\s/g,"<v:shape tag='polyline' ").replace(/<\/polyline/g,"</v:shape").replace(/<polygon\s/g,"<v:shape tag='polygon' ").replace(/<\/polygon/g,"</v:shape").replace(/<linearGradient/g,"<v:fill type='gradient'").replace(/<\/linearGradient/g,"</v:fill").replace(/<radialGradient/g,"<v:fill type='gradientRadial'").replace(/<\/radialGradient/g,"</v:fill").replace(/width="/g,'svgwidth="').replace(/height="/g,'svgheight="').replace(/stroke-/g,"stroke").replace(/(<[^<]+)\sfont-size=/g,'$1 fontSize=').replace(/(<[^<]+)\swriting-mode=/g,'$1 writingMode=').replace(/stop-/g,"stop").replace(/fill-/g,"fill").replace(/<tspan\s/g,"<span ").replace(/<\/tspan>/g,"</span>").replace(/<image/g,"<v:image").replace(/<\/image>/g,"</v:image>").replace(/<use\s/g,"<v:group style='position:relative;top:0;left:0;width:100%;height:100%'></v:group><use ");
-  var ob = document.createElement("v:group");
-  var obst = ob.style;
-  obst.position = "relative";
-  obst.overflow = "hidden";
-  ob.innerHTML = dc;
-  var obc = ob.getElementsByTagName("group").item(0);
-  var regaw = obc.getAttribute("svgwidth");
-  if (!regaw) {regaw = obwidth;}
-  var regah = obc.getAttribute("svgheight");
-  if (!regah) {regah = obheight;}
-  regw = new STLength(regaw,obwidth);
-  regh = new STLength(regah,obheight);
-  var regwv = regw.value,  reghv = regh.value;
-  obst.width = regwv;
-  obst.height = reghv;
-  ob.setAttribute("coordsize",regwv  +" "+  reghv);
-  obj.parentNode.insertBefore(ob,obj);
-  var d = (new Date()).getTime();STdocument[dn] = new SVGtoVML();
-  STdocument[dn].read(obc,doc);
-  STdocument[dn].set(obwidth,obheight,regw,regh);
-  dc = null;var s = (new Date()).getTime() - d;alert(s);
-}
-}
 if (typeof DOMParser == "undefined") {
    DOMParser = function () {}
 
@@ -1075,26 +100,6 @@
    }
 }
 
-//指定したURLの文章データを取得
-function getURL( /*string*/ url, /*function*/ fn, /*Array*/ ob, /*int*/ n) {  
-  var xmlhttp= new HTTP();
-  if (xmlhttp) {
-    xmlhttp.open("GET",url,true);
-    xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
-    xmlhttp.onreadystatechange = function() {
-      if (xmlhttp.readyState == 4  &&  xmlhttp.status == 200) {
-fn({success:true,status:xmlhttp.status,content:xmlhttp.responseText,contentType:xmlhttp.getResponseHeader("Content-Type"),obj:ob,num:n});
-      }
-    }
-    xmlhttp.send(null);
-  } else {
-    fn({success:false});
-  }
-}
-
-//Sieb用
-try{if (sieb_s) {svgtovml();}} catch(e) {}
-
 if((typeof SVGElement) === "function" && /*@cc_on!@*/false){//IE7以降
 /*
 // File: svg.idl
@@ -1146,11 +151,11 @@
 */
 function SVGException(code) {
   /*unsigned short*/  this.code = code;
+  return this;
 };
-SVGException.counstructor = Error;
+SVGException.constructor = Error;
 SVGException.prototype = new Error();
-*/
-with (SVGException) {
+with(SVGException) {
 // SVGExceptionCode
 /*const unsigned short*/ SVG_WRONG_TYPE_ERR           = 0;
 /*const unsigned short*/ SVG_INVALID_VALUE_ERR        = 1;




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