Improved OTSU curve.
authorKoichi KAMICHI <kamichi@fonts.jp>
Mon, 23 Feb 2009 03:18:25 +0000 (03:18 +0000)
committerKoichi KAMICHI <kamichi@fonts.jp>
Mon, 23 Feb 2009 03:18:25 +0000 (03:18 +0000)
engine/kagedf.js

index ba51376..b7a826d 100755 (executable)
@@ -145,6 +145,9 @@ function dfDrawFont(kage, polygons, a1, a2, a3, x1, y1, x2, y2, x3, y3, x4, y4){
       break;\r
     case 4:\r
       rate = 6;\r
+      if((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2) < 14400){ // smaller than 120 x 120\r
+        rate = Math.sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2)) / 120 * 6;\r
+      }\r
       if(a3 == 5){\r
         if(x1 == x2){\r
           if(y1 < y2){ v = 1; } else{ v = -1; }\r
@@ -178,14 +181,14 @@ function dfDrawFont(kage, polygons, a1, a2, a3, x1, y1, x2, y2, x3, y3, x4, y4){
           tx2 = x2 + kage.kMage * Math.cos(rad) * v * rate;\r
           ty2 = y2 + kage.kMage * Math.sin(rad) * v * rate;\r
         }\r
-                               tx3 = x3;\r
+        tx3 = x3;\r
         ty3 = y3;\r
         \r
         cdDrawLine(kage, polygons, x1, y1, tx1, ty1, a2, 1);\r
         cdDrawCurve(kage, polygons, tx1, ty1, x2, y2, tx2, ty2, 1, 1);\r
-                               if(tx3 - tx2 > 0){ // for closer position\r
-                                       cdDrawLine(kage, polygons, tx2, ty2, tx3, ty3, 6, 5); // bolder by force\r
-                               }\r
+        if(tx3 - tx2 > 0){ // for closer position\r
+          cdDrawLine(kage, polygons, tx2, ty2, tx3, ty3, 6, 5); // bolder by force\r
+        }\r
       }\r
       else{\r
         if(x1 == x2){\r