From d91cbeca6cf2bfebd0e7d95c80099db0b9c4dc5f Mon Sep 17 00:00:00 2001 From: be5invis Date: Thu, 9 Nov 2023 20:03:27 -0800 Subject: [PATCH] Refine Greek Capital Sho (U+03F7) glyph (#2079). --- changes/27.3.5.md | 1 + font-src/glyphs/letter/latin-ext/thorn.ptl | 23 +++++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/changes/27.3.5.md b/changes/27.3.5.md index 5c773c47d..46db7d427 100644 --- a/changes/27.3.5.md +++ b/changes/27.3.5.md @@ -2,3 +2,4 @@ * Add top-right serif to fully serifed form for CYRILLIC SMALL LETTER TALL TE (`U+1C84`). * Fix serifs of GREEK LETTER DIGAMMA (`U+03DC`) under `ss12`. * Improve crossbar position of GREEK SMALL LETTER DIGAMMA (`U+03DD`) and add a middle serif under slab. +* Refine Greek Capital Sho (U+03F7) glyph (#2079). diff --git a/font-src/glyphs/letter/latin-ext/thorn.ptl b/font-src/glyphs/letter/latin-ext/thorn.ptl index 1fb3d4a9a..29e82f706 100644 --- a/font-src/glyphs/letter/latin-ext/thorn.ptl +++ b/font-src/glyphs/letter/latin-ext/thorn.ptl @@ -14,8 +14,8 @@ glyph-block Letter-Latin-Thorn : begin define xThornLeftStroke : SB * 1.25 define yThornBowlBot : CAP * 0.25 + [if SLAB (Stroke * 0.125) 0] - define [ThornShape yBowlBot] : glyph-proc - local yBowlTop : CAP - 0.7 * yBowlBot + [if SLAB (-0.125) 0.25] * Stroke + define yThornBowlTop : CAP - 0.7 * yThornBowlBot + [if SLAB (-0.125) 0.25] * Stroke + define [ThornShape yBowlBot yBowlTop] : glyph-proc local turn : mix yBowlTop yBowlBot (ArchDepthB / (ArchDepthA + ArchDepthB)) local turnRadius : (yBowlTop - yBowlBot) / 2 @@ -37,14 +37,21 @@ glyph-block Letter-Latin-Thorn : begin create-glyph 'Thorn' 0xDE : glyph-proc include : MarkSet.capital - include : ThornShape yThornBowlBot + include : ThornShape yThornBowlBot yThornBowlTop + include : LeaningAnchor.Above.VBar.l xThornLeftStroke + include : LeaningAnchor.Below.VBar.l xThornLeftStroke + + create-glyph 'grek/Sho' 0x3F7 : glyph-proc + include : MarkSet.capital + local d : mix yThornBowlBot (CAP - yThornBowlTop) 0.5 + include : ThornShape d (CAP - d) include : LeaningAnchor.Above.VBar.l xThornLeftStroke include : LeaningAnchor.Below.VBar.l xThornLeftStroke create-glyph 'ThornBarTop/Overlay' : LetterBarOverlay.l.in x -- xThornLeftStroke top -- (CAP - [if SLAB Stroke 0]) - bot -- (CAP - yThornBowlBot) + bot -- (CAP - [mix yThornBowlBot (CAP - yThornBowlTop) 0.5]) create-glyph 'thornBarTop/Overlay' : LetterBarOverlay.l.in x -- SB top -- (Ascender - [if SLAB Stroke 0]) @@ -52,15 +59,13 @@ glyph-block Letter-Latin-Thorn : begin create-glyph 'ThornBarBot/Overlay' : LetterBarOverlay.l.in x -- xThornLeftStroke bot -- (0 + [if SLAB Stroke 0]) - top -- yThornBowlBot + top -- [mix yThornBowlBot (CAP - yThornBowlTop) 0.5] create-glyph 'thornBarBot/Overlay' : LetterBarOverlay.l.in x -- SB bot -- (Descender + [if SLAB Stroke 0]) top -- 0 - derive-composites 'ThornBarTop' 0xA764 'Thorn' 'ThornBarTop/Overlay' + derive-composites 'ThornBarTop' 0xA764 'grek/Sho' 'ThornBarTop/Overlay' derive-composites 'thornBarTop' 0xA765 'thorn' 'thornBarTop/Overlay' - derive-composites 'ThornBarBot' 0xA766 'Thorn' 'ThornBarBot/Overlay' + derive-composites 'ThornBarBot' 0xA766 'grek/Sho' 'ThornBarBot/Overlay' derive-composites 'thornBarBot' 0xA767 'thorn' 'thornBarBot/Overlay' - - alias 'grek/Sho' 0x3F7 'Thorn'