3 function push(polygon){ // void
\r
4 // only a simple check
\r
10 for(var i = 0; i < polygon.array.length; i++){
\r
11 if(polygon.array[i].x < minx){
\r
12 minx = polygon.array[i].x;
\r
14 if(polygon.array[i].x > maxx){
\r
15 maxx = polygon.array[i].x;
\r
17 if(polygon.array[i].y < miny){
\r
18 miny = polygon.array[i].y;
\r
20 if(polygon.array[i].y > maxy){
\r
21 maxy = polygon.array[i].y;
\r
23 if(isNaN(polygon.array[i].x) || isNaN(polygon.array[i].y)){
\r
27 if(error == 0 && minx != maxx && miny != maxy && polygon.array.length >= 3){
\r
28 var newArray = new Array();
\r
29 newArray.push(polygon.array.shift());
\r
30 while(polygon.array.length != 0){
\r
31 var temp = polygon.array.shift();
\r
32 if(newArray[newArray.length - 1].x != temp.x ||
\r
33 newArray[newArray.length - 1].y != temp.y){
\r
34 newArray.push(temp);
\r
37 if(newArray.length >= 3){
\r
38 polygon.array = newArray;
\r
39 this.array.push(polygon);
\r
43 Polygons.prototype.push = push;
\r
45 function generateSVG(){ // string
\r
47 buffer += "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" baseProfile=\"full\" viewBox=\"0 0 199 199\">\n";
\r
48 buffer += "<g fill=\"black\">\n";
\r
49 for(var i = 0; i < this.array.length; i++){
\r
50 buffer += "<polygon points=\"";
\r
51 for(var j = 0; j < this.array[i].array.length; j++){
\r
52 buffer += this.array[i].array[j].x + "," + this.array[i].array[j].y + " ";
\r
54 buffer += "\" />\n";
\r
57 buffer += "</svg>\n";
\r
60 Polygons.prototype.generateSVG = generateSVG;
\r
62 function generateEPS(){ // string
\r
64 buffer += "%!PS-Adobe-3.0 EPSF-3.0\n";
\r
65 buffer += "%%BoundingBox: 0 -208 1024 816\n";
\r
66 buffer += "%%Pages: 0\n";
\r
67 buffer += "%%Title: Kanji glyph\n";
\r
68 buffer += "%%Creator: GlyphWiki powered by KAGE system\n";
\r
69 buffer += "%%CreationDate: " + new Date() + "\n";
\r
70 buffer += "%%EndComments\n";
\r
71 buffer += "%%EndProlog\n";
\r
72 buffer += "newpath\n";
\r
74 for(var i = 0; i < this.array.length; i++){
\r
75 for(var j = 0; j < this.array[i].array.length; j++){
\r
76 buffer += (this.array[i].array[j].x * 5) + " " + (1000 - this.array[i].array[j].y * 5 - 200) + " ";
\r
78 buffer += "moveto\n";
\r
80 buffer += "lineto\n";
\r
83 buffer += "closepath\n";
\r
86 buffer += "%%EOF\n";
\r
89 Polygons.prototype.generateEPS = generateEPS;
\r
92 this.array = new Array();
\r