* Add bottom-serifed variants to Cyrillic Ze. (#2381)

This commit is contained in:
John McWilliams 2024-06-17 21:40:57 -04:00 committed by GitHub
parent 1b8d466de9
commit 43a4c87843
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 93 additions and 63 deletions

View file

@ -179,6 +179,6 @@ glyph-block Letter-Cyrillic-De : begin
local ze : CyrZe 1 sb XH Descender xZeLeft xZeRight 0.65 Hook df.mvs
include : union [ze.Shape] [ze.AutoEndSerifL]
select-variant 'cyrl/Dzze' 0xA688 (follow -- 'cyrl/ze/topAttached')
select-variant 'cyrl/dzze.upright' (follow -- 'cyrl/ze/topAttached')
select-variant 'cyrl/dzze.italic' (follow -- 'cyrl/ze/topAttached')
select-variant 'cyrl/Dzze' 0xA688 (follow -- 'cyrl/ZeBottomSerifOnly')
select-variant 'cyrl/dzze.upright' (follow -- 'cyrl/zeBottomSerifOnly')
select-variant 'cyrl/dzze.italic' (follow -- 'cyrl/zeBottomSerifOnly')

View file

@ -7,7 +7,7 @@ glyph-module
glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
glyph-block-import Letter-Greek-Lower-Epsilon : CyrZe
glyph-block-import Letter-Greek-Lower-Epsilon : CyrZe EpsilonConfig
glyph-block-export SubDfDimBy4
define [SubDfDimBy4 pShift keeps df _o] : begin
@ -51,17 +51,6 @@ glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin
include : CyrDzzheDeItalicShape df
do "ze subglyph"
define SLAB-NONE 0
define SLAB-CLASSICAL 1
define SLAB-INWARD 2
define ZeConfig : object
serifless { SLAB-NONE SLAB-NONE }
unilateralSerifed { SLAB-CLASSICAL SLAB-NONE }
bilateralSerifed { SLAB-CLASSICAL SLAB-CLASSICAL }
unilateralInwardSerifed { SLAB-INWARD SLAB-NONE }
bilateralInwardSerifed { SLAB-INWARD SLAB-INWARD }
define [CyrZhweZeShape slabTop slabBot df top hook] : glyph-proc
local [object subDf sw] : SubDfDimBy4 0 2 df OX
local ze : CyrZe slabTop slabBot top 0 subDf.leftSB subDf.rightSB 0.65 hook sw (xo -- 0.33 * OX)
@ -69,7 +58,7 @@ glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin
include : ze.AutoStartSerifL
include : ze.AutoEndSerifL
foreach { suffix { slabTop slabBot } } [Object.entries ZeConfig] : do
foreach { suffix { slabTop slabBot } } [Object.entries EpsilonConfig] : do
create-glyph "cyrl/Zhwe/left.\(suffix)" : glyph-proc
define df : include : DivFrame para.diversityM 3.5
include : df.markSet.capital

View file

@ -208,13 +208,13 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
glyph-block-export EpsilonConfig
define EpsilonConfig : object
serifless { SLAB-NONE SLAB-NONE }
bottomSerifed { SLAB-NONE SLAB-CLASSICAL }
bottomInwardSerifed { SLAB-NONE SLAB-INWARD }
unilateralSerifed { SLAB-CLASSICAL SLAB-NONE }
bilateralSerifed { SLAB-CLASSICAL SLAB-CLASSICAL }
unilateralInwardSerifed { SLAB-INWARD SLAB-NONE }
bilateralInwardSerifed { SLAB-INWARD SLAB-INWARD }
seriflessDesc { SLAB-NONE SLAB-CLASSICAL }
unilateralInwardSerifedDesc { SLAB-INWARD SLAB-CLASSICAL }
hybridSerifed1 { SLAB-INWARD SLAB-CLASSICAL }
foreach { suffix { slabTop slabBot } } [Object.entries EpsilonConfig] : do
create-glyph "latn/Epsilon.\(suffix)" : glyph-proc
@ -471,22 +471,22 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
select-variant 'cyrl/Ze' 0x417
select-variant 'cyrl/ze' 0x437
select-variant 'cyrl/KsiBase' (follow -- 'cyrl/Ksi')
select-variant 'cyrl/ksiBase' (follow -- 'cyrl/ksi')
select-variant 'cyrl/ze.BGR' (follow -- 'cyrl/ze')
select-variant 'cyrl/KsiBase' (follow -- 'cyrl/ZeTopSerifOnly')
select-variant 'cyrl/ksiBase' (follow -- 'cyrl/zeTopSerifOnly')
select-variant 'cyrl/ze.BGR' (follow -- 'cyrl/ze')
alias 'latn/EpsilonRev' 0xA7AB 'cyrl/Ze'
alias 'latn/epsilonRev' 0x25C 'cyrl/ze'
select-variant 'cyrl/ZjeKomi' 0x504 (follow -- 'cyrl/Ksi')
select-variant 'cyrl/zjeKomi' 0x505 (follow -- 'cyrl/ksi')
select-variant 'cyrl/DzjeKomi' 0x506 (follow -- 'cyrl/Ksi')
select-variant 'cyrl/dzjeKomi' 0x507 (follow -- 'cyrl/ksi')
select-variant 'cyrl/ZjeKomi' 0x504 (follow -- 'cyrl/ZeTopSerifOnly')
select-variant 'cyrl/zjeKomi' 0x505 (follow -- 'cyrl/zeTopSerifOnly')
select-variant 'cyrl/DzjeKomi' 0x506 (follow -- 'cyrl/ZeTopSerifOnly')
select-variant 'cyrl/dzjeKomi' 0x507 (follow -- 'cyrl/zeTopSerifOnly')
derive-composites 'cyrl/Dhe' 0x498 'cyrl/Ze' 'cedillaExtShapeBelowOArc'
derive-composites 'cyrl/dhe' 0x499 'cyrl/ze' 'cedillaExtShapeBelowSOArc'
select-variant 'latn/epsilon/descBase' (shapeFrom -- 'latn/epsilon')
select-variant 'latn/epsilonRev/descBase' (shapeFrom -- 'cyrl/ze') (follow -- 'latn/epsilon/descBase')
select-variant 'latn/epsilonRev/descBase' (shapeFrom -- 'cyrl/ze') (follow -- 'cyrl/ze/descBase')
derive-composites 'latn/epsilonRetroflexHook' 0x1D93 'latn/epsilon/descBase'
RetroflexHook.r RightSB 0 (refSw -- [AdviceStroke2 2 3 XH])

View file

@ -64,5 +64,5 @@ glyph-block Letter-Latin-Yogh : begin
include : MarkSet.capital
include : YoghShape slabTop XH Descender
select-variant 'Yogh' 0x21C
select-variant 'yogh' 0x21D
select-variant 'Yogh' 0x21C (follow -- 'cyrl/ZeTopSerifOnly')
select-variant 'yogh' 0x21D (follow -- 'cyrl/zeTopSerifOnly')