z variants refactor
This commit is contained in:
parent
404013a4c9
commit
14b3e54b61
5 changed files with 245 additions and 531 deletions
|
@ -1,6 +1,6 @@
|
|||
$$include '../../../meta/macros.ptl'
|
||||
|
||||
import [mix fallback weaveSuffix] from"../../../support/utils.mjs"
|
||||
import [mix fallback SuffixCfg] from"../../../support/utils.mjs"
|
||||
import [Dotless CvDecompose MathSansSerif] from"../../../support/gr.mjs"
|
||||
|
||||
glyph-module
|
||||
|
@ -168,7 +168,7 @@ glyph-block Letter-Latin-Lower-M : begin
|
|||
flat df.rightSB [Math.max (top - [SmallMSmooth df]) (rbot + 0.1)]
|
||||
curl df.rightSB rbot [heading Downward]
|
||||
|
||||
define SmallMConfig : weaveSuffix
|
||||
define SmallMConfig : SuffixCfg.weave
|
||||
object
|
||||
"" { SmallMArches 0 }
|
||||
"earlessCornerDoubleArch" { EarlessCornerDoubleArchSmallMShape 1 }
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
$$include '../../../meta/macros.ptl'
|
||||
|
||||
import [mix linreg clamp fallback] from"../../../support/utils.mjs"
|
||||
import [mix SuffixCfg fallback] from"../../../support/utils.mjs"
|
||||
import [CvDecompose MathSansSerif] from"../../../support/gr.mjs"
|
||||
|
||||
glyph-module
|
||||
|
@ -203,37 +203,23 @@ glyph-block Letter-Latin-Z : begin
|
|||
archv
|
||||
g4.down.end (SB + O + HVContrast * fine) Descender [heading Downward]
|
||||
|
||||
define ZConfig : SuffixCfg.weave
|
||||
object # Body
|
||||
straight { ZBaseShape SmallZBaseShape NoBottomStrokeMask }
|
||||
curly { ZCurlyShape SmallZCurlyShape CurlyBottomStrokeMask }
|
||||
cursive { ZCursiveShape SmallZCursiveShape NoBottomStrokeMask }
|
||||
object # Serifs
|
||||
"" { ZSerifless } # for Cursive
|
||||
serifless { ZSerifless }
|
||||
serifed { ZStdSerifs }
|
||||
bottomSerifed { ZMotionSerifsB }
|
||||
topSerifed { ZMotionSerifsT }
|
||||
object # overlay
|
||||
"" { null }
|
||||
withCrossBar { DBarOver }
|
||||
withHorizontalCrossBar { HBar.mOver }
|
||||
|
||||
define ZConfig : object
|
||||
straightSerifless { ZBaseShape SmallZBaseShape ZSerifless null NoBottomStrokeMask }
|
||||
straightSeriflessWithCrossBar { ZBaseShape SmallZBaseShape ZSerifless DBarOver NoBottomStrokeMask }
|
||||
straightSeriflessWithHorizontalCrossBar { ZBaseShape SmallZBaseShape ZSerifless HBar.mOver NoBottomStrokeMask }
|
||||
curlySerifless { ZCurlyShape SmallZCurlyShape ZSerifless null CurlyBottomStrokeMask }
|
||||
curlySeriflessWithCrossBar { ZCurlyShape SmallZCurlyShape ZSerifless DBarOver CurlyBottomStrokeMask }
|
||||
curlySeriflessWithHorizontalCrossBar { ZCurlyShape SmallZCurlyShape ZSerifless HBar.mOver CurlyBottomStrokeMask }
|
||||
straightSerifed { ZBaseShape SmallZBaseShape ZStdSerifs null NoBottomStrokeMask }
|
||||
straightSerifedWithCrossBar { ZBaseShape SmallZBaseShape ZStdSerifs DBarOver NoBottomStrokeMask }
|
||||
straightSerifedWithHorizontalCrossBar { ZBaseShape SmallZBaseShape ZStdSerifs HBar.mOver NoBottomStrokeMask }
|
||||
curlySerifed { ZCurlyShape SmallZCurlyShape ZStdSerifs null CurlyBottomStrokeMask }
|
||||
curlySerifedWithCrossBar { ZCurlyShape SmallZCurlyShape ZStdSerifs DBarOver CurlyBottomStrokeMask }
|
||||
curlySerifedWithHorizontalCrossBar { ZCurlyShape SmallZCurlyShape ZStdSerifs HBar.mOver CurlyBottomStrokeMask }
|
||||
straightBottomSerifed { ZBaseShape SmallZBaseShape ZMotionSerifsB null NoBottomStrokeMask }
|
||||
straightBottomSerifedWithCrossbar { ZBaseShape SmallZBaseShape ZMotionSerifsB DBarOver NoBottomStrokeMask }
|
||||
straightBottomSerifedWithHorizontalCrossBar { ZBaseShape SmallZBaseShape ZMotionSerifsB HBar.mOver NoBottomStrokeMask }
|
||||
curlyBottomSerifed { ZCurlyShape SmallZCurlyShape ZMotionSerifsB null CurlyBottomStrokeMask }
|
||||
curlyBottomSerifedWithCrossbar { ZCurlyShape SmallZCurlyShape ZMotionSerifsB DBarOver CurlyBottomStrokeMask }
|
||||
curlyBottomSerifedWithHorizontalCrossBar { ZCurlyShape SmallZCurlyShape ZMotionSerifsB HBar.mOver CurlyBottomStrokeMask }
|
||||
straightTopSerifed { ZBaseShape SmallZBaseShape ZMotionSerifsT null NoBottomStrokeMask }
|
||||
straightTopSerifedWithCrossbar { ZBaseShape SmallZBaseShape ZMotionSerifsT DBarOver NoBottomStrokeMask }
|
||||
straightTopSerifedWithHorizontalCrossBar { ZBaseShape SmallZBaseShape ZMotionSerifsT HBar.mOver NoBottomStrokeMask }
|
||||
curlyTopSerifed { ZCurlyShape SmallZCurlyShape ZMotionSerifsT null CurlyBottomStrokeMask }
|
||||
curlyTopSerifedWithCrossbar { ZCurlyShape SmallZCurlyShape ZMotionSerifsT DBarOver CurlyBottomStrokeMask }
|
||||
curlyTopSerifedWithHorizontalCrossBar { ZCurlyShape SmallZCurlyShape ZMotionSerifsT HBar.mOver CurlyBottomStrokeMask }
|
||||
cursive { ZCursiveShape SmallZCursiveShape ZSerifless null NoBottomStrokeMask }
|
||||
cursiveWithCrossBar { ZCursiveShape SmallZCursiveShape ZSerifless DBarOver NoBottomStrokeMask }
|
||||
cursiveWithHorizontalCrossBar { ZCursiveShape SmallZCursiveShape ZSerifless HBar.mOver NoBottomStrokeMask }
|
||||
|
||||
foreach { suffix { capital small serifs slash bsMask } } [Object.entries ZConfig] : do
|
||||
foreach { suffix { {capital small bsMask} {serifs} {slash} } } [pairs-of ZConfig] : do
|
||||
create-glyph "Z.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : capital MODE-Z
|
||||
|
|
|
@ -34,12 +34,6 @@ export function joinCamel(a, b) {
|
|||
return a + b[0].toUpperCase() + b.slice(1);
|
||||
}
|
||||
|
||||
export function weaveSuffix(...configs) {
|
||||
let ans = {};
|
||||
joinSuffixListImpl(ans, "", [], configs);
|
||||
return ans;
|
||||
}
|
||||
|
||||
function joinSuffixListImpl(sink, k, v, configs) {
|
||||
if (!configs.length) {
|
||||
sink[k] = v;
|
||||
|
@ -52,3 +46,16 @@ function joinSuffixListImpl(sink, k, v, configs) {
|
|||
joinSuffixListImpl(sink, k1, v1, configs.slice(1));
|
||||
}
|
||||
}
|
||||
|
||||
export const SuffixCfg = {
|
||||
weave: function (...configs) {
|
||||
let ans = {};
|
||||
joinSuffixListImpl(ans, "", [], configs);
|
||||
return ans;
|
||||
},
|
||||
combine: function (...configs) {
|
||||
let ans = {};
|
||||
for (const item of configs) for (const [k, v] of Object.entries(item)) ans[k] = v;
|
||||
return ans;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -222,6 +222,8 @@ class VariantBuilder {
|
|||
let ans = {};
|
||||
for (const item of globalState.sink) {
|
||||
let cfg = item.createPrimeVariant();
|
||||
if (!cfg.key) throw new Error("Invalid variant key");
|
||||
if (ans[cfg.key]) throw new Error("Duplicate variant : " + cfg.key);
|
||||
ans[cfg.key] = cfg;
|
||||
}
|
||||
return ans;
|
||||
|
@ -353,6 +355,7 @@ class VbLocalState {
|
|||
}
|
||||
|
||||
addDescription(joiner, segment) {
|
||||
if (!segment) return;
|
||||
if (!this.descriptions.has(joiner)) this.descriptions.set(joiner, []);
|
||||
this.descriptions.get(joiner).push(segment);
|
||||
}
|
||||
|
|
|
@ -1724,276 +1724,126 @@ selector."Y/sansSerif" = "curlySerifless"
|
|||
sampler = "Z"
|
||||
tag = "cv25"
|
||||
|
||||
[prime.capital-z.variants.straight-serifless]
|
||||
[prime.capital-z.variants-buildup]
|
||||
entry = "body"
|
||||
descriptionLeader = "`z`"
|
||||
|
||||
[prime.capital-z.variants-buildup.stages.body."*"]
|
||||
next = "serifs"
|
||||
|
||||
[prime.capital-z.variants-buildup.stages.body.straight]
|
||||
rank = 1
|
||||
description = "Straight `Z` without serifs"
|
||||
selector.Z = "straightSerifless"
|
||||
selector."Z/sansSerif" = "straightSerifless"
|
||||
selector."Z/reduced" = "straightSerifless"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightSerifless"
|
||||
selector."ZDesc/reduced" = "straightSerifless"
|
||||
keySuffix = "straight"
|
||||
descriptionSuffix = "straight body shape"
|
||||
selectorSuffix.Z = "straight"
|
||||
selectorSuffix."Z/sansSerif" = "straight"
|
||||
selectorSuffix."Z/reduced" = "straight"
|
||||
selectorSuffix."Z/reduced/sansSerif" = "straight"
|
||||
selectorSuffix.ZDesc = "straight"
|
||||
selectorSuffix."ZDesc/reduced" = "straight"
|
||||
|
||||
[prime.capital-z.variants.straight-serifless-with-crossbar]
|
||||
[prime.capital-z.variants-buildup.stages.body.curly]
|
||||
rank = 2
|
||||
description = "Straight `Z` with a diagonal crossbar, and without serifs"
|
||||
selector.Z = "straightSeriflessWithCrossBar"
|
||||
selector."Z/sansSerif" = "straightSeriflessWithCrossBar"
|
||||
selector."Z/reduced" = "straightSerifless"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightSeriflessWithCrossBar"
|
||||
selector."ZDesc/reduced" = "straightSerifless"
|
||||
keySuffix = "curly"
|
||||
descriptionSuffix = "curly body shape"
|
||||
selectorSuffix.Z = "curly"
|
||||
selectorSuffix."Z/sansSerif" = "curly"
|
||||
selectorSuffix."Z/reduced" = "curly"
|
||||
selectorSuffix."Z/reduced/sansSerif" = "curly"
|
||||
selectorSuffix.ZDesc = "curly"
|
||||
selectorSuffix."ZDesc/reduced" = "curly"
|
||||
|
||||
[prime.capital-z.variants.straight-serifless-with-horizontal-crossbar]
|
||||
[prime.capital-z.variants-buildup.stages.body.cursive]
|
||||
rank = 3
|
||||
description = "Straight `Z` with a horizontal crossbar, and without serifs"
|
||||
selector.Z = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "straightSerifless"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "straightSerifless"
|
||||
next = "overlay"
|
||||
keySuffix = "cursive"
|
||||
descriptionSuffix = "cursive body shape"
|
||||
selectorSuffix.Z = "cursive"
|
||||
selectorSuffix."Z/sansSerif" = "cursive"
|
||||
selectorSuffix."Z/reduced" = "cursive"
|
||||
selectorSuffix."Z/reduced/sansSerif" = "cursive"
|
||||
selectorSuffix.ZDesc = "cursive"
|
||||
selectorSuffix."ZDesc/reduced" = "cursive"
|
||||
|
||||
[prime.capital-z.variants.straight-serifed]
|
||||
[prime.capital-z.variants-buildup.stages.serifs."*"]
|
||||
next = "overlay"
|
||||
|
||||
[prime.capital-z.variants-buildup.stages.serifs.serifless]
|
||||
rank = 1
|
||||
keySuffix = "serifless"
|
||||
descriptionSuffix = "serifs"
|
||||
descriptionJoiner = "without"
|
||||
selectorSuffix.Z = "serifless"
|
||||
selectorSuffix."Z/sansSerif" = "serifless"
|
||||
selectorSuffix."Z/reduced" = "serifless"
|
||||
selectorSuffix."Z/reduced/sansSerif" = "serifless"
|
||||
selectorSuffix.ZDesc = "serifless"
|
||||
selectorSuffix."ZDesc/reduced" = "serifless"
|
||||
|
||||
[prime.capital-z.variants-buildup.stages.serifs.serifed]
|
||||
rank = 2
|
||||
keySuffix = "serifed"
|
||||
descriptionSuffix = "serifs"
|
||||
selectorSuffix.Z = "serifed"
|
||||
selectorSuffix."Z/sansSerif" = "serifless"
|
||||
selectorSuffix."Z/reduced" = "serifed"
|
||||
selectorSuffix."Z/reduced/sansSerif" = "serifless"
|
||||
selectorSuffix.ZDesc = "topSerifed"
|
||||
selectorSuffix."ZDesc/reduced" = "topSerifed"
|
||||
|
||||
[prime.capital-z.variants-buildup.stages.serifs.bottom-serifed]
|
||||
rank = 3
|
||||
keySuffix = "bottom-serifed"
|
||||
descriptionSuffix = "serifs at bottom"
|
||||
selectorSuffix.Z = "bottomSerifed"
|
||||
selectorSuffix."Z/sansSerif" = "serifless"
|
||||
selectorSuffix."Z/reduced" = "bottomSerifed"
|
||||
selectorSuffix."Z/reduced/sansSerif" = "serifless"
|
||||
selectorSuffix.ZDesc = "serifless"
|
||||
selectorSuffix."ZDesc/reduced" = "serifless"
|
||||
|
||||
[prime.capital-z.variants-buildup.stages.serifs.top-serifed]
|
||||
rank = 4
|
||||
description = "Straight `Z` with top and bottom serifs"
|
||||
selector.Z = "straightSerifed"
|
||||
selector."Z/sansSerif" = "straightSerifless"
|
||||
selector."Z/reduced" = "straightSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightTopSerifed"
|
||||
selector."ZDesc/reduced" = "straightTopSerifed"
|
||||
keySuffix = "top-serifed"
|
||||
descriptionSuffix = "serifs at top"
|
||||
selectorSuffix.Z = "topSerifed"
|
||||
selectorSuffix."Z/sansSerif" = "serifless"
|
||||
selectorSuffix."Z/reduced" = "topSerifed"
|
||||
selectorSuffix."Z/reduced/sansSerif" = "serifless"
|
||||
selectorSuffix.ZDesc = "topSerifed"
|
||||
selectorSuffix."ZDesc/reduced" = "topSerifed"
|
||||
|
||||
[prime.capital-z.variants.straight-serifed-with-crossbar]
|
||||
rank = 5
|
||||
description = "Straight `Z` with a diagonal crossbar and serifs"
|
||||
selector.Z = "straightSerifedWithCrossBar"
|
||||
selector."Z/sansSerif" = "straightSeriflessWithCrossBar"
|
||||
selector."Z/reduced" = "straightSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightTopSerifedWithCrossbar"
|
||||
selector."ZDesc/reduced" = "straightTopSerifed"
|
||||
[prime.capital-z.variants-buildup.stages.overlay.no-overlay]
|
||||
rank = 1
|
||||
keySuffix = ""
|
||||
selectorSuffix.Z = ""
|
||||
selectorSuffix."Z/sansSerif" = ""
|
||||
selectorSuffix."Z/reduced" = ""
|
||||
selectorSuffix."Z/reduced/sansSerif" = ""
|
||||
selectorSuffix.ZDesc = ""
|
||||
selectorSuffix."ZDesc/reduced" = ""
|
||||
|
||||
[prime.capital-z.variants.straight-serifed-with-horizontal-crossbar]
|
||||
rank = 6
|
||||
description = "Straight `Z` with a horizontal crossbar and serifs"
|
||||
selector.Z = "straightSerifedWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "straightSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightTopSerifedWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "straightTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.straight-bottom-serifed]
|
||||
rank = 7
|
||||
description = "Standard `Z` with serif at bottom"
|
||||
selector.Z = "straightBottomSerifed"
|
||||
selector."Z/sansSerif" = "straightSerifless"
|
||||
selector."Z/reduced" = "straightBottomSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightSerifless"
|
||||
selector."ZDesc/reduced" = "straightSerifless"
|
||||
|
||||
[prime.capital-z.variants.straight-bottom-serifed-with-crossbar]
|
||||
rank = 8
|
||||
description = "Standard `Z` with a diagonal crossbar and serif at bottom"
|
||||
selector.Z = "straightBottomSerifedWithCrossbar"
|
||||
selector."Z/sansSerif" = "straightSeriflessWithCrossBar"
|
||||
selector."Z/reduced" = "straightBottomSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightSeriflessWithCrossBar"
|
||||
selector."ZDesc/reduced" = "straightSerifless"
|
||||
|
||||
[prime.capital-z.variants.straight-bottom-serifed-with-horizontal-crossbar]
|
||||
rank = 9
|
||||
description = "Standard `Z` with a horizontal crossbar and serif at bottom"
|
||||
selector.Z = "straightBottomSerifedWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "straightBottomSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "straightSerifless"
|
||||
|
||||
[prime.capital-z.variants.straight-top-serifed]
|
||||
rank = 10
|
||||
description = "Standard `Z` with serif at top"
|
||||
selector.Z = "straightTopSerifed"
|
||||
selector."Z/sansSerif" = "straightSerifless"
|
||||
selector."Z/reduced" = "straightTopSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightTopSerifed"
|
||||
selector."ZDesc/reduced" = "straightTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.straight-top-serifed-with-crossbar]
|
||||
rank = 11
|
||||
description = "Standard `Z` with a diagonal crossbar and serif at top"
|
||||
selector.Z = "straightTopSerifedWithCrossbar"
|
||||
selector."Z/sansSerif" = "straightSeriflessWithCrossBar"
|
||||
selector."Z/reduced" = "straightTopSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightTopSerifedWithCrossbar"
|
||||
selector."ZDesc/reduced" = "straightTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.straight-top-serifed-with-horizontal-crossbar]
|
||||
rank = 12
|
||||
description = "Standard `Z` with a horizontal crossbar and serif at top"
|
||||
selector.Z = "straightTopSerifedWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "straightTopSerifed"
|
||||
selector."Z/reduced/sansSerif" = "straightSerifless"
|
||||
selector.ZDesc = "straightTopSerifedWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "straightTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.curly-serifless]
|
||||
rank = 13
|
||||
description = "Curly `Z` without serifs"
|
||||
selector.Z = "curlySerifless"
|
||||
selector."Z/sansSerif" = "curlySerifless"
|
||||
selector."Z/reduced" = "curlySerifless"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlySerifless"
|
||||
selector."ZDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.capital-z.variants.curly-serifless-with-crossbar]
|
||||
rank = 14
|
||||
description = "Curly `Z` with a diagonal crossbar, and without serifs"
|
||||
selector.Z = "curlySeriflessWithCrossBar"
|
||||
selector."Z/sansSerif" = "curlySeriflessWithCrossBar"
|
||||
selector."Z/reduced" = "curlySerifless"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlySeriflessWithCrossBar"
|
||||
selector."ZDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.capital-z.variants.curly-serifless-with-horizontal-crossbar]
|
||||
rank = 15
|
||||
description = "Curly `Z` with a horizontal crossbar, and without serifs"
|
||||
selector.Z = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "curlySerifless"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.capital-z.variants.curly-serifed]
|
||||
rank = 16
|
||||
description = "Curly `Z` with top and bottom serifs"
|
||||
selector.Z = "curlySerifed"
|
||||
selector."Z/sansSerif" = "curlySerifless"
|
||||
selector."Z/reduced" = "curlySerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlyTopSerifed"
|
||||
selector."ZDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.curly-serifed-with-crossbar]
|
||||
rank = 17
|
||||
description = "Curly `Z` with a diagonal crossbar and serifs"
|
||||
selector.Z = "curlySerifedWithCrossBar"
|
||||
selector."Z/sansSerif" = "curlySeriflessWithCrossBar"
|
||||
selector."Z/reduced" = "curlySerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlyTopSerifedWithCrossbar"
|
||||
selector."ZDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.curly-serifed-with-horizontal-crossbar]
|
||||
rank = 18
|
||||
description = "Curly `Z` with a horizontal crossbar and serifs"
|
||||
selector.Z = "curlySerifedWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "curlySerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlyTopSerifedWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.curly-bottom-serifed-with-crossbar]
|
||||
rank = 19
|
||||
description = "Curly `Z` with serif at bottom"
|
||||
selector.Z = "curlyBottomSerifed"
|
||||
selector."Z/sansSerif" = "curlySerifless"
|
||||
selector."Z/reduced" = "curlyBottomSerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlySerifless"
|
||||
selector."ZDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.capital-z.variants.curly-bottom-serifed-with-horizontal-crossbar]
|
||||
rank = 20
|
||||
description = "Curly `Z` with a diagonal crossbar and serif at bottom"
|
||||
selector.Z = "curlyBottomSerifedWithCrossbar"
|
||||
selector."Z/sansSerif" = "curlySeriflessWithCrossBar"
|
||||
selector."Z/reduced" = "curlyBottomSerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlySeriflessWithCrossBar"
|
||||
selector."ZDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.capital-z.variants.curly-bottom-serifed]
|
||||
rank = 21
|
||||
description = "Curly `Z` with a horizontal crossbar and serif at bottom"
|
||||
selector.Z = "curlyBottomSerifedWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "curlyBottomSerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.capital-z.variants.curly-top-serifed]
|
||||
rank = 22
|
||||
description = "Curly `Z` with serif at top"
|
||||
selector.Z = "curlyTopSerifed"
|
||||
selector."Z/sansSerif" = "curlySerifless"
|
||||
selector."Z/reduced" = "curlyTopSerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlyTopSerifed"
|
||||
selector."ZDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.curly-top-serifed-with-crossbar]
|
||||
rank = 23
|
||||
description = "Curly `Z` with a diagonal crossbar and serif at top"
|
||||
selector.Z = "curlyTopSerifedWithCrossbar"
|
||||
selector."Z/sansSerif" = "curlySeriflessWithCrossBar"
|
||||
selector."Z/reduced" = "curlyTopSerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlyTopSerifedWithCrossbar"
|
||||
selector."ZDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.curly-top-serifed-with-horizontal-crossbar]
|
||||
rank = 24
|
||||
description = "Curly `Z` with a horizontal crossbar and serif at top"
|
||||
selector.Z = "curlyTopSerifedWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "curlyTopSerifed"
|
||||
selector."Z/reduced/sansSerif" = "curlySerifless"
|
||||
selector.ZDesc = "curlyTopSerifedWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.capital-z.variants.cursive]
|
||||
rank = 25
|
||||
description = "Cursive `Z`"
|
||||
selector.Z = "cursive"
|
||||
selector."Z/sansSerif" = "cursive"
|
||||
selector."Z/reduced" = "cursive"
|
||||
selector."Z/reduced/sansSerif" = "cursive"
|
||||
selector.ZDesc = "cursive"
|
||||
selector."ZDesc/reduced" = "cursive"
|
||||
|
||||
[prime.capital-z.variants.cursive-with-crossbar]
|
||||
rank = 26
|
||||
description = "Cursive `Z` with a diagonal cross bar"
|
||||
selector.Z = "cursiveWithCrossBar"
|
||||
selector."Z/sansSerif" = "cursiveWithCrossBar"
|
||||
selector."Z/reduced" = "cursive"
|
||||
selector."Z/reduced/sansSerif" = "cursive"
|
||||
selector.ZDesc = "cursiveWithCrossBar"
|
||||
selector."ZDesc/reduced" = "cursive"
|
||||
|
||||
[prime.capital-z.variants.cursive-with-horizontal-crossbar]
|
||||
rank = 27
|
||||
description = "Cursive `Z` with a horizontal cross bar"
|
||||
selector.Z = "cursiveWithHorizontalCrossBar"
|
||||
selector."Z/sansSerif" = "cursiveWithHorizontalCrossBar"
|
||||
selector."Z/reduced" = "cursive"
|
||||
selector."Z/reduced/sansSerif" = "cursive"
|
||||
selector.ZDesc = "cursiveWithHorizontalCrossBar"
|
||||
selector."ZDesc/reduced" = "cursive"
|
||||
[prime.capital-z.variants-buildup.stages.overlay.with-crossbar]
|
||||
rank = 2
|
||||
keySuffix = "with-crossbar"
|
||||
descriptionSuffix = "a diagonal crossbar"
|
||||
selectorSuffix.Z = "withCrossBar"
|
||||
selectorSuffix."Z/sansSerif" = "withCrossBar"
|
||||
selectorSuffix."Z/reduced" = ""
|
||||
selectorSuffix."Z/reduced/sansSerif" = ""
|
||||
selectorSuffix.ZDesc = "withCrossBar"
|
||||
selectorSuffix."ZDesc/reduced" = ""
|
||||
|
||||
[prime.capital-z.variants-buildup.stages.overlay.with-horizontal-crossbar]
|
||||
rank = 3
|
||||
keySuffix = "with-horizontal-crossbar"
|
||||
descriptionSuffix = "a horizontal crossbar"
|
||||
selectorSuffix.Z = "withHorizontalCrossBar"
|
||||
selectorSuffix."Z/sansSerif" = "withHorizontalCrossBar"
|
||||
selectorSuffix."Z/reduced" = ""
|
||||
selectorSuffix."Z/reduced/sansSerif" = ""
|
||||
selectorSuffix.ZDesc = "withHorizontalCrossBar"
|
||||
selectorSuffix."ZDesc/reduced" = ""
|
||||
|
||||
|
||||
|
||||
|
@ -4949,248 +4799,116 @@ selector."y/sansSerif" = "cursiveFlatHookSerifless"
|
|||
sampler = "z"
|
||||
tag = "cv50"
|
||||
|
||||
[prime.z.variants.straight-serifless]
|
||||
[prime.z.variants-buildup]
|
||||
entry = "body"
|
||||
descriptionLeader = "`z`"
|
||||
|
||||
[prime.z.variants-buildup.stages.body."*"]
|
||||
next = "serifs"
|
||||
|
||||
[prime.z.variants-buildup.stages.body.straight]
|
||||
rank = 1
|
||||
description = "Straight `z` without serifs"
|
||||
selector.z = "straightSerifless"
|
||||
selector."z/sansSerif" = "straightSerifless"
|
||||
selector."z/reduced" = "straightSerifless"
|
||||
selector.zDesc = "straightSerifless"
|
||||
selector."zDesc/reduced" = "straightSerifless"
|
||||
keySuffix = "straight"
|
||||
descriptionSuffix = "straight body shape"
|
||||
selectorSuffix.z = "straight"
|
||||
selectorSuffix."z/sansSerif" = "straight"
|
||||
selectorSuffix."z/reduced" = "straight"
|
||||
selectorSuffix.zDesc = "straight"
|
||||
selectorSuffix."zDesc/reduced" = "straight"
|
||||
|
||||
[prime.z.variants.straight-serifless-with-crossbar]
|
||||
[prime.z.variants-buildup.stages.body.curly]
|
||||
rank = 2
|
||||
description = "Straight `z` with a diagonal crossbar, and without serifs"
|
||||
selector.z = "straightSeriflessWithCrossBar"
|
||||
selector."z/sansSerif" = "straightSeriflessWithCrossBar"
|
||||
selector."z/reduced" = "straightSerifless"
|
||||
selector.zDesc = "straightSeriflessWithCrossBar"
|
||||
selector."zDesc/reduced" = "straightSerifless"
|
||||
keySuffix = "curly"
|
||||
descriptionSuffix = "curly body shape"
|
||||
selectorSuffix.z = "curly"
|
||||
selectorSuffix."z/sansSerif" = "curly"
|
||||
selectorSuffix."z/reduced" = "curly"
|
||||
selectorSuffix.zDesc = "curly"
|
||||
selectorSuffix."zDesc/reduced" = "curly"
|
||||
|
||||
[prime.z.variants.straight-serifless-with-horizontal-crossbar]
|
||||
[prime.z.variants-buildup.stages.body.cursive]
|
||||
rank = 3
|
||||
description = "Straight `z` with a horizontal crossbar, and without serifs"
|
||||
selector.z = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "straightSerifless"
|
||||
selector.zDesc = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "straightSerifless"
|
||||
next = "overlay"
|
||||
keySuffix = "cursive"
|
||||
descriptionSuffix = "cursive body shape"
|
||||
selectorSuffix.z = "cursive"
|
||||
selectorSuffix."z/sansSerif" = "cursive"
|
||||
selectorSuffix."z/reduced" = "cursive"
|
||||
selectorSuffix.zDesc = "cursive"
|
||||
selectorSuffix."zDesc/reduced" = "cursive"
|
||||
|
||||
[prime.z.variants.straight-serifed]
|
||||
[prime.z.variants-buildup.stages.serifs."*"]
|
||||
next = "overlay"
|
||||
|
||||
[prime.z.variants-buildup.stages.serifs.serifless]
|
||||
rank = 1
|
||||
keySuffix = "serifless"
|
||||
descriptionSuffix = "serifs"
|
||||
descriptionJoiner = "without"
|
||||
selectorSuffix.z = "serifless"
|
||||
selectorSuffix."z/sansSerif" = "serifless"
|
||||
selectorSuffix."z/reduced" = "serifless"
|
||||
selectorSuffix.zDesc = "serifless"
|
||||
selectorSuffix."zDesc/reduced" = "serifless"
|
||||
|
||||
[prime.z.variants-buildup.stages.serifs.serifed]
|
||||
rank = 2
|
||||
keySuffix = "serifed"
|
||||
descriptionSuffix = "serifs"
|
||||
selectorSuffix.z = "serifed"
|
||||
selectorSuffix."z/sansSerif" = "serifless"
|
||||
selectorSuffix."z/reduced" = "serifed"
|
||||
selectorSuffix.zDesc = "topSerifed"
|
||||
selectorSuffix."zDesc/reduced" = "topSerifed"
|
||||
|
||||
[prime.z.variants-buildup.stages.serifs.bottom-serifed]
|
||||
rank = 3
|
||||
keySuffix = "bottom-serifed"
|
||||
descriptionSuffix = "serifs at bottom"
|
||||
selectorSuffix.z = "bottomSerifed"
|
||||
selectorSuffix."z/sansSerif" = "serifless"
|
||||
selectorSuffix."z/reduced" = "bottomSerifed"
|
||||
selectorSuffix.zDesc = "serifless"
|
||||
selectorSuffix."zDesc/reduced" = "serifless"
|
||||
|
||||
[prime.z.variants-buildup.stages.serifs.top-serifed]
|
||||
rank = 4
|
||||
description = "Straight `z` with top and bottom serifs"
|
||||
selector.z = "straightSerifed"
|
||||
selector."z/sansSerif" = "straightSerifless"
|
||||
selector."z/reduced" = "straightSerifed"
|
||||
selector.zDesc = "straightTopSerifed"
|
||||
selector."zDesc/reduced" = "straightTopSerifed"
|
||||
keySuffix = "top-serifed"
|
||||
descriptionSuffix = "serifs at top"
|
||||
selectorSuffix.z = "topSerifed"
|
||||
selectorSuffix."z/sansSerif" = "serifless"
|
||||
selectorSuffix."z/reduced" = "topSerifed"
|
||||
selectorSuffix.zDesc = "topSerifed"
|
||||
selectorSuffix."zDesc/reduced" = "topSerifed"
|
||||
|
||||
[prime.z.variants.straight-serifed-with-crossbar]
|
||||
rank = 5
|
||||
description = "Straight `z` with a diagonal crossbar and serifs"
|
||||
selector.z = "straightSerifedWithCrossBar"
|
||||
selector."z/sansSerif" = "straightSeriflessWithCrossBar"
|
||||
selector."z/reduced" = "straightSerifed"
|
||||
selector.zDesc = "straightTopSerifedWithCrossbar"
|
||||
selector."zDesc/reduced" = "straightTopSerifed"
|
||||
[prime.z.variants-buildup.stages.overlay.no-overlay]
|
||||
rank = 1
|
||||
keySuffix = ""
|
||||
selectorSuffix.z = ""
|
||||
selectorSuffix."z/sansSerif" = ""
|
||||
selectorSuffix."z/reduced" = ""
|
||||
selectorSuffix.zDesc = ""
|
||||
selectorSuffix."zDesc/reduced" = ""
|
||||
|
||||
[prime.z.variants.straight-serifed-with-horizontal-crossbar]
|
||||
rank = 6
|
||||
description = "Straight `z` with a horizontal crossbar and serifs"
|
||||
selector.z = "straightSerifedWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "straightSerifed"
|
||||
selector.zDesc = "straightTopSerifedWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "straightTopSerifed"
|
||||
[prime.z.variants-buildup.stages.overlay.with-crossbar]
|
||||
rank = 2
|
||||
keySuffix = "with-crossbar"
|
||||
descriptionSuffix = "a diagonal crossbar"
|
||||
selectorSuffix.z = "withCrossBar"
|
||||
selectorSuffix."z/sansSerif" = "withCrossBar"
|
||||
selectorSuffix."z/reduced" = ""
|
||||
selectorSuffix.zDesc = "withCrossBar"
|
||||
selectorSuffix."zDesc/reduced" = ""
|
||||
|
||||
[prime.z.variants.straight-bottom-serifed]
|
||||
rank = 7
|
||||
description = "Standard `z` with serif at bottom"
|
||||
selector.z = "straightBottomSerifed"
|
||||
selector."z/sansSerif" = "straightSerifless"
|
||||
selector."z/reduced" = "straightBottomSerifed"
|
||||
selector.zDesc = "straightSerifless"
|
||||
selector."zDesc/reduced" = "straightSerifless"
|
||||
|
||||
[prime.z.variants.straight-bottom-serifed-with-crossbar]
|
||||
rank = 8
|
||||
description = "Standard `z` with a diagonal crossbar and serif at bottom"
|
||||
selector.z = "straightBottomSerifedWithCrossbar"
|
||||
selector."z/sansSerif" = "straightSeriflessWithCrossBar"
|
||||
selector."z/reduced" = "straightBottomSerifed"
|
||||
selector.zDesc = "straightSeriflessWithCrossBar"
|
||||
selector."zDesc/reduced" = "straightSerifless"
|
||||
|
||||
[prime.z.variants.straight-bottom-serifed-with-horizontal-crossbar]
|
||||
rank = 9
|
||||
description = "Standard `z` with a horizontal crossbar and serif at bottom"
|
||||
selector.z = "straightBottomSerifedWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "straightBottomSerifed"
|
||||
selector.zDesc = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "straightSerifless"
|
||||
|
||||
[prime.z.variants.straight-top-serifed]
|
||||
rank = 10
|
||||
description = "Standard `z` with serif at top"
|
||||
selector.z = "straightTopSerifed"
|
||||
selector."z/sansSerif" = "straightSerifless"
|
||||
selector."z/reduced" = "straightTopSerifed"
|
||||
selector.zDesc = "straightTopSerifed"
|
||||
selector."zDesc/reduced" = "straightTopSerifed"
|
||||
|
||||
[prime.z.variants.straight-top-serifed-with-crossbar]
|
||||
rank = 11
|
||||
description = "Standard `z` with a diagonal crossbar and serif at top"
|
||||
selector.z = "straightTopSerifedWithCrossbar"
|
||||
selector."z/sansSerif" = "straightSeriflessWithCrossBar"
|
||||
selector."z/reduced" = "straightTopSerifed"
|
||||
selector.zDesc = "straightTopSerifedWithCrossbar"
|
||||
selector."zDesc/reduced" = "straightTopSerifed"
|
||||
|
||||
[prime.z.variants.straight-top-serifed-with-horizontal-crossbar]
|
||||
rank = 12
|
||||
description = "Standard `z` with a horizontal crossbar and serif at top"
|
||||
selector.z = "straightTopSerifedWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "straightSeriflessWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "straightTopSerifed"
|
||||
selector.zDesc = "straightTopSerifedWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "straightTopSerifed"
|
||||
|
||||
[prime.z.variants.curly-serifless]
|
||||
rank = 13
|
||||
description = "Curly `z` without serifs"
|
||||
selector.z = "curlySerifless"
|
||||
selector."z/sansSerif" = "curlySerifless"
|
||||
selector."z/reduced" = "curlySerifless"
|
||||
selector.zDesc = "curlySerifless"
|
||||
selector."zDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.z.variants.curly-serifless-with-crossbar]
|
||||
rank = 14
|
||||
description = "Curly `z` with a diagonal crossbar, and without serifs"
|
||||
selector.z = "curlySeriflessWithCrossBar"
|
||||
selector."z/sansSerif" = "curlySeriflessWithCrossBar"
|
||||
selector."z/reduced" = "curlySerifless"
|
||||
selector.zDesc = "curlySeriflessWithCrossBar"
|
||||
selector."zDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.z.variants.curly-serifless-with-horizontal-crossbar]
|
||||
rank = 15
|
||||
description = "Curly `z` with a horizontal crossbar, and without serifs"
|
||||
selector.z = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "curlySerifless"
|
||||
selector.zDesc = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.z.variants.curly-serifed]
|
||||
rank = 16
|
||||
description = "Curly `z` with top and bottom serifs"
|
||||
selector.z = "curlySerifed"
|
||||
selector."z/sansSerif" = "curlySerifless"
|
||||
selector."z/reduced" = "curlySerifed"
|
||||
selector.zDesc = "curlyTopSerifed"
|
||||
selector."zDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.z.variants.curly-serifed-with-crossbar]
|
||||
rank = 17
|
||||
description = "Curly `z` with a diagonal crossbar and serifs"
|
||||
selector.z = "curlySerifedWithCrossBar"
|
||||
selector."z/sansSerif" = "curlySeriflessWithCrossBar"
|
||||
selector."z/reduced" = "curlySerifed"
|
||||
selector.zDesc = "curlyTopSerifedWithCrossbar"
|
||||
selector."zDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.z.variants.curly-serifed-with-horizontal-crossbar]
|
||||
rank = 18
|
||||
description = "Curly `z` with a horizontal crossbar and serifs"
|
||||
selector.z = "curlySerifedWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "curlySerifed"
|
||||
selector.zDesc = "curlyTopSerifedWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.z.variants.curly-bottom-serifed-with-crossbar]
|
||||
rank = 19
|
||||
description = "Curly `z` with serif at bottom"
|
||||
selector.z = "curlyBottomSerifed"
|
||||
selector."z/sansSerif" = "curlySerifless"
|
||||
selector."z/reduced" = "curlyBottomSerifed"
|
||||
selector.zDesc = "curlySerifless"
|
||||
selector."zDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.z.variants.curly-bottom-serifed-with-horizontal-crossbar]
|
||||
rank = 20
|
||||
description = "Curly `z` with a diagonal crossbar and serif at bottom"
|
||||
selector.z = "curlyBottomSerifedWithCrossbar"
|
||||
selector."z/sansSerif" = "curlySeriflessWithCrossBar"
|
||||
selector."z/reduced" = "curlyBottomSerifed"
|
||||
selector.zDesc = "curlySeriflessWithCrossBar"
|
||||
selector."zDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.z.variants.curly-bottom-serifed]
|
||||
rank = 21
|
||||
description = "Curly `z` with a horizontal crossbar and serif at bottom"
|
||||
selector.z = "curlyBottomSerifedWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "curlyBottomSerifed"
|
||||
selector.zDesc = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "curlySerifless"
|
||||
|
||||
[prime.z.variants.curly-top-serifed]
|
||||
rank = 22
|
||||
description = "Curly `z` with serif at top"
|
||||
selector.z = "curlyTopSerifed"
|
||||
selector."z/sansSerif" = "curlySerifless"
|
||||
selector."z/reduced" = "curlyTopSerifed"
|
||||
selector.zDesc = "curlyTopSerifed"
|
||||
selector."zDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.z.variants.curly-top-serifed-with-crossbar]
|
||||
rank = 23
|
||||
description = "Curly `z` with a diagonal crossbar and serif at top"
|
||||
selector.z = "curlyTopSerifedWithCrossbar"
|
||||
selector."z/sansSerif" = "curlySeriflessWithCrossBar"
|
||||
selector."z/reduced" = "curlyTopSerifed"
|
||||
selector.zDesc = "curlyTopSerifedWithCrossbar"
|
||||
selector."zDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.z.variants.curly-top-serifed-with-horizontal-crossbar]
|
||||
rank = 24
|
||||
description = "Curly `z` with a horizontal crossbar and serif at top"
|
||||
selector.z = "curlyTopSerifedWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "curlySeriflessWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "curlyTopSerifed"
|
||||
selector.zDesc = "curlyTopSerifedWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "curlyTopSerifed"
|
||||
|
||||
[prime.z.variants.cursive]
|
||||
rank = 25
|
||||
description = "Cursive `z`"
|
||||
selector.z = "cursive"
|
||||
selector."z/sansSerif" = "cursive"
|
||||
selector."z/reduced" = "cursive"
|
||||
selector.zDesc = "cursive"
|
||||
selector."zDesc/reduced" = "cursive"
|
||||
|
||||
[prime.z.variants.cursive-with-crossbar]
|
||||
rank = 26
|
||||
description = "Cursive `z` with a diagonal cross bar"
|
||||
selector.z = "cursiveWithCrossBar"
|
||||
selector."z/sansSerif" = "cursiveWithCrossBar"
|
||||
selector."z/reduced" = "cursive"
|
||||
selector.zDesc = "cursiveWithCrossBar"
|
||||
selector."zDesc/reduced" = "cursive"
|
||||
|
||||
[prime.z.variants.cursive-with-horizontal-crossbar]
|
||||
rank = 27
|
||||
description = "Cursive `z` with a horizontal cross bar"
|
||||
selector.z = "cursiveWithHorizontalCrossBar"
|
||||
selector."z/sansSerif" = "cursiveWithHorizontalCrossBar"
|
||||
selector."z/reduced" = "cursive"
|
||||
selector.zDesc = "cursiveWithHorizontalCrossBar"
|
||||
selector."zDesc/reduced" = "cursive"
|
||||
[prime.z.variants-buildup.stages.overlay.with-horizontal-crossbar]
|
||||
rank = 3
|
||||
keySuffix = "with-horizontal-crossbar"
|
||||
descriptionSuffix = "a horizontal crossbar"
|
||||
selectorSuffix.z = "withHorizontalCrossBar"
|
||||
selectorSuffix."z/sansSerif" = "withHorizontalCrossBar"
|
||||
selectorSuffix."z/reduced" = ""
|
||||
selectorSuffix.zDesc = "withHorizontalCrossBar"
|
||||
selectorSuffix."zDesc/reduced" = ""
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue