var deltad;\r
var XX, XY, YX, YY;\r
var poly, poly2;\r
+ var hosomi;\r
\r
if(kage.kShotai == kage.kMincho){ // mincho\r
switch(a1){\r
y4 = y4 + delta * Math.sin(rad) * v;\r
}\r
\r
+ hosomi = 0.5;\r
+ if(Math.sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1)) < 50){\r
+ hosomi += 0.4 * (1 - Math.sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1)) / 50);\r
+ }\r
+\r
poly = new Polygon();\r
poly2 = new Polygon();\r
for(tt = 0; tt <= 1000; tt = tt + kage.kRate){\r
ib = kage.kMinWidthT;\r
}\r
\r
- if(a1 == 7){ deltad = Math.sqrt(t); }\r
- else if(a2 == 7){ deltad = Math.sqrt(1.0 - t); }\r
+ if(a1 == 7 && a2 == 0){ // L2RD: fatten\r
+ deltad = Math.pow(t, hosomi) * kage.kL2RDfatten;\r
+ }\r
+ else if(a1 == 7){\r
+ deltad = Math.pow(t, hosomi);\r
+ }\r
+ else if(a2 == 7){\r
+ deltad = Math.pow(1.0 - t, hosomi);\r
+ }\r
else{ deltad = 1; }\r
+\r
+ if(deltad < 0.15){\r
+ deltad = 0.15;\r
+ }\r
ia = ia * deltad;\r
ib = ib * deltad;\r
\r
}\r
}\r
else{ //bottom to up\r
- if(x1 == x2){ //is it right?\r
+ if(x1 == x2){\r
poly = new Polygon();\r
poly.push(x1 - kage.kMinWidthT, y1);\r
poly.push(x1 + kage.kMinWidthT, y1);\r
- poly.push(x1 - kage.kMinWidthT, y1 + kage.kMinWidthY);\r
+ poly.push(x1 + kage.kMinWidthT, y1 - kage.kMinWidthY);\r
polygons.push(poly);\r
}\r
else{\r
poly.push(x1, y1 - kage.kMinWidthY - kage.kWidth);\r
poly.push(x1 + kage.kMinWidthT + kage.kWidth, y1 + kage.kMinWidthY);\r
poly.push(x1 + kage.kMinWidthT, y1 + kage.kMinWidthT);\r
- poly.push(x1 - kage.kMinWidthT, y1);\r
+ poly.push(x1, y1 + kage.kMinWidthT);\r
polygons.push(poly);\r
}\r
\r
if(y1 <= y4){ //from up to bottom\r
if(x1 == x2){\r
poly = new Polygon();\r
- poly.push(x1 + kage.kMinWidthT, y1 + kage.kMinWidthY * 0.5);\r
- poly.push(x1 + kage.kMinWidthT + kage.kMinWidthT * 0.5, y1 + kage.kMinWidthY * 0.5 + kage.kMinWidthY);\r
- poly.push(x1 + kage.kMinWidthT, y1 + kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2);\r
+ poly.push(x1 + kage.kMinWidthT, y1);\r
+ poly.push(x1 + kage.kMinWidthT * 1.5, y1 + kage.kMinWidthY);\r
+ poly.push(x1 + kage.kMinWidthT * 0.5, y1 + kage.kMinWidthY * 3);\r
polygons.push(poly);\r
}\r
else{\r
poly = new Polygon();\r
- poly.push(x1 + kage.kMinWidthT * XX + (kage.kMinWidthY * 0.5) * YX,\r
- y1 + kage.kMinWidthT * XY + (kage.kMinWidthY * 0.5) * YY);\r
- poly.push(x1 + (kage.kMinWidthT + kage.kMinWidthT * 0.5) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YX,\r
- y1 + (kage.kMinWidthT + kage.kMinWidthT * 0.5) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YY);\r
- poly.push(x1 + kage.kMinWidthT * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YX,\r
- y1 + kage.kMinWidthT * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YY);\r
+ poly.push(x1 + kage.kMinWidthT * XX,\r
+ y1 + kage.kMinWidthT * XY);\r
+ poly.push(x1 + kage.kMinWidthT * 1.5 * XX + kage.kMinWidthY * YX,\r
+ y1 + kage.kMinWidthT * 1.5 * XY + kage.kMinWidthY * YY);\r
+ poly.push(x1 + kage.kMinWidthT * 0.5 * XX + kage.kMinWidthY * 3 * YX,\r
+ y1 + kage.kMinWidthT * 0.5 * XY + kage.kMinWidthY * 3 * YY);\r
polygons.push(poly);\r
}\r
}\r
else{ //from bottom to up\r
- if(x1 == x2){ //is it right?\r
+ if(x1 == x2){\r
poly = new Polygon();\r
- poly.push(x1 + kage.kMinWidthT, y1 - kage.kMinWidthY * 0.5);\r
- poly.push(x1 + kage.kMinWidthT + kage.kMinWidthT * 0.5, y1 - kage.kMinWidthY * 0.5 - kage.kMinWidthY);\r
- poly.push(x1 + kage.kMinWidthT, y1 - kage.kMinWidthY * 0.5 - kage.kMinWidthY * 2);\r
+ poly.push(x1 - kage.kMinWidthT, y1);\r
+ poly.push(x1 - kage.kMinWidthT * 1.5, y1 + kage.kMinWidthY);\r
+ poly.push(x1 - kage.kMinWidthT * 0.5, y1 + kage.kMinWidthY * 3);\r
polygons.push(poly);\r
}\r
- else{ //SETSUGOUMEN GA KAKERUNODE HOKYOU\r
+ else{\r
poly = new Polygon();\r
- poly.push(x1 - (kage.kMinWidthT - 1) * XX + (kage.kMinWidthY * 0.5) * YX,\r
- y1 - (kage.kMinWidthT - 1) * XY + (kage.kMinWidthY * 0.5) * YY);\r
- poly.push(x1 - (kage.kMinWidthT - 0) * XX + (kage.kMinWidthY * 0.5) * YX,\r
- y1 - (kage.kMinWidthT - 0) * XY + (kage.kMinWidthY * 0.5) * YY);\r
- poly.push(x1 - (kage.kMinWidthT + kage.kMinWidthT * 0.5) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YX,\r
- y1 - (kage.kMinWidthT + kage.kMinWidthT * 0.5) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YY);\r
- poly.push(x1 - (kage.kMinWidthT - 0) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YX,\r
- y1 - (kage.kMinWidthT - 0) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YY);\r
- poly.push(x1 - (kage.kMinWidthT - 1) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YX,\r
- y1 - (kage.kMinWidthT - 1) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YY);\r
+ poly.push(x1 - kage.kMinWidthT * XX, y1 - kage.kMinWidthT * XY);\r
+ poly.push(x1 - kage.kMinWidthT * 1.5 * XX + kage.kMinWidthY * YX, y1 + kage.kMinWidthY * YY - kage.kMinWidthT * 1.5 * XY);\r
+ poly.push(x1 - kage.kMinWidthT * 0.5 * XX + kage.kMinWidthY * 3 * YX, y1 + kage.kMinWidthY * 3 * YY - kage.kMinWidthT * 0.5 * XY);\r
polygons.push(poly);\r
}\r
}\r
var deltad;\r
var XX, XY, YX, YY;\r
var poly, poly2;\r
+ var hosomi;\r
\r
if(kage.kShotai == kage.kMincho){ // mincho\r
switch(a1){\r
x3 = x3 + delta * Math.cos(rad) * v;\r
y3 = y3 + delta * Math.sin(rad) * v;\r
}\r
+\r
+ hosomi = 0.5;\r
+ if(Math.sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1)) < 50){\r
+ hosomi += 0.4 * (1 - Math.sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1)) / 50);\r
+ }\r
\r
poly = new Polygon();\r
poly2 = new Polygon();\r
ib = kage.kMinWidthT;\r
}\r
\r
- if(a1 == 7 && a2 == 0){ deltad = Math.sqrt(t) * kage.kL2RDfatten; } //L2RD: fatten\r
- else if(a1 == 7){ deltad = Math.sqrt(t); }\r
- else if(a2 == 7){ deltad = Math.sqrt(1.0 - t); }\r
+ if(a1 == 7 && a2 == 0){ // L2RD: fatten\r
+ deltad = Math.pow(t, hosomi) * kage.kL2RDfatten;\r
+ }\r
+ else if(a1 == 7){\r
+ deltad = Math.pow(t, hosomi);\r
+ }\r
+ else if(a2 == 7){\r
+ deltad = Math.pow(1.0 - t, hosomi);\r
+ }\r
else{ deltad = 1; }\r
+ \r
+ if(deltad < 0.15){\r
+ deltad = 0.15;\r
+ }\r
ia = ia * deltad;\r
ib = ib * deltad;\r
\r
}\r
}\r
else{ //bottom to up\r
- if(x1 == x2){ //is it right? ... no need\r
+ if(x1 == x2){\r
poly = new Polygon();\r
poly.push(x1 - kage.kMinWidthT, y1);\r
poly.push(x1 + kage.kMinWidthT, y1);\r
- poly.push(x1 - kage.kMinWidthT, y1 + kage.kMinWidthY);\r
+ poly.push(x1 + kage.kMinWidthT, y1 - kage.kMinWidthY);\r
polygons.push(poly);\r
}\r
else{\r
poly.push(x1, y1 - kage.kMinWidthY - kage.kWidth);\r
poly.push(x1 + kage.kMinWidthT + kage.kWidth, y1 + kage.kMinWidthY);\r
poly.push(x1 + kage.kMinWidthT, y1 + kage.kMinWidthT);\r
- poly.push(x1 - kage.kMinWidthT, y1);\r
+ poly.push(x1, y1 + kage.kMinWidthT);\r
polygons.push(poly);\r
}\r
\r
if(y1 <= y3){ //from up to bottom\r
if(x1 == x2){\r
poly = new Polygon();\r
- poly.push(x1 + kage.kMinWidthT, y1 + kage.kMinWidthY * 0.5);\r
- poly.push(x1 + kage.kMinWidthT + kage.kMinWidthT * 0.5, y1 + kage.kMinWidthY * 0.5 + kage.kMinWidthY);\r
- poly.push(x1 + kage.kMinWidthT, y1 + kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2);\r
+ poly.push(x1 + kage.kMinWidthT, y1);\r
+ poly.push(x1 + kage.kMinWidthT * 1.5, y1 + kage.kMinWidthY);\r
+ poly.push(x1 + kage.kMinWidthT * 0.5, y1 + kage.kMinWidthY * 3);\r
polygons.push(poly);\r
}\r
else{\r
poly = new Polygon();\r
- poly.push(x1 + kage.kMinWidthT * XX + (kage.kMinWidthY * 0.5) * YX,\r
- y1 + kage.kMinWidthT * XY + (kage.kMinWidthY * 0.5) * YY);\r
- poly.push(x1 + (kage.kMinWidthT + kage.kMinWidthT * 0.5) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YX,\r
- y1 + (kage.kMinWidthT + kage.kMinWidthT * 0.5) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YY);\r
- poly.push(x1 + kage.kMinWidthT * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YX,\r
- y1 + kage.kMinWidthT * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YY);\r
+ poly.push(x1 + kage.kMinWidthT * XX,\r
+ y1 + kage.kMinWidthT * XY);\r
+ poly.push(x1 + kage.kMinWidthT * 1.5 * XX + kage.kMinWidthY * YX,\r
+ y1 + kage.kMinWidthT * 1.5 * XY + kage.kMinWidthY * YY);\r
+ poly.push(x1 + kage.kMinWidthT * 0.5 * XX + kage.kMinWidthY * 3 * YX,\r
+ y1 + kage.kMinWidthT * 0.5 * XY + kage.kMinWidthY * 3 * YY);\r
polygons.push(poly);\r
}\r
}\r
else{ //from bottom to up\r
- if(x1 == x2){ //is it right?\r
+ if(x1 == x2){\r
poly = new Polygon();\r
- poly.push(x1 + kage.kMinWidthT, poly2[0].Y = y1 - kage.kMinWidthY * 0.5);\r
- poly.push(x1 + kage.kMinWidthT + kage.kMinWidthT * 0.5, y1 - kage.kMinWidthY * 0.5 - kage.kMinWidthY);\r
- poly.push(x1 + kage.kMinWidthT, y1 - kage.kMinWidthY * 0.5 - kage.kMinWidthY * 2);\r
+ poly.push(x1 - kage.kMinWidthT, y1);\r
+ poly.push(x1 - kage.kMinWidthT * 1.5, y1 + kage.kMinWidthY);\r
+ poly.push(x1 - kage.kMinWidthT * 0.5, y1 + kage.kMinWidthY * 3);\r
polygons.push(poly);\r
}\r
- else{ //SETSUGOUMEN GA KAKERUNODE HOKYOU\r
+ else{\r
poly = new Polygon();\r
- poly.push(x1 - (kage.kMinWidthT - 1) * XX + (kage.kMinWidthY * 0.5) * YX,\r
- y1 - (kage.kMinWidthT - 1) * XY + (kage.kMinWidthY * 0.5) * YY);\r
- poly.push(x1 - (kage.kMinWidthT - 0) * XX + (kage.kMinWidthY * 0.5) * YX,\r
- y1 - (kage.kMinWidthT - 0) * XY + (kage.kMinWidthY * 0.5) * YY);\r
- poly.push(x1 - (kage.kMinWidthT + kage.kMinWidthT * 0.5) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YX,\r
- y1 - (kage.kMinWidthT + kage.kMinWidthT * 0.5) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY) * YY);\r
- poly.push(x1 - (kage.kMinWidthT - 0) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YX,\r
- y1 - (kage.kMinWidthT - 0) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YY);\r
- poly.push(x1 - (kage.kMinWidthT - 1) * XX + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YX,\r
- y1 - (kage.kMinWidthT - 1) * XY + (kage.kMinWidthY * 0.5 + kage.kMinWidthY * 2) * YY);\r
+ poly.push(x1 - kage.kMinWidthT * XX, y1 - kage.kMinWidthT * XY);\r
+ poly.push(x1 - kage.kMinWidthT * 1.5 * XX + kage.kMinWidthY * YX, y1 + kage.kMinWidthY * YY - kage.kMinWidthT * 1.5 * XY);\r
+ poly.push(x1 - kage.kMinWidthT * 0.5 * XX + kage.kMinWidthY * 3 * YX, y1 + kage.kMinWidthY * 3 * YY - kage.kMinWidthT * 0.5 * XY);\r
polygons.push(poly);\r
}\r
}\r
function cdDrawLine(kage, polygons, tx1, ty1, tx2, ty2, ta1, ta2){\r
var rad;\r
var v, x1, y1, x2, y2;\r
- var a1, a2;\r
+ var a1, a2, opt1, opt2;\r
var XX, XY, YX, YY;\r
var poly;\r
\r
y1 = ty1;\r
x2 = tx2;\r
y2 = ty2;\r
- a1 = ta1;\r
- a2 = ta2;\r
+ a1 = ta1 % 100;\r
+ a2 = ta2 % 100;\r
+ opt1 = Math.floor(ta1 / 100);\r
+ opt2 = Math.floor(ta2 / 100);\r
\r
if(x1 == x2){ //if TATE stroke, use y-axis\r
poly = new Polygon(4);\r
poly.set(1, x2 + kage.kMinWidthT, y2);\r
break;\r
case 13:\r
- poly.set(2, x2 - kage.kMinWidthT, y2 + kage.kWidth * kage.kKakato + kage.kMinWidthT);\r
- poly.set(1, x2 + kage.kMinWidthT, y2 + kage.kWidth * kage.kKakato);\r
+ poly.set(2, x2 - kage.kMinWidthT, y2 + kage.kAdjustKakatoL[opt2] + kage.kMinWidthT);\r
+ poly.set(1, x2 + kage.kMinWidthT, y2 + kage.kAdjustKakatoL[opt2]);\r
break;\r
case 23:\r
- poly.set(2, x2 - kage.kMinWidthT, y2 + kage.kWidth * kage.kKakato * 0.5 + kage.kMinWidthT);\r
- poly.set(1, x2 + kage.kMinWidthT, y2 + kage.kWidth * kage.kKakato * 0.5);\r
+ poly.set(2, x2 - kage.kMinWidthT, y2 + kage.kAdjustKakatoR[opt2] + kage.kMinWidthT);\r
+ poly.set(1, x2 + kage.kMinWidthT, y2 + kage.kAdjustKakatoR[opt2]);\r
break;\r
case 32:\r
poly.set(2, x2 - kage.kMinWidthT, y2 + kage.kMinWidthY);\r
poly.push(x2, y2 + kage.kMinWidthT);\r
poly.push(x2 + kage.kMinWidthT * 0.6, y2 + kage.kMinWidthT * 0.6);\r
poly.push(x2 + kage.kMinWidthT, y2);\r
- poly.reverse(); // for fill-rule\r
+ poly.reverse(); // for fill-rule\r
polygons.push(poly);\r
}\r
}\r
}\r
}\r
else{\r
+ //always same\r
poly = new Polygon(4);\r
- switch(a1){\r
- case 0:\r
- poly.set(0, x1, y1 - kage.kMinWidthY);\r
- poly.set(3, x1, y1 + kage.kMinWidthY);\r
- break;\r
- case 2:\r
- poly.set(0, x1 - kage.kMinWidthT, y1 - kage.kMinWidthY);\r
- poly.set(3, x1 - kage.kMinWidthT, y1 + kage.kMinWidthY);\r
- break;\r
- }\r
- \r
- switch(a2){\r
- case 0:\r
- poly.set(1, x2, y2 - kage.kMinWidthY);\r
- poly.set(2, x2, y2 + kage.kMinWidthY);\r
- break;\r
- case 2:\r
- poly.set(1, x2 + kage.kMinWidthT, y2 - kage.kMinWidthY);\r
- poly.set(2, x2 + kage.kMinWidthT, y2 + kage.kMinWidthY);\r
- }\r
- \r
+ poly.set(0, x1, y1 - kage.kMinWidthY);\r
+ poly.set(1, x2, y2 - kage.kMinWidthY);\r
+ poly.set(2, x2, y2 + kage.kMinWidthY);\r
+ poly.set(3, x1, y1 + kage.kMinWidthY);\r
polygons.push(poly);\r
\r
//UROKO\r
if(a2 == 0){\r
poly = new Polygon();\r
poly.push(x2, y2 - kage.kMinWidthY);\r
- poly.push(x2 - 24, y2);\r
- poly.push(x2 - 12, y2 - 12);\r
+ poly.push(x2 - kage.kAdjustUrokoX[opt2], y2);\r
+ poly.push(x2 - kage.kAdjustUrokoX[opt2] / 2, y2 - kage.kAdjustUrokoY[opt2]);\r
polygons.push(poly);\r
}\r
}\r
else{ //for others, use x-axis\r
rad = Math.atan((y2 - y1) / (x2 - x1));\r
if((Math.abs(y2 - y1) < Math.abs(x2 - x1)) && (a1 != 6) && (a2 != 6) && !(x1 > x2)){ //ASAI KAUDO\r
+ //always same\r
poly = new Polygon(4);\r
- switch(a1){ //must be 0 or 2\r
- case 0:\r
- poly.set(0, x1 + Math.sin(rad) * kage.kMinWidthY, y1 - Math.cos(rad) * kage.kMinWidthY);\r
- poly.set(3, x1 - Math.sin(rad) * kage.kMinWidthY, y1 + Math.cos(rad) * kage.kMinWidthY);\r
- break;\r
- case 2:\r
- poly.set(0, x1 + Math.sin(rad) * kage.kMinWidthY - kage.kMinWidthT * Math.cos(rad),\r
- y1 - Math.cos(rad) * kage.kMinWidthY - kage.kMinWidthT * Math.sin(rad));\r
- poly.set(3, x1 - Math.sin(rad) * kage.kMinWidthY - kage.kMinWidthT * Math.cos(rad),\r
- y1 + Math.cos(rad) * kage.kMinWidthY - kage.kMinWidthT * Math.sin(rad));\r
- break;\r
- }\r
- \r
- switch(a2){ //must be 0 or 2\r
- case 0:\r
- poly.set(1, x2 + Math.sin(rad) * kage.kMinWidthY, y2 - Math.cos(rad) * kage.kMinWidthY);\r
- poly.set(2, x2 - Math.sin(rad) * kage.kMinWidthY, y2 + Math.cos(rad) * kage.kMinWidthY);\r
- break;\r
- case 2:\r
- poly.set(1, x2 + Math.sin(rad) * kage.kMinWidthY + kage.kMinWidthT * Math.cos(rad),\r
- y2 - Math.cos(rad) * kage.kMinWidthY + kage.kMinWidthT * Math.sin(rad));\r
- poly.set(2, x2 - Math.sin(rad) * kage.kMinWidthY + kage.kMinWidthT * Math.cos(rad),\r
- y2 + Math.cos(rad) * kage.kMinWidthY + kage.kMinWidthT * Math.sin(rad));\r
- }\r
- \r
+ poly.set(0, x1 + Math.sin(rad) * kage.kMinWidthY, y1 - Math.cos(rad) * kage.kMinWidthY);\r
+ poly.set(1, x2 + Math.sin(rad) * kage.kMinWidthY, y2 - Math.cos(rad) * kage.kMinWidthY);\r
+ poly.set(2, x2 - Math.sin(rad) * kage.kMinWidthY, y2 + Math.cos(rad) * kage.kMinWidthY);\r
+ poly.set(3, x1 - Math.sin(rad) * kage.kMinWidthY, y1 + Math.cos(rad) * kage.kMinWidthY);\r
polygons.push(poly);\r
\r
//UROKO\r
if(a2 == 0){\r
poly = new Polygon();\r
poly.push(x2 + Math.sin(rad) * kage.kMinWidthY, y2 - Math.cos(rad) * kage.kMinWidthY);\r
- poly.push(x2 - Math.cos(rad) * 24, y2 - Math.sin(rad) * 24);\r
- poly.push(x2 - Math.cos(rad) * 12 + Math.sin(rad) * 12, y2 - Math.sin(rad) * 12 - Math.cos(rad) * 12);\r
+ poly.push(x2 - Math.cos(rad) * kage.kAdjustUrokoX[opt2], y2 - Math.sin(rad) * kage.kAdjustUrokoX[opt2]);\r
+ poly.push(x2 - Math.cos(rad) * kage.kAdjustUrokoX[opt2] / 2 + Math.sin(rad) * kage.kAdjustUrokoX[opt2] / 2, y2 - Math.sin(rad) * kage.kAdjustUrokoY[opt2] - Math.cos(rad) * kage.kAdjustUrokoY[opt2]);\r
polygons.push(poly);\r
}\r
}\r
poly.set(2, x2 - Math.sin(rad) * kage.kMinWidthT * v, y2 + Math.cos(rad) * kage.kMinWidthT * v);\r
break;\r
case 13:\r
- poly.set(1, x2 + Math.sin(rad) * kage.kMinWidthT * v + kage.kWidth * kage.kKakato * Math.cos(rad) * v,\r
- y2 - Math.cos(rad) * kage.kMinWidthT * v + kage.kWidth * kage.kKakato * Math.sin(rad) * v);\r
- poly.set(2, x2 - Math.sin(rad) * kage.kMinWidthT * v + (kage.kWidth * kage.kKakato + kage.kMinWidthT) * Math.cos(rad) * v,\r
- y2 + Math.cos(rad) * kage.kMinWidthT * v + (kage.kWidth * kage.kKakato + kage.kMinWidthT) * Math.sin(rad) * v);\r
+ poly.set(1, x2 + Math.sin(rad) * kage.kMinWidthT * v + kage.kAdjustKakatoL[opt2] * Math.cos(rad) * v,\r
+ y2 - Math.cos(rad) * kage.kMinWidthT * v + kage.kAdjustKakatoL[opt2] * Math.sin(rad) * v);\r
+ poly.set(2, x2 - Math.sin(rad) * kage.kMinWidthT * v + (kage.kAdjustKakatoL[opt2] + kage.kMinWidthT) * Math.cos(rad) * v,\r
+ y2 + Math.cos(rad) * kage.kMinWidthT * v + (kage.kAdjustKakatoL[opt2] + kage.kMinWidthT) * Math.sin(rad) * v);\r
break;\r
case 23:\r
- poly.set(1, x2 + Math.sin(rad) * kage.kMinWidthT * v + kage.kWidth * kage.kKakato * 0.5 * Math.cos(rad) * v,\r
- y2 - Math.cos(rad) * kage.kMinWidthT * v + kage.kWidth * kage.kKakato * 0.5 * Math.sin(rad) * v);\r
+ poly.set(1, x2 + Math.sin(rad) * kage.kMinWidthT * v + kage.kAdjustKakatoR[opt2] * Math.cos(rad) * v,\r
+ y2 - Math.cos(rad) * kage.kMinWidthT * v + kage.kAdjustKakatoR[opt2] * Math.sin(rad) * v);\r
poly.set(2,\r
- x2 - Math.sin(rad) * kage.kMinWidthT * v + (kage.kWidth * kage.kKakato * 0.5 + kage.kMinWidthT) * Math.cos(rad) * v,\r
- y2 + Math.cos(rad) * kage.kMinWidthT * v + (kage.kWidth * kage.kKakato * 0.5 + kage.kMinWidthT) * Math.sin(rad) * v);\r
+ x2 - Math.sin(rad) * kage.kMinWidthT * v + (kage.kAdjustKakatoR[opt2] + kage.kMinWidthT) * Math.cos(rad) * v,\r
+ y2 + Math.cos(rad) * kage.kMinWidthT * v + (kage.kAdjustKakatoR[opt2] + kage.kMinWidthT) * Math.sin(rad) * v);\r
break;\r
case 32:\r
poly.set(1, x2 + Math.sin(rad) * kage.kMinWidthT * v + kage.kMinWidthY * Math.cos(rad) * v,\r