From 44b27b97134e0790bc8ed3677a03dcf99fc74940 Mon Sep 17 00:00:00 2001 From: be5invis Date: Wed, 21 Dec 2022 23:29:07 -0800 Subject: [PATCH] * Add Characters - LATIN CAPITAL LETTER REVERSED HALF H (`U+A7F5`) (#1490). - LATIN SMALL LETTER REVERSED HALF H (`U+A7F6`) (#1490). - LATIN LETTER SMALL CAPITAL TURNED M (`U+A7FA`) (#1490). --- changes/17.0.0.md | 4 ++++ font-src/glyphs/letter/cyrillic/sha.ptl | 2 ++ font-src/glyphs/letter/latin/upper-h.ptl | 30 +++++++++++++++++++----- params/variants.toml | 12 ++++++---- 4 files changed, 38 insertions(+), 10 deletions(-) diff --git a/changes/17.0.0.md b/changes/17.0.0.md index ef9dca7cf..04f8a7378 100644 --- a/changes/17.0.0.md +++ b/changes/17.0.0.md @@ -1,3 +1,7 @@ +* Add Characters + - LATIN CAPITAL LETTER REVERSED HALF H (`U+A7F5`) (#1490). + - LATIN SMALL LETTER REVERSED HALF H (`U+A7F6`) (#1490). + - LATIN LETTER SMALL CAPITAL TURNED M (`U+A7FA`) (#1490). * Add tailed variant of et-like `&` (#1491). * Add serifs to Wynn and Yogh under Slab (#1489). * Adjust the shape of Cyrillic Omega (#1489). diff --git a/font-src/glyphs/letter/cyrillic/sha.ptl b/font-src/glyphs/letter/cyrillic/sha.ptl index d1a10a2d4..c9897e6f2 100644 --- a/font-src/glyphs/letter/cyrillic/sha.ptl +++ b/font-src/glyphs/letter/cyrillic/sha.ptl @@ -44,6 +44,8 @@ glyph-block Letter-Cyrillic-Sha : begin include : df.markSet.e include : CyrShaShape XH df + alias 'smcpMTurned' 0xA7FA 'cyrl/sha.upright' + turned 'cyrl/sha.italic.toothed' null 'm.normal' [DivFrame para.diversityM 3].middle (XH / 2) create-glyph 'cyrl/sha.italic.tailed' : glyph-proc local df : DivFrame para.diversityM 3 diff --git a/font-src/glyphs/letter/latin/upper-h.ptl b/font-src/glyphs/letter/latin/upper-h.ptl index edcd1d17d..296d74d70 100644 --- a/font-src/glyphs/letter/latin/upper-h.ptl +++ b/font-src/glyphs/letter/latin/upper-h.ptl @@ -120,7 +120,7 @@ glyph-block Letter-Latin-Upper-H : begin include : Body SB RightSB XH include : HSerifs slabType XH 0 SB RightSB - create-glyph "halfH.\(suffix)" : glyph-proc + create-glyph "leftHalfH.\(suffix)" : glyph-proc include : MarkSet.capital include : Body SB RightSB CAP eject-contour 'strokeR' @@ -128,7 +128,15 @@ glyph-block Letter-Latin-Upper-H : begin eject-contour 'serifRT' eject-contour 'serifRB' - create-glyph "halfSmcpH.\(suffix)" : glyph-proc + create-glyph "rightHalfH.\(suffix)" : glyph-proc + include : MarkSet.capital + include : Body SB RightSB CAP + eject-contour 'strokeL' + include : HSerifs slabType CAP 0 SB RightSB + eject-contour 'serifLT' + eject-contour 'serifLB' + + create-glyph "leftHalfSmcpH.\(suffix)" : glyph-proc include : MarkSet.e include : Body SB RightSB XH eject-contour 'strokeR' @@ -136,6 +144,14 @@ glyph-block Letter-Latin-Upper-H : begin eject-contour 'serifRT' eject-contour 'serifRB' + create-glyph "rightHalfSmcpH.\(suffix)" : glyph-proc + include : MarkSet.e + include : Body SB RightSB XH + eject-contour 'strokeL' + include : HSerifs slabType XH 0 SB RightSB + eject-contour 'serifLT' + eject-contour 'serifLB' + create-glyph "cyrl/EnGhe.\(suffix)" : glyph-proc define df : DivFrame para.diversityM 3 set-width df.width @@ -173,15 +189,17 @@ glyph-block Letter-Latin-Upper-H : begin select-variant 'HTurned' 0xA78D (follow -- 'H') link-reduced-variant 'grek/Eta/sansSerif' 'grek/Eta' MathSansSerif (follow -- 'H/sansSerif') alias 'cyrl/En' 0x41D 'H' - select-variant 'halfH' 0x2C75 - alias 'grek/Heta' 0x370 'halfH' + select-variant 'leftHalfH' 0x2C75 + select-variant 'rightHalfH' 0xA7F5 + alias 'grek/Heta' 0x370 'leftHalfH' select-variant 'smcpH' 0x29C (follow -- 'H') - select-variant 'halfSmcpH' 0x2C76 (follow -- 'halfH') + select-variant 'leftHalfSmcpH' 0x2C76 (follow -- 'leftHalfH') + select-variant 'rightHalfSmcpH' 0xA7F6 (follow -- 'rightHalfH') select-variant 'cyrl/en' 0x43D (shapeFrom -- 'smcpH') select-variant 'cyrl/en/descenderBase' (shapeFrom -- 'smcpH') select-variant 'cyrl/en.BGR' (shapeFrom -- 'smcpH') - alias 'grek/heta' 0x371 'halfSmcpH.serifless' + alias 'grek/heta' 0x371 'leftHalfSmcpH.serifless' derive-composites 'cyrl/EnDescender' 0x4A2 'cyrl/En' [CyrDescender.rSideJut RightSB 0] derive-composites 'cyrl/enDescender' 0x4A3 'cyrl/en/descenderBase' [CyrDescender.rSideJut RightSB 0] diff --git a/params/variants.toml b/params/variants.toml index 0a6cc5327..6fd976440 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -502,7 +502,8 @@ tag = "cv08" rank = 1 description = "H without serifs" selector.H = "serifless" -selector.halfH = "serifless" +selector.leftHalfH = "serifless" +selector.rightHalfH = "serifless" selector."H/sansSerif" = "serifless" selector.Hwair = "serifless" selector.HHookLeft = "serifless" @@ -513,7 +514,8 @@ selector."cyrl/Nje/leftHalf/reduced" = "serifless" rank = 2 description = "H with serif only at top left" selector.H = "topLeftSerifed" -selector.halfH = "topLeftSerifed" +selector.leftHalfH = "topLeftSerifed" +selector.rightHalfH = "serifless" selector."H/sansSerif" = "serifless" selector.Hwair = "topLeftSerifed" selector.HHookLeft = "serifless" @@ -524,7 +526,8 @@ selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed" rank = 3 description = "H with serif only at top left and bottom right" selector.H = "topLeftBottomRightSerifed" -selector.halfH = "topLeftSerifed" +selector.leftHalfH = "topLeftSerifed" +selector.rightHalfH = "topLeftBottomRightSerifed" selector."H/sansSerif" = "serifless" selector.Hwair = "topLeftSerifed" selector.HHookLeft = "topLeftBottomRightSerifed" @@ -535,7 +538,8 @@ selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed" rank = 4 description = "H with serifs" selector.H = "serifed" -selector.halfH = "serifed" +selector.leftHalfH = "serifed" +selector.rightHalfH = "serifed" selector."H/sansSerif" = "serifless" selector.Hwair = "serifedExceptBottomRight" selector.HHookLeft = "serifed"