Fixes
This commit is contained in:
parent
a7ca29b14d
commit
d53ce25062
5 changed files with 158 additions and 97 deletions
|
@ -57,6 +57,11 @@ glyph-block Letter-Latin-Lower-B : begin
|
|||
flat [mix SB 0 0.7] (yOverlay - Ascender * 0.1)
|
||||
curl [mix SB RightSB 0.625] (yOverlay + Ascender * 0.05)
|
||||
|
||||
create-glyph "latn/be.\(suffix)" : glyph-proc
|
||||
include [refer-glyph "b.\(suffix)"] AS_BASE ALSO_METRICS
|
||||
include : HBar.t (SB - O) [mix SB RightSB 0.9] Ascender
|
||||
if doTS : include : VSerif.dr [mix SB RightSB 0.9] Ascender VJut
|
||||
|
||||
create-glyph "bHookTop.\(suffix)" : glyph-proc
|
||||
include : MarkSet.b
|
||||
include : Body XH
|
||||
|
@ -67,6 +72,7 @@ glyph-block Letter-Latin-Lower-B : begin
|
|||
select-variant 'b' 'b'
|
||||
select-variant 'bBar' 0x180 (follow -- 'b')
|
||||
select-variant 'bSlash' 0x2422 (follow -- 'b')
|
||||
select-variant 'latn/be' 0x183 (follow -- 'b')
|
||||
|
||||
derive-composites 'bPalatalHook' 0x1D80 'b' : PalatalHook.r
|
||||
x -- [mix (Middle + CorrectionOMidS) RightSB 0.75]
|
||||
|
@ -77,16 +83,10 @@ glyph-block Letter-Latin-Lower-B : begin
|
|||
CreateAccentedComposition 'bTildeOver' 0x1D6C 'b' 'tildeOverOnExension'
|
||||
select-variant 'bHookTop' 0x253
|
||||
|
||||
derive-glyphs 'bdot' 0x1E03 'b' : lambda [src gr] : glyph-proc
|
||||
include : refer-glyph "dotAbove"
|
||||
include : Translate (Width + HalfStroke) 0
|
||||
include [refer-glyph src] AS_BASE
|
||||
|
||||
derive-glyphs 'latinbe' 0x183 'b' : lambda [src gr] : glyph-proc
|
||||
include [refer-glyph src] AS_BASE
|
||||
include : HBar.t (SB - O) [mix SB RightSB 0.9] Ascender
|
||||
if SLAB : begin
|
||||
include : VSerif.dr [mix SB RightSB 0.9] Ascender VJut
|
||||
derive-multi-part-glyphs 'bdot' 0x1E03 {'b' 'dotAbove'} : lambda [srcs gr] : glyph-proc
|
||||
local { base mark } srcs
|
||||
include [refer-glyph base] AS_BASE ALSO_METRICS
|
||||
include : WithTransform [ApparentTranslate HalfStroke (XH - Ascender)] [refer-glyph mark]
|
||||
|
||||
glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft
|
||||
create-glyph 'mathbb/b' 0x1D553 : glyph-proc
|
||||
|
|
|
@ -154,9 +154,10 @@ glyph-block Letter-Latin-Lower-H : begin
|
|||
if SLAB : begin
|
||||
include : HSerif.lt (RightSB - Stroke * HVContrast) XH SideJut
|
||||
|
||||
derive-glyphs 'hDot' 0x1E23 'h' : lambda [src gr] : glyph-proc
|
||||
include : WithTransform [ApparentTranslate (Width + HVContrast * HalfStroke) 0] : refer-glyph "dotAbove"
|
||||
include [refer-glyph src] AS_BASE
|
||||
derive-multi-part-glyphs 'hDot' 0x1E23 { 'h' 'dotAbove' } : lambda [srcs gr] : glyph-proc
|
||||
local { base mark } srcs
|
||||
include [refer-glyph base] AS_BASE ALSO_METRICS
|
||||
include : WithTransform [ApparentTranslate (HVContrast * HalfStroke) (XH - Ascender)] [refer-glyph mark]
|
||||
|
||||
derive-glyphs 'hCedilla' 0x1E29 'h' : lambda [src gr] : glyph-proc
|
||||
local shift : Width + SB - Middle + HalfStroke * HVContrast
|
||||
|
|
|
@ -90,7 +90,7 @@ glyph-block Letter-Latin-Upper-H : begin
|
|||
|
||||
define HConfig : object
|
||||
serifless { HShape HTurned SLAB-NONE false }
|
||||
tailed { TailedHShape HTurned SLAB-NONE false }
|
||||
tailedSerifless { TailedHShape HTurned SLAB-NONE false }
|
||||
topLeftSerifed { HShape HTurned SLAB-TOP-LEFT false }
|
||||
tailedTopLeftSerifed { TailedHShape HTurned SLAB-TOP-LEFT false }
|
||||
topLeftBottomRightSerifed { HShape HTurned SLAB-TOP-LEFT-BOTTOM-RIGHT true }
|
||||
|
|
|
@ -291,7 +291,7 @@ class VbStageAlternative {
|
|||
ans.assignments.set(this.stage, this.key);
|
||||
|
||||
// RankGroup
|
||||
if (this.groupRank) ans.groupRank += this.groupRank;
|
||||
if (this.groupRank) ans.groupRank += this.evalValue(this.groupRank, localState);
|
||||
else if (this.stage === globalState.entry) ans.groupRank += this.rank;
|
||||
|
||||
if (this.keyAffix) ans.addKeyAffix(this.mode, this.evalValue(this.keyAffix, localState));
|
||||
|
@ -317,6 +317,7 @@ class VbStageAlternative {
|
|||
}
|
||||
|
||||
evalValue(expr, localState) {
|
||||
if (typeof expr === "number") return expr;
|
||||
if (typeof expr === "string") return expr;
|
||||
if (expr.if) {
|
||||
const condition = this.evalCondition(expr.if, localState);
|
||||
|
|
|
@ -307,21 +307,21 @@ descriptionAffix = "top serif"
|
|||
descriptionJoiner = "without"
|
||||
selectorAffix.G = "serifless"
|
||||
selectorAffix."G/sansSerif" = "serifless"
|
||||
selectorAffix.GHookTop = "serifless"
|
||||
selectorAffix.GHookTop = "serifed"
|
||||
|
||||
[prime.capital-g.variants-buildup.stages.top-serif.serifed]
|
||||
rank = 2
|
||||
descriptionAffix = "top serif"
|
||||
selectorAffix.G = "serifed"
|
||||
selectorAffix."G/sansSerif" = "serifed"
|
||||
selectorAffix."G/sansSerif" = "serifless"
|
||||
selectorAffix.GHookTop = "serifed"
|
||||
|
||||
[prime.capital-g.variants-buildup.stages.top-serif.inward-serifed]
|
||||
rank = 3
|
||||
descriptionAffix = "inward top serif"
|
||||
selectorAffix.G = "inwardSerifed"
|
||||
selectorAffix."G/sansSerif" = "inwardSerifed"
|
||||
selectorAffix.GHookTop = "inwardSerifed"
|
||||
selectorAffix."G/sansSerif" = "serifless"
|
||||
selectorAffix.GHookTop = "serifed"
|
||||
|
||||
[prime.capital-g.variants-buildup.stages.hook.hookless]
|
||||
rank = 1
|
||||
|
@ -802,51 +802,61 @@ tag = "cv16"
|
|||
|
||||
[prime.capital-q.variants.curly-tailed]
|
||||
rank = 1
|
||||
groupRank = 1
|
||||
description = "`Q` with a curly tail"
|
||||
selector.Q = "curlyTailed"
|
||||
|
||||
[prime.capital-q.variants.crossing-curly-tailed]
|
||||
rank = 2
|
||||
groupRank = 1
|
||||
description = "`Q` with a curly tail"
|
||||
selector.Q = "crossingCurlyTailed"
|
||||
|
||||
[prime.capital-q.variants.straight]
|
||||
rank = 3
|
||||
groupRank = 1
|
||||
description = "`Q` with a straight tail like in the old versions"
|
||||
selector.Q = "straight"
|
||||
|
||||
[prime.capital-q.variants.crossing]
|
||||
rank = 4
|
||||
groupRank = 1
|
||||
description = "`Q` with a tail crossing the ring"
|
||||
selector.Q = "crossing"
|
||||
|
||||
[prime.capital-q.variants.crossing-baseline]
|
||||
rank = 5
|
||||
groupRank = 1
|
||||
description = "`Q` with a tail above baseline crossing the ring"
|
||||
selector.Q = "crossingBaseline"
|
||||
|
||||
[prime.capital-q.variants.vertical-crossing]
|
||||
rank = 6
|
||||
groupRank = 1
|
||||
description = "`Q` with a vertical tail crossing the ring"
|
||||
selector.Q = "verticalCrossing"
|
||||
|
||||
[prime.capital-q.variants.horizontal-tailed]
|
||||
rank = 7
|
||||
groupRank = 2
|
||||
description = "`Q` with a horizontal tail, like Univers"
|
||||
selector.Q = "horizontalTailed"
|
||||
|
||||
[prime.capital-q.variants.detached-tailed]
|
||||
rank = 8
|
||||
groupRank = 2
|
||||
description = "`Q` with a oblique tail detached"
|
||||
selector.Q = "detachedTailed"
|
||||
|
||||
[prime.capital-q.variants.detached-bend-tailed]
|
||||
rank = 9
|
||||
groupRank = 2
|
||||
description = "`Q` with a bend tail detached"
|
||||
selector.Q = "detachedBendTailed"
|
||||
|
||||
[prime.capital-q.variants.open-swash]
|
||||
rank = 10
|
||||
groupRank = 2
|
||||
description = "`Q` with open contour and swash-y shape"
|
||||
selector.Q = "openSwash"
|
||||
|
||||
|
@ -1793,11 +1803,12 @@ sampler = "f"
|
|||
tag = "cv31"
|
||||
|
||||
[prime.f.variants-buildup]
|
||||
entry = "hook"
|
||||
entry = "tail"
|
||||
descriptionLeader = "`f`"
|
||||
|
||||
[prime.f.variants-buildup.stages.hook."*"]
|
||||
next = "tail"
|
||||
next = "crossbar"
|
||||
mode = "prepend"
|
||||
|
||||
[prime.f.variants-buildup.stages.hook.full]
|
||||
rank = 1
|
||||
|
@ -1828,7 +1839,7 @@ selectorAffix.fLTail = "flatHook"
|
|||
selectorAffix.dotlessjWithStrokeAndHook = "flatHook"
|
||||
|
||||
[prime.f.variants-buildup.stages.tail."*"]
|
||||
next = "crossbar"
|
||||
next = "hook"
|
||||
|
||||
[prime.f.variants-buildup.stages.tail.serifless]
|
||||
rank = 1
|
||||
|
@ -2080,8 +2091,8 @@ descriptionAffix = "serif at top left"
|
|||
selectorAffix.h = "topLeftSerifed"
|
||||
selectorAffix."h/descBase" = "topLeftSerifed"
|
||||
selectorAffix."h/sansSerif" = "serifless"
|
||||
selectorAffix.hHookTop = "topLeftSerifed"
|
||||
selectorAffix.hHookTopLTail = "topLeftSerifed"
|
||||
selectorAffix.hHookTop = "serifless"
|
||||
selectorAffix.hHookTopLTail = "serifless"
|
||||
selectorAffix.heng = "topLeftSerifed"
|
||||
selectorAffix."cyrl/shha" = "topLeftSerifed"
|
||||
|
||||
|
@ -2092,7 +2103,7 @@ selectorAffix.h = "motionSerifed"
|
|||
selectorAffix."h/descBase" = "topLeftSerifed"
|
||||
selectorAffix."h/sansSerif" = "serifless"
|
||||
selectorAffix.hHookTop = "motionSerifed"
|
||||
selectorAffix.hHookTopLTail = "motionSerifed"
|
||||
selectorAffix.hHookTopLTail = "serifless"
|
||||
selectorAffix.heng = "topLeftSerifed"
|
||||
selectorAffix."cyrl/shha" = "motionSerifed"
|
||||
|
||||
|
@ -2114,6 +2125,7 @@ tag = "cv34"
|
|||
|
||||
[prime.i.variants.serifed]
|
||||
rank = 1
|
||||
groupRank = 1
|
||||
description = "Serifed `i`"
|
||||
selector.dotlessi = "serifed"
|
||||
selector."dotlessi/sansSerif" = "serifless"
|
||||
|
@ -2122,6 +2134,7 @@ selector."dotlessi/ital" = "tailedSerifed"
|
|||
|
||||
[prime.i.variants.zshaped]
|
||||
rank = 2
|
||||
groupRank = 1
|
||||
description = "Z-shaped `i`"
|
||||
selector.dotlessi = "zshaped"
|
||||
selector."dotlessi/sansSerif" = "serifless"
|
||||
|
@ -2130,6 +2143,7 @@ selector."dotlessi/ital" = "tailedSerifed"
|
|||
|
||||
[prime.i.variants.serifless]
|
||||
rank = 3
|
||||
groupRank = 1
|
||||
description = "`i` like a straight line"
|
||||
selector.dotlessi = "serifless"
|
||||
selector."dotlessi/sansSerif" = "serifless"
|
||||
|
@ -2138,6 +2152,7 @@ selector."dotlessi/ital" = "tailed"
|
|||
|
||||
[prime.i.variants.hooky]
|
||||
rank = 4
|
||||
groupRank = 1
|
||||
description = "Hooky `i`"
|
||||
selector.dotlessi = "hooky"
|
||||
selector."dotlessi/sansSerif" = "serifless"
|
||||
|
@ -2146,6 +2161,7 @@ selector."dotlessi/ital" = "tailedSerifed"
|
|||
|
||||
[prime.i.variants.hooky-bottom]
|
||||
rank = 5
|
||||
groupRank = 1
|
||||
description = "`i` with a sharp-turning horizontal tail"
|
||||
selector.dotlessi = "hookyBottom"
|
||||
selector."dotlessi/sansSerif" = "serifless"
|
||||
|
@ -2154,6 +2170,7 @@ selector."dotlessi/ital" = "tailed"
|
|||
|
||||
[prime.i.variants.serifed-asymmetric]
|
||||
rank = 6
|
||||
groupRank = 1
|
||||
description = "`i` with shorter top serif and full bottom serif"
|
||||
selector.dotlessi = "serifedAsymmetric"
|
||||
selector."dotlessi/sansSerif" = "serifless"
|
||||
|
@ -2162,6 +2179,7 @@ selector."dotlessi/ital" = "tailedSerifed"
|
|||
|
||||
[prime.i.variants.tailed]
|
||||
rank = 7
|
||||
groupRank = 2
|
||||
description = "`i` with curly tail"
|
||||
selector.dotlessi = "tailed"
|
||||
selector."dotlessi/sansSerif" = "tailed"
|
||||
|
@ -2170,6 +2188,7 @@ selector."dotlessi/ital" = "tailed"
|
|||
|
||||
[prime.i.variants.tailed-serifed]
|
||||
rank = 8
|
||||
groupRank = 2
|
||||
description = "`i` with top serif and curly tail"
|
||||
selector.dotlessi = "tailedSerifed"
|
||||
selector."dotlessi/sansSerif" = "tailed"
|
||||
|
@ -2178,6 +2197,7 @@ selector."dotlessi/ital" = "tailedSerifed"
|
|||
|
||||
[prime.i.variants.flat-tailed]
|
||||
rank = 9
|
||||
groupRank = 2
|
||||
description = "`i` with curly-then-flat tail"
|
||||
selector.dotlessi = "flatTailed"
|
||||
selector."dotlessi/sansSerif" = "flatTailed"
|
||||
|
@ -2186,6 +2206,7 @@ selector."dotlessi/ital" = "flatTailed"
|
|||
|
||||
[prime.i.variants.serifed-flat-tailed]
|
||||
rank = 10
|
||||
groupRank = 2
|
||||
description = "`i` with top serif and curly-then-flat tail"
|
||||
selector.dotlessi = "serifedFlatTailed"
|
||||
selector."dotlessi/sansSerif" = "flatTailed"
|
||||
|
@ -2194,6 +2215,7 @@ selector."dotlessi/ital" = "serifedFlatTailed"
|
|||
|
||||
[prime.i.variants.diagonal-tailed]
|
||||
rank = 11
|
||||
groupRank = 2
|
||||
description = "`i` with diagonal tail"
|
||||
selector.dotlessi = "diagonalTailed"
|
||||
selector."dotlessi/sansSerif" = "diagonalTailed"
|
||||
|
@ -2202,6 +2224,7 @@ selector."dotlessi/ital" = "diagonalTailed"
|
|||
|
||||
[prime.i.variants.serifed-diagonal-tailed]
|
||||
rank = 12
|
||||
groupRank = 2
|
||||
description = "`i` with top serif and diagonal tail"
|
||||
selector.dotlessi = "serifedDiagonalTailed"
|
||||
selector."dotlessi/sansSerif" = "diagonalTailed"
|
||||
|
@ -2383,6 +2406,7 @@ tag = "cv37"
|
|||
|
||||
[prime.l.variants.serifed]
|
||||
rank = 1
|
||||
groupRank = 1
|
||||
description = "Serifed `l`"
|
||||
selector.l = "serifed"
|
||||
selector."l/sansSerif" = "serifless"
|
||||
|
@ -2396,6 +2420,7 @@ selector.lyogh = "hooky"
|
|||
|
||||
[prime.l.variants.serifless]
|
||||
rank = 2
|
||||
groupRank = 1
|
||||
description = "`l` like a straight line"
|
||||
selector.l = "serifless"
|
||||
selector."l/sansSerif" = "serifless"
|
||||
|
@ -2409,6 +2434,7 @@ selector.lyogh = "serifless"
|
|||
|
||||
[prime.l.variants.hooky]
|
||||
rank = 3
|
||||
groupRank = 1
|
||||
description = "Hooky `l`"
|
||||
selector.l = "hooky"
|
||||
selector."l/sansSerif" = "serifless"
|
||||
|
@ -2422,6 +2448,7 @@ selector.lyogh = "hooky"
|
|||
|
||||
[prime.l.variants.zshaped]
|
||||
rank = 4
|
||||
groupRank = 1
|
||||
description = "Z-shaped `l`"
|
||||
selector.l = "zshaped"
|
||||
selector."l/sansSerif" = "serifless"
|
||||
|
@ -2435,6 +2462,7 @@ selector.lyogh = "hooky"
|
|||
|
||||
[prime.l.variants.hooky-bottom]
|
||||
rank = 5
|
||||
groupRank = 1
|
||||
description = "`l` with a straight sharp-turning horizontal tail"
|
||||
selector.l = "hookyBottom"
|
||||
selector."l/sansSerif" = "serifless"
|
||||
|
@ -2448,6 +2476,7 @@ selector.lyogh = "serifless"
|
|||
|
||||
[prime.l.variants.serifed-asymmetric]
|
||||
rank = 6
|
||||
groupRank = 1
|
||||
description = "`l` with shorter top serif and full bottom serif"
|
||||
selector.l = "serifedAsymmetric"
|
||||
selector."l/sansSerif" = "serifless"
|
||||
|
@ -2461,6 +2490,7 @@ selector.lyogh = "hooky"
|
|||
|
||||
[prime.l.variants.tailed]
|
||||
rank = 7
|
||||
groupRank = 2
|
||||
description = "`l` with curly tail"
|
||||
selector.l = "tailed"
|
||||
selector."l/sansSerif" = "tailed"
|
||||
|
@ -2474,6 +2504,7 @@ selector.lyogh = "serifless"
|
|||
|
||||
[prime.l.variants.tailed-serifed]
|
||||
rank = 8
|
||||
groupRank = 2
|
||||
description = "`l` with top serif and curly tail"
|
||||
selector.l = "tailedSerifed"
|
||||
selector."l/sansSerif" = "tailed"
|
||||
|
@ -2487,6 +2518,7 @@ selector.lyogh = "hooky"
|
|||
|
||||
[prime.l.variants.flat-tailed]
|
||||
rank = 9
|
||||
groupRank = 2
|
||||
description = "`l` with curly-then-flat tail"
|
||||
selector.l = "flatTailed"
|
||||
selector."l/sansSerif" = "flatTailed"
|
||||
|
@ -2500,6 +2532,7 @@ selector.lyogh = "serifless"
|
|||
|
||||
[prime.l.variants.serifed-flat-tailed]
|
||||
rank = 10
|
||||
groupRank = 2
|
||||
description = "`l` with top serif and curly-then-flat tail"
|
||||
selector.l = "serifedFlatTailed"
|
||||
selector."l/sansSerif" = "flatTailed"
|
||||
|
@ -2513,6 +2546,7 @@ selector.lyogh = "hooky"
|
|||
|
||||
[prime.l.variants.diagonal-tailed]
|
||||
rank = 11
|
||||
groupRank = 2
|
||||
description = "`l` with diagonal tail"
|
||||
selector.l = "diagonalTailed"
|
||||
selector."l/sansSerif" = "diagonalTailed"
|
||||
|
@ -2526,6 +2560,7 @@ selector.lyogh = "serifless"
|
|||
|
||||
[prime.l.variants.serifed-diagonal-tailed]
|
||||
rank = 12
|
||||
groupRank = 2
|
||||
description = "`l` with top serif and diagonal tail"
|
||||
selector.l = "serifedDiagonalTailed"
|
||||
selector."l/sansSerif" = "diagonalTailed"
|
||||
|
@ -2549,8 +2584,9 @@ descriptionLeader = "`m`"
|
|||
[prime.m.variants-buildup.stages.body."*"]
|
||||
next = "leg"
|
||||
|
||||
[prime.m.variants-buildup.stages.body.normal]
|
||||
[prime.m.variants-buildup.stages.body.eared]
|
||||
rank = 1
|
||||
groupRank = 10
|
||||
keyAffix = ""
|
||||
descriptionAffix = "eared body shape"
|
||||
selectorAffix.m = ""
|
||||
|
@ -2561,6 +2597,7 @@ selectorAffix.mLTail = ""
|
|||
|
||||
[prime.m.variants-buildup.stages.body.earless-corner-double-arch]
|
||||
rank = 2
|
||||
groupRank = 20
|
||||
descriptionAffix = "earless (corner top-left) double-arch body shape"
|
||||
selectorAffix.m = "earlessCornerDoubleArch"
|
||||
selectorAffix."m/tailless" = "earlessCornerDoubleArch"
|
||||
|
@ -2570,6 +2607,7 @@ selectorAffix.mLTail = "earlessCornerDoubleArch"
|
|||
|
||||
[prime.m.variants-buildup.stages.body.earless-rounded-double-arch]
|
||||
rank = 3
|
||||
groupRank = 30
|
||||
descriptionAffix = "earless (rounded top-left) double-arch body shape"
|
||||
selectorAffix.m = "earlessRoundedDoubleArch"
|
||||
selectorAffix."m/tailless" = "earlessRoundedDoubleArch"
|
||||
|
@ -2579,6 +2617,7 @@ selectorAffix.mLTail = "earlessRoundedDoubleArch"
|
|||
|
||||
[prime.m.variants-buildup.stages.body.earless-single-arch]
|
||||
rank = 4
|
||||
groupRank = 40
|
||||
descriptionAffix = "earless (corner top-left) body shape"
|
||||
selectorAffix.m = "earlessSingleArch"
|
||||
selectorAffix."m/tailless" = "earlessSingleArch"
|
||||
|
@ -2591,6 +2630,7 @@ next = "tail"
|
|||
|
||||
[prime.m.variants-buildup.stages.leg.normal]
|
||||
rank = 1
|
||||
groupRank = 1
|
||||
keyAffix = ""
|
||||
descriptionAffix = "normal middle leg"
|
||||
selectorAffix.m = ""
|
||||
|
@ -2601,6 +2641,7 @@ selectorAffix.mLTail = ""
|
|||
|
||||
[prime.m.variants-buildup.stages.leg.short-leg]
|
||||
rank = 2
|
||||
groupRank = {if = [{body = "eared"}], then = 2, else = 1}
|
||||
descriptionAffix = "shorter middle leg (like Ubuntu Mono)"
|
||||
selectorAffix.m = "shortLeg"
|
||||
selectorAffix."m/tailless" = "shortLeg"
|
||||
|
@ -2642,7 +2683,7 @@ selectorAffix.mLTail = "serifless"
|
|||
[prime.m.variants-buildup.stages.serifs.top-left-serifed]
|
||||
rank = 2
|
||||
descriptionAffix = "serif at top left"
|
||||
disableIf = [ { body = "NOT normal" } ]
|
||||
disableIf = [ { body = "NOT eared" } ]
|
||||
selectorAffix.m = "topLeftSerifed"
|
||||
selectorAffix."m/tailless" = "topLeftSerifed"
|
||||
selectorAffix."m/sansSerif" = "serifless"
|
||||
|
@ -2652,7 +2693,7 @@ selectorAffix.mLTail = "topLeftSerifed"
|
|||
[prime.m.variants-buildup.stages.serifs.top-left-and-bottom-right-serifed]
|
||||
rank = 3
|
||||
descriptionAffix = "serifs at top left and bottom right"
|
||||
disableIf = [ { body = "NOT normal" }, { tail = "tailed" } ]
|
||||
disableIf = [ { body = "NOT eared" }, { tail = "tailed" } ]
|
||||
selectorAffix.m = "topLeftAndBottomRightSerifed"
|
||||
selectorAffix."m/tailless" = "topLeftAndBottomRightSerifed"
|
||||
selectorAffix."m/sansSerif" = "serifless"
|
||||
|
@ -3061,7 +3102,7 @@ rank = 4
|
|||
descriptionAffix = "serifs"
|
||||
selectorAffix.r = "serifed"
|
||||
selectorAffix."r/sansSerif" = "serifless"
|
||||
selectorAffix.rRTail = "serifed"
|
||||
selectorAffix.rRTail = {if = [{body="earless-corner"}, {body="earless-rounded"}], then = "serifless", else = "topSerifed"}
|
||||
selectorAffix."rTurnRTail" = "serifed"
|
||||
selectorAffix."rFlap" = "serifed"
|
||||
|
||||
|
@ -3445,6 +3486,7 @@ next = "serifs"
|
|||
|
||||
[prime.w.variants-buildup.stages.body.straight]
|
||||
rank = 1
|
||||
groupRank = 1
|
||||
descriptionAffix = "standard, straight body"
|
||||
selectorAffix.w = "straight"
|
||||
selectorAffix."w/sansSerif" = "straight"
|
||||
|
@ -3452,41 +3494,47 @@ selectorAffix.wHookTop = "straight"
|
|||
|
||||
[prime.w.variants-buildup.stages.body.curly]
|
||||
rank = 2
|
||||
groupRank = 1
|
||||
descriptionAffix = "curly body"
|
||||
selectorAffix.w = "curly"
|
||||
selectorAffix."w/sansSerif" = "curly"
|
||||
selectorAffix.wHookTop = "curly"
|
||||
|
||||
[prime.w.variants-buildup.stages.body.straight-flat-top]
|
||||
[prime.w.variants-buildup.stages.body.straight-vertical-sides]
|
||||
rank = 3
|
||||
groupRank = 1
|
||||
descriptionAffix = "body shape with vertical sides"
|
||||
selectorAffix.w = "straightVerticalSides"
|
||||
selectorAffix."w/sansSerif" = "straightVerticalSides"
|
||||
selectorAffix.wHookTop = "straightVerticalSides"
|
||||
|
||||
[prime.w.variants-buildup.stages.body.straight-flat-top]
|
||||
rank = 4
|
||||
groupRank = 2
|
||||
descriptionAffix = "straight body shape that the middle is forced to be aligned the top"
|
||||
selectorAffix.w = "straightFlatTop"
|
||||
selectorAffix."w/sansSerif" = "straightFlatTop"
|
||||
selectorAffix.wHookTop = "straightFlatTop"
|
||||
|
||||
[prime.w.variants-buildup.stages.body.straight-double-v]
|
||||
rank = 4
|
||||
rank = 5
|
||||
groupRank = 2
|
||||
descriptionAffix = "body shape like double V"
|
||||
selectorAffix.w = "straightDoubleV"
|
||||
selectorAffix."w/sansSerif" = "straightDoubleV"
|
||||
selectorAffix.wHookTop = "straightDoubleV"
|
||||
|
||||
[prime.w.variants-buildup.stages.body.straight-asymmetric]
|
||||
rank = 5
|
||||
rank = 6
|
||||
groupRank = 2
|
||||
descriptionAffix = "asymmetric shape"
|
||||
selectorAffix.w = "straightAsymmetric"
|
||||
selectorAffix."w/sansSerif" = "straightAsymmetric"
|
||||
selectorAffix.wHookTop = "straightAsymmetric"
|
||||
|
||||
[prime.w.variants-buildup.stages.body.straight-vertical-sides]
|
||||
rank = 6
|
||||
descriptionAffix = "body shape with vertical sides"
|
||||
selectorAffix.w = "straightVerticalSides"
|
||||
selectorAffix."w/sansSerif" = "straightVerticalSides"
|
||||
selectorAffix.wHookTop = "straightVerticalSides"
|
||||
|
||||
[prime.w.variants-buildup.stages.body.cursive]
|
||||
rank = 7
|
||||
groupRank = 3
|
||||
descriptionAffix = "body shape with vertical sides"
|
||||
selectorAffix.w = "cursive"
|
||||
selectorAffix."w/sansSerif" = "cursive"
|
||||
|
@ -3686,6 +3734,7 @@ next = "serifs"
|
|||
|
||||
[prime.z.variants-buildup.stages.body.straight]
|
||||
rank = 1
|
||||
groupRank = 10
|
||||
descriptionAffix = "straight body shape"
|
||||
selectorAffix.z = "straight"
|
||||
selectorAffix."z/sansSerif" = "straight"
|
||||
|
@ -3695,6 +3744,7 @@ selectorAffix."zDesc/reduced" = "straight"
|
|||
|
||||
[prime.z.variants-buildup.stages.body.curly]
|
||||
rank = 2
|
||||
groupRank = 20
|
||||
descriptionAffix = "curly body shape"
|
||||
selectorAffix.z = "curly"
|
||||
selectorAffix."z/sansSerif" = "curly"
|
||||
|
@ -3704,6 +3754,7 @@ selectorAffix."zDesc/reduced" = "curly"
|
|||
|
||||
[prime.z.variants-buildup.stages.body.cursive]
|
||||
rank = 3
|
||||
groupRank = 30
|
||||
next = "overlay"
|
||||
descriptionAffix = "cursive body shape"
|
||||
selectorAffix.z = "cursive"
|
||||
|
@ -3717,6 +3768,7 @@ next = "overlay"
|
|||
|
||||
[prime.z.variants-buildup.stages.serifs.serifless]
|
||||
rank = 1
|
||||
groupRank = 1
|
||||
descriptionAffix = "serifs"
|
||||
descriptionJoiner = "without"
|
||||
selectorAffix.z = "serifless"
|
||||
|
@ -3727,6 +3779,7 @@ selectorAffix."zDesc/reduced" = "serifless"
|
|||
|
||||
[prime.z.variants-buildup.stages.serifs.serifed]
|
||||
rank = 2
|
||||
groupRank = 1
|
||||
descriptionAffix = "serifs"
|
||||
selectorAffix.z = "serifed"
|
||||
selectorAffix."z/sansSerif" = "serifless"
|
||||
|
@ -3736,6 +3789,7 @@ selectorAffix."zDesc/reduced" = "topSerifed"
|
|||
|
||||
[prime.z.variants-buildup.stages.serifs.bottom-serifed]
|
||||
rank = 3
|
||||
groupRank = 2
|
||||
descriptionAffix = "serifs at bottom"
|
||||
selectorAffix.z = "bottomSerifed"
|
||||
selectorAffix."z/sansSerif" = "serifless"
|
||||
|
@ -3745,6 +3799,7 @@ selectorAffix."zDesc/reduced" = "serifless"
|
|||
|
||||
[prime.z.variants-buildup.stages.serifs.top-serifed]
|
||||
rank = 4
|
||||
groupRank = 2
|
||||
descriptionAffix = "serifs at top"
|
||||
selectorAffix.z = "topSerifed"
|
||||
selectorAffix."z/sansSerif" = "serifless"
|
||||
|
@ -4486,68 +4541,67 @@ sampler = "н"
|
|||
samplerExplain = "Cyrillic Lower En"
|
||||
tag = "cv68"
|
||||
|
||||
[prime.cyrl-en.variants.serifless]
|
||||
[prime.cyrl-en.variants-buildup]
|
||||
entry = "tail"
|
||||
|
||||
[prime.cyrl-en.variants-buildup.stages.tail."*"]
|
||||
next = "serifs"
|
||||
|
||||
[prime.cyrl-en.variants-buildup.stages.tail.tailless]
|
||||
rank = 1
|
||||
description = "Cyrillic Lower En (`н`) with standard shape"
|
||||
selector."cyrl/en" = "serifless"
|
||||
selector."cyrl/en.BGR" = "serifless"
|
||||
selector."cyrl/en/descenderBase" = "serifless"
|
||||
selector."cyrl/nje/leftHalf" = "serifless"
|
||||
selector."cyrl/nje/leftHalf/reduced" = "serifless"
|
||||
keyAffix = ""
|
||||
selectorAffix."cyrl/en" = ""
|
||||
selectorAffix."cyrl/en.BGR" = ""
|
||||
selectorAffix."cyrl/en/descenderBase" = ""
|
||||
selectorAffix."cyrl/nje/leftHalf" = ""
|
||||
selectorAffix."cyrl/nje/leftHalf/reduced" = ""
|
||||
|
||||
[prime.cyrl-en.variants.tailed-serifless]
|
||||
[prime.cyrl-en.variants-buildup.stages.tail.tailed]
|
||||
rank = 2
|
||||
description = "Cyrillic Lower En (`н`) with tail"
|
||||
selector."cyrl/en" = "tailed"
|
||||
selector."cyrl/en.BGR" = "tailed"
|
||||
selector."cyrl/en/descenderBase" = "serifless"
|
||||
selector."cyrl/nje/leftHalf" = "serifless"
|
||||
selector."cyrl/nje/leftHalf/reduced" = "serifless"
|
||||
descriptionAffix = "tail"
|
||||
selectorAffix."cyrl/en" = "tailed"
|
||||
selectorAffix."cyrl/en.BGR" = "tailed"
|
||||
selectorAffix."cyrl/en/descenderBase" = ""
|
||||
selectorAffix."cyrl/nje/leftHalf" = ""
|
||||
selectorAffix."cyrl/nje/leftHalf/reduced" = ""
|
||||
|
||||
[prime.cyrl-en.variants.top-left-serifed]
|
||||
[prime.cyrl-en.variants-buildup.stages.serifs.serifless]
|
||||
rank = 1
|
||||
descriptionAffix = "serifs"
|
||||
descriptionJoiner = "without"
|
||||
selectorAffix."cyrl/en" = "serifless"
|
||||
selectorAffix."cyrl/en.BGR" = "serifless"
|
||||
selectorAffix."cyrl/en/descenderBase" = "serifless"
|
||||
selectorAffix."cyrl/nje/leftHalf" = "serifless"
|
||||
selectorAffix."cyrl/nje/leftHalf/reduced" = "serifless"
|
||||
|
||||
[prime.cyrl-en.variants-buildup.stages.serifs.top-left-serifed]
|
||||
rank = 2
|
||||
descriptionAffix = "serifs at top left"
|
||||
selectorAffix."cyrl/en" = "topLeftSerifed"
|
||||
selectorAffix."cyrl/en.BGR" = "topLeftSerifed"
|
||||
selectorAffix."cyrl/en/descenderBase" = "topLeftSerifed"
|
||||
selectorAffix."cyrl/nje/leftHalf" = "topLeftSerifed"
|
||||
selectorAffix."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
|
||||
[prime.cyrl-en.variants-buildup.stages.serifs.top-left-bottom-right-serifed]
|
||||
rank = 3
|
||||
description = "Cyrillic Lower En (`н`) with outward serifs only at top left"
|
||||
selector."cyrl/en" = "topLeftSerifed"
|
||||
selector."cyrl/en.BGR" = "topLeftSerifed"
|
||||
selector."cyrl/en/descenderBase" = "topLeftSerifed"
|
||||
selector."cyrl/nje/leftHalf" = "topLeftSerifed"
|
||||
selector."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
disableIf = [{ tail = "tailed" }]
|
||||
descriptionAffix = "serifs at top left and bottom right"
|
||||
selectorAffix."cyrl/en" = "topLeftBottomRightSerifed"
|
||||
selectorAffix."cyrl/en.BGR" = "topLeftBottomRightSerifed"
|
||||
selectorAffix."cyrl/en/descenderBase" = "topLeftSerifed"
|
||||
selectorAffix."cyrl/nje/leftHalf" = "topLeftSerifed"
|
||||
selectorAffix."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
|
||||
[prime.cyrl-en.variants.tailed-top-left-serifed]
|
||||
[prime.cyrl-en.variants-buildup.stages.serifs.serifed]
|
||||
rank = 4
|
||||
description = "Cyrillic Lower En (`н`) with tail and outward serifs only at top left"
|
||||
selector."cyrl/en" = "tailedTopLeftSerifed"
|
||||
selector."cyrl/en.BGR" = "tailedTopLeftSerifed"
|
||||
selector."cyrl/en/descenderBase" = "topLeftSerifed"
|
||||
selector."cyrl/nje/leftHalf" = "topLeftSerifed"
|
||||
selector."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
|
||||
[prime.cyrl-en.variants.top-left-bottom-right-serifed]
|
||||
rank = 5
|
||||
description = "Cyrillic Lower En (`н`) with outward serifs only at top left and bottom right"
|
||||
selector."cyrl/en" = "topLeftBottomRightSerifed"
|
||||
selector."cyrl/en.BGR" = "topLeftBottomRightSerifed"
|
||||
selector."cyrl/en/descenderBase" = "topLeftSerifed"
|
||||
selector."cyrl/nje/leftHalf" = "topLeftSerifed"
|
||||
selector."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
|
||||
|
||||
[prime.cyrl-en.variants.serifed]
|
||||
rank = 6
|
||||
description = "Cyrillic Lower En (`н`) with full serifs"
|
||||
selector."cyrl/en" = "serifed"
|
||||
selector."cyrl/en.BGR" = "serifedBGR"
|
||||
selector."cyrl/en/descenderBase" = "serifed"
|
||||
selector."cyrl/nje/leftHalf" = "serifed"
|
||||
selector."cyrl/nje/leftHalf/reduced" = "serifedExceptBottomRight"
|
||||
|
||||
[prime.cyrl-en.variants.tailed-serifed]
|
||||
rank = 7
|
||||
description = "Cyrillic Lower En (`н`) with tail and full serifs"
|
||||
selector."cyrl/en" = "tailedSerifed"
|
||||
selector."cyrl/en.BGR" = "tailedSerifedBGR"
|
||||
selector."cyrl/en/descenderBase" = "serifed"
|
||||
selector."cyrl/nje/leftHalf" = "serifed"
|
||||
selector."cyrl/nje/leftHalf/reduced" = "serifedExceptBottomRight"
|
||||
descriptionAffix = "serifs"
|
||||
selectorAffix."cyrl/en" = "serifed"
|
||||
selectorAffix."cyrl/en.BGR" = "serifedBGR"
|
||||
selectorAffix."cyrl/en/descenderBase" = "serifed"
|
||||
selectorAffix."cyrl/nje/leftHalf" = "serifed"
|
||||
selectorAffix."cyrl/nje/leftHalf/reduced" = "serifedExceptBottomRight"
|
||||
|
||||
|
||||
|
||||
|
@ -4742,11 +4796,13 @@ 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"
|
||||
|
||||
|
@ -4756,16 +4812,19 @@ mode = "prepend"
|
|||
|
||||
[prime.cyrl-ya.variants-buildup.stages.leg.straight]
|
||||
rank = 1
|
||||
groupRank = 1
|
||||
description = "straight leg"
|
||||
selectorAffix."cyrl/ya" = "straight"
|
||||
|
||||
[prime.cyrl-ya.variants-buildup.stages.leg.curly]
|
||||
rank = 2
|
||||
groupRank = 2
|
||||
description = "curly leg"
|
||||
selectorAffix."cyrl/ya" = "curly"
|
||||
|
||||
[prime.cyrl-ya.variants-buildup.stages.leg.standing]
|
||||
rank = 3
|
||||
groupRank = 3
|
||||
description = "standing leg (like Helvetica)"
|
||||
selectorAffix."cyrl/ya" = "standing"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue