Variant reordering

This commit is contained in:
be5invis 2023-11-11 17:42:06 -08:00
parent 8dbb7c6e23
commit cff60d3c99
2 changed files with 142 additions and 154 deletions

View file

@ -1,4 +1,8 @@
* \[**BREAKING**\] The filenames and package filenames are changed.
- They will now use PascalCase instead of kebab-case.
- To package manager maintainers: Please upgrade your script to make it capable to download and install the fonts under new names, and properly uninstall the fonts under old names.
* \[**BREAKING**\] Reorder of glyph variants:
- Influenced characters: `M`, `R`, `f`, `t`, `x`, Long S (`ſ`), Lower Chi (`χ`), Cyrillic Lower Em (`м`), Cyrillic Ya (`Я`, `я`), `5`.
* \[**BREAKING**\] Tags for variant features for Cyrillic lowercase Er and U are changed to `cv76` and `cv78`.
- Various other glyph variant tags are also changed to reflect this insertion.
* Add hook-inward-serifed variants for `a` (#2085).

View file

@ -658,27 +658,11 @@ sampler = "M"
tagKind = "letter"
[prime.capital-m.variants-buildup]
entry = "middle"
entry = "sides"
descriptionLeader = "`M`"
[prime.capital-m.variants-buildup.stages.middle."*"]
next = "sides"
[prime.capital-m.variants-buildup.stages.middle.hanging]
rank = 1
descriptionAffix = "middle being hanging off baseline"
selectorAffix.M = "hanging"
selectorAffix."M/sansSerif" = "hanging"
[prime.capital-m.variants-buildup.stages.middle.flat-bottom]
rank = 2
descriptionAffix = "middle aligned to baseline"
selectorAffix.M = "flatBottom"
selectorAffix."M/sansSerif" = "flatBottom"
[prime.capital-m.variants-buildup.stages.sides."*"]
next = "serifs"
mode = "prepend"
next = "middle"
[prime.capital-m.variants-buildup.stages.sides.straight]
rank = 1
@ -692,6 +676,21 @@ descriptionAffix = "slanted sides"
selectorAffix.M = "slantedSides"
selectorAffix."M/sansSerif" = "slantedSides"
[prime.capital-m.variants-buildup.stages.middle."*"]
next = "serifs"
[prime.capital-m.variants-buildup.stages.middle.hanging]
rank = 1
descriptionAffix = "middle being hanging off baseline"
selectorAffix.M = "hanging"
selectorAffix."M/sansSerif" = "hanging"
[prime.capital-m.variants-buildup.stages.middle.flat-bottom]
rank = 2
descriptionAffix = "middle aligned to baseline"
selectorAffix.M = "flatBottom"
selectorAffix."M/sansSerif" = "flatBottom"
[prime.capital-m.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
@ -882,39 +881,18 @@ sampler = "R"
tagKind = "letter"
[prime.capital-r.variants-buildup]
entry = "openness"
entry = "leg"
descriptionLeader = "`R`"
[prime.capital-r.variants-buildup.stages.openness."*"]
next = "leg"
[prime.capital-r.variants-buildup.stages.openness.closed]
rank = 1
groupRank = 10
keyAffix = ""
selectorAffix.R = ""
selectorAffix."R/sansSerif" = ""
selectorAffix.RBar = ""
selectorAffix.RRTail = ""
selectorAffix.RRotunda = ""
[prime.capital-r.variants-buildup.stages.openness.open]
rank = 2
groupRank = 20
descriptionAffix = "open contour"
selectorAffix.R = "open"
selectorAffix."R/sansSerif" = "open"
selectorAffix.RBar = ""
selectorAffix.RRTail = "open"
selectorAffix.RRotunda = ""
next = "serifs"
[prime.capital-r.variants-buildup.stages.leg."*"]
next = "serifs"
mode = "prepend"
next = "openness"
[prime.capital-r.variants-buildup.stages.leg.straight]
rank = 1
groupRank = 1
groupRank = 10
descriptionAffix = "straight leg"
selectorAffix.R = "straight"
selectorAffix."R/sansSerif" = "straight"
@ -924,7 +902,7 @@ selectorAffix.RRotunda = "straight"
[prime.capital-r.variants-buildup.stages.leg.curly]
rank = 2
groupRank = 2
groupRank = 20
descriptionAffix = "curly leg"
selectorAffix.R = "curly"
selectorAffix."R/sansSerif" = "curly"
@ -934,7 +912,7 @@ selectorAffix.RRotunda = "curly"
[prime.capital-r.variants-buildup.stages.leg.standing]
rank = 3
groupRank = 3
groupRank = 30
descriptionAffix = "standing leg (like Helvetica)"
selectorAffix.R = "standing"
selectorAffix."R/sansSerif" = "standing"
@ -942,6 +920,26 @@ selectorAffix.RBar = "standing"
selectorAffix.RRTail = "standing"
selectorAffix.RRotunda = "standing"
[prime.capital-r.variants-buildup.stages.openness.closed]
rank = 1
groupRank = 1
keyAffix = ""
selectorAffix.R = ""
selectorAffix."R/sansSerif" = ""
selectorAffix.RBar = ""
selectorAffix.RRTail = ""
selectorAffix.RRotunda = ""
[prime.capital-r.variants-buildup.stages.openness.open]
rank = 2
groupRank = 2
descriptionAffix = "open contour"
selectorAffix.R = "open"
selectorAffix."R/sansSerif" = "open"
selectorAffix.RBar = ""
selectorAffix.RRTail = "open"
selectorAffix.RRotunda = ""
[prime.capital-r.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
@ -1544,7 +1542,6 @@ selectorAffix.scripta = ""
[prime.a.variants-buildup.stages.double-storey-hook.hook-serifed]
rank = 2
nonBreakingVariantAdditionPriority = 100
keyAffix = "hook-inward-serifed"
descriptionAffix = "serifed hook"
selectorAffix.a = "hookInwardSerifed"
@ -1932,12 +1929,11 @@ sampler = "f"
tagKind = "letter"
[prime.f.variants-buildup]
entry = "tail"
entry = "hook"
descriptionLeader = "`f`"
[prime.f.variants-buildup.stages.hook."*"]
next = "crossbar"
mode = "prepend"
next = "tail"
[prime.f.variants-buildup.stages.hook.full]
rank = 1
@ -1966,7 +1962,7 @@ selectorAffix.fLenis = "flatHook"
selectorAffix.fLTail = "flatHook"
[prime.f.variants-buildup.stages.tail."*"]
next = "hook"
next = "crossbar"
[prime.f.variants-buildup.stages.tail.serifless]
rank = 1
@ -3489,11 +3485,11 @@ sampler = "t"
tagKind = "letter"
[prime.t.variants-buildup]
entry = "height"
entry = "body"
descriptionLeader = "`t`"
[prime.t.variants-buildup.stages.body."*"]
mode = "prepend"
next = "symmetry"
[prime.t.variants-buildup.stages.body.bent-hook]
rank = 1
@ -3553,8 +3549,7 @@ selectorAffix.tCurlyTail = {if = [{symmetry = "asymmetric"}], then = "flatHook",
selectorAffix."tsLig/upperHalf" = "bentHook"
[prime.t.variants-buildup.stages.symmetry."*"]
next = "body"
mode = "prepend"
next = "height"
[prime.t.variants-buildup.stages.symmetry.symmetric]
rank = 1
@ -3587,7 +3582,6 @@ selectorAffix.tCurlyTail = "asymmetric"
selectorAffix."tsLig/upperHalf" = ""
[prime.t.variants-buildup.stages.height."*"]
next = "symmetry"
[prime.t.variants-buildup.stages.height.full]
rank = 1
@ -3996,7 +3990,6 @@ selectorAffix."cyrl/ha" = "cursive"
[prime.x.variants-buildup.stages.body.semi-chancery-straight]
rank = 4
nonBreakingVariantAdditionPriority = 100
next = "END"
descriptionAffix = "Semi-chancery shape with straight counter-leg"
selectorAffix.x = "semiChanceryStraight"
@ -4005,7 +3998,6 @@ selectorAffix."cyrl/ha" = "semiChanceryStraight"
[prime.x.variants-buildup.stages.body.semi-chancery-curly]
rank = 5
nonBreakingVariantAdditionPriority = 100
next = "END"
descriptionAffix = "Semi-chancery shape with curly counter-leg"
selectorAffix.x = "semiChanceryCurly"
@ -4014,7 +4006,6 @@ selectorAffix."cyrl/ha" = "semiChanceryCurly"
[prime.x.variants-buildup.stages.body.chancery]
rank = 6
nonBreakingVariantAdditionPriority = 200
next = "END"
descriptionAffix = "Chancery shape"
selectorAffix.x = "chancery"
@ -4266,46 +4257,15 @@ samplerExplain = "Long-S"
tagKind = "letter"
[prime.long-s.variants-buildup]
entry = "bottom"
entry = "top"
descriptionLeader = "Long S (`ſ`)"
[prime.long-s.variants-buildup.stages.bottom."*"]
next = "top"
[prime.long-s.variants-buildup.stages.bottom.non-descending]
rank = 1
keyAffix = ""
selectorAffix."longs" = ""
selectorAffix."longs/flatExt" = ""
selectorAffix."longsBar" = ""
[prime.long-s.variants-buildup.stages.bottom.descending]
rank = 2
descriptionAffix = "terminal descends baseline"
selectorAffix."longs" = "descending"
selectorAffix."longs/flatExt" = "descending"
selectorAffix."longsBar" = "descending"
[prime.long-s.variants-buildup.stages.bottom.tailed]
rank = 3
descriptionAffix = "terminal has a tail"
selectorAffix."longs" = "tailed"
selectorAffix."longs/flatExt" = "tailed"
selectorAffix."longsBar" = "tailed"
[prime.long-s.variants-buildup.stages.bottom.diagonal-tailed]
rank = 4
descriptionAffix = "terminal has a diagonal tail"
selectorAffix."longs" = "diagonalTailed"
selectorAffix."longs/flatExt" = "diagonalTailed"
selectorAffix."longsBar" = "diagonalTailed"
[prime.long-s.variants-buildup.stages.top."*"]
next = "serifs"
mode = "prepend"
next = "bottom"
[prime.long-s.variants-buildup.stages.top.bent-hook]
rank = 1
groupRank = 10
descriptionAffix = "bending top hook"
selectorAffix."longs" = "bentHook"
selectorAffix."longs/flatExt" = "flatHookExt"
@ -4313,11 +4273,47 @@ selectorAffix."longsBar" = "bentHook"
[prime.long-s.variants-buildup.stages.top.flat-hook]
rank = 2
groupRank = 20
descriptionAffix = "flat top hook"
selectorAffix."longs" = "flatHook"
selectorAffix."longs/flatExt" = "flatHookExt"
selectorAffix."longsBar" = "flatHook"
[prime.long-s.variants-buildup.stages.bottom."*"]
next = "serifs"
[prime.long-s.variants-buildup.stages.bottom.non-descending]
rank = 1
groupRank = 1
keyAffix = ""
selectorAffix."longs" = ""
selectorAffix."longs/flatExt" = ""
selectorAffix."longsBar" = ""
[prime.long-s.variants-buildup.stages.bottom.descending]
rank = 2
groupRank = 2
descriptionAffix = "terminal descends baseline"
selectorAffix."longs" = "descending"
selectorAffix."longs/flatExt" = "descending"
selectorAffix."longsBar" = "descending"
[prime.long-s.variants-buildup.stages.bottom.tailed]
rank = 3
groupRank = 3
descriptionAffix = "terminal has a tail"
selectorAffix."longs" = "tailed"
selectorAffix."longs/flatExt" = "tailed"
selectorAffix."longsBar" = "tailed"
[prime.long-s.variants-buildup.stages.bottom.diagonal-tailed]
rank = 4
groupRank = 4
descriptionAffix = "terminal has a diagonal tail"
selectorAffix."longs" = "diagonalTailed"
selectorAffix."longs/flatExt" = "diagonalTailed"
selectorAffix."longsBar" = "diagonalTailed"
[prime.long-s.variants-buildup.stages.serifs.serifless__non-descending]
rank = 1
enableIf = [{ bottom = "non-descending" }]
@ -4986,7 +4982,6 @@ selectorAffix."grek/chi/sansSerif" = "curly"
[prime.lower-chi.variants-buildup.stages.body.semi-chancery-straight]
rank = 3
nonBreakingVariantAdditionPriority = 100
next = "END"
descriptionAffix = "Semi-chancery shape with straight counter-leg"
selectorAffix."grek/chi" = "semiChanceryStraight"
@ -4994,7 +4989,6 @@ selectorAffix."grek/chi/sansSerif" = "semiChanceryStraight"
[prime.lower-chi.variants-buildup.stages.body.semi-chancery-curly]
rank = 4
nonBreakingVariantAdditionPriority = 100
next = "END"
descriptionAffix = "Semi-chancery shape with curly counter-leg"
selectorAffix."grek/chi" = "semiChanceryCurly"
@ -5002,7 +4996,6 @@ selectorAffix."grek/chi/sansSerif" = "semiChanceryCurly"
[prime.lower-chi.variants-buildup.stages.body.chancery]
rank = 5
nonBreakingVariantAdditionPriority = 200
next = "END"
descriptionAffix = "Chancery shape"
selectorAffix."grek/chi" = "chancery"
@ -5394,26 +5387,8 @@ sampler = "м"
samplerExplain = "Cyrillic Lower Em"
tagKind = "letter"
[prime.cyrl-em.variants-buildup]
entry = "middle"
descriptionLeader = "Cyrillic Lower Em (`м`)"
[prime.cyrl-em.variants-buildup.stages.middle."*"]
next = "sides"
[prime.cyrl-em.variants-buildup.stages.middle.hanging]
rank = 1
descriptionAffix = "middle being hanging off baseline"
selectorAffix."cyrl/em" = "hanging"
[prime.cyrl-em.variants-buildup.stages.middle.flat-bottom]
rank = 2
descriptionAffix = "middle aligned to baseline"
selectorAffix."cyrl/em" = "flatBottom"
[prime.cyrl-em.variants-buildup.stages.sides."*"]
next = "serifs"
mode = "prepend"
next = "middle"
[prime.cyrl-em.variants-buildup.stages.sides.straight]
rank = 1
@ -5425,6 +5400,23 @@ rank = 2
descriptionAffix = "slanted sides"
selectorAffix."cyrl/em" = "slantedSides"
[prime.cyrl-em.variants-buildup]
entry = "sides"
descriptionLeader = "Cyrillic Lower Em (`м`)"
[prime.cyrl-em.variants-buildup.stages.middle."*"]
next = "serifs"
[prime.cyrl-em.variants-buildup.stages.middle.hanging]
rank = 1
descriptionAffix = "middle being hanging off baseline"
selectorAffix."cyrl/em" = "hanging"
[prime.cyrl-em.variants-buildup.stages.middle.flat-bottom]
rank = 2
descriptionAffix = "middle aligned to baseline"
selectorAffix."cyrl/em" = "flatBottom"
[prime.cyrl-em.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
@ -5522,7 +5514,6 @@ selectorAffix."cyrl/njeKomi" = "serifedExceptBottomRight"
[prime.cyrl-er]
sampler = "р"
samplerExplain = "Cyrillic Lower Er"
nonBreakingTagForNewVariantSelector = "VXAA" # REMOVE IN NEXT MAJOR VERSION CHANGE
tagKind = "letter"
[prime.cyrl-er.variants-buildup]
@ -5643,7 +5634,6 @@ selectorAffix."cyrl/U" = "serifed"
[prime.cyrl-u]
sampler = "у"
samplerExplain = "Cyrillic Lower U"
nonBreakingTagForNewVariantSelector = "VXAB" # REMOVE IN NEXT MAJOR VERSION CHANGE
tagKind = "letter"
[prime.cyrl-u.variants-buildup]
@ -5726,7 +5716,6 @@ selectorAffix."cyrl/ef.BGR" = ""
[prime.cyrl-ef.variants-buildup.stages.bowl.split]
rank = 2
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "split bowl"
selectorAffix."cyrl/ef" = "splitBowl"
selectorAffix."cyrl/ef.BGR" = ""
@ -5757,14 +5746,12 @@ selectorAffix."cyrl/ef.BGR" = "serifless"
[prime.cyrl-ef.variants-buildup.stages.serifs.top-serifed]
rank = 2
nonBreakingVariantAdditionPriority = 10
descriptionAffix = "serif at top"
selectorAffix."cyrl/ef" = "topSerifed"
selectorAffix."cyrl/ef.BGR" = "topSerifed"
[prime.cyrl-ef.variants-buildup.stages.serifs.serifed]
rank = 3
nonBreakingVariantAdditionPriority = 10
descriptionAffix = "serifs at top and bottom"
selectorAffix."cyrl/ef" = "serifed"
selectorAffix."cyrl/ef.BGR" = "serifed"
@ -5911,25 +5898,11 @@ samplerExplain = "Cyrillic Capital Ya"
tagKind = "letter"
[prime.cyrl-capital-ya.variants-buildup]
entry = "openness"
entry = "leg"
descriptionLeader = "Cyrillic Capital Ya (`Я`)"
[prime.cyrl-capital-ya.variants-buildup.stages.openness."*"]
next = "leg"
[prime.cyrl-capital-ya.variants-buildup.stages.openness.closed]
rank = 1
keyAffix = ""
selectorAffix."cyrl/Ya" = ""
[prime.cyrl-capital-ya.variants-buildup.stages.openness.open]
rank = 2
descriptionAffix = "open contour"
selectorAffix."cyrl/Ya" = "open"
[prime.cyrl-capital-ya.variants-buildup.stages.leg."*"]
next = "serifs"
mode = "prepend"
next = "openness"
[prime.cyrl-capital-ya.variants-buildup.stages.leg.straight]
rank = 1
@ -5946,6 +5919,19 @@ rank = 3
descriptionAffix = "standing leg (like Helvetica)"
selectorAffix."cyrl/Ya" = "standing"
[prime.cyrl-capital-ya.variants-buildup.stages.openness."*"]
next = "serifs"
[prime.cyrl-capital-ya.variants-buildup.stages.openness.closed]
rank = 1
keyAffix = ""
selectorAffix."cyrl/Ya" = ""
[prime.cyrl-capital-ya.variants-buildup.stages.openness.open]
rank = 2
descriptionAffix = "open contour"
selectorAffix."cyrl/Ya" = "open"
[prime.cyrl-capital-ya.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
@ -5970,27 +5956,11 @@ samplerExplain = "Cyrillic Lower Ya"
tagKind = "letter"
[prime.cyrl-ya.variants-buildup]
entry = "openness"
entry = "leg"
descriptionLeader = "Cyrillic Lower Ya (`я`)"
[prime.cyrl-ya.variants-buildup.stages.openness."*"]
next = "leg"
[prime.cyrl-ya.variants-buildup.stages.openness.closed]
rank = 1
groupRrank = 10
keyAffix = ""
selectorAffix."cyrl/ya" = ""
[prime.cyrl-ya.variants-buildup.stages.openness.open]
rank = 2
groupRrank = 20
descriptionAffix = "open contour"
selectorAffix."cyrl/ya" = "open"
[prime.cyrl-ya.variants-buildup.stages.leg."*"]
next = "tails"
mode = "prepend"
next = "openness"
[prime.cyrl-ya.variants-buildup.stages.leg.straight]
rank = 1
@ -6010,6 +5980,21 @@ groupRank = 3
descriptionAffix = "standing leg (like Helvetica)"
selectorAffix."cyrl/ya" = "standing"
[prime.cyrl-ya.variants-buildup.stages.openness."*"]
next = "serifs"
[prime.cyrl-ya.variants-buildup.stages.openness.closed]
rank = 1
groupRrank = 10
keyAffix = ""
selectorAffix."cyrl/ya" = ""
[prime.cyrl-ya.variants-buildup.stages.openness.open]
rank = 2
groupRrank = 20
descriptionAffix = "open contour"
selectorAffix."cyrl/ya" = "open"
[prime.cyrl-ya.variants-buildup.stages.tails."*"]
next = "serifs"
@ -6364,7 +6349,6 @@ selectorAffix.zhuangToneFive = "arched"
[prime.five.variants-buildup.stages.middle.flat]
rank = 2
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "flat middle part"
selectorAffix.five = "flat"
selectorAffix.zhuangToneFive = "flat"