diff --git a/glyphs/letters-unified-extended.patel b/glyphs/letters-unified-extended.patel index 03de471..a85bfff 100644 --- a/glyphs/letters-unified-extended.patel +++ b/glyphs/letters-unified-extended.patel @@ -557,34 +557,39 @@ symbol-block 'Psi' include : tagged 'serifRT' : RightwardTopSerif RIGHTSB XH SIDEJUT symbol-block 'Omega' - define [OmegaShape top sma smb ssma ssmb] : glyph-construction - local fine : STROKE * 0.4 + define [OmegaShape top extend sma smb] : glyph-construction + local fine : STROKE * 0.75 + local x1 [mix SB RIGHTSB 0.4] + local x2 (WIDTH - x1) + local yattach : top * extend + STROKE include : dispiro - g4 [mix SB RIGHTSB 0.4] STROKE [widths.heading fine 0 LEFTWARD] + g4 x1 (yattach - fine) [widths.heading 0 fine LEFTWARD] archv - flat SB ssmb [widths 0 STROKE] + flat SB (yattach - STROKE + smb) [widths 0 STROKE] curl SB (top - sma) arcvh g4 (MIDDLE - CORRECTION_OMIDS) (top - O) archv flat RIGHTSB (top - smb) - curl RIGHTSB ssma + curl RIGHTSB (yattach - STROKE + sma) arcvh - g4 [mix RIGHTSB SB 0.4] STROKE [widths.heading fine 0 LEFTWARD] - include : HBar SB [mix SB RIGHTSB 0.4] HALFSTROKE - include : HBar [mix RIGHTSB SB 0.4] RIGHTSB HALFSTROKE + g4 x2 (yattach - fine) [widths.heading 0 fine LEFTWARD] + include : VBarRight x1 0 (yattach) fine + include : HBar SB x1 HALFSTROKE + include : VBarLeft x2 0 (yattach) fine + include : HBar x2 RIGHTSB HALFSTROKE create-glyph 'Omega' : glyph-construction assign-unicode 0x3A9 include capitalMarks - include : OmegaShape CAP SMOOTHA SMOOTHB SMALLSMOOTHA SMALLSMOOTHB + include : OmegaShape CAP 0.08 SMOOTHA SMOOTHB turned 'latinUpsilon1' 0x1B1 'Omega' MIDDLE (CAP / 2) create-glyph 'latinupsilon1' : glyph-construction assign-unicode 0x28A include eMarks - include : OmegaShape XH SMALLSMOOTHA SMALLSMOOTHB SMALLSMOOTHA SMALLSMOOTHB + include : OmegaShape XH 0.08 SMALLSMOOTHA SMALLSMOOTHB include : FlipAround MIDDLE (XH / 2) symbol-block 'omega' @@ -1361,9 +1366,9 @@ symbol-block 'Digraphs' flat SB CAP [heading DOWNWARD] curl SB (CAP * BARPOS - O - HALFSTROKE + SMOOTHB) arcvh - g4 (MIDDLE + CORRECTION_OMIDS) (CAP * BARPOS - O - HALFSTROKE) + g4 (MIDDLE + CORRECTION_OMIDS) (CAP * BARPOS - O - HALFSTROKE + (STROKE * (1 - CTHIN))) [widths.lhs (STROKE * CTHIN)] archv - flat RIGHTSB (CAP * BARPOS - O - HALFSTROKE + SMOOTHA) + flat RIGHTSB (CAP * BARPOS - O - HALFSTROKE + SMOOTHA) [widths.lhs] curl RIGHTSB CAP [heading UPWARD] create-glyph 'ou' : glyph-construction @@ -1375,9 +1380,9 @@ symbol-block 'Digraphs' flat SB CAP [heading DOWNWARD] curl SB (XH - O - STROKE + SMOOTHB) arcvh - g4 (MIDDLE + CORRECTION_OMIDS) (XH - O - STROKE) + g4 (MIDDLE + CORRECTION_OMIDS) (XH - O - STROKE + (STROKE * (1 - CTHIN))) [widths.lhs (STROKE * CTHIN)] archv - flat RIGHTSB (XH - O - STROKE + SMOOTHA) + flat RIGHTSB (XH - O - STROKE + SMOOTHA) [widths.lhs] curl RIGHTSB CAP [heading UPWARD] create-glyph 'IJ' : glyph-construction diff --git a/pass1-cleanup.py b/pass1-cleanup.py index 27b343a..8a13085 100644 --- a/pass1-cleanup.py +++ b/pass1-cleanup.py @@ -29,9 +29,9 @@ font.replaceWithReference(2) print " Simplify: ", font.fontname font.selection.all() -font.transform(psMat.scale(5, 1)) +font.transform(psMat.scale(5)) font.simplify(1, ("smoothcurves", "choosehv"), 0.1) -font.transform(psMat.scale(0.2, 1)) +font.transform(psMat.scale(0.2)) font.simplify(1, ("smoothcurves", "choosehv"), 0.1) font.layers["Fore"].is_quadratic = True font.transform(psMat.skew(float(sys.argv[3]) / 180 * math.pi)) diff --git a/support/glyph.patel b/support/glyph.patel index 3e79195..e3cc493 100644 --- a/support/glyph.patel +++ b/support/glyph.patel @@ -181,7 +181,7 @@ define [Glyph.prototype.cleanup t] : begin local p2 ocontour.(j + 1) local p3 ocontour.(j + 2) local strand : new Bezier p0.x p0.y p1.x p1.y p2.x p2.y p3.x p3.y - local ts [strand.inflections].y + local ts [strand.inflections].values piecewise (!ts || ts.length < 1) : contour.push p1 p2 p3 true : begin @@ -201,7 +201,7 @@ define [Glyph.prototype.cleanup t] : begin local p2 ocontour.(j + 1) if [not p2.onCurve] : set p2 : new Point [mix p1.x p2.x 0.5] [mix p1.y p2.y 0.5] true local strand : new Bezier p0.x p0.y p1.x p1.y p2.x p2.y - local ts [strand.inflections].y + local ts [strand.inflections].values piecewise (!ts || ts.length < 1) : contour.push p1 p2 true : begin