From f6d5f2f350e492069dc68c323b498e12184e6727 Mon Sep 17 00:00:00 2001 From: John McWilliams <37010132+jmcwilliams403@users.noreply.github.com> Date: Thu, 21 Sep 2023 20:13:30 -0400 Subject: [PATCH] Add Bulgarian override for Cyrillic Capital Ef. (#2004) * Add Bulgarian override for Cyrillic Capital Ef. continuation of #2003 . Also remove `disableIf = [{ bar = "cursive"}]` in `prime.cyrl-ef` because it's never used, for the same reason that `serifless` and `cursive` never mix. * bar bottom/top adjustment --- changes/27.0.2.md | 3 ++- font-src/glyphs/letter/greek/upper-phi.ptl | 18 ++++++++++++++++++ font-src/otl/gsub-locl.ptl | 1 + params/variants.toml | 2 -- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/changes/27.0.2.md b/changes/27.0.2.md index c04889872..cdc4abfee 100644 --- a/changes/27.0.2.md +++ b/changes/27.0.2.md @@ -1,6 +1,7 @@ * Add Characters - LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG (`U+AB46`). -* Add variants for Cyrillic Ef (`ั„`) with a split bowl (#1992). +* Add variants for Cyrillic lower Ef (`ั„`) with a split bowl (#1992). +* Add Bulgarian local variants for Cyrillic Ef (`ะค`,`ั„`). * Fix serifs in `U+01A6`. * Improve serifs of Turn M (`U+019C`, `U+026F`) under quasi-proportional. * Make Turn h (`U+0265`) and Turn M with Long Leg (`U+0270`) follow serif variants of `u`. diff --git a/font-src/glyphs/letter/greek/upper-phi.ptl b/font-src/glyphs/letter/greek/upper-phi.ptl index efcc4ab25..7b4ab8922 100644 --- a/font-src/glyphs/letter/greek/upper-phi.ptl +++ b/font-src/glyphs/letter/greek/upper-phi.ptl @@ -8,6 +8,7 @@ glyph-module glyph-block Letter-Greek-Upper-Phi : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives + glyph-block-import Mark-Adjustment : ExtendAboveBaseAnchors ExtendBelowBaseAnchors glyph-block-import Letter-Shared-Shapes : FlatHookDepth OBarLeft OBarRight glyph-block-import Letter-Latin-Lower-AE-OE : SubDfAndShift @@ -90,6 +91,23 @@ glyph-block Letter-Greek-Upper-Phi : begin include : df.markSet.capital include : GrekCapitalPhiImpl 1 df + create-glyph 'cyrl/Ef.BGR' : glyph-proc + local df : include : DivFrame para.diversityM 3 + include : df.markSet.capital + + local top : CAP + LongJut - HalfStroke + local bot : 0 - LongJut + HalfStroke + + include : ExtendAboveBaseAnchors top + include : ExtendBelowBaseAnchors bot + + include : VarPhiRing 0 df 0 CAP + include : StraightBar df bot 0 CAP top + + if SLAB : begin + include : tagged 'serifMT' : HSerif.mt df.middle top MidJutSide + include : tagged 'serifMB' : HSerif.mb df.middle bot MidJutSide + create-glyph 'grek/varphi' 0x3D5 : glyph-proc local df : include : DivFrame para.diversityM 3 include : df.markSet.bp diff --git a/font-src/otl/gsub-locl.ptl b/font-src/otl/gsub-locl.ptl index be2ab38e0..44f818ea2 100644 --- a/font-src/otl/gsub-locl.ptl +++ b/font-src/otl/gsub-locl.ptl @@ -53,6 +53,7 @@ export : define [buildLOCL sink para glyphStore] : begin 'cyrl/en' : glyphStore.ensureExists 'cyrl/en.BGR' 'cyrl/pe' : glyphStore.ensureExists 'cyrl/pe.BGR' 'cyrl/te' : glyphStore.ensureExists 'cyrl/te.BGR' + 'cyrl/Ef' : glyphStore.ensureExists 'cyrl/Ef.BGR' 'cyrl/ef' : glyphStore.ensureExists 'cyrl/ef.BGR' 'cyrl/che' : glyphStore.ensureExists 'cyrl/che.BGR' 'cyrl/sha' : glyphStore.ensureExists 'cyrl/sha.BGR' diff --git a/params/variants.toml b/params/variants.toml index a870e9345..1913ea124 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -5402,7 +5402,6 @@ selectorAffix."cyrl/ef.BGR" = "serifless" [prime.cyrl-ef.variants-buildup.stages.serifs.top-serifed] rank = 2 nonBreakingVariantAdditionPriority = 10 -disableIf = [{ bar = "cursive" }] descriptionAffix = "serif at top" selectorAffix."cyrl/ef" = "topSerifed" selectorAffix."cyrl/ef.BGR" = "topSerifed" @@ -5410,7 +5409,6 @@ selectorAffix."cyrl/ef.BGR" = "topSerifed" [prime.cyrl-ef.variants-buildup.stages.serifs.serifed] rank = 3 nonBreakingVariantAdditionPriority = 10 -disableIf = [{ bar = "cursive" }] descriptionAffix = "serifs at top and bottom" selectorAffix."cyrl/ef" = "serifed" selectorAffix."cyrl/ef.BGR" = "serifed"