Add variant selectors for Cyrillic Capital En/Er. (#2439)
This commit is contained in:
parent
bff9e0b1c5
commit
a038c05a26
8 changed files with 123 additions and 29 deletions
|
@ -1,3 +1,4 @@
|
|||
* Add separate variant selectors for Cyrillic Capital En/Er (`VXAA`, `VXAB`).
|
||||
* Add characters:
|
||||
- BLACK-LETTER CAPITAL H (`U+210C`).
|
||||
- BLACK-LETTER CAPITAL I (`U+2111`).
|
||||
|
|
|
@ -169,7 +169,7 @@ glyph-block Letter-Latin-Upper-AA-AO : begin
|
|||
set-mark-anchor 'cvDecompose' 0 0
|
||||
include : letterShape df CAP 0 0.1 0.28
|
||||
|
||||
select-variant "cyrl/Rha/left" (follow -- 'P')
|
||||
select-variant "cyrl/Rha/left" (follow -- 'cyrl/Er')
|
||||
select-variant "cyrl/Rha/right"
|
||||
|
||||
derive-multi-part-glyphs "cyrl/Rha" 0x516 {'cyrl/Rha/left' 'cyrl/Rha/right'} BuildRha
|
||||
|
|
|
@ -243,8 +243,8 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
select-variant 'grek/Eta' 0x397 (follow -- 'H')
|
||||
select-variant 'HTurned' 0xA78D (follow -- 'H')
|
||||
link-reduced-variant 'grek/Eta/sansSerif' 'grek/Eta' MathSansSerif (follow -- 'H/sansSerif')
|
||||
alias 'cyrl/En' 0x41D 'H'
|
||||
alias 'cyrl/En/descBase' null 'H/descBase'
|
||||
select-variant 'cyrl/En' 0x41D (shapeFrom -- 'H')
|
||||
select-variant 'cyrl/En/descBase' (shapeFrom -- 'H')
|
||||
select-variant 'leftHalfH' 0x2C75
|
||||
select-variant 'rightHalfH' 0xA7F5
|
||||
select-variant 'grek/Heta' 0x370 (shapeFrom -- 'leftHalfH')
|
||||
|
@ -265,7 +265,7 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
derive-composites 'cyrl/EnTail' 0x4C9 'cyrl/En/descBase' [CyrTailDescender.rSideJut RightSB 0]
|
||||
derive-composites 'cyrl/enTail' 0x4CA 'cyrl/en/descBase' [CyrTailDescender.rSideJut RightSB 0]
|
||||
|
||||
CreateSelectorVariants 'cyrl/EnGhe' 0x4A4 [Object.keys HConfig] (follow -- 'H')
|
||||
CreateSelectorVariants 'cyrl/EnGhe' 0x4A4 [Object.keys HConfig] (follow -- 'cyrl/En')
|
||||
CreateSelectorVariants 'cyrl/enghe' 0x4A5 [Object.keys HConfig] (follow -- 'cyrl/en')
|
||||
|
||||
select-variant 'Hwair' 0x1F6
|
||||
|
@ -274,10 +274,10 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
select-variant 'HStroke' 0x126 (follow -- 'H')
|
||||
select-variant 'smcpHStroke' null (follow -- 'H')
|
||||
|
||||
select-variant 'cyrl/EnMidHook' 0x0522 (follow -- 'H')
|
||||
select-variant 'cyrl/EnMidHook' 0x0522 (follow -- 'cyrl/En')
|
||||
select-variant 'cyrl/enMidHook' 0x0523 (follow -- 'cyrl/en')
|
||||
|
||||
select-variant 'cyrl/NjeKomi' 0x050A (follow -- 'Hwair')
|
||||
select-variant 'cyrl/NjeKomi' 0x050A
|
||||
select-variant 'cyrl/njeKomi' 0x050B
|
||||
|
||||
create-glyph 'mathbb/H' 0x210D : glyph-proc
|
||||
|
|
|
@ -115,7 +115,7 @@ glyph-block Letter-Latin-Upper-N : begin
|
|||
local [object swEnd] : include : NShape bodyType slabType CAP SB RightSB (crDiag -- crD)
|
||||
include : EngHook RightSB 0 Descender (sw -- [Math.min Stroke (swEnd * 1.5)])
|
||||
|
||||
create-glyph "NLTail.\(suffix)" : glyph-proc
|
||||
create-glyph "NHookLeft.\(suffix)" : glyph-proc
|
||||
include [refer-glyph "N.\(suffix)"] AS_BASE ALSO_METRICS
|
||||
eject-contour 'serifLB'
|
||||
include : PalatalHook.lExt SB 0
|
||||
|
@ -143,7 +143,7 @@ glyph-block Letter-Latin-Upper-N : begin
|
|||
|
||||
select-variant 'Eng' 0x14A (follow -- 'N')
|
||||
select-variant 'smcpN' 0x274 (follow -- 'N')
|
||||
select-variant 'NLTail' 0x19D (follow -- 'N')
|
||||
select-variant 'NHookLeft' 0x19D (follow -- 'N')
|
||||
select-variant 'currency/nairaSignBase' (follow -- 'N')
|
||||
|
||||
create-glyph 'cyrl/I' 0x418 : glyph-proc
|
||||
|
|
|
@ -217,13 +217,13 @@ glyph-block Letter-Latin-Upper-P : begin
|
|||
select-variant 'P' 'P'
|
||||
link-reduced-variant 'P/sansSerif' 'P' MathSansSerif
|
||||
|
||||
select-variant 'grek/Rho' 0x3A1 (follow -- 'P')
|
||||
link-reduced-variant 'grek/Rho/sansSerif' 'grek/Rho' MathSansSerif (follow -- 'P/sansSerif')
|
||||
select-variant 'grek/Rho' 0x3A1
|
||||
link-reduced-variant 'grek/Rho/sansSerif' 'grek/Rho' MathSansSerif
|
||||
|
||||
select-variant 'smcpP' 0x1D18 (follow -- 'P')
|
||||
alias 'grek/smcpRho' 0x1D29 'smcpP'
|
||||
select-variant 'grek/smcpRho' 0x1D29 (shapeFrom -- 'smcpP') (follow -- 'grek/Rho')
|
||||
|
||||
alias 'cyrl/Er' 0x420 'P'
|
||||
select-variant 'cyrl/Er' 0x420 (shapeFrom -- 'P')
|
||||
|
||||
select-variant 'PHookLeft' 0x1A4
|
||||
|
||||
|
|
|
@ -962,8 +962,6 @@ selector."grek/Heta" = "serifless"
|
|||
selector."grek/heta" = "serifless"
|
||||
selector.Hwair = "serifless"
|
||||
selector.HHookTop = "serifless"
|
||||
selector."cyrl/Nje/leftHalf" = "serifless"
|
||||
selector."cyrl/Nje/leftHalf/reduced" = "serifless"
|
||||
|
||||
[prime.capital-h.variants.top-left-serifed]
|
||||
rank = 2
|
||||
|
@ -977,8 +975,6 @@ selector."grek/Heta" = "topLeftSerifed"
|
|||
selector."grek/heta" = "topLeftSerifed"
|
||||
selector.Hwair = "topLeftSerifed"
|
||||
selector.HHookTop = "serifless"
|
||||
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
|
||||
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
|
||||
[prime.capital-h.variants.top-left-bottom-right-serifed]
|
||||
rank = 3
|
||||
|
@ -992,8 +988,6 @@ selector."grek/Heta" = "topLeftSerifed"
|
|||
selector."grek/heta" = "topLeftSerifed"
|
||||
selector.Hwair = "topLeftSerifed"
|
||||
selector.HHookTop = "topLeftBottomRightSerifed"
|
||||
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
|
||||
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
|
||||
[prime.capital-h.variants.serifed]
|
||||
rank = 4
|
||||
|
@ -1007,8 +1001,6 @@ selector."grek/Heta" = "serifed"
|
|||
selector."grek/heta" = "topLeftSerifed"
|
||||
selector.Hwair = "serifedExceptBottomRight"
|
||||
selector.HHookTop = "serifed"
|
||||
selector."cyrl/Nje/leftHalf" = "serifed"
|
||||
selector."cyrl/Nje/leftHalf/reduced" = "serifedExceptBottomRight"
|
||||
|
||||
|
||||
|
||||
|
@ -1343,7 +1335,6 @@ descriptionAffix = "closed shape"
|
|||
selectorAffix.P = "closed"
|
||||
selectorAffix."P/sansSerif" = "closed"
|
||||
selectorAffix.PHookLeft = "closed"
|
||||
selectorAffix."currency/rubleSign" = "closed"
|
||||
|
||||
[prime.capital-p.variants-buildup.stages.body.open]
|
||||
rank = 2
|
||||
|
@ -1351,7 +1342,6 @@ descriptionAffix = "open shape"
|
|||
selectorAffix.P = "open"
|
||||
selectorAffix."P/sansSerif" = "open"
|
||||
selectorAffix.PHookLeft = "open"
|
||||
selectorAffix."currency/rubleSign" = "closed"
|
||||
|
||||
[prime.capital-p.variants-buildup.stages.serifs.serifless]
|
||||
rank = 1
|
||||
|
@ -1360,7 +1350,6 @@ descriptionJoiner = "without"
|
|||
selectorAffix.P = "serifless"
|
||||
selectorAffix."P/sansSerif" = "serifless"
|
||||
selectorAffix.PHookLeft = "serifless"
|
||||
selectorAffix."currency/rubleSign" = "serifless"
|
||||
|
||||
[prime.capital-p.variants-buildup.stages.serifs.motion-serifed]
|
||||
rank = 2
|
||||
|
@ -1368,7 +1357,6 @@ descriptionAffix = "motion serifs"
|
|||
selectorAffix.P = "motionSerifed"
|
||||
selectorAffix."P/sansSerif" = "serifless"
|
||||
selectorAffix.PHookLeft = "serifless"
|
||||
selectorAffix."currency/rubleSign" = "motionSerifed"
|
||||
|
||||
[prime.capital-p.variants-buildup.stages.serifs.serifed]
|
||||
rank = 3
|
||||
|
@ -1376,7 +1364,6 @@ descriptionAffix = "serifs"
|
|||
selectorAffix.P = "serifed"
|
||||
selectorAffix."P/sansSerif" = "serifless"
|
||||
selectorAffix.PHookLeft = "serifed"
|
||||
selectorAffix."currency/rubleSign" = "serifed"
|
||||
|
||||
|
||||
|
||||
|
@ -6602,6 +6589,50 @@ selectorAffix."cyrl/em" = "smallCyrl"
|
|||
|
||||
|
||||
|
||||
[prime.cyrl-capital-en]
|
||||
sampler = "Н"
|
||||
samplerExplain = "Cyrillic Capital En"
|
||||
nonBreakingTagForNewVariantSelector = "VXAA" # REMOVE IN NEXT MAJOR VERSION CHANGE
|
||||
tagKind = "letter"
|
||||
|
||||
[prime.cyrl-capital-en.variants.serifless]
|
||||
rank = 1
|
||||
description = "Cyrillic Capital En (`Н`) without serifs"
|
||||
selector."cyrl/En" = "serifless"
|
||||
selector."cyrl/En/descBase" = "serifless"
|
||||
selector."cyrl/NjeKomi" = "serifless"
|
||||
selector."cyrl/Nje/leftHalf" = "serifless"
|
||||
selector."cyrl/Nje/leftHalf/reduced" = "serifless"
|
||||
|
||||
[prime.cyrl-capital-en.variants.top-left-serifed]
|
||||
rank = 2
|
||||
description = "Cyrillic Capital En (`Н`) with serif only at top left"
|
||||
selector."cyrl/En" = "topLeftSerifed"
|
||||
selector."cyrl/En/descBase" = "topLeftSerifed"
|
||||
selector."cyrl/NjeKomi" = "topLeftSerifed"
|
||||
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
|
||||
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
|
||||
[prime.cyrl-capital-en.variants.top-left-bottom-right-serifed]
|
||||
rank = 3
|
||||
description = "Cyrillic Capital En (`Н`) with serif only at top left and bottom right"
|
||||
selector."cyrl/En" = "topLeftBottomRightSerifed"
|
||||
selector."cyrl/En/descBase" = "topLeftSerifed"
|
||||
selector."cyrl/NjeKomi" = "topLeftSerifed"
|
||||
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
|
||||
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
|
||||
[prime.cyrl-capital-en.variants.serifed]
|
||||
rank = 4
|
||||
description = "Cyrillic Capital En (`Н`) with serifs"
|
||||
selector."cyrl/En" = "serifed"
|
||||
selector."cyrl/En/descBase" = "serifed"
|
||||
selector."cyrl/NjeKomi" = "serifedExceptBottomRight"
|
||||
selector."cyrl/Nje/leftHalf" = "serifed"
|
||||
selector."cyrl/Nje/leftHalf/reduced" = "serifedExceptBottomRight"
|
||||
|
||||
|
||||
|
||||
[prime.cyrl-en]
|
||||
sampler = "н"
|
||||
samplerExplain = "Cyrillic Lower En"
|
||||
|
@ -6678,6 +6709,62 @@ selectorAffix."cyrl/njeKomi" = "serifedExceptBottomRight"
|
|||
|
||||
|
||||
|
||||
[prime.cyrl-capital-er]
|
||||
sampler = "Р"
|
||||
samplerExplain = "Cyrillic Capital Er"
|
||||
nonBreakingTagForNewVariantSelector = "VXAB" # REMOVE IN NEXT MAJOR VERSION CHANGE
|
||||
tagKind = "letter"
|
||||
|
||||
[prime.cyrl-capital-er.variants-buildup]
|
||||
entry = "body"
|
||||
descriptionLeader = "Cyrillic Capital Er (`Р`)"
|
||||
|
||||
[prime.cyrl-capital-er.variants-buildup.stages.body."*"]
|
||||
next = "serifs"
|
||||
|
||||
[prime.cyrl-capital-er.variants-buildup.stages.body.closed]
|
||||
rank = 1
|
||||
descriptionAffix = "closed shape"
|
||||
selectorAffix."grek/Rho" = "closed"
|
||||
selectorAffix."grek/Rho/sansSerif" = "closed"
|
||||
selectorAffix."cyrl/Er" = "closed"
|
||||
selectorAffix."currency/rubleSign" = "closed"
|
||||
|
||||
[prime.cyrl-capital-er.variants-buildup.stages.body.open]
|
||||
rank = 2
|
||||
descriptionAffix = "open shape"
|
||||
selectorAffix."grek/Rho" = "open"
|
||||
selectorAffix."grek/Rho/sansSerif" = "open"
|
||||
selectorAffix."cyrl/Er" = "open"
|
||||
selectorAffix."currency/rubleSign" = "closed"
|
||||
|
||||
[prime.cyrl-capital-er.variants-buildup.stages.serifs.serifless]
|
||||
rank = 1
|
||||
descriptionAffix = "serifs"
|
||||
descriptionJoiner = "without"
|
||||
selectorAffix."grek/Rho" = "serifless"
|
||||
selectorAffix."grek/Rho/sansSerif" = "serifless"
|
||||
selectorAffix."cyrl/Er" = "serifless"
|
||||
selectorAffix."currency/rubleSign" = "serifless"
|
||||
|
||||
[prime.cyrl-capital-er.variants-buildup.stages.serifs.motion-serifed]
|
||||
rank = 2
|
||||
descriptionAffix = "motion serifs"
|
||||
selectorAffix."grek/Rho" = "motionSerifed"
|
||||
selectorAffix."grek/Rho/sansSerif" = "serifless"
|
||||
selectorAffix."cyrl/Er" = "motionSerifed"
|
||||
selectorAffix."currency/rubleSign" = "motionSerifed"
|
||||
|
||||
[prime.cyrl-capital-er.variants-buildup.stages.serifs.serifed]
|
||||
rank = 3
|
||||
descriptionAffix = "serifs"
|
||||
selectorAffix."grek/Rho" = "serifed"
|
||||
selectorAffix."grek/Rho/sansSerif" = "serifless"
|
||||
selectorAffix."cyrl/Er" = "serifed"
|
||||
selectorAffix."currency/rubleSign" = "serifed"
|
||||
|
||||
|
||||
|
||||
[prime.cyrl-er]
|
||||
sampler = "р"
|
||||
samplerExplain = "Cyrillic Lower Er"
|
||||
|
@ -8331,7 +8418,9 @@ cyrl-capital-ka = "symmetric-connected-serifless"
|
|||
cyrl-ka = "symmetric-connected-serifless"
|
||||
cyrl-el = "straight"
|
||||
cyrl-em = "flat-bottom-serifless"
|
||||
cyrl-capital-en = "serifless"
|
||||
cyrl-en = "serifless"
|
||||
cyrl-capital-er = "closed-serifless"
|
||||
cyrl-er = "eared-serifless"
|
||||
cyrl-capital-u = "straight-serifless"
|
||||
cyrl-u = "straight-serifless"
|
||||
|
@ -8481,7 +8570,9 @@ cyrl-ze = "unilateral-serifed"
|
|||
cyrl-capital-ka = "symmetric-connected-serifed"
|
||||
cyrl-ka = "symmetric-connected-serifed"
|
||||
cyrl-em = "flat-bottom-serifed"
|
||||
cyrl-capital-en = "serifed"
|
||||
cyrl-en = "serifed"
|
||||
cyrl-capital-er = "closed-serifed"
|
||||
cyrl-er = "eared-serifed"
|
||||
cyrl-capital-u = "straight-turn-serifed"
|
||||
cyrl-u = "straight-turn-serifed"
|
||||
|
@ -10250,6 +10341,7 @@ cyrl-capital-ze = "unilateral-inward-serifed"
|
|||
cyrl-ze = "serifless"
|
||||
cyrl-capital-ka = "symmetric-connected-bottom-right-serifed"
|
||||
cyrl-ka = "symmetric-connected-serifless"
|
||||
cyrl-capital-er = "closed-motion-serifed"
|
||||
cyrl-capital-u = "straight-turn-serifless"
|
||||
cyrl-u = "straight-turn-serifless"
|
||||
cyrl-capital-e = "unilateral-inward-serifed"
|
||||
|
@ -10338,6 +10430,7 @@ capital-thorn = "serifed"
|
|||
cyrl-ze = "unilateral-inward-serifed"
|
||||
cyrl-capital-ka = "symmetric-connected-serifed"
|
||||
cyrl-ka = "symmetric-connected-serifed"
|
||||
cyrl-capital-er = "closed-serifed"
|
||||
cyrl-capital-u = "straight-turn-serifed"
|
||||
cyrl-u = "straight-turn-serifed"
|
||||
cyrl-e = "unilateral-inward-serifed"
|
||||
|
|
|
@ -5,7 +5,7 @@ export const ssStrings = [
|
|||
["ABC.DEF.GHI.JKL.MNO.PQRS.TUV.WXYZ", "abc.def.ghi.jkl.mno.pqrs.tuv.wxyz"],
|
||||
["!iIlL17|¦ ¢coO08BbDQ $5SZ2zs 96µm", "float il1[]={1-2/3.4,5+6=7/8%90};"],
|
||||
["1234567890 ,._-+= >< «¯-¬_» ~–÷+×", "{*}[]()<>`+-=$/#_%^@\\&|~?'\" !,.;:"],
|
||||
["CG6Qg9q¶ äöü Þẞðþſß ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЭЯавжзклмнруфчъыьэя ", "<=", " ", "!=", " ", "=="]]
|
||||
["CG6Qg9q¶ äöü Þẞðþſß ΓΔΛαδιλμξπτχ∂", [..."ЖЗКНРУЭЯавжзклмнруфчьыэя ", "<=", " ", "!=", " ", "=="]]
|
||||
];
|
||||
|
||||
function* makeSample(lbm, hotChars) {
|
||||
|
|
|
@ -5,7 +5,7 @@ const ssStrings = [
|
|||
["ABC.DEF.GHI.JKL.MNO.PQRS.TUV.WXYZ", "abc.def.ghi.jkl.mno.pqrs.tuv.wxyz"],
|
||||
["!iIlL17|¦ ¢coO08BbDQ $5SZ2zs 96µm", "float il1[]={1-2/3.4,5+6=7/8%90};"],
|
||||
["1234567890 ,._-+= >< «¯-¬_» ~–÷+×", "{*}[]()<>`+-=$/#_%^@\\&|~?'\" !,.;:"],
|
||||
["CG6Qg9q¶ äöü Þẞðþſß ΓΔΛαδιλμξπτχ∂", [..."ЖЗКУЭЯавжзклмнруфчъыьэя ", "<=", " ", "!=", " ", "=="]]
|
||||
["CG6Qg9q¶ äöü Þẞðþſß ΓΔΛαδιλμξπτχ∂", [..."ЖЗКНРУЭЯавжзклмнруфчьыэя ", "<=", " ", "!=", " ", "=="]]
|
||||
];
|
||||
|
||||
function* makeSample(theme, lbm, features, hotChars) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue