diff --git a/font.js b/font.js index 53120b0..ff4dc3c 100644 --- a/font.js +++ b/font.js @@ -1,5 +1,5 @@ { - var r0_font, r0_glyphList, r0_glyphs, r0_Glyph, r0_Stroke, r0_para, r0_variantSelector, r0_DESCENDER, r0_WIDTH, r0_CAP, r0_XH, r0_O, r0_SB, r0_HOOK, r0_SMOOTH, r0_SMALLSMOOTH, r0_STROKE, r0_DOTSIZE, r0_XO, r0_CAPO, r0_HALFSTROKE, r0_RIGHTSB, r0_MIDDLE, r0_CAPMIDDLE, r0_CAP_SMOOTH, r0_DOTRADIUS, r0_KAPPA, r0_COKAPPA, r0_COBKAPPA, r0_BKAPPA, r0_KAPPA_HOOK, r0_Ring, r0_ORing, r0_xn$createglyph$7Hrq, _r0_t0, _r0_t1, _r0_t2, _r0_t3, _r0_t4, _r0_t5, _r0_t6, _r0_t7, _r0_t8, _r0_t9, _r0_t10, _r0_t11, _r0_t12, _r0_t13, _r0_t14, _r0_t15, _r0_t16, _r0_t17, _r0_t18, _r0_t19, _r0_t20, _r0_t21, _r0_t22, _r0_t23, _r0_t24, _r0_t25, _r0_t26, _r0_t27, _r0_t28, _r0_t29, _r0_t30, _r0_t31, _r0_t32; + var r0_font, r0_glyphList, r0_glyphs, r0_Glyph, r0_Stroke, r0_para, r0_variantSelector, r0_DESCENDER, r0_WIDTH, r0_CAP, r0_XH, r0_O, r0_SB, r0_HOOK, r0_SMOOTH, r0_SMALLSMOOTH, r0_STROKE, r0_DOTSIZE, r0_XO, r0_CAPO, r0_HALFSTROKE, r0_RIGHTSB, r0_MIDDLE, r0_CAPMIDDLE, r0_CAP_SMOOTH, r0_DOTRADIUS, r0_KAPPA, r0_COKAPPA, r0_COBKAPPA, r0_BKAPPA, r0_KAPPA_HOOK, r0_Ring, r0_ORing, r0_xn$createglyph$7Hrq, _r0_t0, _r0_t1, _r0_t2, _r0_t3, _r0_t4, _r0_t5, _r0_t6, _r0_t7, _r0_t8, _r0_t9, _r0_t10, _r0_t11, _r0_t12, _r0_t13, _r0_t14, _r0_t15, _r0_t16, _r0_t17, _r0_t18, _r0_t19, _r0_t20, _r0_t21, _r0_t22, _r0_t23, _r0_t24, _r0_t25, _r0_t26, _r0_t27, _r0_t28, _r0_t29, _r0_t30, _r0_t31, _r0_t32, _r0_t33, _r0_t34, _r0_t35; r0_font = require('./empty.json'); r0_glyphList = r0_font['glyf']; r0_glyphs = { '.notdef': r0_glyphList[0] }; @@ -496,8 +496,8 @@ r47_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_SB * 1.5, r0_CAP)['line-to'](r0_SB * 1.5, 0)['line-to'](r0_RIGHTSB, 0)['form-stroke'](r0_STROKE, 0)); return void 0; }); - r0_xn$createglyph$7Hrq('S', function _r0_t22() { - var r49_xn$setwidth$9Jrj, r49_xn$assignunicode$7Hrq, r49_xn$startfrom$1aao, r49_xn$lineto$5sIl, r49_xn$curveto$1aao, r49_xn$cubicto$1aao, r49_xn$putshapes$9Jrj, r49_xn$reverselast$3qIs, r49_xn$includeglyph$3qIs, r49_slope, r49_bowltop, r49_strokemiddle, r49_bowlbottom, _r49_t0; + r0_xn$createglyph$7Hrq('dotlessI.straight', function _r0_t22() { + var r49_xn$setwidth$9Jrj, r49_xn$assignunicode$7Hrq, r49_xn$startfrom$1aao, r49_xn$lineto$5sIl, r49_xn$curveto$1aao, r49_xn$cubicto$1aao, r49_xn$putshapes$9Jrj, r49_xn$reverselast$3qIs, r49_xn$includeglyph$3qIs, _r49_t0; _r49_t0 = this; r49_xn$setwidth$9Jrj = _r49_t0['set-width']['bind'](_r49_t0); r49_xn$assignunicode$7Hrq = _r49_t0['assign-unicode']['bind'](_r49_t0); @@ -508,21 +508,10 @@ r49_xn$putshapes$9Jrj = _r49_t0['put-shapes']['bind'](_r49_t0); r49_xn$reverselast$3qIs = _r49_t0['reverse-last']['bind'](_r49_t0); r49_xn$includeglyph$3qIs = _r49_t0['include-glyph']['bind'](_r49_t0); - r49_xn$setwidth$9Jrj(r0_WIDTH); - r49_xn$assignunicode$7Hrq('S'); - r49_slope = 0.11; - r49_bowltop = new r0_Stroke(); - r49_bowltop['start-from'](r0_RIGHTSB - r0_SB * 0.1, r0_CAP - r0_HOOK)['set-width'](r0_STROKE, 0)['curve-to'](r0_MIDDLE + r0_KAPPA_HOOK * (r0_MIDDLE - r0_para['sb']), r0_CAPO, r0_MIDDLE, r0_CAPO)['cubic-to'](r0_SB + (1 - r0_BKAPPA) * (r0_WIDTH / 2 - r0_SB), r0_CAPO, r0_SB, r0_CAP - r0_COBKAPPA * r0_SMOOTH, r0_SB, r0_CAP_SMOOTH); - r49_strokemiddle = new r0_Stroke(); - r49_strokemiddle['start-from'](r0_SB + r0_STROKE / 2, r0_CAP_SMOOTH)['set-width'](r0_STROKE / 2, r0_STROKE / 2)['curve-to'](r0_SB + r0_STROKE / 2, (0.5 + r49_slope) * r0_CAP + 2 * r49_slope * r0_CAP / (0.4 * r0_WIDTH) * (0.3 * r0_WIDTH - r0_SB - r0_STROKE / 2), 0.3 * r0_WIDTH, (0.5 + r49_slope) * r0_CAP)['line-to'](0.7 * r0_WIDTH, (0.5 - r49_slope) * r0_CAP)['curve-to'](r0_RIGHTSB - r0_STROKE / 2, (0.5 - r49_slope) * r0_CAP - 2 * r49_slope * r0_CAP / (0.4 * r0_WIDTH) * (0.3 * r0_WIDTH - r0_SB - r0_STROKE / 2), r0_RIGHTSB - r0_STROKE / 2, r0_SMOOTH); - r49_bowlbottom = new r0_Stroke(); - r49_bowlbottom['start-from'](r0_RIGHTSB, r0_SMOOTH)['set-width'](0, r0_STROKE)['cubic-to'](r0_RIGHTSB, r0_COBKAPPA * r0_SMOOTH, r0_MIDDLE + r0_BKAPPA * (r0_RIGHTSB - r0_MIDDLE), r0_O, r0_MIDDLE, r0_O)['curve-to'](r0_MIDDLE - r0_KAPPA_HOOK * (r0_MIDDLE - r0_para['sb']), r0_O, r0_SB * 1.1, r0_HOOK); - r49_xn$putshapes$9Jrj(r49_bowltop['form-stroke']()); - r49_xn$putshapes$9Jrj(r49_strokemiddle['form-stroke']()); - r49_xn$putshapes$9Jrj(r49_bowlbottom['form-stroke']()); + r49_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE, 0)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['line-to'](r0_MIDDLE, r0_CAP)['form-stroke']()); return void 0; }); - r0_xn$createglyph$7Hrq('dollar', function _r0_t23() { + r0_xn$createglyph$7Hrq('dotlessI.symmetric', function _r0_t23() { var r51_xn$setwidth$9Jrj, r51_xn$assignunicode$7Hrq, r51_xn$startfrom$1aao, r51_xn$lineto$5sIl, r51_xn$curveto$1aao, r51_xn$cubicto$1aao, r51_xn$putshapes$9Jrj, r51_xn$reverselast$3qIs, r51_xn$includeglyph$3qIs, _r51_t0; _r51_t0 = this; r51_xn$setwidth$9Jrj = _r51_t0['set-width']['bind'](_r51_t0); @@ -534,14 +523,12 @@ r51_xn$putshapes$9Jrj = _r51_t0['put-shapes']['bind'](_r51_t0); r51_xn$reverselast$3qIs = _r51_t0['reverse-last']['bind'](_r51_t0); r51_xn$includeglyph$3qIs = _r51_t0['include-glyph']['bind'](_r51_t0); - r51_xn$setwidth$9Jrj(r0_WIDTH); - r51_xn$assignunicode$7Hrq('$'); - r51_xn$putshapes$9Jrj(r0_glyphs['S']['contours']); - r51_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE, r0_CAP)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['line-to'](r0_MIDDLE, r0_CAP - r0_DESCENDER / 2)['form-stroke']()); - r51_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE, r0_DESCENDER / 2)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['line-to'](r0_MIDDLE, 0)['form-stroke']()); + r51_xn$includeglyph$3qIs(r0_glyphs['dotlessI.straight']); + r51_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE - r0_WIDTH * 0.26, r0_CAP)['set-width'](0, r0_STROKE)['line-to'](r0_MIDDLE + r0_WIDTH * 0.26, r0_CAP)['form-stroke']()); + r51_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE - r0_WIDTH * 0.26, 0)['set-width'](r0_STROKE, 0)['line-to'](r0_MIDDLE + r0_WIDTH * 0.26, 0)['form-stroke']()); return void 0; }); - r0_xn$createglyph$7Hrq('o', function _r0_t24() { + r0_xn$createglyph$7Hrq('I', function _r0_t24() { var r53_xn$setwidth$9Jrj, r53_xn$assignunicode$7Hrq, r53_xn$startfrom$1aao, r53_xn$lineto$5sIl, r53_xn$curveto$1aao, r53_xn$cubicto$1aao, r53_xn$putshapes$9Jrj, r53_xn$reverselast$3qIs, r53_xn$includeglyph$3qIs, _r53_t0; _r53_t0 = this; r53_xn$setwidth$9Jrj = _r53_t0['set-width']['bind'](_r53_t0); @@ -554,16 +541,12 @@ r53_xn$reverselast$3qIs = _r53_t0['reverse-last']['bind'](_r53_t0); r53_xn$includeglyph$3qIs = _r53_t0['include-glyph']['bind'](_r53_t0); r53_xn$setwidth$9Jrj(r0_WIDTH); - r53_xn$assignunicode$7Hrq('o'); - r53_xn$putshapes$9Jrj([ - r0_ORing(r0_XO, r0_O, r0_SB, r0_RIGHTSB, r0_SMALLSMOOTH), - r0_ORing(r0_XO - r0_STROKE, r0_O + r0_STROKE, r0_SB + r0_STROKE, r0_RIGHTSB - r0_STROKE, r0_SMALLSMOOTH - r0_STROKE) - ]); - r53_xn$reverselast$3qIs(); + r53_xn$assignunicode$7Hrq('I'); + r53_xn$includeglyph$3qIs(r0_glyphs['dotlessI.symmetric']); return void 0; }); - r0_xn$createglyph$7Hrq('o.left', function _r0_t25() { - var r55_xn$setwidth$9Jrj, r55_xn$assignunicode$7Hrq, r55_xn$startfrom$1aao, r55_xn$lineto$5sIl, r55_xn$curveto$1aao, r55_xn$cubicto$1aao, r55_xn$putshapes$9Jrj, r55_xn$reverselast$3qIs, r55_xn$includeglyph$3qIs, _r55_t0; + r0_xn$createglyph$7Hrq('S', function _r0_t25() { + var r55_xn$setwidth$9Jrj, r55_xn$assignunicode$7Hrq, r55_xn$startfrom$1aao, r55_xn$lineto$5sIl, r55_xn$curveto$1aao, r55_xn$cubicto$1aao, r55_xn$putshapes$9Jrj, r55_xn$reverselast$3qIs, r55_xn$includeglyph$3qIs, r55_slope, r55_bowltop, r55_strokemiddle, r55_bowlbottom, _r55_t0; _r55_t0 = this; r55_xn$setwidth$9Jrj = _r55_t0['set-width']['bind'](_r55_t0); r55_xn$assignunicode$7Hrq = _r55_t0['assign-unicode']['bind'](_r55_t0); @@ -575,14 +558,20 @@ r55_xn$reverselast$3qIs = _r55_t0['reverse-last']['bind'](_r55_t0); r55_xn$includeglyph$3qIs = _r55_t0['include-glyph']['bind'](_r55_t0); r55_xn$setwidth$9Jrj(r0_WIDTH); - r55_xn$putshapes$9Jrj([ - r0_ORing(r0_XO, r0_O, r0_SB + r0_STROKE / 2, r0_RIGHTSB, r0_SMALLSMOOTH), - r0_ORing(r0_XO - r0_STROKE, r0_O + r0_STROKE, r0_SB + r0_STROKE, r0_RIGHTSB - r0_STROKE, r0_SMALLSMOOTH - r0_STROKE) - ]); - r55_xn$reverselast$3qIs(); + r55_xn$assignunicode$7Hrq('S'); + r55_slope = 0.11; + r55_bowltop = new r0_Stroke(); + r55_bowltop['start-from'](r0_RIGHTSB - r0_SB * 0.1, r0_CAP - r0_HOOK)['set-width'](r0_STROKE, 0)['curve-to'](r0_MIDDLE + r0_KAPPA_HOOK * (r0_MIDDLE - r0_para['sb']), r0_CAPO, r0_MIDDLE, r0_CAPO)['cubic-to'](r0_SB + (1 - r0_BKAPPA) * (r0_WIDTH / 2 - r0_SB), r0_CAPO, r0_SB, r0_CAP - r0_COBKAPPA * r0_SMOOTH, r0_SB, r0_CAP_SMOOTH); + r55_strokemiddle = new r0_Stroke(); + r55_strokemiddle['start-from'](r0_SB + r0_STROKE / 2, r0_CAP_SMOOTH)['set-width'](r0_STROKE / 2, r0_STROKE / 2)['curve-to'](r0_SB + r0_STROKE / 2, (0.5 + r55_slope) * r0_CAP + 2 * r55_slope * r0_CAP / (0.4 * r0_WIDTH) * (0.3 * r0_WIDTH - r0_SB - r0_STROKE / 2), 0.3 * r0_WIDTH, (0.5 + r55_slope) * r0_CAP)['line-to'](0.7 * r0_WIDTH, (0.5 - r55_slope) * r0_CAP)['curve-to'](r0_RIGHTSB - r0_STROKE / 2, (0.5 - r55_slope) * r0_CAP - 2 * r55_slope * r0_CAP / (0.4 * r0_WIDTH) * (0.3 * r0_WIDTH - r0_SB - r0_STROKE / 2), r0_RIGHTSB - r0_STROKE / 2, r0_SMOOTH); + r55_bowlbottom = new r0_Stroke(); + r55_bowlbottom['start-from'](r0_RIGHTSB, r0_SMOOTH)['set-width'](0, r0_STROKE)['cubic-to'](r0_RIGHTSB, r0_COBKAPPA * r0_SMOOTH, r0_MIDDLE + r0_BKAPPA * (r0_RIGHTSB - r0_MIDDLE), r0_O, r0_MIDDLE, r0_O)['curve-to'](r0_MIDDLE - r0_KAPPA_HOOK * (r0_MIDDLE - r0_para['sb']), r0_O, r0_SB * 1.1, r0_HOOK); + r55_xn$putshapes$9Jrj(r55_bowltop['form-stroke']()); + r55_xn$putshapes$9Jrj(r55_strokemiddle['form-stroke']()); + r55_xn$putshapes$9Jrj(r55_bowlbottom['form-stroke']()); return void 0; }); - r0_xn$createglyph$7Hrq('o.right', function _r0_t26() { + r0_xn$createglyph$7Hrq('dollar', function _r0_t26() { var r57_xn$setwidth$9Jrj, r57_xn$assignunicode$7Hrq, r57_xn$startfrom$1aao, r57_xn$lineto$5sIl, r57_xn$curveto$1aao, r57_xn$cubicto$1aao, r57_xn$putshapes$9Jrj, r57_xn$reverselast$3qIs, r57_xn$includeglyph$3qIs, _r57_t0; _r57_t0 = this; r57_xn$setwidth$9Jrj = _r57_t0['set-width']['bind'](_r57_t0); @@ -595,14 +584,13 @@ r57_xn$reverselast$3qIs = _r57_t0['reverse-last']['bind'](_r57_t0); r57_xn$includeglyph$3qIs = _r57_t0['include-glyph']['bind'](_r57_t0); r57_xn$setwidth$9Jrj(r0_WIDTH); - r57_xn$putshapes$9Jrj([ - r0_ORing(r0_XO, r0_O, r0_SB, r0_RIGHTSB - r0_STROKE / 2, r0_SMALLSMOOTH), - r0_ORing(r0_XO - r0_STROKE, r0_O + r0_STROKE, r0_SB + r0_STROKE, r0_RIGHTSB - r0_STROKE, r0_SMALLSMOOTH - r0_STROKE) - ]); - r57_xn$reverselast$3qIs(); + r57_xn$assignunicode$7Hrq('$'); + r57_xn$putshapes$9Jrj(r0_glyphs['S']['contours']); + r57_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE, r0_CAP)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['line-to'](r0_MIDDLE, r0_CAP - r0_DESCENDER / 2)['form-stroke']()); + r57_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE, r0_DESCENDER / 2)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['line-to'](r0_MIDDLE, 0)['form-stroke']()); return void 0; }); - r0_xn$createglyph$7Hrq('p', function _r0_t27() { + r0_xn$createglyph$7Hrq('o', function _r0_t27() { var r59_xn$setwidth$9Jrj, r59_xn$assignunicode$7Hrq, r59_xn$startfrom$1aao, r59_xn$lineto$5sIl, r59_xn$curveto$1aao, r59_xn$cubicto$1aao, r59_xn$putshapes$9Jrj, r59_xn$reverselast$3qIs, r59_xn$includeglyph$3qIs, _r59_t0; _r59_t0 = this; r59_xn$setwidth$9Jrj = _r59_t0['set-width']['bind'](_r59_t0); @@ -615,12 +603,15 @@ r59_xn$reverselast$3qIs = _r59_t0['reverse-last']['bind'](_r59_t0); r59_xn$includeglyph$3qIs = _r59_t0['include-glyph']['bind'](_r59_t0); r59_xn$setwidth$9Jrj(r0_WIDTH); - r59_xn$assignunicode$7Hrq('p'); - r59_xn$putshapes$9Jrj(r0_glyphs['o.left']['contours']); - r59_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_SB, r0_XH)['set-width'](r0_STROKE, 0)['line-to'](r0_SB, r0_DESCENDER)['form-stroke']()); + r59_xn$assignunicode$7Hrq('o'); + r59_xn$putshapes$9Jrj([ + r0_ORing(r0_XO, r0_O, r0_SB, r0_RIGHTSB, r0_SMALLSMOOTH), + r0_ORing(r0_XO - r0_STROKE, r0_O + r0_STROKE, r0_SB + r0_STROKE, r0_RIGHTSB - r0_STROKE, r0_SMALLSMOOTH - r0_STROKE) + ]); + r59_xn$reverselast$3qIs(); return void 0; }); - r0_xn$createglyph$7Hrq('b', function _r0_t28() { + r0_xn$createglyph$7Hrq('o.left', function _r0_t28() { var r61_xn$setwidth$9Jrj, r61_xn$assignunicode$7Hrq, r61_xn$startfrom$1aao, r61_xn$lineto$5sIl, r61_xn$curveto$1aao, r61_xn$cubicto$1aao, r61_xn$putshapes$9Jrj, r61_xn$reverselast$3qIs, r61_xn$includeglyph$3qIs, _r61_t0; _r61_t0 = this; r61_xn$setwidth$9Jrj = _r61_t0['set-width']['bind'](_r61_t0); @@ -633,12 +624,14 @@ r61_xn$reverselast$3qIs = _r61_t0['reverse-last']['bind'](_r61_t0); r61_xn$includeglyph$3qIs = _r61_t0['include-glyph']['bind'](_r61_t0); r61_xn$setwidth$9Jrj(r0_WIDTH); - r61_xn$assignunicode$7Hrq('b'); - r61_xn$putshapes$9Jrj(r0_glyphs['o.left']['contours']); - r61_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_SB, 0)['set-width'](0, r0_STROKE)['line-to'](r0_SB, r0_CAP)['form-stroke']()); + r61_xn$putshapes$9Jrj([ + r0_ORing(r0_XO, r0_O, r0_SB + r0_STROKE / 2, r0_RIGHTSB, r0_SMALLSMOOTH), + r0_ORing(r0_XO - r0_STROKE, r0_O + r0_STROKE, r0_SB + r0_STROKE, r0_RIGHTSB - r0_STROKE, r0_SMALLSMOOTH - r0_STROKE) + ]); + r61_xn$reverselast$3qIs(); return void 0; }); - r0_xn$createglyph$7Hrq('q', function _r0_t29() { + r0_xn$createglyph$7Hrq('o.right', function _r0_t29() { var r63_xn$setwidth$9Jrj, r63_xn$assignunicode$7Hrq, r63_xn$startfrom$1aao, r63_xn$lineto$5sIl, r63_xn$curveto$1aao, r63_xn$cubicto$1aao, r63_xn$putshapes$9Jrj, r63_xn$reverselast$3qIs, r63_xn$includeglyph$3qIs, _r63_t0; _r63_t0 = this; r63_xn$setwidth$9Jrj = _r63_t0['set-width']['bind'](_r63_t0); @@ -651,12 +644,14 @@ r63_xn$reverselast$3qIs = _r63_t0['reverse-last']['bind'](_r63_t0); r63_xn$includeglyph$3qIs = _r63_t0['include-glyph']['bind'](_r63_t0); r63_xn$setwidth$9Jrj(r0_WIDTH); - r63_xn$assignunicode$7Hrq('q'); - r63_xn$putshapes$9Jrj(r0_glyphs['o.right']['contours']); - r63_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_RIGHTSB, r0_XH)['set-width'](0, r0_STROKE)['line-to'](r0_RIGHTSB, r0_DESCENDER)['form-stroke']()); + r63_xn$putshapes$9Jrj([ + r0_ORing(r0_XO, r0_O, r0_SB, r0_RIGHTSB - r0_STROKE / 2, r0_SMALLSMOOTH), + r0_ORing(r0_XO - r0_STROKE, r0_O + r0_STROKE, r0_SB + r0_STROKE, r0_RIGHTSB - r0_STROKE, r0_SMALLSMOOTH - r0_STROKE) + ]); + r63_xn$reverselast$3qIs(); return void 0; }); - r0_xn$createglyph$7Hrq('d', function _r0_t30() { + r0_xn$createglyph$7Hrq('p', function _r0_t30() { var r65_xn$setwidth$9Jrj, r65_xn$assignunicode$7Hrq, r65_xn$startfrom$1aao, r65_xn$lineto$5sIl, r65_xn$curveto$1aao, r65_xn$cubicto$1aao, r65_xn$putshapes$9Jrj, r65_xn$reverselast$3qIs, r65_xn$includeglyph$3qIs, _r65_t0; _r65_t0 = this; r65_xn$setwidth$9Jrj = _r65_t0['set-width']['bind'](_r65_t0); @@ -669,13 +664,13 @@ r65_xn$reverselast$3qIs = _r65_t0['reverse-last']['bind'](_r65_t0); r65_xn$includeglyph$3qIs = _r65_t0['include-glyph']['bind'](_r65_t0); r65_xn$setwidth$9Jrj(r0_WIDTH); - r65_xn$assignunicode$7Hrq('d'); - r65_xn$putshapes$9Jrj(r0_glyphs['o.right']['contours']); - r65_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_RIGHTSB, 0)['set-width'](r0_STROKE, 0)['line-to'](r0_RIGHTSB, r0_CAP)['form-stroke']()); + r65_xn$assignunicode$7Hrq('p'); + r65_xn$putshapes$9Jrj(r0_glyphs['o.left']['contours']); + r65_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_SB, r0_XH)['set-width'](r0_STROKE, 0)['line-to'](r0_SB, r0_DESCENDER)['form-stroke']()); return void 0; }); - r0_xn$createglyph$7Hrq('g', function _r0_t31() { - var r67_xn$setwidth$9Jrj, r67_xn$assignunicode$7Hrq, r67_xn$startfrom$1aao, r67_xn$lineto$5sIl, r67_xn$curveto$1aao, r67_xn$cubicto$1aao, r67_xn$putshapes$9Jrj, r67_xn$reverselast$3qIs, r67_xn$includeglyph$3qIs, r67_MODDLE, _r67_t0; + r0_xn$createglyph$7Hrq('b', function _r0_t31() { + var r67_xn$setwidth$9Jrj, r67_xn$assignunicode$7Hrq, r67_xn$startfrom$1aao, r67_xn$lineto$5sIl, r67_xn$curveto$1aao, r67_xn$cubicto$1aao, r67_xn$putshapes$9Jrj, r67_xn$reverselast$3qIs, r67_xn$includeglyph$3qIs, _r67_t0; _r67_t0 = this; r67_xn$setwidth$9Jrj = _r67_t0['set-width']['bind'](_r67_t0); r67_xn$assignunicode$7Hrq = _r67_t0['assign-unicode']['bind'](_r67_t0); @@ -687,21 +682,13 @@ r67_xn$reverselast$3qIs = _r67_t0['reverse-last']['bind'](_r67_t0); r67_xn$includeglyph$3qIs = _r67_t0['include-glyph']['bind'](_r67_t0); r67_xn$setwidth$9Jrj(r0_WIDTH); - r67_xn$assignunicode$7Hrq('g'); - r67_xn$putshapes$9Jrj([ - r0_Ring(r0_XO, r0_XH * 0.4, r0_SB * 1.5, r0_RIGHTSB - 0.5 * r0_SB, r0_SMALLSMOOTH), - r0_Ring(r0_XO - r0_STROKE, r0_XH * 0.4 + r0_STROKE, r0_SB * 1.5 + r0_STROKE, r0_RIGHTSB - 0.5 * r0_SB - r0_STROKE, r0_SMALLSMOOTH - r0_STROKE) - ]); - r67_xn$reverselast$3qIs(); - r67_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE, r0_XH * 0.4)['set-width'](0, r0_STROKE * 0.75)['arc-hv-to'](r0_SB * 1.5 + r0_STROKE, (r0_O - r0_DESCENDER * 0.85 + r0_XH * 0.4) / 2)['set-width'](0, r0_STROKE)['arc-vh-to'](r0_MIDDLE + r0_DESCENDER * 0.15, r0_O - r0_DESCENDER * 0.85)['line-to'](r0_MIDDLE - r0_DESCENDER * 0.15, r0_O - r0_DESCENDER * 0.85)['arc-hv-to'](r0_RIGHTSB - r0_O * 2, 0)['arc-vh-to'](r0_MIDDLE, r0_DESCENDER + r0_O)['arc-hv-to'](r0_SB, r0_DESCENDER * 0.1)['arc-vh-to'](r0_MIDDLE + r0_DESCENDER * 0.15, r0_O - r0_DESCENDER * 0.85)['form-stroke']()); - r67_xn$startfrom$1aao(r0_RIGHTSB, r0_XH); - r67_xn$lineto$5sIl(r0_RIGHTSB, r0_XH - r0_STROKE); - r67_xn$lineto$5sIl(r0_MIDDLE, r0_XH - r0_STROKE - r0_O); - r67_xn$lineto$5sIl(r67_MODDLE, r0_XH); + r67_xn$assignunicode$7Hrq('b'); + r67_xn$putshapes$9Jrj(r0_glyphs['o.left']['contours']); + r67_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_SB, 0)['set-width'](0, r0_STROKE)['line-to'](r0_SB, r0_CAP)['form-stroke']()); return void 0; }); - r0_xn$createglyph$7Hrq('x', function _r0_t32() { - var r69_xn$setwidth$9Jrj, r69_xn$assignunicode$7Hrq, r69_xn$startfrom$1aao, r69_xn$lineto$5sIl, r69_xn$curveto$1aao, r69_xn$cubicto$1aao, r69_xn$putshapes$9Jrj, r69_xn$reverselast$3qIs, r69_xn$includeglyph$3qIs, r69_TURN, r69_barone, r69_bartwo, _r69_t0, _r69_t1; + r0_xn$createglyph$7Hrq('q', function _r0_t32() { + var r69_xn$setwidth$9Jrj, r69_xn$assignunicode$7Hrq, r69_xn$startfrom$1aao, r69_xn$lineto$5sIl, r69_xn$curveto$1aao, r69_xn$cubicto$1aao, r69_xn$putshapes$9Jrj, r69_xn$reverselast$3qIs, r69_xn$includeglyph$3qIs, _r69_t0; _r69_t0 = this; r69_xn$setwidth$9Jrj = _r69_t0['set-width']['bind'](_r69_t0); r69_xn$assignunicode$7Hrq = _r69_t0['assign-unicode']['bind'](_r69_t0); @@ -713,20 +700,82 @@ r69_xn$reverselast$3qIs = _r69_t0['reverse-last']['bind'](_r69_t0); r69_xn$includeglyph$3qIs = _r69_t0['include-glyph']['bind'](_r69_t0); r69_xn$setwidth$9Jrj(r0_WIDTH); - r69_xn$assignunicode$7Hrq('x'); - r69_TURN = r0_XH * 0.1; - r69_barone = new r0_Stroke()['start-from'](r0_SB + r0_HALFSTROKE, 0)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['cubic-to'](r0_SB + r0_HALFSTROKE, r69_TURN + 0.17 * (r0_XH - r69_TURN), r0_RIGHTSB - r0_HALFSTROKE, r0_XH - r69_TURN - 0.17 * (r0_XH - r69_TURN), r0_RIGHTSB - r0_HALFSTROKE, r0_XH)['form-stroke'](); - r69_bartwo = [r69_barone[0]['map'](function _r69_t1(r70_pt) { - var r70_pt; + r69_xn$assignunicode$7Hrq('q'); + r69_xn$putshapes$9Jrj(r0_glyphs['o.right']['contours']); + r69_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_RIGHTSB, r0_XH)['set-width'](0, r0_STROKE)['line-to'](r0_RIGHTSB, r0_DESCENDER)['form-stroke']()); + return void 0; + }); + r0_xn$createglyph$7Hrq('d', function _r0_t33() { + var r71_xn$setwidth$9Jrj, r71_xn$assignunicode$7Hrq, r71_xn$startfrom$1aao, r71_xn$lineto$5sIl, r71_xn$curveto$1aao, r71_xn$cubicto$1aao, r71_xn$putshapes$9Jrj, r71_xn$reverselast$3qIs, r71_xn$includeglyph$3qIs, _r71_t0; + _r71_t0 = this; + r71_xn$setwidth$9Jrj = _r71_t0['set-width']['bind'](_r71_t0); + r71_xn$assignunicode$7Hrq = _r71_t0['assign-unicode']['bind'](_r71_t0); + r71_xn$startfrom$1aao = _r71_t0['start-from']['bind'](_r71_t0); + r71_xn$lineto$5sIl = _r71_t0['line-to']['bind'](_r71_t0); + r71_xn$curveto$1aao = _r71_t0['curve-to']['bind'](_r71_t0); + r71_xn$cubicto$1aao = _r71_t0['cubic-to']['bind'](_r71_t0); + r71_xn$putshapes$9Jrj = _r71_t0['put-shapes']['bind'](_r71_t0); + r71_xn$reverselast$3qIs = _r71_t0['reverse-last']['bind'](_r71_t0); + r71_xn$includeglyph$3qIs = _r71_t0['include-glyph']['bind'](_r71_t0); + r71_xn$setwidth$9Jrj(r0_WIDTH); + r71_xn$assignunicode$7Hrq('d'); + r71_xn$putshapes$9Jrj(r0_glyphs['o.right']['contours']); + r71_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_RIGHTSB, 0)['set-width'](r0_STROKE, 0)['line-to'](r0_RIGHTSB, r0_CAP)['form-stroke']()); + return void 0; + }); + r0_xn$createglyph$7Hrq('g', function _r0_t34() { + var r73_xn$setwidth$9Jrj, r73_xn$assignunicode$7Hrq, r73_xn$startfrom$1aao, r73_xn$lineto$5sIl, r73_xn$curveto$1aao, r73_xn$cubicto$1aao, r73_xn$putshapes$9Jrj, r73_xn$reverselast$3qIs, r73_xn$includeglyph$3qIs, r73_MODDLE, _r73_t0; + _r73_t0 = this; + r73_xn$setwidth$9Jrj = _r73_t0['set-width']['bind'](_r73_t0); + r73_xn$assignunicode$7Hrq = _r73_t0['assign-unicode']['bind'](_r73_t0); + r73_xn$startfrom$1aao = _r73_t0['start-from']['bind'](_r73_t0); + r73_xn$lineto$5sIl = _r73_t0['line-to']['bind'](_r73_t0); + r73_xn$curveto$1aao = _r73_t0['curve-to']['bind'](_r73_t0); + r73_xn$cubicto$1aao = _r73_t0['cubic-to']['bind'](_r73_t0); + r73_xn$putshapes$9Jrj = _r73_t0['put-shapes']['bind'](_r73_t0); + r73_xn$reverselast$3qIs = _r73_t0['reverse-last']['bind'](_r73_t0); + r73_xn$includeglyph$3qIs = _r73_t0['include-glyph']['bind'](_r73_t0); + r73_xn$setwidth$9Jrj(r0_WIDTH); + r73_xn$assignunicode$7Hrq('g'); + r73_xn$putshapes$9Jrj([ + r0_Ring(r0_XO, r0_XH * 0.4, r0_SB * 1.5, r0_RIGHTSB - 0.5 * r0_SB, r0_SMALLSMOOTH), + r0_Ring(r0_XO - r0_STROKE, r0_XH * 0.4 + r0_STROKE, r0_SB * 1.5 + r0_STROKE, r0_RIGHTSB - 0.5 * r0_SB - r0_STROKE, r0_SMALLSMOOTH - r0_STROKE) + ]); + r73_xn$reverselast$3qIs(); + r73_xn$putshapes$9Jrj(new r0_Stroke()['start-from'](r0_MIDDLE, r0_XH * 0.4)['set-width'](0, r0_STROKE * 0.75)['arc-hv-to'](r0_SB * 1.5 + r0_STROKE, (r0_O - r0_DESCENDER * 0.85 + r0_XH * 0.4) / 2)['set-width'](0, r0_STROKE)['arc-vh-to'](r0_MIDDLE + r0_DESCENDER * 0.15, r0_O - r0_DESCENDER * 0.85)['line-to'](r0_MIDDLE - r0_DESCENDER * 0.15, r0_O - r0_DESCENDER * 0.85)['arc-hv-to'](r0_RIGHTSB - r0_O * 2, 0)['arc-vh-to'](r0_MIDDLE, r0_DESCENDER + r0_O)['arc-hv-to'](r0_SB, r0_DESCENDER * 0.1)['arc-vh-to'](r0_MIDDLE + r0_DESCENDER * 0.15, r0_O - r0_DESCENDER * 0.85)['form-stroke']()); + r73_xn$startfrom$1aao(r0_RIGHTSB, r0_XH); + r73_xn$lineto$5sIl(r0_RIGHTSB, r0_XH - r0_STROKE); + r73_xn$lineto$5sIl(r0_MIDDLE, r0_XH - r0_STROKE - r0_O); + r73_xn$lineto$5sIl(r73_MODDLE, r0_XH); + return void 0; + }); + r0_xn$createglyph$7Hrq('x', function _r0_t35() { + var r75_xn$setwidth$9Jrj, r75_xn$assignunicode$7Hrq, r75_xn$startfrom$1aao, r75_xn$lineto$5sIl, r75_xn$curveto$1aao, r75_xn$cubicto$1aao, r75_xn$putshapes$9Jrj, r75_xn$reverselast$3qIs, r75_xn$includeglyph$3qIs, r75_TURN, r75_barone, r75_bartwo, _r75_t0, _r75_t1; + _r75_t0 = this; + r75_xn$setwidth$9Jrj = _r75_t0['set-width']['bind'](_r75_t0); + r75_xn$assignunicode$7Hrq = _r75_t0['assign-unicode']['bind'](_r75_t0); + r75_xn$startfrom$1aao = _r75_t0['start-from']['bind'](_r75_t0); + r75_xn$lineto$5sIl = _r75_t0['line-to']['bind'](_r75_t0); + r75_xn$curveto$1aao = _r75_t0['curve-to']['bind'](_r75_t0); + r75_xn$cubicto$1aao = _r75_t0['cubic-to']['bind'](_r75_t0); + r75_xn$putshapes$9Jrj = _r75_t0['put-shapes']['bind'](_r75_t0); + r75_xn$reverselast$3qIs = _r75_t0['reverse-last']['bind'](_r75_t0); + r75_xn$includeglyph$3qIs = _r75_t0['include-glyph']['bind'](_r75_t0); + r75_xn$setwidth$9Jrj(r0_WIDTH); + r75_xn$assignunicode$7Hrq('x'); + r75_TURN = r0_XH * 0.1; + r75_barone = new r0_Stroke()['start-from'](r0_SB + r0_HALFSTROKE, 0)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['cubic-to'](r0_SB + r0_HALFSTROKE, r75_TURN + 0.17 * (r0_XH - r75_TURN), r0_RIGHTSB - r0_HALFSTROKE, r0_XH - r75_TURN - 0.17 * (r0_XH - r75_TURN), r0_RIGHTSB - r0_HALFSTROKE, r0_XH)['form-stroke'](); + r75_bartwo = [r75_barone[0]['map'](function _r75_t1(r76_pt) { + var r76_pt; return { - 'x': r0_WIDTH - r70_pt['x'], - 'y': r70_pt['y'], - 'onCurve': r70_pt['onCurve'], - 'cubic': r70_pt['cubic'] + 'x': r0_WIDTH - r76_pt['x'], + 'y': r76_pt['y'], + 'onCurve': r76_pt['onCurve'], + 'cubic': r76_pt['cubic'] }; })['reverse']()]; - r69_xn$putshapes$9Jrj(r69_barone); - r69_xn$putshapes$9Jrj(r69_bartwo); + r75_xn$putshapes$9Jrj(r75_barone); + r75_xn$putshapes$9Jrj(r75_bartwo); return void 0; }); exports['font'] = r0_font; diff --git a/font.patel b/font.patel index e21d758..dfd89aa 100644 --- a/font.patel +++ b/font.patel @@ -395,6 +395,34 @@ create-glyph 'L' : glyph-construction { put-shapes : new Stroke :.start-from [SB * 1.5] CAP :.line-to [SB * 1.5] 0 :.line-to RIGHTSB 0 :.form-stroke STROKE 0 } +create-glyph 'dotlessI.straight' : glyph-construction { + put-shapes : new Stroke :.start-from MIDDLE 0 + :.set-width HALFSTROKE HALFSTROKE + :.line-to MIDDLE CAP + :.form-stroke +} +create-glyph 'dotlessI.symmetric' : glyph-construction { + include-glyph glyphs.'dotlessI.straight' + # Top serif + put-shapes : new Stroke + :.start-from [MIDDLE - WIDTH * 0.26] CAP + :.set-width 0 STROKE + :.line-to [MIDDLE + WIDTH * 0.26] CAP + :.form-stroke + # Bottom serif + put-shapes : new Stroke + :.start-from [MIDDLE - WIDTH * 0.26] 0 + :.set-width STROKE 0 + :.line-to [MIDDLE + WIDTH * 0.26] 0 + :.form-stroke +} +create-glyph 'I' : glyph-construction { + set-width WIDTH + assign-unicode 'I' + + include-glyph glyphs.'dotlessI.symmetric' +} + ### S create-glyph 'S' : glyph-construction {