Fixed polygon's contact for the head of strokes.
authorKoichi KAMICHI <kamichi@fonts.jp>
Mon, 9 Aug 2010 12:33:51 +0000 (12:33 +0000)
committerKoichi KAMICHI <kamichi@fonts.jp>
Mon, 9 Aug 2010 12:33:51 +0000 (12:33 +0000)
engine/kagecd.js

index 1bc8525..a6942cb 100755 (executable)
@@ -350,14 +350,14 @@ function cdDrawCurveU(kage, polygons, x1, y1, sx1, sy1, sx2, sy2, x2, y2, ta1, t
         }\r
         if(x1 == sx1){\r
           poly = new Polygon();\r
-          poly.push(x1 - kMinWidthT, y1);\r
+          poly.push(x1 - kMinWidthT, y1 + 1);\r
           poly.push(x1 + kMinWidthT, y1);\r
           poly.push(x1 - kMinWidthT * pm, y1 - kage.kMinWidthY * type * pm);\r
           polygons.push(poly);\r
         }\r
         else{\r
           poly = new Polygon();\r
-          poly.push(x1 - kMinWidthT * XX, y1 - kMinWidthT * XY);\r
+          poly.push(x1 - kMinWidthT * XX + 1 * YX, y1 - kMinWidthT * XY + 1 * YY);\r
           poly.push(x1 + kMinWidthT * XX, y1 + kMinWidthT * XY);\r
           poly.push(x1 - kMinWidthT * pm * XX - kage.kMinWidthY * type * pm * YX, y1 - kMinWidthT * pm * XY - kage.kMinWidthY * type * pm * YY);\r
           polygons.push(poly);\r
@@ -401,7 +401,7 @@ function cdDrawCurveU(kage, polygons, x1, y1, sx1, sy1, sx2, sy2, x2, y2, ta1, t
           poly = new Polygon();\r
           poly.push(x1 + kMinWidthT, y1 - move);\r
           poly.push(x1 + kMinWidthT * 1.5, y1 + kage.kMinWidthY - move);\r
-          poly.push(x1 + kMinWidthT * 0.5, y1 + kage.kMinWidthY * 3 - move / 2);\r
+          poly.push(x1 + kMinWidthT - 2, y1 + kage.kMinWidthY * 2 + 1);\r
           polygons.push(poly);\r
         }\r
         else{\r
@@ -410,8 +410,8 @@ function cdDrawCurveU(kage, polygons, x1, y1, sx1, sy1, sx2, sy2, x2, y2, ta1, t
                     y1 + kMinWidthT * XY - move * YY);\r
           poly.push(x1 + kMinWidthT * 1.5 * XX + (kage.kMinWidthY - move * 1.2) * YX,\r
                     y1 + kMinWidthT * 1.5 * XY + (kage.kMinWidthY - move * 1.2) * YY);\r
-          poly.push(x1 + kMinWidthT * 0.5 * XX + (kage.kMinWidthY * 3 - move * 0.8) * YX,\r
-                    y1 + kMinWidthT * 0.5 * XY + (kage.kMinWidthY * 3 - move * 0.8) * YY);\r
+          poly.push(x1 + (kMinWidthT - 2) * XX + (kage.kMinWidthY * 2 - move * 0.8 + 1) * YX,\r
+                    y1 + (kMinWidthT - 2) * XY + (kage.kMinWidthY * 2 - move * 0.8 + 1) * YY);\r
           polygons.push(poly);\r
         }\r
       }\r
@@ -795,7 +795,7 @@ function cdDrawLine(kage, polygons, tx1, ty1, tx2, ty2, ta1, ta2){
         poly = new Polygon();\r
         poly.push(x1 + kMinWidthT, y1 + kage.kMinWidthY * 0.5);\r
         poly.push(x1 + kMinWidthT + kMinWidthT * 0.5, y1 + kage.kMinWidthY * 0.5 + kage.kMinWidthY);\r
-        poly.push(x1 + kMinWidthT, y1 + kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2);\r
+        poly.push(x1 + kMinWidthT - 2, y1 + kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2 + 1);\r
         polygons.push(poly);\r
       }\r
       \r
@@ -1053,8 +1053,8 @@ function cdDrawLine(kage, polygons, tx1, ty1, tx2, ty2, ta1, ta2){
                     y1 + kMinWidthT * XY + (kage.kMinWidthY * 0.5) * YY);\r
           poly.push(x1 + (kMinWidthT + kMinWidthT * 0.5) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YX,\r
                     y1 + (kMinWidthT + kMinWidthT * 0.5) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YY);\r
-          poly.push(x1 + kMinWidthT * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YX,\r
-                    y1 + kMinWidthT * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YY);\r
+          poly.push(x1 + kMinWidthT * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YX - 2 * XX,\r
+                    y1 + kMinWidthT * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YY + 1 * XY);\r
           polygons.push(poly);\r
         }\r
       }\r