diff --git a/font.js b/font.js index 2871da6e3..b234f2fcc 100644 --- a/font.js +++ b/font.js @@ -1,5 +1,5 @@ { - var r0_font, r0_glyphList, r0_glyphs, r0_Glyph, r0_Stroke, r0_para_regular, r0_para_bold, r0_para_italic, r0_para_bolditalic, r0_variantSelector, r0_globalTransform, r0_ITALICCOR, r0_UPWARD, r0_DOWNWARD, r0_RIGHTWARD, r0_LEFTWARD, r0_DESCENDER, r0_WIDTH, r0_CAP, r0_XH, r0_O, r0_OXHOOK, r0_SB, r0_HOOK, r0_AHOOK, r0_SHOOK, r0_RHOOK, r0_SMOOTH, r0_SMALLSMOOTH, r0_STROKE, r0_DOTSIZE, r0_BARPOS, r0_GBARPOS, r0_LONGSERIF, r0_ACCENT, r0_XO, r0_CAPO, r0_HALFSTROKE, r0_RIGHTSB, r0_MIDDLE, r0_CAPMIDDLE, r0_CAP_SMOOTH, r0_DOTRADIUS, r0_SMOOTHA, r0_SMOOTHB, r0_SMALLSMOOTHA, r0_SMALLSMOOTHB, r0_ITALICCORS, r0_KAPPA, r0_COKAPPA, r0_BKAPPA, r0_COBKAPPA, r0_KAPPA_HOOK, r0_KAPPA_AHOOK, r0_TAILADJX, r0_TAILADJY, r0_TAILADJKAPPA, r0_TAILADJSX, r0_TAILADJSY, r0_TAILADJSKAPPA, r0_ILBALANCE, r0_JBALANCE, r0_TBALANCE, r0_TBALANCE2, r0_RBALANCE, r0_BASE, r0_MARK, r0_MARKBASE, r0_tm, r0_markAboveLower, r0_markAboveCap, r0_markBelowLower, r0_markBelowZero, r0_capitalMarks, r0_bMarks, r0_eMarks, r0_pMarks, r0_ifMarks, r0_Ring, r0_ORing, r0_leftwardTopSerif, r0_leftwardBottomSerif, r0_rightwardTopSerif, r0_rightwardBottomSerif, r0_xn$createglyph$7Hrq, r0_para, _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_t36, _r0_t37, _r0_t38, _r0_t39, _r0_t40, _r0_t41, _r0_t42, _r0_t43, _r0_t44, _r0_t45, _r0_t46, _r0_t47, _r0_t48, _r0_t49, _r0_t50, _r0_t51, _r0_t52, _r0_t53, _r0_t54, _r0_t55, _r0_t56, _r0_t57, _r0_t58, _r0_t59, _r0_t60, _r0_t61, _r0_t62, _r0_t63, _r0_t64, _r0_t65, _r0_t66, _r0_t67, _r0_t68, _r0_t69, _r0_t70, _r0_t71, _r0_t72, _r0_t73, _r0_t74, _r0_t75, _r0_t76, _r0_t77, _r0_t78, _r0_t79, _r0_t80, _r0_t81, _r0_t82, _r0_t83, _r0_t84, _r0_t85, _r0_t86, _r0_t87, _r0_t88, _r0_t89, _r0_t90, _r0_t91, _r0_t92; + var r0_font, r0_glyphList, r0_glyphs, r0_Glyph, r0_Stroke, r0_para_regular, r0_para_bold, r0_para_italic, r0_para_bolditalic, r0_variantSelector, r0_globalTransform, r0_ITALICCOR, r0_UPWARD, r0_DOWNWARD, r0_RIGHTWARD, r0_LEFTWARD, r0_DESCENDER, r0_WIDTH, r0_CAP, r0_XH, r0_O, r0_OXHOOK, r0_SB, r0_HOOK, r0_AHOOK, r0_SHOOK, r0_RHOOK, r0_SMOOTH, r0_SMALLSMOOTH, r0_STROKE, r0_DOTSIZE, r0_BARPOS, r0_GBARPOS, r0_LONGSERIF, r0_ACCENT, r0_XO, r0_CAPO, r0_HALFSTROKE, r0_RIGHTSB, r0_MIDDLE, r0_CAPMIDDLE, r0_CAP_SMOOTH, r0_DOTRADIUS, r0_SMOOTHA, r0_SMOOTHB, r0_SMALLSMOOTHA, r0_SMALLSMOOTHB, r0_ITALICCORS, r0_KAPPA, r0_COKAPPA, r0_BKAPPA, r0_COBKAPPA, r0_KAPPA_HOOK, r0_KAPPA_AHOOK, r0_TAILADJX, r0_TAILADJY, r0_TAILADJKAPPA, r0_TAILADJSX, r0_TAILADJSY, r0_TAILADJSKAPPA, r0_ILBALANCE, r0_JBALANCE, r0_TBALANCE, r0_TBALANCE2, r0_RBALANCE, r0_BASE, r0_MARK, r0_MARKBASE, r0_tm, r0_markAboveLower, r0_markAboveCap, r0_markBelowLower, r0_markBelowZero, r0_capitalMarks, r0_bMarks, r0_eMarks, r0_pMarks, r0_ifMarks, r0_Ring, r0_ORing, r0_leftwardTopSerif, r0_leftwardBottomSerif, r0_rightwardTopSerif, r0_rightwardBottomSerif, r0_xn$createglyph$7Hrq, r0_para, _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_t36, _r0_t37, _r0_t38, _r0_t39, _r0_t40, _r0_t41, _r0_t42, _r0_t43, _r0_t44, _r0_t45, _r0_t46, _r0_t47, _r0_t48, _r0_t49, _r0_t50, _r0_t51, _r0_t52, _r0_t53, _r0_t54, _r0_t55, _r0_t56, _r0_t57, _r0_t58, _r0_t59, _r0_t60, _r0_t61, _r0_t62, _r0_t63, _r0_t64, _r0_t65, _r0_t66, _r0_t67, _r0_t68, _r0_t69, _r0_t70, _r0_t71, _r0_t72, _r0_t73, _r0_t74, _r0_t75, _r0_t76, _r0_t77, _r0_t78, _r0_t79, _r0_t80, _r0_t81, _r0_t82, _r0_t83, _r0_t84, _r0_t85, _r0_t86, _r0_t87, _r0_t88, _r0_t89, _r0_t90, _r0_t91, _r0_t92, _r0_t93, _r0_t94; r0_font = require('./empty.json'); exports['font'] = r0_font; r0_glyphList = r0_font['glyf']; @@ -10,7 +10,7 @@ 'width': 500, 'stroke': 80, 'dotsize': 125, - 'sb': 50, + 'sb': 60, 'cap': 771, 'xheight': 560, 'hook': 145, @@ -34,6 +34,7 @@ 'rbalance': 25 }; r0_para_bold = Object['create'](r0_para_regular); + r0_para_bold['sb'] = 50; r0_para_bold['stroke'] = 120; r0_para_bold['dotsize'] = 160; r0_para_bold['barpos'] = 0.42; @@ -52,7 +53,7 @@ r0_para_bolditalic = Object['create'](r0_para_bold); r0_para_bolditalic['italicangle'] = 10; r0_para_bolditalic['tbalance'] = 90; - r0_para = r0_para_bolditalic; + r0_para = r0_para_regular; r0_variantSelector = { 'zero': 'slashed' }; r0_globalTransform = { 'xx': 1, @@ -2176,8 +2177,8 @@ r166_xn$lineto$5sIl(r166_m2, r166_bottomStroke); return void 0; }); - r0_xn$createglyph$7Hrq('y', function _r0_t85() { - var r168_xn$setwidth$9Jrj, r168_xn$assignunicode$7Hrq, r168_xn$startfrom$1aao, r168_xn$lineto$5sIl, r168_xn$curveto$1aao, r168_xn$cubicto$1aao, r168_xn$putshapes$9Jrj, r168_xn$reverselast$3qIs, r168_include, r168_xn$createstroke$7Hrq, r168_xn$setanchor$9Jrj, r168_TURN, r168_cross, r168_xbottom, r168_barone, r168_bartwo, _r168_t0; + r0_xn$createglyph$7Hrq('y.upright', function _r0_t85() { + var r168_xn$setwidth$9Jrj, r168_xn$assignunicode$7Hrq, r168_xn$startfrom$1aao, r168_xn$lineto$5sIl, r168_xn$curveto$1aao, r168_xn$cubicto$1aao, r168_xn$putshapes$9Jrj, r168_xn$reverselast$3qIs, r168_include, r168_xn$createstroke$7Hrq, r168_xn$setanchor$9Jrj, r168_turn1, r168_turn2, r168_cross, r168_xbottom, r168_barone, r168_bartwo, _r168_t0; _r168_t0 = this; r168_xn$setwidth$9Jrj = _r168_t0['set-width']['bind'](_r168_t0); r168_xn$assignunicode$7Hrq = _r168_t0['assign-unicode']['bind'](_r168_t0); @@ -2193,19 +2194,19 @@ _r168_t0['gizmo'] = r0_globalTransform; _r168_t0['set-width'](r0_WIDTH); r168_xn$setwidth$9Jrj(r0_WIDTH); - r168_xn$assignunicode$7Hrq('y'); r168_include(r0_pMarks); - r168_TURN = r0_XH * 0.1; - r168_cross = r0_XH * 0.15; + r168_turn1 = r0_DESCENDER + (r0_XH - r0_DESCENDER) * 0.1; + r168_turn2 = r0_XH * 0.1; + r168_cross = r0_XH * 0.1; r168_xbottom = r0_WIDTH * 0.4; - r168_barone = r168_xn$createstroke$7Hrq()['start-from'](r168_xbottom, r0_DESCENDER)['heads-to'](r0_UPWARD)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['cubic-to'](r168_xbottom, r168_TURN + 0.17 * (r0_XH - r168_TURN), r0_RIGHTSB - r0_HALFSTROKE - r0_O, r0_XH - r168_TURN - 0.17 * (r0_XH - r168_TURN), r0_RIGHTSB - r0_HALFSTROKE - r0_O, r0_XH)['heads-to'](r0_UPWARD); - r168_bartwo = r168_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE, r168_cross)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['curve-to'](r0_SB + r0_HALFSTROKE + r0_O, r0_XH - r168_TURN - 0.17 * (r0_XH - r168_TURN), r0_SB + r0_HALFSTROKE + r0_O, r0_XH)['heads-to'](r0_UPWARD); + r168_barone = r168_xn$createstroke$7Hrq()['start-from'](r168_xbottom, r0_DESCENDER)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['cubic-to'](r168_xbottom, r168_turn1 + 0.17 * (r0_XH - r168_turn1), r0_RIGHTSB - r0_HALFSTROKE - r0_O, r0_XH - r168_turn1 - 0.6 * (r0_XH - r168_turn1), r0_RIGHTSB - r0_HALFSTROKE - r0_O, r0_XH)['heads-to'](r0_UPWARD); + r168_bartwo = r168_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE, r168_cross)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['curve-to'](r0_SB + r0_HALFSTROKE + r0_O, r0_XH - r168_turn2 - 0.35 * (r0_XH - r168_turn2), r0_SB + r0_HALFSTROKE + r0_O, r0_XH)['heads-to'](r0_UPWARD); r168_xn$putshapes$9Jrj(r168_barone['to-outline']()); r168_xn$putshapes$9Jrj(r168_bartwo['to-outline']()); return void 0; }); - r0_xn$createglyph$7Hrq('z', function _r0_t86() { - var r170_xn$setwidth$9Jrj, r170_xn$assignunicode$7Hrq, r170_xn$startfrom$1aao, r170_xn$lineto$5sIl, r170_xn$curveto$1aao, r170_xn$cubicto$1aao, r170_xn$putshapes$9Jrj, r170_xn$reverselast$3qIs, r170_include, r170_xn$createstroke$7Hrq, r170_xn$setanchor$9Jrj, r170_cor, _r170_t0; + r0_xn$createglyph$7Hrq('y.italic', function _r0_t86() { + var r170_xn$setwidth$9Jrj, r170_xn$assignunicode$7Hrq, r170_xn$startfrom$1aao, r170_xn$lineto$5sIl, r170_xn$curveto$1aao, r170_xn$cubicto$1aao, r170_xn$putshapes$9Jrj, r170_xn$reverselast$3qIs, r170_include, r170_xn$createstroke$7Hrq, r170_xn$setanchor$9Jrj, r170_TURN, r170_cross, r170_xbottom, r170_barone, r170_bartwo, _r170_t0; _r170_t0 = this; r170_xn$setwidth$9Jrj = _r170_t0['set-width']['bind'](_r170_t0); r170_xn$assignunicode$7Hrq = _r170_t0['assign-unicode']['bind'](_r170_t0); @@ -2221,20 +2222,18 @@ _r170_t0['gizmo'] = r0_globalTransform; _r170_t0['set-width'](r0_WIDTH); r170_xn$setwidth$9Jrj(r0_WIDTH); - r170_xn$assignunicode$7Hrq('z'); - r170_include(r0_eMarks); - r170_cor = 1.2; - r170_xn$putshapes$9Jrj(r170_xn$createstroke$7Hrq()['start-from'](r0_SB, r0_XH)['heads-to'](r0_RIGHTWARD)['set-width'](0, r0_STROKE)['line-to'](r0_RIGHTSB, r0_XH)['heads-to'](r0_RIGHTWARD)['to-outline']()); - r170_xn$putshapes$9Jrj(r170_xn$createstroke$7Hrq()['start-from'](r0_SB, 0)['heads-to'](r0_RIGHTWARD)['set-width'](r0_STROKE, 0)['line-to'](r0_RIGHTSB, 0)['heads-to'](r0_RIGHTWARD)['to-outline']()); - r170_xn$startfrom$1aao(r0_SB, r0_STROKE); - r170_xn$lineto$5sIl(r0_SB + r0_STROKE * r170_cor, r0_STROKE); - r170_xn$lineto$5sIl(r0_RIGHTSB, r0_XH - r0_STROKE); - r170_xn$lineto$5sIl(r0_RIGHTSB - r0_STROKE * r170_cor, r0_XH - r0_STROKE); - r170_xn$reverselast$3qIs(); + r170_include(r0_pMarks); + r170_TURN = r0_XH * 0.1; + r170_cross = r0_XH * 0.15; + r170_xbottom = r0_WIDTH * 0.4; + r170_barone = r170_xn$createstroke$7Hrq()['start-from'](r170_xbottom, r0_DESCENDER)['heads-to'](r0_UPWARD)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['cubic-to'](r170_xbottom, r170_TURN + 0.17 * (r0_XH - r170_TURN), r0_RIGHTSB - r0_HALFSTROKE - r0_O, r0_XH - r170_TURN - 0.17 * (r0_XH - r170_TURN), r0_RIGHTSB - r0_HALFSTROKE - r0_O, r0_XH)['heads-to'](r0_UPWARD); + r170_bartwo = r170_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE, r170_cross)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['curve-to'](r0_SB + r0_HALFSTROKE + r0_O, r0_XH - r170_TURN - 0.17 * (r0_XH - r170_TURN), r0_SB + r0_HALFSTROKE + r0_O, r0_XH)['heads-to'](r0_UPWARD); + r170_xn$putshapes$9Jrj(r170_barone['to-outline']()); + r170_xn$putshapes$9Jrj(r170_bartwo['to-outline']()); return void 0; }); - r0_xn$createglyph$7Hrq('k', function _r0_t87() { - var r172_xn$setwidth$9Jrj, r172_xn$assignunicode$7Hrq, r172_xn$startfrom$1aao, r172_xn$lineto$5sIl, r172_xn$curveto$1aao, r172_xn$cubicto$1aao, r172_xn$putshapes$9Jrj, r172_xn$reverselast$3qIs, r172_include, r172_xn$createstroke$7Hrq, r172_xn$setanchor$9Jrj, r172_TURN, r172_rturn, r172_right, r172_attach, r172_attach2, r172_fine, _r172_t0; + r0_xn$createglyph$7Hrq('y', function _r0_t87() { + var r172_xn$setwidth$9Jrj, r172_xn$assignunicode$7Hrq, r172_xn$startfrom$1aao, r172_xn$lineto$5sIl, r172_xn$curveto$1aao, r172_xn$cubicto$1aao, r172_xn$putshapes$9Jrj, r172_xn$reverselast$3qIs, r172_include, r172_xn$createstroke$7Hrq, r172_xn$setanchor$9Jrj, _r172_t0; _r172_t0 = this; r172_xn$setwidth$9Jrj = _r172_t0['set-width']['bind'](_r172_t0); r172_xn$assignunicode$7Hrq = _r172_t0['assign-unicode']['bind'](_r172_t0); @@ -2250,21 +2249,16 @@ _r172_t0['gizmo'] = r0_globalTransform; _r172_t0['set-width'](r0_WIDTH); r172_xn$setwidth$9Jrj(r0_WIDTH); - r172_xn$assignunicode$7Hrq('k'); - r172_include(r0_bMarks); - r172_TURN = r0_XH * 0.99; - r172_rturn = r0_XH * 0.1; - r172_right = r0_RIGHTSB - r0_O; - r172_attach = r0_XH * 0.4; - r172_attach2 = r0_MIDDLE - r0_WIDTH * 0.1; - r172_fine = Math['min'](r0_STROKE, (r0_WIDTH - r0_SB * 2) * 0.25); - r172_xn$putshapes$9Jrj(r172_xn$createstroke$7Hrq()['start-from'](r0_SB, 0)['set-width'](0, r0_STROKE)['heads-to'](r0_UPWARD)['line-to'](r0_SB, r0_CAP)['heads-to'](r0_UPWARD)['to-outline']()); - r172_xn$putshapes$9Jrj(r172_xn$createstroke$7Hrq()['start-from'](r0_RIGHTSB, r0_XH)['heads-to'](r0_DOWNWARD)['set-width'](0, r0_STROKE)['line-to'](r0_RIGHTSB, r172_TURN)['heads-to'](r0_DOWNWARD)['curve-to'](r0_RIGHTSB, (1 - 0.18) * r172_TURN, r0_SB + r0_STROKE, r172_attach)['set-width'](0, r172_fine)['to-outline']()); - r172_xn$putshapes$9Jrj(r172_xn$createstroke$7Hrq()['start-from'](r172_right - r0_HALFSTROKE, 0)['heads-to'](r0_UPWARD)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['curve-to'](r172_right - r0_HALFSTROKE, r172_rturn + 0.05 * (r0_XH - r172_rturn), r172_attach2, r0_XH * 0.5 + r0_HALFSTROKE)['set-width'](r172_fine / 2, r172_fine / 2)['to-outline']()); + r172_xn$assignunicode$7Hrq('y'); + if (r0_para['italicangle'] > 0) { + r172_include(r0_glyphs['y.italic'], true); + } else { + r172_include(r0_glyphs['y.upright'], true); + } return void 0; }); - r0_xn$createglyph$7Hrq('s', function _r0_t88() { - var r174_xn$setwidth$9Jrj, r174_xn$assignunicode$7Hrq, r174_xn$startfrom$1aao, r174_xn$lineto$5sIl, r174_xn$curveto$1aao, r174_xn$cubicto$1aao, r174_xn$putshapes$9Jrj, r174_xn$reverselast$3qIs, r174_include, r174_xn$createstroke$7Hrq, r174_xn$setanchor$9Jrj, r174_slope, r174_expand, r174_coexpand, r174_ssmootha, r174_bowltop, r174_strokemiddle, r174_bowlbottom, _r174_t0; + r0_xn$createglyph$7Hrq('z', function _r0_t88() { + var r174_xn$setwidth$9Jrj, r174_xn$assignunicode$7Hrq, r174_xn$startfrom$1aao, r174_xn$lineto$5sIl, r174_xn$curveto$1aao, r174_xn$cubicto$1aao, r174_xn$putshapes$9Jrj, r174_xn$reverselast$3qIs, r174_include, r174_xn$createstroke$7Hrq, r174_xn$setanchor$9Jrj, r174_cor, _r174_t0; _r174_t0 = this; r174_xn$setwidth$9Jrj = _r174_t0['set-width']['bind'](_r174_t0); r174_xn$assignunicode$7Hrq = _r174_t0['assign-unicode']['bind'](_r174_t0); @@ -2280,25 +2274,20 @@ _r174_t0['gizmo'] = r0_globalTransform; _r174_t0['set-width'](r0_WIDTH); r174_xn$setwidth$9Jrj(r0_WIDTH); - r174_xn$assignunicode$7Hrq('s'); + r174_xn$assignunicode$7Hrq('z'); r174_include(r0_eMarks); - r174_slope = 0.015; - r174_expand = 0.175; - r174_coexpand = (1 - r174_expand) / 2; - r174_ssmootha = r0_SMOOTHA * 0.87; - r174_bowltop = r174_xn$createstroke$7Hrq(); - r174_bowltop['start-from'](r0_RIGHTSB - r0_OXHOOK, r0_XH - r0_SHOOK)['set-width'](r0_STROKE, 0)['curve-to'](r0_MIDDLE + r0_KAPPA_AHOOK * (r0_MIDDLE - r0_para['sb']), r0_XO, r0_MIDDLE, r0_XO)['heads-to'](r0_LEFTWARD)['arc-hv-to'](r0_SB, r0_XH - r174_ssmootha); - r174_strokemiddle = r174_xn$createstroke$7Hrq(); - r174_strokemiddle['start-from'](r0_SB + r0_STROKE / 2, r0_XH - r174_ssmootha)['set-width'](r0_STROKE / 2, r0_STROKE / 2)['curve-to'](r0_SB + r0_STROKE / 2, (0.5 + r174_slope) * r0_XH + 2 * r174_slope * r0_XH / (r174_expand * r0_WIDTH) * (r174_coexpand * r0_WIDTH - r0_SB - r0_STROKE / 2), r174_coexpand * r0_WIDTH, (0.5 + r174_slope) * r0_XH)['line-to']((1 - r174_coexpand) * r0_WIDTH, (0.5 - r174_slope) * r0_XH)['curve-to'](r0_RIGHTSB - r0_STROKE / 2, (0.5 - r174_slope) * r0_XH - 2 * r174_slope * r0_XH / (r174_expand * r0_WIDTH) * (r174_coexpand * r0_WIDTH - r0_SB - r0_STROKE / 2), r0_RIGHTSB - r0_STROKE / 2, r174_ssmootha); - r174_bowlbottom = r174_xn$createstroke$7Hrq(); - r174_bowlbottom['start-from'](r0_RIGHTSB, r174_ssmootha)['set-width'](0, r0_STROKE)['arc-vh-to'](r0_MIDDLE, r0_O)['heads-to'](r0_LEFTWARD)['curve-to'](r0_MIDDLE - (r0_KAPPA_AHOOK + r0_TAILADJSKAPPA * r0_globalTransform['yx']) * (r0_MIDDLE - r0_para['sb']), r0_O, r0_SB + r0_OXHOOK - +r0_TAILADJSX * r0_globalTransform['yx'], r0_SHOOK - r0_TAILADJSY * r0_globalTransform['yx']); - r174_xn$putshapes$9Jrj(r174_bowltop['to-outline']()); - r174_xn$putshapes$9Jrj(r174_strokemiddle['to-outline']()); - r174_xn$putshapes$9Jrj(r174_bowlbottom['to-outline']()); + r174_cor = 1.2; + r174_xn$putshapes$9Jrj(r174_xn$createstroke$7Hrq()['start-from'](r0_SB, r0_XH)['heads-to'](r0_RIGHTWARD)['set-width'](0, r0_STROKE)['line-to'](r0_RIGHTSB, r0_XH)['heads-to'](r0_RIGHTWARD)['to-outline']()); + r174_xn$putshapes$9Jrj(r174_xn$createstroke$7Hrq()['start-from'](r0_SB, 0)['heads-to'](r0_RIGHTWARD)['set-width'](r0_STROKE, 0)['line-to'](r0_RIGHTSB, 0)['heads-to'](r0_RIGHTWARD)['to-outline']()); + r174_xn$startfrom$1aao(r0_SB, r0_STROKE); + r174_xn$lineto$5sIl(r0_SB + r0_STROKE * r174_cor, r0_STROKE); + r174_xn$lineto$5sIl(r0_RIGHTSB, r0_XH - r0_STROKE); + r174_xn$lineto$5sIl(r0_RIGHTSB - r0_STROKE * r174_cor, r0_XH - r0_STROKE); + r174_xn$reverselast$3qIs(); return void 0; }); - r0_xn$createglyph$7Hrq('r', function _r0_t89() { - var r176_xn$setwidth$9Jrj, r176_xn$assignunicode$7Hrq, r176_xn$startfrom$1aao, r176_xn$lineto$5sIl, r176_xn$curveto$1aao, r176_xn$cubicto$1aao, r176_xn$putshapes$9Jrj, r176_xn$reverselast$3qIs, r176_include, r176_xn$createstroke$7Hrq, r176_xn$setanchor$9Jrj, r176_slope, r176_expand, r176_coexpand, r176_ssmootha, _r176_t0; + r0_xn$createglyph$7Hrq('k', function _r0_t89() { + var r176_xn$setwidth$9Jrj, r176_xn$assignunicode$7Hrq, r176_xn$startfrom$1aao, r176_xn$lineto$5sIl, r176_xn$curveto$1aao, r176_xn$cubicto$1aao, r176_xn$putshapes$9Jrj, r176_xn$reverselast$3qIs, r176_include, r176_xn$createstroke$7Hrq, r176_xn$setanchor$9Jrj, r176_TURN, r176_rturn, r176_right, r176_attach, r176_attach2, r176_fine, _r176_t0; _r176_t0 = this; r176_xn$setwidth$9Jrj = _r176_t0['set-width']['bind'](_r176_t0); r176_xn$assignunicode$7Hrq = _r176_t0['assign-unicode']['bind'](_r176_t0); @@ -2314,19 +2303,21 @@ _r176_t0['gizmo'] = r0_globalTransform; _r176_t0['set-width'](r0_WIDTH); r176_xn$setwidth$9Jrj(r0_WIDTH); - r176_xn$assignunicode$7Hrq('r'); - r176_include(r0_eMarks); - r176_slope = 0.015; - r176_expand = 0.175; - r176_coexpand = (1 - r176_expand) / 2; - r176_ssmootha = r0_SMOOTHA * 0.87; - r176_xn$putshapes$9Jrj(r176_xn$createstroke$7Hrq()['start-from'](r0_RIGHTSB - r0_OXHOOK + r0_JBALANCE / 2, r0_XH - r0_RHOOK)['set-width'](r0_STROKE, 0)['curve-to'](r0_MIDDLE + r0_BKAPPA * (r0_MIDDLE - r0_para['sb']) + r0_JBALANCE / 2, r0_XO, r0_MIDDLE + r0_JBALANCE * 0.75, r0_XO)['heads-to'](r0_LEFTWARD)['to-outline']()); - r176_xn$putshapes$9Jrj(r176_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE + r0_JBALANCE * 0.75, r0_XO - r0_STROKE)['set-width'](0, r0_STROKE)['heads-to'](r0_LEFTWARD)['arc-hv-to'](r0_SB + r0_STROKE * r0_ITALICCOR + r0_RBALANCE, r0_XH - r0_SMALLSMOOTHA)['heads-to'](r0_DOWNWARD)['set-width'](0, r0_STROKE * 0.4)['to-outline']()); - r176_xn$putshapes$9Jrj(r176_xn$createstroke$7Hrq()['start-from'](r0_SB + r0_RBALANCE, 0)['heads-to'](r0_UPWARD)['set-width'](0, r0_STROKE)['line-to'](r0_SB + r0_RBALANCE, r0_XH)['heads-to'](r0_UPWARD)['to-outline']()); + r176_xn$assignunicode$7Hrq('k'); + r176_include(r0_bMarks); + r176_TURN = r0_XH * 0.99; + r176_rturn = r0_XH * 0.1; + r176_right = r0_RIGHTSB - r0_O; + r176_attach = r0_XH * 0.4; + r176_attach2 = r0_MIDDLE - r0_WIDTH * 0.1; + r176_fine = Math['min'](r0_STROKE, (r0_WIDTH - r0_SB * 2) * 0.25); + r176_xn$putshapes$9Jrj(r176_xn$createstroke$7Hrq()['start-from'](r0_SB, 0)['set-width'](0, r0_STROKE)['heads-to'](r0_UPWARD)['line-to'](r0_SB, r0_CAP)['heads-to'](r0_UPWARD)['to-outline']()); + r176_xn$putshapes$9Jrj(r176_xn$createstroke$7Hrq()['start-from'](r0_RIGHTSB, r0_XH)['heads-to'](r0_DOWNWARD)['set-width'](0, r0_STROKE)['line-to'](r0_RIGHTSB, r176_TURN)['heads-to'](r0_DOWNWARD)['curve-to'](r0_RIGHTSB, (1 - 0.18) * r176_TURN, r0_SB + r0_STROKE, r176_attach)['set-width'](0, r176_fine)['to-outline']()); + r176_xn$putshapes$9Jrj(r176_xn$createstroke$7Hrq()['start-from'](r176_right - r0_HALFSTROKE, 0)['heads-to'](r0_UPWARD)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['curve-to'](r176_right - r0_HALFSTROKE, r176_rturn + 0.05 * (r0_XH - r176_rturn), r176_attach2, r0_XH * 0.5 + r0_HALFSTROKE)['set-width'](r176_fine / 2, r176_fine / 2)['to-outline']()); return void 0; }); - r0_xn$createglyph$7Hrq('f.upright', function _r0_t90() { - var r178_xn$setwidth$9Jrj, r178_xn$assignunicode$7Hrq, r178_xn$startfrom$1aao, r178_xn$lineto$5sIl, r178_xn$curveto$1aao, r178_xn$cubicto$1aao, r178_xn$putshapes$9Jrj, r178_xn$reverselast$3qIs, r178_include, r178_xn$createstroke$7Hrq, r178_xn$setanchor$9Jrj, _r178_t0; + r0_xn$createglyph$7Hrq('s', function _r0_t90() { + var r178_xn$setwidth$9Jrj, r178_xn$assignunicode$7Hrq, r178_xn$startfrom$1aao, r178_xn$lineto$5sIl, r178_xn$curveto$1aao, r178_xn$cubicto$1aao, r178_xn$putshapes$9Jrj, r178_xn$reverselast$3qIs, r178_include, r178_xn$createstroke$7Hrq, r178_xn$setanchor$9Jrj, r178_slope, r178_expand, r178_coexpand, r178_ssmootha, r178_bowltop, r178_strokemiddle, r178_bowlbottom, _r178_t0; _r178_t0 = this; r178_xn$setwidth$9Jrj = _r178_t0['set-width']['bind'](_r178_t0); r178_xn$assignunicode$7Hrq = _r178_t0['assign-unicode']['bind'](_r178_t0); @@ -2342,13 +2333,25 @@ _r178_t0['gizmo'] = r0_globalTransform; _r178_t0['set-width'](r0_WIDTH); r178_xn$setwidth$9Jrj(r0_WIDTH); - r178_include(r0_bMarks); - r178_xn$putshapes$9Jrj(r178_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE, 0)['heads-to'](r0_UPWARD)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['line-to'](r0_MIDDLE, r0_CAP - r0_SHOOK * 1.4)['arc-vh-to'](r0_MIDDLE + r0_SHOOK * 2, r0_CAP - r0_HALFSTROKE - r0_O * 6)['heads-to'](r0_RIGHTWARD)['to-outline']()); - r178_include(r0_glyphs['fbar']); + r178_xn$assignunicode$7Hrq('s'); + r178_include(r0_eMarks); + r178_slope = 0.015; + r178_expand = 0.175; + r178_coexpand = (1 - r178_expand) / 2; + r178_ssmootha = r0_SMOOTHA * 0.87; + r178_bowltop = r178_xn$createstroke$7Hrq(); + r178_bowltop['start-from'](r0_RIGHTSB - r0_OXHOOK, r0_XH - r0_SHOOK)['set-width'](r0_STROKE, 0)['curve-to'](r0_MIDDLE + r0_KAPPA_AHOOK * (r0_MIDDLE - r0_para['sb']), r0_XO, r0_MIDDLE, r0_XO)['heads-to'](r0_LEFTWARD)['arc-hv-to'](r0_SB, r0_XH - r178_ssmootha); + r178_strokemiddle = r178_xn$createstroke$7Hrq(); + r178_strokemiddle['start-from'](r0_SB + r0_STROKE / 2, r0_XH - r178_ssmootha)['set-width'](r0_STROKE / 2, r0_STROKE / 2)['curve-to'](r0_SB + r0_STROKE / 2, (0.5 + r178_slope) * r0_XH + 2 * r178_slope * r0_XH / (r178_expand * r0_WIDTH) * (r178_coexpand * r0_WIDTH - r0_SB - r0_STROKE / 2), r178_coexpand * r0_WIDTH, (0.5 + r178_slope) * r0_XH)['line-to']((1 - r178_coexpand) * r0_WIDTH, (0.5 - r178_slope) * r0_XH)['curve-to'](r0_RIGHTSB - r0_STROKE / 2, (0.5 - r178_slope) * r0_XH - 2 * r178_slope * r0_XH / (r178_expand * r0_WIDTH) * (r178_coexpand * r0_WIDTH - r0_SB - r0_STROKE / 2), r0_RIGHTSB - r0_STROKE / 2, r178_ssmootha); + r178_bowlbottom = r178_xn$createstroke$7Hrq(); + r178_bowlbottom['start-from'](r0_RIGHTSB, r178_ssmootha)['set-width'](0, r0_STROKE)['arc-vh-to'](r0_MIDDLE, r0_O)['heads-to'](r0_LEFTWARD)['curve-to'](r0_MIDDLE - (r0_KAPPA_AHOOK + r0_TAILADJSKAPPA * r0_globalTransform['yx']) * (r0_MIDDLE - r0_para['sb']), r0_O, r0_SB + r0_OXHOOK - +r0_TAILADJSX * r0_globalTransform['yx'], r0_SHOOK - r0_TAILADJSY * r0_globalTransform['yx']); + r178_xn$putshapes$9Jrj(r178_bowltop['to-outline']()); + r178_xn$putshapes$9Jrj(r178_strokemiddle['to-outline']()); + r178_xn$putshapes$9Jrj(r178_bowlbottom['to-outline']()); return void 0; }); - r0_xn$createglyph$7Hrq('f.italic', function _r0_t91() { - var r180_xn$setwidth$9Jrj, r180_xn$assignunicode$7Hrq, r180_xn$startfrom$1aao, r180_xn$lineto$5sIl, r180_xn$curveto$1aao, r180_xn$cubicto$1aao, r180_xn$putshapes$9Jrj, r180_xn$reverselast$3qIs, r180_include, r180_xn$createstroke$7Hrq, r180_xn$setanchor$9Jrj, _r180_t0; + r0_xn$createglyph$7Hrq('r', function _r0_t91() { + var r180_xn$setwidth$9Jrj, r180_xn$assignunicode$7Hrq, r180_xn$startfrom$1aao, r180_xn$lineto$5sIl, r180_xn$curveto$1aao, r180_xn$cubicto$1aao, r180_xn$putshapes$9Jrj, r180_xn$reverselast$3qIs, r180_include, r180_xn$createstroke$7Hrq, r180_xn$setanchor$9Jrj, r180_slope, r180_expand, r180_coexpand, r180_ssmootha, _r180_t0; _r180_t0 = this; r180_xn$setwidth$9Jrj = _r180_t0['set-width']['bind'](_r180_t0); r180_xn$assignunicode$7Hrq = _r180_t0['assign-unicode']['bind'](_r180_t0); @@ -2364,12 +2367,18 @@ _r180_t0['gizmo'] = r0_globalTransform; _r180_t0['set-width'](r0_WIDTH); r180_xn$setwidth$9Jrj(r0_WIDTH); - r180_include(r0_ifMarks); - r180_xn$putshapes$9Jrj(r180_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE - r0_SHOOK * 2, r0_HALFSTROKE + r0_O * 6 - r0_SHOOK)['heads-to'](r0_RIGHTWARD)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['arc-hv-to'](r0_MIDDLE, 0)['line-to'](r0_MIDDLE, r0_CAP - r0_SHOOK)['arc-vh-to'](r0_MIDDLE + r0_SHOOK * 2, r0_CAP - r0_HALFSTROKE - r0_O * 6)['heads-to'](r0_RIGHTWARD)['to-outline']()); - r180_include(r0_glyphs['fbar']); + r180_xn$assignunicode$7Hrq('r'); + r180_include(r0_eMarks); + r180_slope = 0.015; + r180_expand = 0.175; + r180_coexpand = (1 - r180_expand) / 2; + r180_ssmootha = r0_SMOOTHA * 0.87; + r180_xn$putshapes$9Jrj(r180_xn$createstroke$7Hrq()['start-from'](r0_RIGHTSB - r0_OXHOOK + r0_JBALANCE / 2, r0_XH - r0_RHOOK)['set-width'](r0_STROKE, 0)['curve-to'](r0_MIDDLE + r0_BKAPPA * (r0_MIDDLE - r0_para['sb']) + r0_JBALANCE / 2, r0_XO, r0_MIDDLE + r0_JBALANCE * 0.75, r0_XO)['heads-to'](r0_LEFTWARD)['to-outline']()); + r180_xn$putshapes$9Jrj(r180_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE + r0_JBALANCE * 0.75, r0_XO - r0_STROKE)['set-width'](0, r0_STROKE)['heads-to'](r0_LEFTWARD)['arc-hv-to'](r0_SB + r0_STROKE * r0_ITALICCOR + r0_RBALANCE, r0_XH - r0_SMALLSMOOTHA)['heads-to'](r0_DOWNWARD)['set-width'](0, r0_STROKE * 0.4)['to-outline']()); + r180_xn$putshapes$9Jrj(r180_xn$createstroke$7Hrq()['start-from'](r0_SB + r0_RBALANCE, 0)['heads-to'](r0_UPWARD)['set-width'](0, r0_STROKE)['line-to'](r0_SB + r0_RBALANCE, r0_XH)['heads-to'](r0_UPWARD)['to-outline']()); return void 0; }); - r0_xn$createglyph$7Hrq('f', function _r0_t92() { + r0_xn$createglyph$7Hrq('f.upright', function _r0_t92() { var r182_xn$setwidth$9Jrj, r182_xn$assignunicode$7Hrq, r182_xn$startfrom$1aao, r182_xn$lineto$5sIl, r182_xn$curveto$1aao, r182_xn$cubicto$1aao, r182_xn$putshapes$9Jrj, r182_xn$reverselast$3qIs, r182_include, r182_xn$createstroke$7Hrq, r182_xn$setanchor$9Jrj, _r182_t0; _r182_t0 = this; r182_xn$setwidth$9Jrj = _r182_t0['set-width']['bind'](_r182_t0); @@ -2386,11 +2395,55 @@ _r182_t0['gizmo'] = r0_globalTransform; _r182_t0['set-width'](r0_WIDTH); r182_xn$setwidth$9Jrj(r0_WIDTH); - r182_xn$assignunicode$7Hrq('f'); + r182_include(r0_bMarks); + r182_xn$putshapes$9Jrj(r182_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE, 0)['heads-to'](r0_UPWARD)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['line-to'](r0_MIDDLE, r0_CAP - r0_SHOOK * 1.4)['arc-vh-to'](r0_MIDDLE + r0_SHOOK * 2, r0_CAP - r0_HALFSTROKE - r0_O * 6)['heads-to'](r0_RIGHTWARD)['to-outline']()); + r182_include(r0_glyphs['fbar']); + return void 0; + }); + r0_xn$createglyph$7Hrq('f.italic', function _r0_t93() { + var r184_xn$setwidth$9Jrj, r184_xn$assignunicode$7Hrq, r184_xn$startfrom$1aao, r184_xn$lineto$5sIl, r184_xn$curveto$1aao, r184_xn$cubicto$1aao, r184_xn$putshapes$9Jrj, r184_xn$reverselast$3qIs, r184_include, r184_xn$createstroke$7Hrq, r184_xn$setanchor$9Jrj, _r184_t0; + _r184_t0 = this; + r184_xn$setwidth$9Jrj = _r184_t0['set-width']['bind'](_r184_t0); + r184_xn$assignunicode$7Hrq = _r184_t0['assign-unicode']['bind'](_r184_t0); + r184_xn$startfrom$1aao = _r184_t0['start-from']['bind'](_r184_t0); + r184_xn$lineto$5sIl = _r184_t0['line-to']['bind'](_r184_t0); + r184_xn$curveto$1aao = _r184_t0['curve-to']['bind'](_r184_t0); + r184_xn$cubicto$1aao = _r184_t0['cubic-to']['bind'](_r184_t0); + r184_xn$putshapes$9Jrj = _r184_t0['put-shapes']['bind'](_r184_t0); + r184_xn$reverselast$3qIs = _r184_t0['reverse-last']['bind'](_r184_t0); + r184_include = _r184_t0['include']['bind'](_r184_t0); + r184_xn$createstroke$7Hrq = _r184_t0['create-stroke']['bind'](_r184_t0); + r184_xn$setanchor$9Jrj = _r184_t0['set-anchor']['bind'](_r184_t0); + _r184_t0['gizmo'] = r0_globalTransform; + _r184_t0['set-width'](r0_WIDTH); + r184_xn$setwidth$9Jrj(r0_WIDTH); + r184_include(r0_ifMarks); + r184_xn$putshapes$9Jrj(r184_xn$createstroke$7Hrq()['start-from'](r0_MIDDLE - r0_SHOOK * 2, r0_HALFSTROKE + r0_O * 6 - r0_SHOOK)['heads-to'](r0_RIGHTWARD)['set-width'](r0_HALFSTROKE, r0_HALFSTROKE)['arc-hv-to'](r0_MIDDLE, 0)['line-to'](r0_MIDDLE, r0_CAP - r0_SHOOK)['arc-vh-to'](r0_MIDDLE + r0_SHOOK * 2, r0_CAP - r0_HALFSTROKE - r0_O * 6)['heads-to'](r0_RIGHTWARD)['to-outline']()); + r184_include(r0_glyphs['fbar']); + return void 0; + }); + r0_xn$createglyph$7Hrq('f', function _r0_t94() { + var r186_xn$setwidth$9Jrj, r186_xn$assignunicode$7Hrq, r186_xn$startfrom$1aao, r186_xn$lineto$5sIl, r186_xn$curveto$1aao, r186_xn$cubicto$1aao, r186_xn$putshapes$9Jrj, r186_xn$reverselast$3qIs, r186_include, r186_xn$createstroke$7Hrq, r186_xn$setanchor$9Jrj, _r186_t0; + _r186_t0 = this; + r186_xn$setwidth$9Jrj = _r186_t0['set-width']['bind'](_r186_t0); + r186_xn$assignunicode$7Hrq = _r186_t0['assign-unicode']['bind'](_r186_t0); + r186_xn$startfrom$1aao = _r186_t0['start-from']['bind'](_r186_t0); + r186_xn$lineto$5sIl = _r186_t0['line-to']['bind'](_r186_t0); + r186_xn$curveto$1aao = _r186_t0['curve-to']['bind'](_r186_t0); + r186_xn$cubicto$1aao = _r186_t0['cubic-to']['bind'](_r186_t0); + r186_xn$putshapes$9Jrj = _r186_t0['put-shapes']['bind'](_r186_t0); + r186_xn$reverselast$3qIs = _r186_t0['reverse-last']['bind'](_r186_t0); + r186_include = _r186_t0['include']['bind'](_r186_t0); + r186_xn$createstroke$7Hrq = _r186_t0['create-stroke']['bind'](_r186_t0); + r186_xn$setanchor$9Jrj = _r186_t0['set-anchor']['bind'](_r186_t0); + _r186_t0['gizmo'] = r0_globalTransform; + _r186_t0['set-width'](r0_WIDTH); + r186_xn$setwidth$9Jrj(r0_WIDTH); + r186_xn$assignunicode$7Hrq('f'); if (r0_para['italicangle'] > 0) { - r182_include(r0_glyphs['f.italic'], true); + r186_include(r0_glyphs['f.italic'], true); } else { - r182_include(r0_glyphs['f.upright'], true); + r186_include(r0_glyphs['f.upright'], true); } return void 0; }); diff --git a/font.patel b/font.patel index a62101202..ea570eee9 100644 --- a/font.patel +++ b/font.patel @@ -12,7 +12,7 @@ define para_regular ( .width 500 .stroke 80 .dotsize 125 - .sb 50 + .sb 60 .cap 771 .xheight 560 .hook 145 @@ -37,6 +37,7 @@ define para_regular ( ) define para_bold : Object.create para_regular +para_bold.sb = 50 para_bold.stroke = 120 para_bold.dotsize = 160 para_bold.barpos = 0.42 @@ -58,7 +59,7 @@ define para_bolditalic : Object.create para_bold para_bolditalic.italicangle = 10 para_bolditalic.tbalance = 90 -para = para_bolditalic +para = para_regular define variantSelector ( .zero 'slashed' diff --git a/glyphs/latin-lower.patel b/glyphs/latin-lower.patel index 4fad4295c..6474a5325 100644 --- a/glyphs/latin-lower.patel +++ b/glyphs/latin-lower.patel @@ -691,9 +691,32 @@ create-glyph 'w' : glyph-construction { line-to [m2 - bottomStroke / 2] 0 line-to m2 bottomStroke } -create-glyph 'y' : glyph-construction { +create-glyph 'y.upright' : glyph-construction { + set-width WIDTH + include pMarks + + local turn1 [DESCENDER + [XH - DESCENDER] * 0.1] + local turn2 [XH * 0.1] + local cross [XH * 0.1] + local xbottom [WIDTH * 0.4] + + local barone : create-stroke + :.start-from xbottom DESCENDER + :.set-width HALFSTROKE HALFSTROKE + :.cubic-to xbottom [turn1 + 0.17 * [XH - turn1]] [RIGHTSB - HALFSTROKE - O] [XH - turn1 - 0.6 * [XH - turn1]] [RIGHTSB - HALFSTROKE - O] XH + :.heads-to UPWARD + + local bartwo : create-stroke + :.start-from MIDDLE cross + :.set-width HALFSTROKE HALFSTROKE + :.curve-to [SB + HALFSTROKE + O] [XH - turn2 - 0.35 * [XH - turn2]] [SB + HALFSTROKE + O] XH + :.heads-to UPWARD + + put-shapes : barone.to-outline + put-shapes : bartwo.to-outline +} +create-glyph 'y.italic' : glyph-construction { set-width WIDTH - assign-unicode 'y' include pMarks local TURN [XH * 0.1] @@ -716,6 +739,15 @@ create-glyph 'y' : glyph-construction { put-shapes : barone.to-outline put-shapes : bartwo.to-outline } +create-glyph 'y' : glyph-construction { + set-width WIDTH + assign-unicode 'y' + + if [para.italicangle > 0] { + then : include glyphs.'y.italic' true + else : include glyphs.'y.upright' true + } +} create-glyph 'z' : glyph-construction { set-width WIDTH assign-unicode 'z'