From 62f7ab5b8d9108cf2199e2cb2503216962e4fd8e Mon Sep 17 00:00:00 2001 From: jmcwilliams403 Date: Sat, 26 Oct 2024 09:45:19 -0400 Subject: [PATCH] Improve serifs under italics and monospace. --- .../font-glyphs/src/letter/armenian/keh.ptl | 4 +- .../src/letter/armenian/lower-u-group.ptl | 65 ++++++++----------- .../font-glyphs/src/letter/armenian/to.ptl | 4 +- .../src/letter/armenian/upper-xeh.ptl | 6 +- 4 files changed, 34 insertions(+), 45 deletions(-) diff --git a/packages/font-glyphs/src/letter/armenian/keh.ptl b/packages/font-glyphs/src/letter/armenian/keh.ptl index 6aa7bbeab0..cbdb3e2d28 100644 --- a/packages/font-glyphs/src/letter/armenian/keh.ptl +++ b/packages/font-glyphs/src/letter/armenian/keh.ptl @@ -48,6 +48,4 @@ glyph-block Letter-Armenian-Keh : begin include : HCrossBar (df.leftSB - jut + [HSwToV : 0.5 * df.mvs]) df.rightSB 0 ostroke if SLAB : begin local sf : SerifFrame.fromDf df XH Descender - include sf.lt.outer - if [not para.isItalic] : begin - include sf.lb.full + include : composite-proc sf.lt.outer sf.lb.full diff --git a/packages/font-glyphs/src/letter/armenian/lower-u-group.ptl b/packages/font-glyphs/src/letter/armenian/lower-u-group.ptl index bd98fb6419..adfd40ee71 100644 --- a/packages/font-glyphs/src/letter/armenian/lower-u-group.ptl +++ b/packages/font-glyphs/src/letter/armenian/lower-u-group.ptl @@ -32,10 +32,10 @@ glyph-block Letter-Armenian-Lower-U-Group : begin include : [ArmHBar.normal df 0].base if SLAB : begin local sf : SerifFrame.fromDf df XH Descender - include sf.lt.outer + include : composite-proc sf.lt.outer sf.lb.full if [not para.isItalic] : begin local sf2 : SerifFrame.fromDf df XH (XH / 2) - include : composite-proc sf.lb.full sf2.rb.full + include sf2.rb.full do "Da" create-glyph 'armn/da' 0x564 : glyph-proc @@ -47,16 +47,15 @@ glyph-block Letter-Armenian-Lower-U-Group : begin right -- df.rightSB top -- XH bottom -- Descender - fine -- ShoulderFine stroke -- df.mvs include : [ArmHBar.right df 0].base if SLAB : begin local sf : SerifFrame.fromDf df XH 0 local sf2 : SerifFrame.fromDf df XH Descender - include sf.lt.outer if para.isItalic - include sf2.rb.outer - include : composite-proc sf.lb.full sf2.rb.full + include sf.lt.outer + include : composite-proc sf.lt.outer sf.lb.full + include sf2.rb.full do "Ech" create-glyph 'armn/ech' 0x565 : glyph-proc @@ -90,9 +89,7 @@ glyph-block Letter-Armenian-Lower-U-Group : begin local sf : SerifFrame.fromDf df XH Descender local sf2 : SerifFrame.fromDf df XH 0 include sf.lt.outer - if para.isItalic - include sf2.rb.outer - include : composite-proc sf.lb.full sf2.rb.full + include : if para.isItalic sf2.rb.outer sf2.rb.full do "Ini" create-glyph 'armn/ini' 0x56B : glyph-proc @@ -108,10 +105,8 @@ glyph-block Letter-Armenian-Lower-U-Group : begin if SLAB : begin local sf : SerifFrame.fromDf df Ascender Descender local sf2 : SerifFrame.fromDf df XH 0 - include sf.lt.outer - if para.isItalic - include sf2.rb.outer - include : composite-proc sf.lb.full sf2.rb.full + include : composite-proc sf.lt.outer sf.lb.full + include : if para.isItalic sf2.rb.outer sf2.rb.full do "Xeh" create-glyph 'armn/xeh' 0x56D : glyph-proc @@ -135,10 +130,10 @@ glyph-block Letter-Armenian-Lower-U-Group : begin if SLAB : begin local sf : SerifFrame.fromDf df Ascender Descender local sf2 : SerifFrame.fromDf df XH 0 - include sf.lt.outer - if para.isItalic + include : composite-proc sf.lt.outer sf.lb.full + if ([not para.isItalic] && sf2.enoughSpaceForFullSerifs) + include : composite-proc sf2.rt.inner sf2.rb.outer include sf2.rb.outer - include : composite-proc sf.lb.full sf2.rt.inner sf2.rb.outer do "Ken" create-glyph 'armn/ken' 0x56F : glyph-proc @@ -157,7 +152,7 @@ glyph-block Letter-Armenian-Lower-U-Group : begin local sf2 : SerifFrame.fromDf df XH Descender include sf.lt.outer if para.isItalic - include sf2.rb.outer + include sf2.rb.full include : composite-proc sf2.rt.inner sf2.rb.full do "Ghat" @@ -171,13 +166,11 @@ glyph-block Letter-Armenian-Lower-U-Group : begin top -- XH bottom -- Descender stroke -- df.mvs - include : [ArmHBar.right df 0 (SLAB && [not para.isItalic])].desc + include : [ArmHBar.right df 0].desc if SLAB : begin local sf : SerifFrame.fromDf df XH 0 include sf.lt.outer - if [not para.isItalic] : begin - local sf2 : SerifFrame.fromDf df XH Descender - include : composite-proc sf.lb.full sf2.rb.full + if [not para.isItalic] : include sf.lb.full do "Men" create-glyph 'armn/men' 0x574 : glyph-proc @@ -267,10 +260,8 @@ glyph-block Letter-Armenian-Lower-U-Group : begin if SLAB : begin local sf : SerifFrame.fromDf df XH 0 - include sf.lt.outer - if [not para.isItalic] : begin - local sf2 : SerifFrame.fromDf df Ascender Descender - include sf2.rt.inner + local sf2 : SerifFrame.fromDf df Ascender Descender + include : composite-proc sf.lt.outer sf2.rt.inner do "Tiun" create-glyph 'armn/tiun' 0x57F : glyph-proc @@ -292,8 +283,10 @@ glyph-block Letter-Armenian-Lower-U-Group : begin include : VBar.m df.middle 0 XH df.mvs if SLAB : begin local sf : SerifFrame.fromDf df XH 0 - include : composite-proc sf.lt.outer sf.rb.outer - if [not para.isItalic] : include : composite-proc sf.mt.left sf.mb.right sf.rb.outer + include sf.lt.outer + if ([not para.isItalic] && sf.enoughSpaceForFullSerifs) + include : composite-proc sf.mt.left sf.mb.right sf.rb.full + include sf.rb.outer do "Reh" create-glyph 'armn/reh' 0x580 : glyph-proc @@ -309,10 +302,8 @@ glyph-block Letter-Armenian-Lower-U-Group : begin if SLAB : begin local sf : SerifFrame.fromDf df XH Descender local sf2 : SerifFrame.fromDf df XH 0 - include sf.lt.outer - if para.isItalic - include sf2.rb.outer - include : composite-proc sf.lb.full sf2.rb.full + include : composite-proc sf.lt.outer sf.lb.full + include : if para.isItalic sf2.rb.outer sf2.rb.full do "P'iur" create-glyph 'armn/piur' 0x583 : glyph-proc @@ -335,10 +326,10 @@ glyph-block Letter-Armenian-Lower-U-Group : begin if SLAB : begin local sf : SerifFrame.fromDf df XH 0 local sf2 : SerifFrame.fromDf df Ascender Descender - include sf.lt.outer - if para.isItalic - include sf.rb.outer - include : composite-proc sf2.mt.left sf2.mb.full sf.rb.full + include : if ([not para.isItalic] && sf.enoughSpaceForFullSerifs) + composite-proc sf.lt.outer sf.rb.full + composite-proc sf.lt.outer sf.rb.outer + include : composite-proc sf2.mt.left sf2.mb.full do "Ew" create-glyph 'armn/ew' 0x587 : glyph-proc @@ -355,7 +346,7 @@ glyph-block Letter-Armenian-Lower-U-Group : begin include : HBar.b df.middle df.rightSB 0 df.mvs if SLAB : begin local sf : SerifFrame.fromDf df Ascender 0 + local sf2 : SerifFrame.fromDf df XH 0 include sf.lt.outer - if [not para.isItalic] : begin - local sf2 : SerifFrame.fromDf df XH 0 + if ([not para.isItalic] && sf2.enoughSpaceForFullSerifs) : begin include sf2.mt.left diff --git a/packages/font-glyphs/src/letter/armenian/to.ptl b/packages/font-glyphs/src/letter/armenian/to.ptl index 3a6deebeef..0000c2de5d 100644 --- a/packages/font-glyphs/src/letter/armenian/to.ptl +++ b/packages/font-glyphs/src/letter/armenian/to.ptl @@ -58,6 +58,4 @@ glyph-block Letter-Armenian-To : begin curl (df.rightSB + jut - [HSwToV : 0.5 * df.mvs]) barPosT if SLAB : begin local sf : SerifFrame.fromDf df XH Descender - include sf.lt.outer - if [not para.isItalic] : begin - include sf.lb.full \ No newline at end of file + include : composite-proc sf.lt.outer sf.lb.full diff --git a/packages/font-glyphs/src/letter/armenian/upper-xeh.ptl b/packages/font-glyphs/src/letter/armenian/upper-xeh.ptl index 28d25f124f..f8d1720655 100644 --- a/packages/font-glyphs/src/letter/armenian/upper-xeh.ptl +++ b/packages/font-glyphs/src/letter/armenian/upper-xeh.ptl @@ -23,5 +23,7 @@ glyph-block Letter-Armenian-Upper-Xeh : begin if SLAB : begin local sf : SerifFrame.fromDf df CAP 0 local sf2 : SerifFrame.fromDf df XH 0 - include : composite-proc sf.lt.full sf.lb.full sf2.rt.full - if sf2.enoughSpaceForFullSerifs : include sf2.mt.full + include : composite-proc sf.lt.full sf.lb.full + if sf2.enoughSpaceForFullSerifs + include : composite-proc sf2.mt.full sf2.rt.full + include sf2.rt.outer