Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Add variant selectors For Cyrillic Lower A/Ve. #2428

Merged
merged 1 commit into from
Jul 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions build-plans.toml
Original file line number Diff line number Diff line change
Expand Up @@ -706,10 +706,9 @@ eszet = "longs-s-lig-serifless"
lower-iota = "flat-tailed"
lower-lambda = "straight-turn"
lower-tau = "short-tailed"
cyrl-a = "double-storey-serifless"
cyrl-u = "straight-serifless"
cyrl-ef = "split-serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
four = "closed-serifless"
six = "closed-contour"
nine = "closed-contour"
Expand Down
1 change: 1 addition & 0 deletions changes/30.4.0.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
* Add separate variant selectors For Cyrillic Lower A/Ve (`VXAF`, `VXAG`).
* Optimize the shape of rounded `e` (#2424).
2 changes: 1 addition & 1 deletion packages/font-glyphs/src/letter/cyrillic/iotified-a.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -171,5 +171,5 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
include : Iotified.full df XH df.middle (XH / 2)

select-variant 'cyrl/AIotified' 0xA656 (follow -- 'A')
select-variant 'cyrl/aIotified' 0xA657 (follow -- 'a')
select-variant 'cyrl/aIotified' 0xA657 (follow -- 'cyrl/a')
select-variant 'latn/eIotified' 0xAB61 (follow -- 'e')
1 change: 0 additions & 1 deletion packages/font-glyphs/src/letter/cyrillic/orthography.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ glyph-block Letter-Cyrillic-Orthography : begin
glyph-block-import Common-Derivatives
glyph-block-import Letter-Shared : CreateAccentedComposition

orthographic-italic 'cyrl/ve' 0x432
orthographic-italic 'cyrl/ghe' 0x433
orthographic-italic 'cyrl/de' 0x434
orthographic-italic 'cyrl/i' 0x438
Expand Down
7 changes: 4 additions & 3 deletions packages/font-glyphs/src/letter/latin-ext/lower-ae-oe.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
select-variant "ue/u"
select-variant "au/u" (follow -- [if [MEnoughSpaceForFullSerifs : dfM] 'au/u/full' 'au/u/reduced'])
select-variant "oeOpenO/left" (follow -- 'c')
select-variant "cyrl/ae/a" (shapeFrom -- 'ae/a')
select-variant "cyrl/yae/left"
select-variant "cyrl/rha/left" (follow -- 'cyrl/er')
select-variant "cyrl/rha/right"
Expand All @@ -418,13 +419,13 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
derive-composites 'oo' 0xA74F 'oe/o' 'ao/o'
derive-composites 'uo' 0xAB63 'ue/u' 'ao/o'
derive-composites 'oeOpenO' 0xAB62 'oeOpenO/left' 'ae/e'
derive-composites 'aeInvE' 0xAB31 'ae/a' 'aeInvE/right'
derive-composites 'oeInv' 0xAB40 'oe/o' 'aeInvE/right'
derive-composites 'aeInvE' 0xAB31 'ae/a' 'aeInvE/right'
derive-composites 'oeInv' 0xAB40 'oe/o' 'aeInvE/right'
derive-composites 'cyrl/ae' 0x4D5 'cyrl/ae/a' 'ae/e'
derive-composites 'cyrl/lha' 0x515 'cyrl/lha/left' 'cyrl/lha/right'
derive-composites 'cyrl/Lha' 0x514 'cyrl/Lha/left' 'cyrl/Lha/right'
derive-composites 'cyrl/yae' 0x519 'cyrl/yae/left' 'ae/e'

alias 'cyrl/ae' 0x4D5 'ae'
alias 'cyrl/oo' 0xA699 'oo'

CreateTurnedLetter 'turnae' 0x1D02 'ae' HalfAdvance (XH / 2) [DivFrame para.diversityM 3]
Expand Down
2 changes: 1 addition & 1 deletion packages/font-glyphs/src/letter/latin/lower-a.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ glyph-block Letter-Latin-Lower-A : begin
link-reduced-variant 'a/sansSerif' 'a' MathSansSerif
link-reduced-variant 'a/rtailBase' 'a'
link-reduced-variant 'a/turnABase' 'a'
alias 'cyrl/a' 0x430 'a'
select-variant 'cyrl/a' 0x430 (shapeFrom -- 'a')

CreateTurnedLetter 'turna' 0x250 'a/turnABase' HalfAdvance (XH / 2)

Expand Down
45 changes: 23 additions & 22 deletions packages/font-glyphs/src/letter/latin/upper-b.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -149,12 +149,12 @@ glyph-block Letter-Latin-Upper-B : begin
include [refer-glyph "B.\(suffix)"] AS_BASE ALSO_METRICS
include : BOverlayBar CAP bp

if (!fAsymmetric) : create-glyph "smcpB.\(suffix)" : glyph-proc
if (!fAsymmetric) : create-glyph "cyrl/ve.\(suffix)" : glyph-proc
include : MarkSet.e
include : body XH [AdviceStroke2 2 3 XH] ts bs

if (!fGap && !fAsymmetric) : create-glyph "smcpBBar.\(suffix)" : glyph-proc
include [refer-glyph "smcpB.\(suffix)"] AS_BASE ALSO_METRICS
include [refer-glyph "cyrl/ve.\(suffix)"] AS_BASE ALSO_METRICS
include : BOverlayBar XH bp

create-glyph "currency/baht.\(suffix)" : union
Expand Down Expand Up @@ -185,26 +185,12 @@ glyph-block Letter-Latin-Upper-B : begin
alias-reduced-variant 'grek/Beta/sansSerif' 'grek/Beta' 'B/sansSerif' MathSansSerif
alias 'cyrl/Ve' 0x412 'B'

select-variant 'smcpB' 0x299
alias 'cyrl/ve.upright' null 'smcpB'

select-variant 'BBar'
select-variant 'smcpBBar' 0x1D03

select-variant 'Bhookleft' 0x181

create-glyph 'mathbb/B' 0x1D539 : glyph-proc
include : MarkSet.capital
include : union
BShape CAP (stroke -- BBS) (serifs -- false)
intersection
BShapeMask CAP (stroke -- BBS)
union
VBar.r (RightSB - BBD - OX * 2) 0 (CAP * BBarPos) BBS
VBar.r ([mix SB RightSB BArcMix] - BBD - OX * 2) (CAP * BBarPos) CAP BBS
VBar.l (SB + BBD) 0 CAP BBS

define [ItalicCyrveShape top] : glyph-proc
define [CursiveCyrveShape top] : glyph-proc
local stroke : AdviceStroke2 2 3 top
local mid : mix RightSB SB 0.65
local midy : top * HBarPos
Expand All @@ -226,15 +212,30 @@ glyph-block Letter-Latin-Upper-B : begin
flat Middle (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
curl mid (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]

create-glyph 'cyrl/ve.italic' : glyph-proc
create-glyph 'cyrl/ve.cursive' : glyph-proc
include : MarkSet.e
include : ItalicCyrveShape XH
include : CursiveCyrveShape XH

create-glyph 'grek/betaSymbol' 0x3D0 : glyph-proc
create-glyph 'cyrl/ve.cursiveTall' : glyph-proc
include : MarkSet.b
include : ItalicCyrveShape Ascender
include : CursiveCyrveShape Ascender

alias 'cyrl/ve.BGR' null 'grek/betaSymbol'
select-variant 'cyrl/ve' 0x432
select-variant 'smcpB' 0x299 (shapeFrom -- 'cyrl/ve')

alias 'grek/betaSymbol' 0x3D0 'cyrl/ve.cursiveTall'
alias 'cyrl/ve.BGR' null 'cyrl/ve.cursiveTall'

create-glyph 'mathbb/B' 0x1D539 : glyph-proc
include : MarkSet.capital
include : union
BShape CAP (stroke -- BBS) (serifs -- false)
intersection
BShapeMask CAP (stroke -- BBS)
union
VBar.r (RightSB - BBD - OX * 2) 0 (CAP * BBarPos) BBS
VBar.r ([mix SB RightSB BArcMix] - BBD - OX * 2) (CAP * BBarPos) CAP BBS
VBar.l (SB + BBD) 0 CAP BBS

create-glyph 'grek/beta' 0x3B2 : glyph-proc
include : MarkSet.bp
Expand Down
Loading
Loading