* Fix broken serif shapes in Italic Cyrillic Small I (#717).
* Make variant selectors for `m` and `u` have more effect on Cyrillic letters.
This commit is contained in:
parent
8a1ded959a
commit
4998206c50
8 changed files with 126 additions and 62 deletions
|
@ -1 +1,3 @@
|
||||||
* Fix broken Bulgarian localized of Cyrillic Small Sha (#716).
|
* Fix broken Bulgarian localized of Cyrillic Small Sha and Cyrillic Capital El (#716).
|
||||||
|
* Fix broken serif shapes in Italic Cyrillic Small I (#717).
|
||||||
|
* Make variant selectors for `m` and `u` have more effect on Cyrillic letters.
|
||||||
|
|
|
@ -166,18 +166,20 @@ glyph-block Letter-Cyrillic-I : begin
|
||||||
alias 'cyrl/i.italicMotionSerifed' null 'u.motionSerifed'
|
alias 'cyrl/i.italicMotionSerifed' null 'u.motionSerifed'
|
||||||
alias 'cyrl/i.italicMotionSerifedTailed' null 'u.motionSerifedTailed'
|
alias 'cyrl/i.italicMotionSerifedTailed' null 'u.motionSerifedTailed'
|
||||||
alias 'cyrl/i.italicTailed' null 'u.tailed'
|
alias 'cyrl/i.italicTailed' null 'u.tailed'
|
||||||
|
|
||||||
select-variant 'cyrl/i' 0x438
|
select-variant 'cyrl/i' 0x438
|
||||||
|
|
||||||
create-glyph 'cyrl/i.BGR' : glyph-proc
|
alias 'cyrl/i.BGR.toothed' null 'u.toothed'
|
||||||
include [refer-glyph 'u.toothed'] AS_BASE ALSO_METRICS
|
alias 'cyrl/i.BGR.motionSerifed' null 'u.motionSerifed'
|
||||||
|
alias 'cyrl/i.BGR.motionSerifedTailed' null 'u.motionSerifedTailed'
|
||||||
|
alias 'cyrl/i.BGR.tailed' null 'u.tailed'
|
||||||
|
select-variant 'cyrl/i.BGR'
|
||||||
|
|
||||||
create-glyph 'cyrl/ibreve.BGR' : glyph-proc
|
with-related-glyphs 'cyrl/i.BGR' 'cyrl/ibreve.BGR' null : lambda [src sel] : glyph-proc
|
||||||
include [refer-glyph 'u.toothed'] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
include [refer-glyph 'breveAbove']
|
include [refer-glyph 'breveAbove']
|
||||||
|
|
||||||
create-glyph 'cyrl/igrave.BGR' : glyph-proc
|
with-related-glyphs 'cyrl/i.BGR' 'cyrl/igrave.BGR' null : lambda [src sel] : glyph-proc
|
||||||
include [refer-glyph 'u.toothed'] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
include [refer-glyph 'graveAbove']
|
include [refer-glyph 'graveAbove']
|
||||||
|
|
||||||
glyph-block Letter-Cyrillic-Tse : begin
|
glyph-block Letter-Cyrillic-Tse : begin
|
||||||
|
@ -202,13 +204,20 @@ glyph-block Letter-Cyrillic-Tse : begin
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : CyrTseShape XH
|
include : CyrTseShape XH
|
||||||
|
|
||||||
create-glyph 'cyrl/tse.italic' : glyph-proc
|
create-glyph 'cyrl/tse.italicToothed' : glyph-proc
|
||||||
include [refer-glyph "u.toothed"] AS_BASE
|
include [refer-glyph "u.toothed"] AS_BASE
|
||||||
eject-contour 'serifLT'
|
eject-contour 'serifRB'
|
||||||
include : CyrDescender RightSB (shift -- 0.05)
|
include : CyrDescender RightSB (shift -- 0.05)
|
||||||
|
create-aliased-glyph 'cyrl/tse.BGR.toothed'
|
||||||
|
|
||||||
italic-variant 'cyrl/tse' 0x446
|
create-glyph 'cyrl/tse.italicMotionSerifed' : glyph-proc
|
||||||
|
include [refer-glyph "u.motionSerifed"] AS_BASE
|
||||||
|
eject-contour 'serifRB'
|
||||||
|
include : CyrDescender RightSB (shift -- 0.05)
|
||||||
|
create-aliased-glyph 'cyrl/tse.BGR.motionSerifed'
|
||||||
|
|
||||||
|
select-variant 'cyrl/tse' 0x446
|
||||||
|
select-variant 'cyrl/tse.BGR'
|
||||||
|
|
||||||
glyph-block Letter-Cyrillic-Dzhe : begin
|
glyph-block Letter-Cyrillic-Dzhe : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
|
@ -232,7 +241,7 @@ glyph-block Letter-Cyrillic-Dzhe : begin
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
include : CyrDzheShape XH
|
include : CyrDzheShape XH
|
||||||
|
|
||||||
create-glyph 'cyrl/dzhe.italicStraight' : glyph-proc
|
create-glyph 'cyrl/dzhe.italicToothed' : glyph-proc
|
||||||
include [refer-glyph 'u.toothed'] AS_BASE ALSO_METRICS
|
include [refer-glyph 'u.toothed'] AS_BASE ALSO_METRICS
|
||||||
include [refer-glyph 'descenderBarBelow']
|
include [refer-glyph 'descenderBarBelow']
|
||||||
|
|
||||||
|
@ -333,6 +342,9 @@ glyph-block Letter-Cyrillic-El : begin
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : CyrElShape XH
|
include : CyrElShape XH
|
||||||
|
|
||||||
|
alias 'cyrl/El.BGR' null 'grek/Lambda'
|
||||||
|
alias 'cyrl/el.BGR' null 'turnv'
|
||||||
|
|
||||||
glyph-block Letter-Cyrillic-Zhe : begin
|
glyph-block Letter-Cyrillic-Zhe : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
|
@ -580,7 +592,7 @@ glyph-block Letter-Cyrillic-Sha : begin
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
include : CyrShaShape XH df
|
include : CyrShaShape XH df
|
||||||
|
|
||||||
turned 'cyrl/sha.italicStraight' null 'm.normal' [DivFrame para.diversityM 3].middle (XH / 2)
|
turned 'cyrl/sha.italicToothed' null 'm.normal' [DivFrame para.diversityM 3].middle (XH / 2)
|
||||||
create-glyph 'cyrl/sha.italicTailed' : glyph-proc
|
create-glyph 'cyrl/sha.italicTailed' : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
include [refer-glyph 'm.normal'] AS_BASE
|
include [refer-glyph 'm.normal'] AS_BASE
|
||||||
|
@ -600,7 +612,7 @@ glyph-block Letter-Cyrillic-Sha : begin
|
||||||
|
|
||||||
select-variant 'cyrl/sha' 0x448
|
select-variant 'cyrl/sha' 0x448
|
||||||
|
|
||||||
alias 'cyrl/sha.BGR.straight' null 'cyrl/sha.italicStraight'
|
alias 'cyrl/sha.BGR.toothed' null 'cyrl/sha.italicToothed'
|
||||||
alias 'cyrl/sha.BGR.tailed' null 'cyrl/sha.italicTailed'
|
alias 'cyrl/sha.BGR.tailed' null 'cyrl/sha.italicTailed'
|
||||||
alias 'cyrl/sha.BGR.motionSerifed' null 'cyrl/sha.italicMotionSerifed'
|
alias 'cyrl/sha.BGR.motionSerifed' null 'cyrl/sha.italicMotionSerifed'
|
||||||
alias 'cyrl/sha.BGR.motionSerifedTailed' null 'cyrl/sha.italicMotionSerifedTailed'
|
alias 'cyrl/sha.BGR.motionSerifedTailed' null 'cyrl/sha.italicMotionSerifedTailed'
|
||||||
|
@ -626,7 +638,7 @@ glyph-block Letter-Cyrillic-Sha : begin
|
||||||
create-glyph 'cyrl/shcha.italic' : glyph-proc
|
create-glyph 'cyrl/shcha.italic' : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include [refer-glyph 'cyrl/sha.italicStraight'] AS_BASE
|
include [refer-glyph 'cyrl/sha.italicToothed'] AS_BASE
|
||||||
include : CyrDescender df.rightSB (shift -- 0.05)
|
include : CyrDescender df.rightSB (shift -- 0.05)
|
||||||
|
|
||||||
italic-variant 'cyrl/shcha' 0x449
|
italic-variant 'cyrl/shcha' 0x449
|
||||||
|
@ -635,7 +647,7 @@ glyph-block Letter-Cyrillic-Sha : begin
|
||||||
create-glyph 'cyrl/te.SRB' : glyph-proc
|
create-glyph 'cyrl/te.SRB' : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include [refer-glyph 'cyrl/sha.italicStraight'] AS_BASE
|
include [refer-glyph 'cyrl/sha.italicToothed'] AS_BASE
|
||||||
include : refer-glyph "macronAbove"
|
include : refer-glyph "macronAbove"
|
||||||
|
|
||||||
select-variant 'cyrl/te' 0x442
|
select-variant 'cyrl/te' 0x442
|
||||||
|
|
|
@ -2273,6 +2273,7 @@ glyph-block Letter-Latin-K : begin
|
||||||
include : LowerKCursiveShape true
|
include : LowerKCursiveShape true
|
||||||
|
|
||||||
select-variant 'k' 'k'
|
select-variant 'k' 'k'
|
||||||
|
alias 'cyrl/ka.BGR' null 'k'
|
||||||
|
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft
|
glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft
|
||||||
define [BBKLegShape top left right] : begin
|
define [BBKLegShape top left right] : begin
|
||||||
|
@ -4554,6 +4555,7 @@ glyph-block Letter-Latin-Lower-N : begin
|
||||||
alias 'cyrl/pe.italicEarlessCornerTailed' null 'n.earlessCornerTailed'
|
alias 'cyrl/pe.italicEarlessCornerTailed' null 'n.earlessCornerTailed'
|
||||||
alias 'cyrl/pe.italicEarlessRoundedStraight' null 'n.earlessRoundedStraight'
|
alias 'cyrl/pe.italicEarlessRoundedStraight' null 'n.earlessRoundedStraight'
|
||||||
alias 'cyrl/pe.italicEarlessRoundedTailed' null 'n.earlessRoundedTailed'
|
alias 'cyrl/pe.italicEarlessRoundedTailed' null 'n.earlessRoundedTailed'
|
||||||
|
alias 'cyrl/pe.BGR' null 'n'
|
||||||
|
|
||||||
with-related-glyphs 'n' 'nApostrophe' 0x149 : lambda [src srl] : glyph-proc
|
with-related-glyphs 'n' 'nApostrophe' 0x149 : lambda [src srl] : glyph-proc
|
||||||
include : refer-glyph "commaAbove"
|
include : refer-glyph "commaAbove"
|
||||||
|
@ -4798,14 +4800,14 @@ glyph-block Letter-Latin-Lower-U : begin
|
||||||
include : VBarRight RightSB 0 XH
|
include : VBarRight RightSB 0 XH
|
||||||
if SLAB : begin
|
if SLAB : begin
|
||||||
include : UTopLeftSerif XH
|
include : UTopLeftSerif XH
|
||||||
include : UTopRightSerif XH
|
if [not para.isItalic] : include : UTopRightSerif XH
|
||||||
include : UBottomRightSerif XH
|
include : UBottomRightSerif XH
|
||||||
|
|
||||||
create-derived 'u.tailed' : glyph-proc
|
create-derived 'u.tailed' : glyph-proc
|
||||||
include : RightwardTailedBar RightSB 0 XH
|
include : RightwardTailedBar RightSB 0 XH
|
||||||
if SLAB : begin
|
if SLAB : begin
|
||||||
include : UTopLeftSerif XH
|
include : UTopLeftSerif XH
|
||||||
include : UBottomRightSerif XH
|
if [not para.isItalic] : include : UTopRightSerif XH
|
||||||
|
|
||||||
create-derived 'u.motionSerifed' : glyph-proc
|
create-derived 'u.motionSerifed' : glyph-proc
|
||||||
include : VBarRight RightSB 0 XH
|
include : VBarRight RightSB 0 XH
|
||||||
|
@ -5300,6 +5302,7 @@ glyph-block Letter-Latin-Lower-M : begin
|
||||||
include : RightwardTailedBar df.rightSB 0 [SmallMSmoothHeight df] (sw -- df.mvs)
|
include : RightwardTailedBar df.rightSB 0 [SmallMSmoothHeight df] (sw -- df.mvs)
|
||||||
|
|
||||||
select-variant 'm' 'm'
|
select-variant 'm' 'm'
|
||||||
|
|
||||||
alias 'cyrl/te.italicNormal' null 'm.normal'
|
alias 'cyrl/te.italicNormal' null 'm.normal'
|
||||||
alias 'cyrl/te.italicTailed' null 'm.tailed'
|
alias 'cyrl/te.italicTailed' null 'm.tailed'
|
||||||
alias 'cyrl/te.italicMotionSerifed' null 'm.motionSerifed'
|
alias 'cyrl/te.italicMotionSerifed' null 'm.motionSerifed'
|
||||||
|
@ -5307,6 +5310,11 @@ glyph-block Letter-Latin-Lower-M : begin
|
||||||
refer-glyph 'm.normal'
|
refer-glyph 'm.normal'
|
||||||
CyrDescender (Width * para.diversityM - SB)
|
CyrDescender (Width * para.diversityM - SB)
|
||||||
|
|
||||||
|
alias 'cyrl/te.BGR.normal' null 'm.normal'
|
||||||
|
alias 'cyrl/te.BGR.tailed' null 'm.tailed'
|
||||||
|
alias 'cyrl/te.BGR.motionSerifed' null 'm.motionSerifed'
|
||||||
|
select-variant 'cyrl/te.BGR'
|
||||||
|
|
||||||
create-glyph 'mltail' 0x271 : glyph-proc
|
create-glyph 'mltail' 0x271 : glyph-proc
|
||||||
local df : dfM
|
local df : dfM
|
||||||
include : df.markSet.p
|
include : df.markSet.p
|
||||||
|
|
|
@ -39,7 +39,7 @@ export : define [buildCVSS sink para glyphStore] : begin
|
||||||
|
|
||||||
local st [pick-lookup sink lookupName].subtables.0
|
local st [pick-lookup sink lookupName].subtables.0
|
||||||
if [not st.(gn)] : set st.(gn) { }
|
if [not st.(gn)] : set st.(gn) { }
|
||||||
set st.(gn).(gr.rank - 1) : gr.get glyph
|
set st.(gn).(gr.rank - 1) : glyphStore.ensureExists : gr.get glyph
|
||||||
|
|
||||||
# ssxx
|
# ssxx
|
||||||
foreach {name composition} para.variants.composites : if composition.tag : do
|
foreach {name composition} para.variants.composites : if composition.tag : do
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import [copy-language add-feature add-lookup BeginLookupBlock EndLookupBlock] from "./table-util"
|
import [copy-language add-feature add-lookup BeginLookupBlock EndLookupBlock] from "./table-util"
|
||||||
|
|
||||||
export : define [buildLOCL sink para] : begin
|
export : define [buildLOCL sink para glyphStore] : begin
|
||||||
local rec : BeginLookupBlock sink
|
local rec : BeginLookupBlock sink
|
||||||
|
|
||||||
define cyrlSRB : copy-language sink 'cyrl_SRB ' 'cyrl_DFLT'
|
define cyrlSRB : copy-language sink 'cyrl_SRB ' 'cyrl_DFLT'
|
||||||
|
@ -15,13 +15,13 @@ export : define [buildLOCL sink para] : begin
|
||||||
type 'gsub_single'
|
type 'gsub_single'
|
||||||
subtables : list : if para.isItalic
|
subtables : list : if para.isItalic
|
||||||
object
|
object
|
||||||
'cyrl/be' 'cyrl/be.SRB'
|
'cyrl/be' : glyphStore.ensureExists 'cyrl/be.SRB'
|
||||||
'cyrl/ghe' 'cyrl/ghe.SRB'
|
'cyrl/ghe' : glyphStore.ensureExists 'cyrl/ghe.SRB'
|
||||||
'cyrl/de' 'cyrl/de.SRB'
|
'cyrl/de' : glyphStore.ensureExists 'cyrl/de.SRB'
|
||||||
'cyrl/pe' 'cyrl/pe.SRB'
|
'cyrl/pe' : glyphStore.ensureExists 'cyrl/pe.SRB'
|
||||||
'cyrl/te' 'cyrl/te.SRB'
|
'cyrl/te' : glyphStore.ensureExists 'cyrl/te.SRB'
|
||||||
object
|
object
|
||||||
'cyrl/be' 'cyrl/be.SRB'
|
'cyrl/be' : glyphStore.ensureExists 'cyrl/be.SRB'
|
||||||
|
|
||||||
# BGR
|
# BGR
|
||||||
define loclBGR : add-feature sink 'locl'
|
define loclBGR : add-feature sink 'locl'
|
||||||
|
@ -29,22 +29,22 @@ export : define [buildLOCL sink para] : begin
|
||||||
loclBGR.lookups.push : add-lookup sink : object
|
loclBGR.lookups.push : add-lookup sink : object
|
||||||
type 'gsub_single'
|
type 'gsub_single'
|
||||||
subtables : list : object
|
subtables : list : object
|
||||||
'cyrl/ve' 'cyrl/ve.BGR'
|
'cyrl/ve' : glyphStore.ensureExists 'cyrl/ve.BGR'
|
||||||
'cyrl/ghe' 'cyrl/ghe.italic'
|
'cyrl/ghe' : glyphStore.ensureExists 'cyrl/ghe.italic'
|
||||||
'cyrl/de' 'cyrl/de.BGR'
|
'cyrl/de' : glyphStore.ensureExists 'cyrl/de.BGR'
|
||||||
'cyrl/zhe' 'cyrl/zhe.BGR'
|
'cyrl/zhe' : glyphStore.ensureExists 'cyrl/zhe.BGR'
|
||||||
'cyrl/ze' 'cyrl/ze.BGR'
|
'cyrl/ze' : glyphStore.ensureExists 'cyrl/ze.BGR'
|
||||||
'cyrl/i' 'cyrl/i.BGR'
|
'cyrl/i' : glyphStore.ensureExists 'cyrl/i.BGR'
|
||||||
'cyrl/ibreve' 'cyrl/ibreve.BGR'
|
'cyrl/ibreve' : glyphStore.ensureExists 'cyrl/ibreve.BGR'
|
||||||
'cyrl/igrave' 'cyrl/igrave.BGR'
|
'cyrl/igrave' : glyphStore.ensureExists 'cyrl/igrave.BGR'
|
||||||
'cyrl/ka' 'k'
|
'cyrl/ka' : glyphStore.ensureExists 'cyrl/ka.BGR'
|
||||||
'cyrl/El' 'Lambda'
|
'cyrl/El' : glyphStore.ensureExists 'cyrl/El.BGR'
|
||||||
'cyrl/el' 'turnv'
|
'cyrl/el' : glyphStore.ensureExists 'cyrl/el.BGR'
|
||||||
'cyrl/pe' 'n'
|
'cyrl/pe' : glyphStore.ensureExists 'cyrl/pe.BGR'
|
||||||
'cyrl/te' 'm.normal'
|
'cyrl/te' : glyphStore.ensureExists 'cyrl/te.BGR'
|
||||||
'cyrl/sha' 'cyrl/sha.BGR'
|
'cyrl/sha' : glyphStore.ensureExists 'cyrl/sha.BGR'
|
||||||
'cyrl/shcha' 'cyrl/shcha.BGR'
|
'cyrl/shcha' : glyphStore.ensureExists 'cyrl/shcha.BGR'
|
||||||
'cyrl/yu' 'cyrl/yu.BGR'
|
'cyrl/yu' : glyphStore.ensureExists 'cyrl/yu.BGR'
|
||||||
'cyrl/tse' 'cyrl/tse.italic'
|
'cyrl/tse' : glyphStore.ensureExists 'cyrl/tse.BGR'
|
||||||
|
|
||||||
EndLookupBlock.Front rec sink
|
EndLookupBlock.Front rec sink
|
||||||
|
|
|
@ -47,7 +47,7 @@ define [buildGSUB para glyphStore markGlyphs] : begin
|
||||||
|
|
||||||
# locl
|
# locl
|
||||||
# Builds last, but the lookups are added into the beginning of the lookup list
|
# Builds last, but the lookups are added into the beginning of the lookup list
|
||||||
buildLOCL gsub para
|
buildLOCL gsub para glyphStore
|
||||||
|
|
||||||
MoveBackUtilityLookups gsub
|
MoveBackUtilityLookups gsub
|
||||||
finalizeTable gsub
|
finalizeTable gsub
|
||||||
|
|
|
@ -34,6 +34,11 @@ class GlyphStore {
|
||||||
if (!g) throw new Error(`Glyph ${name} doesn't exist.`);
|
if (!g) throw new Error(`Glyph ${name} doesn't exist.`);
|
||||||
return g;
|
return g;
|
||||||
}
|
}
|
||||||
|
ensureExists(name) {
|
||||||
|
const g = this.nameForward.get(name);
|
||||||
|
if (!g) throw new Error(`Glyph ${name} doesn't exist.`);
|
||||||
|
return name;
|
||||||
|
}
|
||||||
queryNameOf(g) {
|
queryNameOf(g) {
|
||||||
return this.nameBackward.get(g);
|
return this.nameBackward.get(g);
|
||||||
}
|
}
|
||||||
|
|
|
@ -562,6 +562,7 @@ description = '`m` with normal middle leg, touching the baseline'
|
||||||
selector.m = 'normal'
|
selector.m = 'normal'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.shortleg]
|
[prime.m.variants.shortleg]
|
||||||
rank = 2
|
rank = 2
|
||||||
|
@ -569,6 +570,7 @@ description = '`m` with shorter middle leg, like Ubuntu Mono'
|
||||||
selector.m = 'shortleg'
|
selector.m = 'shortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.tailed]
|
[prime.m.variants.tailed]
|
||||||
rank = 3
|
rank = 3
|
||||||
|
@ -576,6 +578,7 @@ description = '`m` with normal middle leg, touching the baseline, and a curly ta
|
||||||
selector.m = 'tailed'
|
selector.m = 'tailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicTailed"
|
selectorItalic."cyrl/te" = "italicTailed"
|
||||||
|
selector."cyrl/te.BGR" = "tailed"
|
||||||
|
|
||||||
[prime.m.variants.shortleg-tailed]
|
[prime.m.variants.shortleg-tailed]
|
||||||
rank = 4
|
rank = 4
|
||||||
|
@ -583,6 +586,7 @@ description = '`m` with shorter middle leg, like Ubuntu Mono, and a curly tail'
|
||||||
selector.m = 'shortlegTailed'
|
selector.m = 'shortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicTailed"
|
selectorItalic."cyrl/te" = "italicTailed"
|
||||||
|
selector."cyrl/te.BGR" = "tailed"
|
||||||
|
|
||||||
[prime.m.variants.earless-corner-double-arch]
|
[prime.m.variants.earless-corner-double-arch]
|
||||||
rank = 5
|
rank = 5
|
||||||
|
@ -590,6 +594,7 @@ description = "Earless (corner top-left) `m` with normal middle leg touching bas
|
||||||
selector.m = 'earlessCornerDoubleArch'
|
selector.m = 'earlessCornerDoubleArch'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-corner-double-arch-shortleg]
|
[prime.m.variants.earless-corner-double-arch-shortleg]
|
||||||
rank = 6
|
rank = 6
|
||||||
|
@ -597,6 +602,7 @@ description = "Earless (corner top-left) `m` with a shorter middle leg like Ubun
|
||||||
selector.m = 'earlessCornerDoubleArchShortleg'
|
selector.m = 'earlessCornerDoubleArchShortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-corner-double-arch-tailed]
|
[prime.m.variants.earless-corner-double-arch-tailed]
|
||||||
rank = 7
|
rank = 7
|
||||||
|
@ -604,6 +610,7 @@ description = "Earless (corner top-left) `m` with normal middle leg touching bas
|
||||||
selector.m = 'earlessCornerDoubleArchTailed'
|
selector.m = 'earlessCornerDoubleArchTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-corner-double-arch-shortleg-tailed]
|
[prime.m.variants.earless-corner-double-arch-shortleg-tailed]
|
||||||
rank = 8
|
rank = 8
|
||||||
|
@ -611,6 +618,7 @@ description = "Earless (corner top-left) `m` with a shorter middle leg like Ubun
|
||||||
selector.m = 'earlessCornerDoubleArchShortlegTailed'
|
selector.m = 'earlessCornerDoubleArchShortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-rounded-double-arch]
|
[prime.m.variants.earless-rounded-double-arch]
|
||||||
rank = 9
|
rank = 9
|
||||||
|
@ -618,6 +626,7 @@ description = "Earless (rounded top-left) `m` with normal middle leg touching ba
|
||||||
selector.m = 'earlessRoundedDoubleArch'
|
selector.m = 'earlessRoundedDoubleArch'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-rounded-double-arch-shortleg]
|
[prime.m.variants.earless-rounded-double-arch-shortleg]
|
||||||
rank = 10
|
rank = 10
|
||||||
|
@ -632,6 +641,7 @@ description = "Earless (rounded top-left) `m` with normal middle leg touching ba
|
||||||
selector.m = 'earlessRoundedDoubleArchTailed'
|
selector.m = 'earlessRoundedDoubleArchTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-rounded-double-arch-shortleg-tailed]
|
[prime.m.variants.earless-rounded-double-arch-shortleg-tailed]
|
||||||
rank = 12
|
rank = 12
|
||||||
|
@ -639,6 +649,7 @@ description = "Earless (rounded top-left) `m` with a shorter middle leg like Ubu
|
||||||
selector.m = 'earlessRoundedDoubleArchShortlegTailed'
|
selector.m = 'earlessRoundedDoubleArchShortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-single-arch]
|
[prime.m.variants.earless-single-arch]
|
||||||
rank = 13
|
rank = 13
|
||||||
|
@ -646,6 +657,7 @@ description = "Earless (single-arch) `m` with normal middle leg touching baselin
|
||||||
selector.m = 'earlessSingleArch'
|
selector.m = 'earlessSingleArch'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-single-arch-shortleg]
|
[prime.m.variants.earless-single-arch-shortleg]
|
||||||
rank = 14
|
rank = 14
|
||||||
|
@ -653,6 +665,7 @@ description = "Earless (single-arch) `m` with a shorter middle leg like Ubuntu M
|
||||||
selector.m = 'earlessSingleArchShortleg'
|
selector.m = 'earlessSingleArchShortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-single-arch-tailed]
|
[prime.m.variants.earless-single-arch-tailed]
|
||||||
rank = 15
|
rank = 15
|
||||||
|
@ -660,6 +673,7 @@ description = "Earless (single-arch) `m` with normal middle leg touching baselin
|
||||||
selector.m = 'earlessSingleArchTailed'
|
selector.m = 'earlessSingleArchTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.earless-single-arch-shortleg-tailed]
|
[prime.m.variants.earless-single-arch-shortleg-tailed]
|
||||||
rank = 16
|
rank = 16
|
||||||
|
@ -667,6 +681,7 @@ description = "Earless (single-arch) `m` with a shorter middle leg like Ubuntu M
|
||||||
selector.m = 'earlessSingleArchShortlegTailed'
|
selector.m = 'earlessSingleArchShortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
selectorItalic."cyrl/te" = "italicNormal"
|
||||||
|
selector."cyrl/te.BGR" = "normal"
|
||||||
|
|
||||||
[prime.m.variants.motion-serifed]
|
[prime.m.variants.motion-serifed]
|
||||||
rank = 17
|
rank = 17
|
||||||
|
@ -674,6 +689,7 @@ description = "`m` with motion serifs, normal middle leg touching baseline"
|
||||||
selector.m = 'motionSerifed'
|
selector.m = 'motionSerifed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
||||||
|
selector."cyrl/te.BGR" = "motionSerifed"
|
||||||
|
|
||||||
[prime.m.variants.motion-serifed-shortleg]
|
[prime.m.variants.motion-serifed-shortleg]
|
||||||
rank = 18
|
rank = 18
|
||||||
|
@ -681,6 +697,7 @@ description = "`m` with motion serifs, a shorter middle leg like Ubuntu Mono"
|
||||||
selector.m = 'motionSerifedShortleg'
|
selector.m = 'motionSerifedShortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
||||||
|
selector."cyrl/te.BGR" = "motionSerifed"
|
||||||
|
|
||||||
[prime.m.variants.motion-serifed-tailed]
|
[prime.m.variants.motion-serifed-tailed]
|
||||||
rank = 19
|
rank = 19
|
||||||
|
@ -688,6 +705,7 @@ description = "`m` with motion serifs, normal middle leg touching baseline, and
|
||||||
selector.m = 'motionSerifedTailed'
|
selector.m = 'motionSerifedTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
||||||
|
selector."cyrl/te.BGR" = "motionSerifed"
|
||||||
|
|
||||||
[prime.m.variants.motion-serifed-shortleg-tailed]
|
[prime.m.variants.motion-serifed-shortleg-tailed]
|
||||||
rank = 20
|
rank = 20
|
||||||
|
@ -695,6 +713,7 @@ description = "`m` with motion serifs, a shorter middle leg like Ubuntu Mono, an
|
||||||
selector.m = 'motionSerifedShortlegTailed'
|
selector.m = 'motionSerifedShortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selectorUpright."cyrl/te" = "upright"
|
||||||
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
||||||
|
selector."cyrl/te.BGR" = "motionSerifed"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -918,11 +937,14 @@ selector.u = "toothed"
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selectorUpright."cyrl/i" = "upright"
|
||||||
selectorItalic."cyrl/i" = "italicToothed"
|
selectorItalic."cyrl/i" = "italicToothed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selectorUpright."cyrl/sha" = "upright"
|
||||||
selectorItalic."cyrl/sha" = "italicStraight"
|
selectorItalic."cyrl/sha" = "italicToothed"
|
||||||
selectorUpright."cyrl/sha.BGR" = "straight"
|
|
||||||
selectorItalic."cyrl/sha.BGR" = "straight"
|
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
selectorUpright."cyrl/dzhe" = "upright"
|
||||||
selectorItalic."cyrl/dzhe" = "italicStraight"
|
selectorItalic."cyrl/dzhe" = "italicToothed"
|
||||||
|
selectorUpright."cyrl/tse" = "upright"
|
||||||
|
selectorItalic."cyrl/tse" = "italicToothed"
|
||||||
|
selector."cyrl/i.BGR" = "toothed"
|
||||||
|
selector."cyrl/sha.BGR" = "toothed"
|
||||||
|
selector."cyrl/tse.BGR" = "toothed"
|
||||||
|
|
||||||
[prime.u.variants.toothless-corner]
|
[prime.u.variants.toothless-corner]
|
||||||
rank = 2
|
rank = 2
|
||||||
|
@ -931,11 +953,14 @@ selector.u = 'toothlessCorner'
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selectorUpright."cyrl/i" = "upright"
|
||||||
selectorItalic."cyrl/i" = "italicToothed"
|
selectorItalic."cyrl/i" = "italicToothed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selectorUpright."cyrl/sha" = "upright"
|
||||||
selectorItalic."cyrl/sha" = "italicStraight"
|
selectorItalic."cyrl/sha" = "italicToothed"
|
||||||
selectorUpright."cyrl/sha.BGR" = "straight"
|
|
||||||
selectorItalic."cyrl/sha.BGR" = "straight"
|
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
selectorUpright."cyrl/dzhe" = "upright"
|
||||||
selectorItalic."cyrl/dzhe" = "italicStraight"
|
selectorItalic."cyrl/dzhe" = "italicToothed"
|
||||||
|
selectorUpright."cyrl/tse" = "upright"
|
||||||
|
selectorItalic."cyrl/tse" = "italicToothed"
|
||||||
|
selector."cyrl/i.BGR" = "toothed"
|
||||||
|
selector."cyrl/sha.BGR" = "toothed"
|
||||||
|
selector."cyrl/tse.BGR" = "toothed"
|
||||||
|
|
||||||
[prime.u.variants.toothless-rounded]
|
[prime.u.variants.toothless-rounded]
|
||||||
rank = 3
|
rank = 3
|
||||||
|
@ -944,11 +969,14 @@ selector.u = "toothlessRounded"
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selectorUpright."cyrl/i" = "upright"
|
||||||
selectorItalic."cyrl/i" = "italicToothed"
|
selectorItalic."cyrl/i" = "italicToothed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selectorUpright."cyrl/sha" = "upright"
|
||||||
selectorItalic."cyrl/sha" = "italicStraight"
|
selectorItalic."cyrl/sha" = "italicToothed"
|
||||||
selectorUpright."cyrl/sha.BGR" = "straight"
|
|
||||||
selectorItalic."cyrl/sha.BGR" = "straight"
|
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
selectorUpright."cyrl/dzhe" = "upright"
|
||||||
selectorItalic."cyrl/dzhe" = "italicStraight"
|
selectorItalic."cyrl/dzhe" = "italicToothed"
|
||||||
|
selectorUpright."cyrl/tse" = "upright"
|
||||||
|
selectorItalic."cyrl/tse" = "italicToothed"
|
||||||
|
selector."cyrl/i.BGR" = "toothed"
|
||||||
|
selector."cyrl/sha.BGR" = "toothed"
|
||||||
|
selector."cyrl/tse.BGR" = "toothed"
|
||||||
|
|
||||||
[prime.u.variants.tailed]
|
[prime.u.variants.tailed]
|
||||||
rank = 4
|
rank = 4
|
||||||
|
@ -958,10 +986,13 @@ selectorUpright."cyrl/i" = "upright"
|
||||||
selectorItalic."cyrl/i" = "italicTailed"
|
selectorItalic."cyrl/i" = "italicTailed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selectorUpright."cyrl/sha" = "upright"
|
||||||
selectorItalic."cyrl/sha" = "italicTailed"
|
selectorItalic."cyrl/sha" = "italicTailed"
|
||||||
selectorUpright."cyrl/sha.BGR" = "tailed"
|
|
||||||
selectorItalic."cyrl/sha.BGR" = "tailed"
|
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
selectorUpright."cyrl/dzhe" = "upright"
|
||||||
selectorItalic."cyrl/dzhe" = "italicTailed"
|
selectorItalic."cyrl/dzhe" = "italicTailed"
|
||||||
|
selectorUpright."cyrl/tse" = "upright"
|
||||||
|
selectorItalic."cyrl/tse" = "italicToothed"
|
||||||
|
selector."cyrl/i.BGR" = "tailed"
|
||||||
|
selector."cyrl/sha.BGR" = "tailed"
|
||||||
|
selector."cyrl/tse.BGR" = "toothed"
|
||||||
|
|
||||||
[prime.u.variants.motion-serifed]
|
[prime.u.variants.motion-serifed]
|
||||||
rank = 5
|
rank = 5
|
||||||
|
@ -971,10 +1002,13 @@ selectorUpright."cyrl/i" = "upright"
|
||||||
selectorItalic."cyrl/i" = "italicMotionSerifed"
|
selectorItalic."cyrl/i" = "italicMotionSerifed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selectorUpright."cyrl/sha" = "upright"
|
||||||
selectorItalic."cyrl/sha" = "italicMotionSerifed"
|
selectorItalic."cyrl/sha" = "italicMotionSerifed"
|
||||||
selectorUpright."cyrl/sha.BGR" = "motionSerifed"
|
|
||||||
selectorItalic."cyrl/sha.BGR" = "motionSerifed"
|
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
selectorUpright."cyrl/dzhe" = "upright"
|
||||||
selectorItalic."cyrl/dzhe" = "italicMotionSerifed"
|
selectorItalic."cyrl/dzhe" = "italicMotionSerifed"
|
||||||
|
selectorUpright."cyrl/tse" = "upright"
|
||||||
|
selectorItalic."cyrl/tse" = "italicMotionSerifed"
|
||||||
|
selector."cyrl/i.BGR" = "motionSerifed"
|
||||||
|
selector."cyrl/sha.BGR" = "motionSerifed"
|
||||||
|
selector."cyrl/tse.BGR" = "motionSerifed"
|
||||||
|
|
||||||
[prime.u.variants.motion-serifed-tailed]
|
[prime.u.variants.motion-serifed-tailed]
|
||||||
rank = 6
|
rank = 6
|
||||||
|
@ -984,10 +1018,13 @@ selectorUpright."cyrl/i" = "upright"
|
||||||
selectorItalic."cyrl/i" = "italicMotionSerifedTailed"
|
selectorItalic."cyrl/i" = "italicMotionSerifedTailed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selectorUpright."cyrl/sha" = "upright"
|
||||||
selectorItalic."cyrl/sha" = "italicMotionSerifedTailed"
|
selectorItalic."cyrl/sha" = "italicMotionSerifedTailed"
|
||||||
selectorUpright."cyrl/sha.BGR" = "motionSerifedTailed"
|
|
||||||
selectorItalic."cyrl/sha.BGR" = "motionSerifedTailed"
|
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
selectorUpright."cyrl/dzhe" = "upright"
|
||||||
selectorItalic."cyrl/dzhe" = "italicMotionSerifedTailed"
|
selectorItalic."cyrl/dzhe" = "italicMotionSerifedTailed"
|
||||||
|
selectorUpright."cyrl/tse" = "upright"
|
||||||
|
selectorItalic."cyrl/tse" = "italicMotionSerifed"
|
||||||
|
selector."cyrl/i.BGR" = "motionSerifedTailed"
|
||||||
|
selector."cyrl/sha.BGR" = "motionSerifedTailed"
|
||||||
|
selector."cyrl/tse.BGR" = "motionSerifed"
|
||||||
|
|
||||||
[prime.v]
|
[prime.v]
|
||||||
sampler = 'vV'
|
sampler = 'vV'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue