Add separate variant selector for Cyrillic small M (#1828)

Variant is placed between Cyrillic El and Cyrillic En.
In the future, special tailed italic em forms like the ones for el/en would be nice, especially for ss03 which uses a left tailed italic form.
This commit is contained in:
John McWilliams 2023-07-04 16:42:47 -04:00 committed by GitHub
parent 57ca3391fe
commit 317864cd2c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 115 additions and 49 deletions

View file

@ -707,6 +707,7 @@ lower-lambda = "straight-turn"
cyrl-ef = "serifless"
cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-serifless"
cyrl-em = "flat-bottom-serifless"
cyrl-capital-u = "straight-serifless"
at = "fourfold"
percent = "rings-continuous-slash"
@ -739,6 +740,7 @@ lower-lambda = "straight-turn"
cyrl-ef = "serifless"
cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-serifless"
cyrl-em = "flat-bottom-serifless"
cyrl-capital-u = "straight-serifless"
at = "fourfold"
percent = "rings-continuous-slash"

View file

@ -1,4 +1,5 @@
* \[**BREAKING**\] Add middle serifed and XH serifed variants for Long S (`U+017F`) without a baseline serif. As a result, current variants are reordered (#1807).
* \[**BREAKING**\] Add separate variant selector for CYRILLIC SMALL LETTER EM (`U+043C`). As a result, current variant selectors are reordered (#1825).
* Add tailless bar, earless corner, and earless corner tailed variants for Greek Alpha (`U+03B1`).
* Add Characters:
- CYRILLIC CAPITAL LETTER DZZE (`U+A688`) (#1799).
@ -15,8 +16,8 @@
* Fix effect of `cv23` on LATIN CAPITAL LETTER CHI (`A7B3`).
* Make `cv36` affect LATIN SMALL LETTER KRA (`U+0138`) and GREEK SMALL LETTER KAPPA (`U+03BA`).
* Make `cv39` affect GREEK SMALL LETTER ETA (`U+03B7`).
* Fix variant assignment of `cv99` on `ss09`.
* Fix variant assignment of `cv71` on `ss12` and `ss15`.
* Fix variant assignment of `vxsa` on `ss09`.
* Fix variant assignment of `cv72` on `ss12` and `ss15`.
* Fix variant assignment of `vxaa` on `ss16` and `ss17`.
* Fix variant assignment of `vxsf` and `vxsg` on `ss18`.
* Fix variant assignment of `vxsg` and `vxsh` on `ss18`.
* Improve density of quadruple arrows for better legibility at smaller font sizes.

View file

@ -634,14 +634,12 @@ rank = 1
descriptionAffix = "middle being hanging off baseline"
selectorAffix.M = "hanging"
selectorAffix."M/sansSerif" = "hanging"
selectorAffix."cyrl/em" = "hanging"
[prime.capital-m.variants-buildup.stages.middle.flat-bottom]
rank = 2
descriptionAffix = "middle aligned to baseline"
selectorAffix.M = "flatBottom"
selectorAffix."M/sansSerif" = "flatBottom"
selectorAffix."cyrl/em" = "flatBottom"
[prime.capital-m.variants-buildup.stages.sides."*"]
next = "serifs"
@ -652,14 +650,12 @@ rank = 1
keyAffix = ""
selectorAffix.M = ""
selectorAffix."M/sansSerif" = ""
selectorAffix."cyrl/em" = ""
[prime.capital-m.variants-buildup.stages.sides.slanted-sides]
rank = 2
descriptionAffix = "slanted sides"
selectorAffix.M = "slantedSides"
selectorAffix."M/sansSerif" = "slantedSides"
selectorAffix."cyrl/em" = "slantedSides"
[prime.capital-m.variants-buildup.stages.serifs.serifless]
rank = 1
@ -667,21 +663,18 @@ descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.M = "serifless"
selectorAffix."M/sansSerif" = "serifless"
selectorAffix."cyrl/em" = "serifless"
[prime.capital-m.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix.M = "motionSerifed"
selectorAffix."M/sansSerif" = "serifless"
selectorAffix."cyrl/em" = "motionSerifed"
[prime.capital-m.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.M = "serifed"
selectorAffix."M/sansSerif" = "serifless"
selectorAffix."cyrl/em" = "smallCyrl"
@ -4584,10 +4577,64 @@ selector."cyrl/el" = "tailed"
[prime.cyrl-em]
sampler = "м"
samplerExplain = "Cyrillic Lower Em"
tag = "cv68"
[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"
[prime.cyrl-em.variants-buildup.stages.sides.straight]
rank = 1
keyAffix = ""
selectorAffix."cyrl/em" = ""
[prime.cyrl-em.variants-buildup.stages.sides.slanted-sides]
rank = 2
descriptionAffix = "slanted sides"
selectorAffix."cyrl/em" = "slantedSides"
[prime.cyrl-em.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/em" = "serifless"
[prime.cyrl-em.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix."cyrl/em" = "motionSerifed"
[prime.cyrl-em.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix."cyrl/em" = "smallCyrl"
[prime.cyrl-en]
sampler = "н"
samplerExplain = "Cyrillic Lower En"
tag = "cv68"
tag = "cv69"
[prime.cyrl-en.variants-buildup]
entry = "tail"
@ -4663,7 +4710,7 @@ selectorAffix."cyrl/njeKomi" = "serifedExceptBottomRight"
[prime.cyrl-ef]
sampler = "ф"
samplerExplain = "Cyrillic Lower Ef"
tag = "cv69"
tag = "cv70"
[prime.cyrl-ef.variants.serifless]
rank = 1
@ -4706,7 +4753,7 @@ selector."latn/phi" = "serifed"
[prime.cyrl-che]
sampler = "ч"
samplerExplain = "Cyrillic Lower Che"
tag = "cv70"
tag = "cv71"
[prime.cyrl-che.variants.standard]
rank = 1
@ -4723,7 +4770,7 @@ selector."cyrl/che" = "tailed"
[prime.cyrl-capital-u]
sampler = "У"
samplerExplain = "Cyrillic Capital U"
tag = "cv71"
tag = "cv72"
[prime.cyrl-capital-u.variants-buildup]
entry = "body"
@ -4788,7 +4835,7 @@ selectorAffix."cyrl/U" = "serifed"
[prime.cyrl-capital-ya]
sampler = "Я"
samplerExplain = "Cyrillic Capital Ya"
tag = "cv72"
tag = "cv73"
[prime.cyrl-capital-ya.variants-buildup]
entry = "openness"
@ -4842,7 +4889,7 @@ selectorAffix."cyrl/Ya" = "serifed"
[prime.cyrl-ya]
sampler = "я"
samplerExplain = "Cyrillic Lower Ya"
tag = "cv73"
tag = "cv74"
[prime.cyrl-ya.variants-buildup]
entry = "openness"
@ -4946,7 +4993,7 @@ selector."cyrl/Lje" = "cursive"
[prime.cyrl-yeri]
sampler = "ь"
samplerExplain = "Cyrillic Lower Yeri and related letters"
tag = "cv74"
tag = "cv75"
[prime.cyrl-yeri.variants.corner]
rank = 1
@ -4989,7 +5036,7 @@ selector."latn/yatSakha.upright" = "cursive"
[prime.cyrl-yery]
sampler = "ы"
samplerExplain = "Cyrillic Lower Yery"
tag = "cv75"
tag = "cv76"
[prime.cyrl-yery.variants.corner]
rank = 1
@ -5025,7 +5072,7 @@ selector."cyrl/yery" = "cursiveTailed"
[prime.zero]
sampler = "0"
tag = "cv76"
tag = "cv77"
[prime.zero.variants-buildup]
entry = "body"
@ -5181,7 +5228,7 @@ selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.one]
sampler = "1"
tag = "cv77"
tag = "cv78"
[prime.one.variants.line]
rank = 1
@ -5232,7 +5279,7 @@ selector.one = "baseTopCut"
[prime.two]
sampler = "2"
tag = "cv78"
tag = "cv79"
[prime.two.variants.straight-neck]
rank = 1
@ -5248,7 +5295,7 @@ selector.two = "curlyNeck"
[prime.three]
sampler = "3"
tag = "cv79"
tag = "cv80"
[prime.three.variants.flat-top]
rank = 1
@ -5264,7 +5311,7 @@ selector.three = "twoArcs"
[prime.four]
sampler = "4"
tag = "cv80"
tag = "cv81"
[prime.four.variants.closed]
rank = 1
@ -5300,7 +5347,7 @@ selector.four = "openNonCrossing"
[prime.five]
sampler = "5"
tag = "cv81"
tag = "cv82"
[prime.five.variants.vertical-upper-left-bar]
rank = 1
@ -5316,7 +5363,7 @@ selector.five = "obliqueUpperLeftBar"
[prime.six]
sampler = "6"
tag = "cv82"
tag = "cv83"
[prime.six.variants.closed-contour]
rank = 1
@ -5337,7 +5384,7 @@ selector.six = "straightBar"
[prime.seven]
sampler = "7"
tag = "cv83"
tag = "cv84"
[prime.seven.variants-buildup]
entry = "body"
@ -5389,7 +5436,7 @@ selectorAffix.seven = "crossbar"
[prime.eight]
sampler = "8"
tag = "cv84"
tag = "cv85"
[prime.eight.variants.crossing]
rank = 1
@ -5410,7 +5457,7 @@ selector.eight = "crossingAsymmetric"
[prime.nine]
sampler = "9"
tag = "cv85"
tag = "cv86"
[prime.nine.variants.closed-contour]
rank = 1
@ -5433,7 +5480,7 @@ selector.nine = "straightBar"
sampler = "öẋ ij"
hotChars = "ijäöü"
samplerExplain = "Dot and Comma shape in diacritics"
tag = "cv86"
tag = "cv87"
[prime.diacritic-dot.variants.round]
rank = 1
@ -5451,7 +5498,7 @@ selector.diacriticDot = "square"
sampler = "., :;"
hotChars = ".,:;?!"
samplerExplain = "Dot and Comma shape in punctuations and symbols"
tag = "cv87"
tag = "cv88"
[prime.punctuation-dot.variants.round]
rank = 1
@ -5467,7 +5514,7 @@ selector.punctuationDot = "square"
[prime.tilde]
sampler = "~"
tag = "cv88"
tag = "cv89"
[prime.tilde.variants.high]
rank = 1
@ -5483,7 +5530,7 @@ selector.asciiTilde = "low"
[prime.asterisk]
sampler = "*"
tag = "cv89"
tag = "cv90"
[prime.asterisk.variants-buildup]
entry = "body"
@ -5563,7 +5610,7 @@ selectorAffix.flower = "sMid"
[prime.underscore]
sampler = "_"
tag = "cv90"
tag = "cv91"
[prime.underscore.variants.above-baseline]
rank = 1
@ -5584,7 +5631,7 @@ selector.underscore = "low"
[prime.caret]
sampler = "^"
tag = "cv91"
tag = "cv92"
[prime.caret.variants.high]
rank = 1
@ -5605,7 +5652,7 @@ selector.asciiCaret = "low"
[prime.paren]
sampler = "( )"
tag = "cv92"
tag = "cv93"
[prime.paren.variants.normal]
rank = 1
@ -5629,7 +5676,7 @@ selector.parenRight = "flatArc"
[prime.brace]
sampler = "{ }"
tag = "cv93"
tag = "cv94"
[prime.brace.variants.straight]
rank = 1
@ -5653,7 +5700,7 @@ selector.braceRight = "curlyFlatBoundary"
[prime.number-sign]
sampler = "#"
tag = "cv94"
tag = "cv95"
[prime.number-sign.variants.upright]
rank = 1
@ -5699,7 +5746,7 @@ selector.numberSign = "slantedOpenTall"
[prime.ampersand]
sampler = "&"
tag = "cv95"
tag = "cv96"
[prime.ampersand.variants.closed]
rank = 1
@ -5744,7 +5791,7 @@ selector.ampersand = "etTailed"
[prime.at]
sampler = "@"
tag = "cv96"
tag = "cv97"
[prime.at.variants-buildup]
entry = "folds"
@ -5796,7 +5843,7 @@ selectorAffix.at = "tall"
[prime.dollar]
sampler = "$"
tag = "cv97"
tag = "cv98"
[prime.dollar.variants.open]
rank = 1
@ -5832,7 +5879,7 @@ selector.dollar = "interruptedCap"
[prime.percent]
sampler = "%"
tag = "cv98"
tag = "cv99"
[prime.percent.variants.dots]
rank = 1
@ -5866,7 +5913,7 @@ selector."permille.WWID" = "ringsContinuousSlashAlsoConnected"
[prime.bar]
sampler = "| ¦"
tag = "cv99"
tag = "VXSA"
slopeDependent = true
[prime.bar.variants.natural-slope]
@ -5883,7 +5930,7 @@ selector."bar.slanted" = "forceUpright"
[prime.ascii-single-quote]
sampler = "'"
tag = "VXSA"
tag = "VXSB"
[prime.ascii-single-quote.variants.straight]
rank = 1
@ -5899,7 +5946,7 @@ selector.asciiSingleQuote = "raisedComma"
[prime.ascii-grave]
sampler = "`"
tag = "VXSB"
tag = "VXSC"
[prime.ascii-grave.variants.straight]
rank = 1
@ -5920,7 +5967,7 @@ selector.asciiGrave = "raisedTurnComma"
[prime.question]
sampler = "?"
tag = "VXSC"
tag = "VXSD"
[prime.question.variants.smooth]
rank = 1
@ -5941,7 +5988,7 @@ selector.question = "cornerFlatHooked"
[prime.pilcrow]
sampler = "¶"
tag = "VXSD"
tag = "VXSE"
[prime.pilcrow.variants.high]
rank = 1
@ -5959,7 +6006,7 @@ selector.revPilcrow = "low"
[prime.cent]
sampler = "¢"
tag = "VXSE"
tag = "VXSF"
[prime.cent.variants.open]
rank = 1
@ -5981,7 +6028,7 @@ selector.cent = "barInterrupted"
[prime.partial-derivative]
sampler = "∂"
samplerExplain = "Partial derivative symbol"
tag = "VXSF"
tag = "VXSG"
[prime.partial-derivative.variants.straight-bar]
rank = 1
@ -6015,7 +6062,7 @@ selector."eth" = "curly-bar"
[prime.micro-sign]
sampler = "µ"
samplerExplain = "Micro sign"
tag = "VXSG"
tag = "VXSH"
[prime.micro-sign.variants.tailless]
rank = 1
@ -6265,6 +6312,7 @@ cyrl-ze = "serifless"
cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-serifless"
cyrl-el = "straight"
cyrl-em = "hanging-serifless"
cyrl-en = "serifless"
cyrl-che = "standard"
cyrl-capital-u = "straight-serifless"
@ -6395,6 +6443,7 @@ long-s = "bent-hook-bottom-serifed"
capital-gamma = "serifed"
cyrl-capital-ze = "unilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-em = "hanging-serifed"
cyrl-en = "serifed"
cyrl-ef = "serifed"
cyrl-capital-ka = "symmetric-connected-serifed"
@ -6467,6 +6516,7 @@ lower-lambda = "straight-turn"
lower-iota = "flat-tailed"
cyrl-capital-ka = "straight-serifless"
cyrl-ka = "straight-serifless"
cyrl-em = "flat-bottom-serifless"
cyrl-capital-u = "straight-turn-serifless"
zero = "dotted"
one = "base"
@ -6498,6 +6548,7 @@ y = "straight-turn-serifed"
long-s = "flat-hook-double-serifed"
cyrl-capital-ka = "straight-serifed"
cyrl-ka = "straight-serifed"
cyrl-em = "flat-bottom-serifed"
cyrl-capital-u = "straight-turn-serifed"
seven = "straight-serifed"
@ -6593,6 +6644,7 @@ lower-alpha = "tailed-barred"
lower-lambda = "straight-turn"
cyrl-capital-ka = "symmetric-touching-serifless"
cyrl-ka = "symmetric-touching-serifless"
cyrl-em = "slanted-sides-hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
one = "base"
two = "straight-neck"
@ -6634,6 +6686,7 @@ y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
cyrl-capital-ka = "symmetric-touching-serifed"
cyrl-ka = "symmetric-touching-serifed"
cyrl-em = "slanted-sides-hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
[composite.ss03.slab-override.italic]
@ -6728,6 +6781,7 @@ lower-lambda = "straight-turn"
lower-mu = "tailless"
cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-serifless"
cyrl-em = "slanted-sides-hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
zero = "oval-dotted"
one = "base"
@ -6758,6 +6812,7 @@ y = "straight-turn-serifed"
long-s = "bent-hook-bottom-serifed"
cyrl-capital-ka = "symmetric-connected-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-em = "slanted-sides-hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
@ -6782,6 +6837,7 @@ long-s = "flat-hook-serifless"
eszet = "longs-s-lig"
lower-iota = "tailed-serifed"
lower-lambda = "straight-turn"
cyrl-em = "flat-bottom-serifless"
cyrl-capital-u = "straight-turn-serifless"
zero = "dotted"
one = "base"
@ -6807,6 +6863,7 @@ k = "straight-serifed"
r = "hookless-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
cyrl-em = "flat-bottom-serifed"
cyrl-capital-u = "straight-turn-serifed"
seven = "bend-serifed"
@ -6987,6 +7044,7 @@ eszet = "longs-s-lig"
long-s = "flat-hook-middle-serifed"
lower-alpha = "tailed-barred"
lower-lambda = "straight-turn"
cyrl-em = "flat-bottom-serifless"
cyrl-capital-u = "straight-turn-serifless"
zero = "oval-dotted"
one = "base-flat-top-serif"
@ -7022,6 +7080,7 @@ r = "hookless-serifed"
w = "straight-flat-top-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-double-serifed"
cyrl-em = "flat-bottom-serifed"
cyrl-capital-u = "straight-turn-serifed"
[composite.ss09.slab-override.italic]
@ -7131,6 +7190,7 @@ lower-mu = "toothless-corner"
micro-sign = "toothless-corner"
cyrl-capital-ka = "symmetric-touching-serifless"
cyrl-ka = "symmetric-touching-serifless"
cyrl-em = "slanted-sides-hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
zero = "oval-dotted"
one = "base"
@ -7176,6 +7236,7 @@ u = "toothless-corner-serifed"
y = "straight-turn-serifed"
cyrl-capital-ka = "symmetric-touching-serifed"
cyrl-ka = "symmetric-touching-serifed"
cyrl-em = "slanted-sides-hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
[composite.ss12.slab-override.italic]
@ -7204,6 +7265,7 @@ y = "straight-turn-serifless"
long-s = "flat-hook-middle-serifed"
eszet = "longs-s-lig"
lower-iota = "tailed"
cyrl-em = "flat-bottom-serifless"
cyrl-capital-u = "straight-turn-serifless"
zero = "oval-slashed"
one = "base"
@ -7230,6 +7292,7 @@ g = "single-storey-serifed"
k = "symmetric-touching-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-double-serifed"
cyrl-em = "flat-bottom-serifed"
cyrl-capital-u = "straight-turn-serifed"
seven = "bend-serifed"