diff --git a/changes/16.8.4.md b/changes/16.8.4.md index 2bb9680b0..ade32caaf 100644 --- a/changes/16.8.4.md +++ b/changes/16.8.4.md @@ -1,3 +1,5 @@ * Fix shape regression of Mathematical sans-serif C (#1482). * Fix variant selector for CYRILLIC CAPITAL LETTER BASHKIR KA (`U+04A0`) (#1484). * Fix shape of unilaterally inward-serifed `U+A794` and `U+A7C4` (#1485). +* Fix shape of cursive LATIN CAPITAL LETTER Z WITH DESCENDER (`U+2C6B`) (#1486). +* Fix serif placement of italic `J`s (#1487). diff --git a/font-src/glyphs/letter/latin/upper-j.ptl b/font-src/glyphs/letter/latin/upper-j.ptl index 19a7028d7..9da597e2c 100644 --- a/font-src/glyphs/letter/latin/upper-j.ptl +++ b/font-src/glyphs/letter/latin/upper-j.ptl @@ -127,15 +127,21 @@ glyph-block Letter-Latin-Upper-J : begin foreach { suffix { base df dfHook serif xSerifAttach } } [Object.entries JConfig] : do create-glyph "J.\(suffix)" : glyph-proc include : base df dfHook CAP - if serif : include : serif df currentGlyph.baseAnchors.jTopSerifAttach.x CAP + if serif : begin + local attach : currentGlyph.gizmo.unapply currentGlyph.baseAnchors.jTopSerifAttach + include : serif df attach.x CAP create-glyph "smcpJ.\(suffix)" : glyph-proc include : base df dfHook XH - if serif : include : serif df currentGlyph.baseAnchors.jTopSerifAttach.x XH + if serif : begin + local attach : currentGlyph.gizmo.unapply currentGlyph.baseAnchors.jTopSerifAttach + include : serif df attach.x XH if base.WithCurlyTail : create-glyph "JCurlyTail.\(suffix)" : glyph-proc include : base.WithCurlyTail df CAP - if serif : include : serif df currentGlyph.baseAnchors.jTopSerifAttach.x CAP + if serif : begin + local attach : currentGlyph.gizmo.unapply currentGlyph.baseAnchors.jTopSerifAttach + include : serif df attach.x CAP select-variant 'J' 'J' select-variant 'J/noDescend' (shapeFrom -- 'J') diff --git a/font-src/glyphs/letter/latin/z.ptl b/font-src/glyphs/letter/latin/z.ptl index 6b1851bbe..17ba2ecae 100644 --- a/font-src/glyphs/letter/latin/z.ptl +++ b/font-src/glyphs/letter/latin/z.ptl @@ -9,7 +9,7 @@ glyph-block Letter-Latin-Z : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives glyph-block-import Letter-Shared : CreateAccentedComposition - glyph-block-import Letter-Shared-Shapes : HCurlyTail PalatalHook RetroflexHook + glyph-block-import Letter-Shared-Shapes : HCurlyTail PalatalHook RetroflexHook CyrDescender glyph-block-import Letter-Blackboard : BBS BBD glyph-block-import Letter-Latin-X : XStrand @@ -215,11 +215,6 @@ glyph-block Letter-Latin-Z : begin if serifs : include : serifs CAP if slash : include : slash CAP - create-glyph "ZDesc.\(suffix)" : glyph-proc - include [refer-glyph "Z.\(suffix)"] AS_BASE ALSO_METRICS - eject-contour 'serifRB' - include : VBarRight [mix SB RightSB 1.05] (HalfStroke - LongJut) Stroke - create-glyph "ZDTail.\(suffix)" : glyph-proc include : MarkSet.capital include : capital MODE-ZDESC @@ -248,12 +243,6 @@ glyph-block Letter-Latin-Z : begin if serifs : include : serifs XH if slash : include : slash XH - create-glyph "zDesc.\(suffix)" : glyph-proc - include [refer-glyph "z.\(suffix)"] AS_BASE ALSO_METRICS - eject-contour 'serifRB' - include : VBarRight RightSB (HalfStroke - LongJut) - if (small == SmallZCursiveShape) Hook Stroke - create-glyph "zDTail.\(suffix)" : glyph-proc include : MarkSet.e include : small MODE-ZDESC @@ -299,16 +288,18 @@ glyph-block Letter-Latin-Z : begin link-reduced-variant 'z/reduced' 'z' select-variant 'z/rtailBase' (follow -- 'z') - select-variant 'ZDesc' 0x2C6B - select-variant 'zDesc' 0x2C6C select-variant 'ZDTail' 0x224 (follow -- 'ZDesc') select-variant 'zDTail' 0x225 (follow -- 'zDesc') select-variant 'ZSwash' 0x2C7F (follow -- 'ZDesc') select-variant 'zSwash' 0x240 (follow -- 'zDesc') select-variant 'zCurlyTail' 0x291 (follow -- 'zDesc') + derive-composites 'ZDesc' 0x2C6B 'Z/rtailBase' [CyrDescender.r RightSB 0] + derive-composites 'zDesc' 0x2C6C 'z/rtailBase' [CyrDescender.r RightSB 0] + derive-composites 'ZPalatalHook' 0xA7C6 'Z/rtailBase' [PalatalHook.r RightSB 0] derive-composites 'zPalatalHook' 0x1D8E 'z/rtailBase' [PalatalHook.r RightSB 0] + derive-composites 'zRTailBR' 0x290 'z/rtailBase' [RetroflexHook.r RightSB 0] alias 'grek/Zeta' 0x396 'Z/reduced'