[prime.one]
sampler = "1"
tagKind = "digit"

[prime.one.variants.line]
rank = 1
description = "`1` drawn just like a straight line"
selector.one = "line"
selector."one/sansSerif" = "line"

[prime.one.variants.no-base]
rank = 2
description = "`1` without bottom serif"
selector.one = "noBase"
selector."one/sansSerif" = "noBase"

[prime.one.variants.base]
rank = 3
description = "`1` with bottom serif"
selector.one = "base"
selector."one/sansSerif" = "noBase"

[prime.one.variants.no-base-long-top-serif]
rank = 4
description = "`1` without bottom serif and with a long top serif"
selector.one = "noBaseLongTopSerif"
selector."one/sansSerif" = "noBaseLongTopSerif"

[prime.one.variants.base-long-top-serif]
rank = 5
description = "`1` with bottom serif and a long top serif"
selector.one = "baseLongTopSerif"
selector."one/sansSerif" = "noBaseLongTopSerif"

[prime.one.variants.no-base-flat-top-serif]
rank = 6
description = "`1` without bottom serif and with a flat top serif"
selector.one = "noBaseFlatTopSerif"
selector."one/sansSerif" = "noBaseFlatTopSerif"

[prime.one.variants.base-flat-top-serif]
rank = 7
description = "`1` with bottom serif and a flat top serif"
selector.one = "baseFlatTopSerif"
selector."one/sansSerif" = "noBaseFlatTopSerif"

[prime.one.variants.no-base-top-cut]
rank = 8
description = "`1` without bottom serif and with a diagonal cut at top"
selector.one = "noBaseTopCut"
selector."one/sansSerif" = "noBaseTopCut"

[prime.one.variants.base-top-cut]
rank = 9
description = "`1` with bottom serif and a diagonal cut at top"
selector.one = "baseTopCut"
selector."one/sansSerif" = "noBaseTopCut"



[prime.two]
sampler = "2"
tagKind = "digit"

[prime.two.variants-buildup]
entry = "body"
descriptionLeader = "`2`"

[prime.two.variants-buildup.stages.body."*"]
next = "serifs"

[prime.two.variants-buildup.stages.body.straight-neck]
rank = 1
descriptionAffix = "straight neck"
selectorAffix.two = "straightNeck"
selectorAffix."two/sansSerif" = "straightNeck"

[prime.two.variants-buildup.stages.body.curly-neck]
rank = 2
descriptionAffix = "curly neck"
selectorAffix.two = "curlyNeck"
selectorAffix."two/sansSerif" = "curlyNeck"

[prime.two.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.two = "serifless"
selectorAffix."two/sansSerif" = "serifless"

[prime.two.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix.two = "serifed"
selectorAffix."two/sansSerif" = "serifless"



[prime.three]
sampler = "3"
tagKind = "digit"

[prime.three.variants-buildup]
entry = "body"
descriptionLeader = "`3`"

[prime.three.variants-buildup.stages.body."*"]
next = "serifs"

[prime.three.variants-buildup.stages.body.flat-top]
rank = 1
descriptionAffix = "flat top (Like Museo Sans / Montserrat)"
selectorAffix.three = "flatTop"
selectorAffix."three/sansSerif" = "flatTop"

[prime.three.variants-buildup.stages.body.two-arcs]
rank = 2
next = "END"
descriptionAffix = "arched top"
selectorAffix.three = "twoArcs"
selectorAffix."three/sansSerif" = "twoArcs"

[prime.three.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.three = "serifless"
selectorAffix."three/sansSerif" = "serifless"

[prime.three.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix.three = "serifed"
selectorAffix."three/sansSerif" = "serifless"



[prime.four]
sampler = "4"
tagKind = "digit"

[prime.four.variants-buildup]
entry = "openness"
descriptionLeader = "`4`"

[prime.four.variants-buildup.stages.openness."*"]
next = "horizontal-bar"

[prime.four.variants-buildup.stages.openness.closed]
rank = 1
descriptionAffix = "closed contour"
selectorAffix.four = "closed"
selectorAffix."four/sansSerif" = "closed"

[prime.four.variants-buildup.stages.openness.semi-open]
rank = 2
descriptionAffix = "semi-open contour"
selectorAffix.four = "semiOpen"
selectorAffix."four/sansSerif" = "semiOpen"

[prime.four.variants-buildup.stages.openness.open]
rank = 3
descriptionAffix = "open contour"
selectorAffix.four = "open"
selectorAffix."four/sansSerif" = "open"

[prime.four.variants-buildup.stages.horizontal-bar."*"]
next = "serifs"

[prime.four.variants-buildup.stages.horizontal-bar.crossing]
rank = 1
keyAffix = ""
selectorAffix.four = "crossing"
selectorAffix."four/sansSerif" = "crossing"

[prime.four.variants-buildup.stages.horizontal-bar.non-crossing]
rank = 2
descriptionAffix = "horizontal bar that does not overflow the vertical bar"
selectorAffix.four = "nonCrossing"
selectorAffix."four/sansSerif" = "nonCrossing"

[prime.four.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.four = "serifless"
selectorAffix."four/sansSerif" = "serifless"

[prime.four.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix.four = "serifed"
selectorAffix."four/sansSerif" = "serifless"



[prime.five]
sampler = "5"
tagKind = "digit"

[prime.five.variants-buildup]
entry = "upper-left-bar"
descriptionLeader = "`5`"

[prime.five.variants-buildup.stages.upper-left-bar."*"]
next = "middle"

[prime.five.variants-buildup.stages.upper-left-bar.upright]
rank = 1
descriptionAffix = "upright upper-left bar"
selectorAffix.five = "upright"
selectorAffix."five/sansSerif" = "upright"
selectorAffix.zhuangToneFive = "upright"

[prime.five.variants-buildup.stages.upper-left-bar.oblique]
rank = 2
description = "oblique upper-left bar"
selectorAffix.five = "oblique"
selectorAffix."five/sansSerif" = "oblique"
selectorAffix.zhuangToneFive = "upright"

[prime.five.variants-buildup.stages.middle."*"]
next = "serifs"

[prime.five.variants-buildup.stages.middle.arched]
rank = 1
descriptionAffix = "arched middle part"
selectorAffix.five = "arched"
selectorAffix."five/sansSerif" = "arched"
selectorAffix.zhuangToneFive = "arched"

[prime.five.variants-buildup.stages.middle.flat]
rank = 2
descriptionAffix = "flat middle part"
selectorAffix.five = "flat"
selectorAffix."five/sansSerif" = "flat"
selectorAffix.zhuangToneFive = "flat"

[prime.five.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.five = "serifless"
selectorAffix."five/sansSerif" = "serifless"
selectorAffix.zhuangToneFive = "serifless"

[prime.five.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix.five = "serifed"
selectorAffix."five/sansSerif" = "serifless"
selectorAffix.zhuangToneFive = "serifed"



[prime.six]
sampler = "6"
tagKind = "digit"

[prime.six.variants.closed-contour]
rank = 1
description = "`6` with a more closed contour"
selector.six = "closedContour"

[prime.six.variants.open-contour]
rank = 2
description = "`6` with a more open contour"
selector.six = "openContour"

[prime.six.variants.straight-bar]
rank = 3
description = "`6` with a straight bar"
selector.six = "straightBar"



[prime.seven]
sampler = "7"
tagKind = "digit"

[prime.seven.variants-buildup]
entry = "body"
descriptionLeader = "`7`"

[prime.seven.variants-buildup.stages.body."*"]
next = "serifs"

[prime.seven.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight stem"
selectorAffix.seven = "straight"
selectorAffix."seven/sansSerif" = "straight"

[prime.seven.variants-buildup.stages.body.bend]
rank = 2
descriptionAffix = "bend stem"
selectorAffix.seven = "bend"
selectorAffix."seven/sansSerif" = "bend"

[prime.seven.variants-buildup.stages.body.curly]
rank = 3
descriptionAffix = "curly stem"
selectorAffix.seven = "curly"
selectorAffix."seven/sansSerif" = "curly"

[prime.seven.variants-buildup.stages.serifs."*"]
next = "overlay"

[prime.seven.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.seven = "serifless"
selectorAffix."seven/sansSerif" = "serifless"

[prime.seven.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix.seven = "serifed"
selectorAffix."seven/sansSerif" = "serifless"

[prime.seven.variants-buildup.stages.overlay.no-crossbar]
rank = 1
keyAffix = ""
selectorAffix.seven = ""
selectorAffix."seven/sansSerif" = ""

[prime.seven.variants-buildup.stages.overlay.crossbar]
rank = 2
descriptionAffix = "crossbar"
selectorAffix.seven = "crossbar"
selectorAffix."seven/sansSerif" = "crossbar"



[prime.eight]
sampler = "8"
tagKind = "digit"

[prime.eight.variants.crossing]
rank = 1
description = "`8` with crossing middle part"
selector.eight = "crossing"

[prime.eight.variants.two-circles]
rank = 2
description = "`8` looks like two circles joined together"
selector.eight = "twoCircles"

[prime.eight.variants.crossing-asymmetric]
rank = 3
description = "`8` looks asymmetric crossing middle part"
selector.eight = "crossingAsymmetric"



[prime.nine]
sampler = "9"
tagKind = "digit"

[prime.nine.variants.closed-contour]
rank = 1
description = "`9` with a more closed contour"
selector.nine = "closedContour"

[prime.nine.variants.open-contour]
rank = 2
description = "`9` with a more open contour"
selector.nine = "openContour"

[prime.nine.variants.straight-bar]
rank = 3
description = "`9` with a straight bar"
selector.nine = "straightBar"



[prime.zero]
sampler = "0"
tagKind = "digit"

[[prime.zero.cherryPicking]]
tag = "zero"

[prime.zero.variants-buildup]
entry = "body"
descriptionLeader = "Zero (`0`)"

[prime.zero.variants-buildup.stages.body."*"]
next = "overlays"

[prime.zero.variants-buildup.stages.body.standard]
rank = 1
keyAffix = ""
descriptionAffix = "standard body shape"
selectorAffix.zero = ""
selectorAffix."zero/forceSlashed" = ""
selectorAffix."zero/forceUnslashed" = ""

[prime.zero.variants-buildup.stages.body.oval]
rank = 2
keyAffix = "oval"
descriptionAffix = "oval body shape"
selectorAffix.zero = "oval"
selectorAffix."zero/forceSlashed" = "oval"
selectorAffix."zero/forceUnslashed" = "oval"

[prime.zero.variants-buildup.stages.body.diamond]
rank = 3
keyAffix = "diamond"
descriptionAffix = "diamond body shape"
selectorAffix.zero = "diamond"
selectorAffix."zero/forceSlashed" = "diamond"
selectorAffix."zero/forceUnslashed" = "diamond"

[prime.zero.variants-buildup.stages.overlays.unslashed]
rank = 1
descriptionAffix = "slash"
descriptionJoiner = "without"
selectorAffix.zero = "unslashed"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.slashed]
rank = 2
descriptionAffix = "slash"
selectorAffix.zero = "slashed"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.reverse-slashed]
rank = 3
descriptionAffix = "revese slash"
selectorAffix.zero = "reverseSlashed"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.tall-slashed]
rank = 4
descriptionAffix = "tall slash"
selectorAffix.zero = "tallSlashed"
selectorAffix."zero/forceSlashed" = "tallSlashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.tall-reverse-slashed]
rank = 5
descriptionAffix = "tall reverse slash"
selectorAffix.zero = "tallReverseSlashed"
selectorAffix."zero/forceSlashed" = "tallSlashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.dotted]
rank = 6
descriptionAffix = "center dot"
selectorAffix.zero = "dotted"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.long-dotted]
rank = 7
descriptionAffix = "long center dot"
selectorAffix.zero = "longDotted"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.slashed-split]
rank = 8
descriptionAffix = "slash separated from the outline"
selectorAffix.zero = "slashedSplit"
selectorAffix."zero/forceSlashed" = "slashedSplit"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.reverse-slashed-split]
rank = 9
descriptionAffix = "reverse slash separated from the outline"
selectorAffix.zero = "reverseSlashedSplit"
selectorAffix."zero/forceSlashed" = "slashedSplit"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.broken-slash]
rank = 10
descriptionAffix = "slash broken in the middle (like in Fixedsys)"
selectorAffix.zero = "brokenSlash"
selectorAffix."zero/forceSlashed" = "brokenSlash"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.broken-reverse-slash]
rank = 11
descriptionAffix = "reverse slash broken in the middle"
selectorAffix.zero = "brokenReverseSlash"
selectorAffix."zero/forceSlashed" = "brokenSlash"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.broken-vertical-bar]
rank = 12
descriptionAffix = "vertical bar broken in the middle"
selectorAffix.zero = "brokenVerticalBar"
selectorAffix."zero/forceSlashed" = "brokenSlash"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.slashed-cutout]
rank = 13
descriptionAffix = "a slash cutout"
selectorAffix.zero = "slashedCutout"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.reverse-slashed-cutout]
rank = 14
descriptionAffix = "a reverse-slash cutout"
selectorAffix.zero = "reverseSlashedCutout"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.tall-slashed-cutout]
rank = 15
descriptionAffix = "a taller slash cutout"
selectorAffix.zero = "tallSlashedCutout"
selectorAffix."zero/forceSlashed" = "tallSlashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.tall-reverse-slashed-cutout]
rank = 16
descriptionAffix = "a taller reverse-slash cutout"
selectorAffix.zero = "tallReverseSlashedCutout"
selectorAffix."zero/forceSlashed" = "tallSlashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.vertical-bar-cutout]
rank = 17
descriptionAffix = "a vertical bar cutout"
selectorAffix.zero = "verticalBarCutout"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"

[prime.zero.variants-buildup.stages.overlays.top-right-cutout]
rank = 18
descriptionAffix = "the top-right bit cutout"
selectorAffix.zero = "topRightCutout"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"



[prime.capital-a]
sampler = "A"
tagKind = "letter"

[prime.capital-a.variants-buildup]
entry = "body"
descriptionLeader = "`A`"

[prime.capital-a.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-a.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix.A = "straight"
selectorAffix."A/sansSerif" = "straight"
selectorAffix.AE = "straight"

[prime.capital-a.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix.A = "curly"
selectorAffix."A/sansSerif" = "curly"
selectorAffix.AE = "curly"

[prime.capital-a.variants-buildup.stages.body.round-top]
rank = 3
descriptionAffix = "round top"
selectorAffix.A = "roundTop"
selectorAffix."A/sansSerif" = "roundTop"
selectorAffix.AE = "curly"

[prime.capital-a.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.A = "serifless"
selectorAffix."A/sansSerif" = "serifless"
selectorAffix.AE = ""

[prime.capital-a.variants-buildup.stages.serifs.top-serifed]
rank = 2
descriptionAffix = "serifs at top"
enableIf = [{ body = "NOT round-top" }]
selectorAffix.A = "topSerifed"
selectorAffix."A/sansSerif" = "serifless"
selectorAffix.AE = ""

[prime.capital-a.variants-buildup.stages.serifs.base-serifed]
rank = 3
descriptionAffix = "serifs at base"
selectorAffix.A = "baseSerifed"
selectorAffix."A/sansSerif" = "serifless"
selectorAffix.AE = ""

[prime.capital-a.variants-buildup.stages.serifs.tri-serifed]
rank = 4
descriptionAffix = "serifs at both top and base"
enableIf = [{ body = "NOT round-top" }]
selectorAffix.A = "triSerifed"
selectorAffix."A/sansSerif" = "serifless"
selectorAffix.AE = ""



[prime.capital-b]
sampler = "B"
tagKind = "letter"

[prime.capital-b.variants-buildup]
entry = "symmetry"
descriptionLeader = "`B`"

[prime.capital-b.variants-buildup.stages.symmetry."*"]
next = "openness"

[prime.capital-b.variants-buildup.stages.symmetry.standard]
rank = 1
descriptionAffix = "mostly symmetric shape"
selectorAffix.B = "standard"
selectorAffix."B/sansSerif" = "standard"
selectorAffix.Bhookleft = "standard"
selectorAffix."latn/Beta" = "standard"
selectorAffix.BBar = "standard"
selectorAffix.smcpB = "standard"
selectorAffix.smcpBBar = "standard"

[prime.capital-b.variants-buildup.stages.symmetry.more-asymmetric]
rank = 2
descriptionAffix = "more asymmetric shape"
selectorAffix.B = "moreAsymmetric"
selectorAffix."B/sansSerif" = "moreAsymmetric"
selectorAffix.Bhookleft = "moreAsymmetric"
selectorAffix."latn/Beta" = "moreAsymmetric"
selectorAffix.BBar = "moreAsymmetric"
selectorAffix.smcpB = "standard"
selectorAffix.smcpBBar = "standard"

[prime.capital-b.variants-buildup.stages.openness."*"]
next = "serifs"

[prime.capital-b.variants-buildup.stages.openness.closed]
rank = 1
keyAffix = ""
selectorAffix.B = ""
selectorAffix."B/sansSerif" = ""
selectorAffix.Bhookleft = ""
selectorAffix."latn/Beta" = ""
selectorAffix.BBar = ""
selectorAffix.smcpB = ""
selectorAffix.smcpBBar = ""

[prime.capital-b.variants-buildup.stages.openness.interrupted]
rank = 2
descriptionAffix = "interrupted middle bar"
selectorAffix.B = "interrupted"
selectorAffix."B/sansSerif" = "interrupted"
selectorAffix.Bhookleft = "interrupted"
selectorAffix."latn/Beta" = "interrupted"
selectorAffix.BBar = ""
selectorAffix.smcpB = "interrupted"
selectorAffix.smcpBBar = ""

[prime.capital-b.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.B = "serifless"
selectorAffix."B/sansSerif" = "serifless"
selectorAffix.Bhookleft = "serifless"
selectorAffix."latn/Beta" = "serifless"
selectorAffix.BBar = "serifless"
selectorAffix.smcpB = "serifless"
selectorAffix.smcpBBar = "serifless"

[prime.capital-b.variants-buildup.stages.serifs.unilateral-serifed]
rank = 2
descriptionAffix = "serifs at top"
selectorAffix.B = "unilateralSerifed"
selectorAffix."B/sansSerif" = "serifless"
selectorAffix.Bhookleft = "serifless"
selectorAffix."latn/Beta" = "unilateralSerifed"
selectorAffix.BBar = "unilateralSerifed"
selectorAffix.smcpB = "unilateralSerifed"
selectorAffix.smcpBBar = "unilateralSerifed"

[prime.capital-b.variants-buildup.stages.serifs.bilateral-serifed]
rank = 3
descriptionAffix = "serifs at both top and bottom"
selectorAffix.B = "bilateralSerifed"
selectorAffix."B/sansSerif" = "serifless"
selectorAffix.Bhookleft = "bilateralSerifed"
selectorAffix."latn/Beta" = "unilateralSerifed"
selectorAffix.BBar = "bilateralSerifed"
selectorAffix.smcpB = "bilateralSerifed"
selectorAffix.smcpBBar = "bilateralSerifed"



[prime.capital-c]
sampler = "C"
tagKind = "letter"

[prime.capital-c.variants.serifless]
rank = 1
description = "Serifless `C`"
selector.C = "serifless"
selector."C/sansSerif" = "serifless"
selector."C/descBase" = "serifless"
selector.CHookTop = "unilateralSerifed"
selector.CTopSerifOnly = "serifless"
selector.CBottomSerifOnly = "serifless"

[prime.capital-c.variants.unilateral-serifed]
rank = 2
description = "`C` with serif at top"
selector.C = "unilateralSerifed"
selector."C/sansSerif" = "serifless"
selector."C/descBase" = "bilateralSerifed"
selector.CHookTop = "unilateralSerifed"
selector.CTopSerifOnly = "unilateralSerifed"
selector.CBottomSerifOnly = "serifless"

[prime.capital-c.variants.bilateral-serifed]
rank = 3
description = "`C` with serifs at both top and bottom"
selector.C = "bilateralSerifed"
selector."C/sansSerif" = "serifless"
selector."C/descBase" = "bilateralSerifed"
selector.CHookTop = "bilateralSerifed"
selector.CTopSerifOnly = "unilateralSerifed"
selector.CBottomSerifOnly = "bottomSerifed"

[prime.capital-c.variants.unilateral-inward-serifed]
rank = 4
description = "`C` with inward serif at top"
selector.C = "unilateralInwardSerifed"
selector."C/sansSerif" = "serifless"
selector."C/descBase" = "hybridSerifed1"
selector.CHookTop = "unilateralInwardSerifed"
selector.CTopSerifOnly = "unilateralInwardSerifed"
selector.CBottomSerifOnly = "serifless"

[prime.capital-c.variants.bilateral-inward-serifed]
rank = 5
description = "`C` with inward serif at both top and bottom"
selector.C = "bilateralInwardSerifed"
selector."C/sansSerif" = "serifless"
selector."C/descBase" = "bilateralInwardSerifed"
selector.CHookTop = "bilateralInwardSerifed"
selector.CTopSerifOnly = "unilateralInwardSerifed"
selector.CBottomSerifOnly = "bottomInwardSerifed"



[prime.capital-d]
sampler = "D"
tagKind = "letter"

[prime.capital-d.variants-buildup]
entry = "body"
descriptionLeader = "`D`"

[prime.capital-d.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-d.variants-buildup.stages.body.standard]
rank = 1
descriptionAffix = "standard shape"
selectorAffix.D = "standard"
selectorAffix."D/sansSerif" = "standard"
selectorAffix.Dhookleft = "standard"
selectorAffix.smcpD = "moreRounded"

[prime.capital-d.variants-buildup.stages.body.more-rounded]
rank = 2
descriptionAffix = "more rounded shape"
selectorAffix.D = "moreRounded"
selectorAffix."D/sansSerif" = "moreRounded"
selectorAffix.Dhookleft = "moreRounded"
selectorAffix.smcpD = "moreRounded"

[prime.capital-d.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.D = "serifless"
selectorAffix."D/sansSerif" = "serifless"
selectorAffix.Dhookleft = "serifless"
selectorAffix.smcpD = "serifless"

[prime.capital-d.variants-buildup.stages.serifs.unilateral-serifed]
rank = 2
descriptionAffix = "serifs at top"
selectorAffix.D = "unilateralSerifed"
selectorAffix."D/sansSerif" = "serifless"
selectorAffix.Dhookleft = "serifless"
selectorAffix.smcpD = "unilateralSerifed"

[prime.capital-d.variants-buildup.stages.serifs.bilateral-serifed]
rank = 3
descriptionAffix = "serifs at both top and bottom"
selectorAffix.D = "bilateralSerifed"
selectorAffix."D/sansSerif" = "serifless"
selectorAffix.Dhookleft = "bilateralSerifed"
selectorAffix.smcpD = "bilateralSerifed"



[prime.capital-e]
sampler = "E"
tagKind = "letter"

[prime.capital-e.variants.serifless]
rank = 1
description = "E without serifs"
selector.E = "serifless"
selector."E/sansSerif" = "serifless"
selector."AE/EHalf" = "serifless"

[prime.capital-e.variants.top-left-serifed]
rank = 2
description = "E with serif only at top left"
selector.E = "topLeftSerifed"
selector."E/sansSerif" = "serifless"
selector."AE/EHalf" = "serifless"

[prime.capital-e.variants.serifed]
rank = 3
description = "E with serifs"
selector.E = "serifed"
selector."E/sansSerif" = "serifless"
selector."AE/EHalf" = "serifed"

[prime.capital-e.variants.serifed-capped]
rank = 4
description = "E with serifs and capped middle bar"
selector.E = "serifedCapped"
selector."E/sansSerif" = "serifless"
selector."AE/EHalf" = "serifedCapped"



[prime.capital-f]
sampler = "F"
tagKind = "letter"

[prime.capital-f.variants.serifless]
rank = 1
description = "F without serifs"
selector.F = "serifless"
selector."F/sansSerif" = "serifless"
selector."currency/frenchFrancSign" = "serifless"

[prime.capital-f.variants.top-left-serifed]
rank = 2
description = "F with serif only at top left"
selector.F = "topLeftSerifed"
selector."F/sansSerif" = "serifless"
selector."currency/frenchFrancSign" = "topLeftSerifed"

[prime.capital-f.variants.serifed]
rank = 3
description = "F with serifs"
selector.F = "serifed"
selector."F/sansSerif" = "serifless"
selector."currency/frenchFrancSign" = "serifed"

[prime.capital-f.variants.serifed-capped]
rank = 4
description = "F with serifs and capped middle bar"
selector.F = "serifedCapped"
selector."F/sansSerif" = "serifless"
selector."currency/frenchFrancSign" = "serifed"



[prime.capital-g]
sampler = "G"
tagKind = "letter"

[prime.capital-g.variants-buildup]
entry = "body"
descriptionLeader = "`G`"

[prime.capital-g.variants-buildup.stages.body."*"]
next = "top-serif"

[prime.capital-g.variants-buildup.stages.body.toothed]
rank = 1
descriptionAffix = "toothed body"
selectorAffix.G = "toothed"
selectorAffix."G/sansSerif" = "toothed"
selectorAffix.GHookTop = "toothed"

[prime.capital-g.variants-buildup.stages.body.toothless-corner]
rank = 2
descriptionAffix = "tootheless (corner) body"
selectorAffix.G = "toothlessCorner"
selectorAffix."G/sansSerif" = "toothlessCorner"
selectorAffix.GHookTop = "toothlessCorner"

[prime.capital-g.variants-buildup.stages.body.toothless-rounded]
rank = 3
descriptionAffix = "tootheless (rounded) body"
selectorAffix.G = "toothlessRounded"
selectorAffix."G/sansSerif" = "toothlessRounded"
selectorAffix.GHookTop = "toothlessRounded"

[prime.capital-g.variants-buildup.stages.top-serif."*"]
next = "hook"

[prime.capital-g.variants-buildup.stages.top-serif.serifless]
rank = 1
descriptionAffix = "top serif"
descriptionJoiner = "without"
selectorAffix.G = "serifless"
selectorAffix."G/sansSerif" = "serifless"
selectorAffix.GHookTop = "serifed"

[prime.capital-g.variants-buildup.stages.top-serif.serifed]
rank = 2
descriptionAffix = "top serif"
selectorAffix.G = "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" = "serifless"
selectorAffix.GHookTop = "inwardSerifed"

[prime.capital-g.variants-buildup.stages.hook.hookless]
rank = 1
descriptionAffix = "hooks"
descriptionJoiner = "without"
selectorAffix.G = "hookless"
selectorAffix."G/sansSerif" = "hookless"
selectorAffix.GHookTop = "hookless"

[prime.capital-g.variants-buildup.stages.hook.hooked]
rank = 2
descriptionAffix = "inward hook terminal"
selectorAffix.G = "hooked"
selectorAffix."G/sansSerif" = "hooked"
selectorAffix.GHookTop = "hooked"

[prime.capital-g.variants-buildup.stages.hook.capped]
rank = 3
descriptionAffix = "capped terminal"
selectorAffix.G = "capped"
selectorAffix."G/sansSerif" = "capped"
selectorAffix.GHookTop = "capped"



[prime.capital-h]
sampler = "H"
tagKind = "letter"

[prime.capital-h.variants.serifless]
rank = 1
description = "H without serifs"
selector.H = "serifless"
selector."H/sansSerif" = "serifless"
selector."H/descBase" = "serifless"
selector.leftHalfH = "serifless"
selector.rightHalfH = "serifless"
selector.Hwair = "serifless"
selector.HHookTop = "serifless"

[prime.capital-h.variants.top-left-serifed]
rank = 2
description = "H with serif only at top left"
selector.H = "topLeftSerifed"
selector."H/sansSerif" = "serifless"
selector."H/descBase" = "topLeftSerifed"
selector.leftHalfH = "topLeftSerifed"
selector.rightHalfH = "serifless"
selector.Hwair = "topLeftSerifed"
selector.HHookTop = "serifless"

[prime.capital-h.variants.top-left-bottom-right-serifed]
rank = 3
description = "H with serif only at top left and bottom right"
selector.H = "topLeftBottomRightSerifed"
selector."H/sansSerif" = "serifless"
selector."H/descBase" = "topLeftSerifed"
selector.leftHalfH = "topLeftSerifed"
selector.rightHalfH = "topLeftBottomRightSerifed"
selector.Hwair = "topLeftSerifed"
selector.HHookTop = "topLeftBottomRightSerifed"

[prime.capital-h.variants.serifed]
rank = 4
description = "H with serifs"
selector.H = "serifed"
selector."H/sansSerif" = "serifless"
selector."H/descBase" = "serifed"
selector.leftHalfH = "serifed"
selector.rightHalfH = "serifed"
selector.Hwair = "serifedExceptBottomRight"
selector.HHookTop = "serifed"



[prime.capital-i]
sampler = "I"
tagKind = "letter"

[prime.capital-i.variants.serifless]
rank = 1
description = "I without serifs, like a straight bar"
selector.I = "serifless"
selector."I/sansSerif" = "serifless"

[prime.capital-i.variants.serifed]
rank = 2
description = "I with standard (long) serifs"
selector.I = "serifed"
selector."I/sansSerif" = "serifless"

[prime.capital-i.variants.short-serifed]
rank = 3
description = "I with short serifs"
selector.I = "shortSerifed"
selector."I/sansSerif" = "serifless"



[prime.capital-j]
sampler = "J"
tagKind = "letter"

[prime.capital-j.variants-buildup]
entry = "height"
descriptionLeader = "`J`"

[prime.capital-j.variants-buildup.stages.height."*"]
next = "hook"

[prime.capital-j.variants-buildup.stages.height.standard]
rank = 1
keyAffix = ""
selectorAffix.J = ""
selectorAffix."J/sansSerif" = ""
selectorAffix."J/noDescend" = ""
selectorAffix.JCurlyTail = ""

[prime.capital-j.variants-buildup.stages.height.descending]
rank = 2
descriptionAffix = "descending height"
selectorAffix.J = "descending"
selectorAffix."J/sansSerif" = "descending"
selectorAffix."J/noDescend" = ""
selectorAffix.JCurlyTail = "descending"

[prime.capital-j.variants-buildup.stages.hook."*"]
next = "serifs"

[prime.capital-j.variants-buildup.stages.hook.bent-hook]
rank = 1
keyAffix = ""
selectorAffix.J = "bentHook"
selectorAffix."J/sansSerif" = "bentHook"
selectorAffix."J/noDescend" = "bentHook"
selectorAffix.JCurlyTail = "bentHook"

[prime.capital-j.variants-buildup.stages.hook.flat-hook]
rank = 2
descriptionAffix = "flat hook"
selectorAffix.J = "flatHook"
selectorAffix."J/sansSerif" = "flatHook"
selectorAffix."J/noDescend" = "flatHook"
selectorAffix.JCurlyTail = "bentHook"

[prime.capital-j.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.J = "serifless"
selectorAffix."J/sansSerif" = "serifless"
selectorAffix."J/noDescend" = "serifless"
selectorAffix.JCurlyTail = "serifless"

[prime.capital-j.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix.J = "serifed"
selectorAffix."J/sansSerif" = "serifless"
selectorAffix."J/noDescend" = "serifed"
selectorAffix.JCurlyTail = "serifed"

[prime.capital-j.variants-buildup.stages.serifs.serifed-both-sides]
rank = 3
disableIf = [{ height = "descending", hook = "flat-hook" }]
descriptionAffix = "serifs at both sides (asymmetric)"
selectorAffix.J = "serifedBothSides"
selectorAffix."J/sansSerif" = "serifless"
selectorAffix."J/noDescend" = "serifedBothSides"
selectorAffix.JCurlyTail = "serifedBothSides"

[prime.capital-j.variants-buildup.stages.serifs.serifed-symmetric]
rank = 4
disableIf = [{ height = "descending", hook = "flat-hook" }]
descriptionAffix = "serifs at both sides (symmetric)"
selectorAffix.J = "serifedSymmetric"
selectorAffix."J/sansSerif" = "serifless"
selectorAffix."J/noDescend" = "serifedSymmetric"
selectorAffix.JCurlyTail = "serifedSymmetric"



[prime.capital-k]
sampler = "K"
tagKind = "letter"

[prime.capital-k.variants-buildup]
entry = "body"
descriptionLeader = "`K`"

[prime.capital-k.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-k.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix.K = "straight"
selectorAffix."K/sansSerif" = "straight"
selectorAffix.KHookTop = "straight"
selectorAffix.KDescender = "straight"

[prime.capital-k.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix.K = "curly"
selectorAffix."K/sansSerif" = "curly"
selectorAffix.KHookTop = "curly"
selectorAffix.KDescender = "curly"

[prime.capital-k.variants-buildup.stages.body.symmetric-touching]
rank = 3
descriptionAffix = "symmetric legs touching the vertical bar"
selectorAffix.K = "symmetricTouching"
selectorAffix."K/sansSerif" = "symmetricTouching"
selectorAffix.KHookTop = "symmetricTouching"
selectorAffix.KDescender = "symmetricTouching"

[prime.capital-k.variants-buildup.stages.body.symmetric-connected]
rank = 4
descriptionAffix = "symmetric legs connected to the vertical bar"
selectorAffix.K = "symmetricConnected"
selectorAffix."K/sansSerif" = "symmetricConnected"
selectorAffix.KHookTop = "symmetricConnected"
selectorAffix.KDescender = "symmetricConnected"

[prime.capital-k.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.K = "serifless"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix.KHookTop = "serifless"
selectorAffix.KDescender = "serifless"

[prime.capital-k.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serifs at top left"
selectorAffix.K = "topLeftSerifed"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix.KHookTop = "topLeftSerifed"
selectorAffix.KDescender = "topLeftSerifed"

[prime.capital-k.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 3
descriptionAffix = "serifs at bottom right"
selectorAffix.K = "bottomRightSerifed"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix.KHookTop = "bottomRightSerifed"
selectorAffix.KDescender = "serifless"

[prime.capital-k.variants-buildup.stages.serifs.top-left-and-bottom-right-serifed]
rank = 4
descriptionAffix = "serifs at top left and bottom right"
selectorAffix.K = "topLeftAndBottomRightSerifed"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix.KHookTop = "topLeftAndBottomRightSerifed"
selectorAffix.KDescender = "topLeftSerifed"

[prime.capital-k.variants-buildup.stages.serifs.top-right-serifed]
rank = 5
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "serifs at top right"
selectorAffix.K = "topRightSerifed"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix.KHookTop = "serifless"
selectorAffix.KDescender = "topRightSerifed"

[prime.capital-k.variants-buildup.stages.serifs.tri-serifed]
rank = 6
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "serifs at top left and both legs"
selectorAffix.K = "triSerifed"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix.KHookTop = "topLeftAndBottomRightSerifed"
selectorAffix.KDescender = "topLeftAndTopRightSerifed"

[prime.capital-k.variants-buildup.stages.serifs.serifed]
rank = 7
descriptionAffix = "serifs"
selectorAffix.K = "serifed"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix.KHookTop = "serifed"
selectorAffix.KDescender = "serifed"

[prime.capital-k.variants-buildup.stages.serifs.full-serifed]
rank = 8
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "full serifs at legs"
selectorAffix.K = "fullSerifed"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix.KHookTop = "fullSerifed"
selectorAffix.KDescender = "fullSerifed"



[prime.capital-l]
sampler = "L"
tagKind = "letter"

[prime.capital-l.variants.serifless]
rank = 1
description = "Serifless `L`"
selector.L = "serifless"
selector."L/sansSerif" = "serifless"
selector."currency/sterlingSign" = "serifless"
selector."currency/turkishLiraSign" = "serifless"

[prime.capital-l.variants.motion-serifed]
rank = 2
description = "Standard `L` with motion serif at bottom right"
selector.L = "motionSerifed"
selector."L/sansSerif" = "serifless"
selector."currency/sterlingSign" = "motionSerifed"
selector."currency/turkishLiraSign" = "serifless"

[prime.capital-l.variants.serifed]
rank = 3
description = "`L` with serifs"
selector.L = "serifed"
selector."L/sansSerif" = "serifless"
selector."currency/sterlingSign" = "motionSerifed"
selector."currency/turkishLiraSign" = "serifed"



[prime.capital-m]
sampler = "M"
tagKind = "letter"

[prime.capital-m.variants-buildup]
entry = "sides"
descriptionLeader = "`M`"

[prime.capital-m.variants-buildup.stages.sides."*"]
next = "middle"

[prime.capital-m.variants-buildup.stages.sides.straight]
rank = 1
keyAffix = ""
selectorAffix.M = ""
selectorAffix."M/sansSerif" = ""

[prime.capital-m.variants-buildup.stages.sides.slanted-sides]
rank = 2
descriptionAffix = "slanted sides"
selectorAffix.M = "slantedSides"
selectorAffix."M/sansSerif" = "slantedSides"

[prime.capital-m.variants-buildup.stages.middle."*"]
next = "serifs"

[prime.capital-m.variants-buildup.stages.middle.hanging]
rank = 1
descriptionAffix = "middle being hanging off baseline"
selectorAffix.M = "hanging"
selectorAffix."M/sansSerif" = "hanging"

[prime.capital-m.variants-buildup.stages.middle.flat-bottom]
rank = 2
descriptionAffix = "middle aligned to baseline"
selectorAffix.M = "flatBottom"
selectorAffix."M/sansSerif" = "flatBottom"

[prime.capital-m.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.M = "serifless"
selectorAffix."M/sansSerif" = "serifless"

[prime.capital-m.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix.M = "motionSerifed"
selectorAffix."M/sansSerif" = "serifless"

[prime.capital-m.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.M = "serifed"
selectorAffix."M/sansSerif" = "serifless"



[prime.capital-n]
sampler = "N"
tagKind = "letter"

[prime.capital-n.variants-buildup]
entry = "body"
descriptionLeader = "`N`"

[prime.capital-n.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-n.variants-buildup.stages.body.standard]
rank = 1
descriptionAffix = "standard shape"
selectorAffix.N = "standard"
selectorAffix."N/sansSerif" = "standard"

[prime.capital-n.variants-buildup.stages.body.asymmetric]
rank = 2
descriptionAffix = "asymmetric shape"
selectorAffix.N = "asymmetric"
selectorAffix."N/sansSerif" = "asymmetric"

[prime.capital-n.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.N = "serifless"
selectorAffix."N/sansSerif" = "serifless"

[prime.capital-n.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix.N = "motionSerifed"
selectorAffix."N/sansSerif" = "serifless"

[prime.capital-n.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.N = "serifed"
selectorAffix."N/sansSerif" = "serifless"



[prime.capital-p]
sampler = "P"
tagKind = "letter"

[prime.capital-p.variants-buildup]
entry = "body"
descriptionLeader = "`P`"

[prime.capital-p.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-p.variants-buildup.stages.body.closed]
rank = 1
descriptionAffix = "closed shape"
selectorAffix.P = "closed"
selectorAffix."P/sansSerif" = "closed"
selectorAffix.PHookLeft = "closed"

[prime.capital-p.variants-buildup.stages.body.open]
rank = 2
descriptionAffix = "open shape"
selectorAffix.P = "open"
selectorAffix."P/sansSerif" = "open"
selectorAffix.PHookLeft = "open"

[prime.capital-p.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.P = "serifless"
selectorAffix."P/sansSerif" = "serifless"
selectorAffix.PHookLeft = "serifless"

[prime.capital-p.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix.P = "motionSerifed"
selectorAffix."P/sansSerif" = "serifless"
selectorAffix.PHookLeft = "serifless"

[prime.capital-p.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.P = "serifed"
selectorAffix."P/sansSerif" = "serifless"
selectorAffix.PHookLeft = "serifed"



[prime.capital-q]
sampler = "Q"
tagKind = "letter"

[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 crossing the ring"
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"

[prime.capital-q.variants.closed-swash]
rank = 11
groupRank = 2
description = "`Q` with a swashy tail"
selector.Q = "closedSwash"



[prime.capital-r]
sampler = "R"
tagKind = "letter"

[prime.capital-r.variants-buildup]
entry = "leg"
descriptionLeader = "`R`"

[prime.capital-r.variants-buildup.stages.openness."*"]
next = "serifs"

[prime.capital-r.variants-buildup.stages.leg."*"]
next = "openness"

[prime.capital-r.variants-buildup.stages.leg.straight]
rank = 1
groupRank = 10
descriptionAffix = "straight leg"
selectorAffix.R = "straight"
selectorAffix."R/sansSerif" = "straight"
selectorAffix.RBar = "straight"
selectorAffix.RRTail = "straight"
selectorAffix.RRotunda = "straight"

[prime.capital-r.variants-buildup.stages.leg.curly]
rank = 2
groupRank = 20
descriptionAffix = "curly leg"
selectorAffix.R = "curly"
selectorAffix."R/sansSerif" = "curly"
selectorAffix.RBar = "curly"
selectorAffix.RRTail = "curly"
selectorAffix.RRotunda = "curly"

[prime.capital-r.variants-buildup.stages.leg.standing]
rank = 3
groupRank = 30
descriptionAffix = "standing leg (like Helvetica)"
selectorAffix.R = "standing"
selectorAffix."R/sansSerif" = "standing"
selectorAffix.RBar = "standing"
selectorAffix.RRTail = "standing"
selectorAffix.RRotunda = "standing"

[prime.capital-r.variants-buildup.stages.openness.closed]
rank = 1
groupRank = 1
keyAffix = ""
selectorAffix.R = ""
selectorAffix."R/sansSerif" = ""
selectorAffix.RBar = ""
selectorAffix.RRTail = ""
selectorAffix.RRotunda = ""

[prime.capital-r.variants-buildup.stages.openness.open]
rank = 2
groupRank = 2
descriptionAffix = "open contour"
selectorAffix.R = "open"
selectorAffix."R/sansSerif" = "open"
selectorAffix.RBar = ""
selectorAffix.RRTail = "open"
selectorAffix.RRotunda = ""

[prime.capital-r.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.R = "serifless"
selectorAffix."R/sansSerif" = "serifless"
selectorAffix.RBar = "serifless"
selectorAffix.RRTail = "serifless"
selectorAffix.RRotunda = "serifless"

[prime.capital-r.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serifs at top-left"
selectorAffix.R = "topLeftSerifed"
selectorAffix."R/sansSerif" = "serifless"
selectorAffix.RBar = "topLeftSerifed"
selectorAffix.RRTail = "topLeftSerifed"
selectorAffix.RRotunda = "serifless"

[prime.capital-r.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 3
descriptionAffix = "serifs at bottom-right"
selectorAffix.R = "bottomRightSerifed"
selectorAffix."R/sansSerif" = "serifless"
selectorAffix.RBar = "bottomRightSerifed"
selectorAffix.RRTail = "bottomRightSerifed"
selectorAffix.RRotunda = "bottomRightSerifed"

[prime.capital-r.variants-buildup.stages.serifs.top-left-and-bottom-right-serifed]
rank = 4
descriptionAffix = "serifs at bottom-right"
selectorAffix.R = "topLeftAndBottomRightSerifed"
selectorAffix."R/sansSerif" = "serifless"
selectorAffix.RBar = "topLeftAndBottomRightSerifed"
selectorAffix.RRTail = "topLeftAndBottomRightSerifed"
selectorAffix.RRotunda = "bottomRightSerifed"

[prime.capital-r.variants-buildup.stages.serifs.serifed]
rank = 5
descriptionAffix = "serifs"
selectorAffix.R = "serifed"
selectorAffix."R/sansSerif" = "serifless"
selectorAffix.RBar = "serifed"
selectorAffix.RRTail = "topLeftAndBottomRightSerifed"
selectorAffix.RRotunda = "bottomRightSerifed"



[prime.capital-s]
sampler = "S"
tagKind = "letter"

[prime.capital-s.variants.serifless]
rank = 1
description = "Serifless `S`"
selector.S = "serifless"
selector."S/sansSerif" = "serifless"
selector.SSwash = "serifless"
selector.SRTail = "bottomSerifed"

[prime.capital-s.variants.unilateral-serifed]
rank = 2
description = "`S` with single serif at top"
selector.S = "unilateralSerifed"
selector."S/sansSerif" = "serifless"
selector.SSwash = "unilateralSerifed"
selector.SRTail = "bilateralSerifed"

[prime.capital-s.variants.bilateral-serifed]
rank = 3
description = "`S` with serifs at both end"
selector.S = "bilateralSerifed"
selector."S/sansSerif" = "serifless"
selector.SSwash = "unilateralSerifed"
selector.SRTail = "bilateralSerifed"

[prime.capital-s.variants.unilateral-inward-serifed]
rank = 4
description = "`S` with single inward serif at top"
selector.S = "unilateralInwardSerifed"
selector."S/sansSerif" = "serifless"
selector.SSwash = "unilateralInwardSerifed"
selector.SRTail = "hybridSerifed1"

[prime.capital-s.variants.bilateral-inward-serifed]
rank = 5
description = "`S` with inward serifs at both end"
selector.S = "bilateralInwardSerifed"
selector."S/sansSerif" = "serifless"
selector.SSwash = "unilateralInwardSerifed"
selector.SRTail = "bilateralInwardSerifed"



[prime.capital-t]
sampler = "T"
tagKind = "letter"

[prime.capital-t.variants.serifless]
rank = 1
description = "Serifless T"
selector.T = "serifless"
selector."T/sansSerif" = "serifless"
selector."T/rtailBase" = "serifless"

[prime.capital-t.variants.motion-serifed]
rank = 2
description = "Motion-Serifed T"
selector.T = "motionSerifed"
selector."T/sansSerif" = "serifless"
selector."T/rtailBase" = "motionSerifed"

[prime.capital-t.variants.serifed]
rank = 3
description = "Serifed T"
selector.T = "serifed"
selector."T/sansSerif" = "serifless"
selector."T/rtailBase" = "motionSerifed"



[prime.capital-u]
sampler = "U"
tagKind = "letter"

[prime.capital-u.variants-buildup]
entry = "body"
descriptionLeader = "`U`"

[prime.capital-u.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-u.variants-buildup.stages.body.toothed]
rank = 1
descriptionAffix = "toothed shape"
selectorAffix.U = "toothed"
selectorAffix."U/sansSerif" = "toothed"
selectorAffix."AU/U" = "toothed"

[prime.capital-u.variants-buildup.stages.body.tailed]
rank = 2
descriptionAffix = "tailed shape"
selectorAffix.U = "tailed"
selectorAffix."U/sansSerif" = "tailed"
selectorAffix."AU/U" = "tailed"

[prime.capital-u.variants-buildup.stages.body.toothless-corner]
rank = 3
descriptionAffix = "toothless (corner bottom-right) shape"
selectorAffix.U = "toothlessCorner"
selectorAffix."U/sansSerif" = "toothlessCorner"
selectorAffix."AU/U" = "toothlessCorner"

[prime.capital-u.variants-buildup.stages.body.toothless-rounded]
rank = 4
descriptionAffix = "toothless (rounded) shape"
selectorAffix.U = "toothlessRounded"
selectorAffix."U/sansSerif" = "toothlessRounded"
selectorAffix."AU/U" = "toothlessRounded"

[prime.capital-u.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.U = "serifless"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/U" = "serifless"

[prime.capital-u.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 2
disableIf = [{ body = "NOT toothed" }]
descriptionAffix = "serif at bottom-right"
selectorAffix.U = "bottomRightSerifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/U" = "bottomRightSerifed"

[prime.capital-u.variants-buildup.stages.serifs.motion-serifed]
rank = 3
disableIf = [{ body = "toothless-corner" }, { body = "toothless-rounded" }]
descriptionAffix = "motion serifs at top-left and bottom-right"
selectorAffix.U = "unilateralMotionSerifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/U" = { if = [{ body = "toothed" }], then = "bottomRightSerifed", else = "serifless" }

[prime.capital-u.variants-buildup.stages.serifs.unilateral-motion-serifed]
rank = 4
disableIf = [{ body = "toothed" }, { body = "tailed" }]
descriptionAffix = "motion serifs at left side"
selectorAffix.U = "unilateralMotionSerifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/U" = "serifless"

[prime.capital-u.variants-buildup.stages.serifs.bilateral-motion-serifed]
rank = 5
disableIf = [{ body = "toothed" }, { body = "tailed" }]
descriptionAffix = "motion serifs at both sides"
selectorAffix.U = "bilateralMotionSerifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/U" = "bilateralMotionSerifed"

[prime.capital-u.variants-buildup.stages.serifs.serifed]
rank = 6
descriptionAffix = "serifs"
selectorAffix.U = "serifed"
selectorAffix."U/sansSerif" = "serifless"
selectorAffix."AU/U" = "serifed"



[prime.capital-v]
sampler = "V"
tagKind = "letter"

[prime.capital-v.variants-buildup]
entry = "body"
descriptionLeader = "`V`"

[prime.capital-v.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-v.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix.V = "straight"
selectorAffix."V/sansSerif" = "straight"
selectorAffix.VHookTop = ""
selectorAffix.VHookRight = "straight"

[prime.capital-v.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix.V = "curly"
selectorAffix."V/sansSerif" = "curly"
selectorAffix.VHookTop = ""
selectorAffix.VHookRight = "curly"

[prime.capital-v.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.V = "serifless"
selectorAffix."V/sansSerif" = "serifless"
selectorAffix.VHookTop = "serifless"
selectorAffix.VHookRight = "serifless"

[prime.capital-v.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix.V = "motionSerifed"
selectorAffix."V/sansSerif" = "serifless"
selectorAffix.VHookTop = "serifed"
selectorAffix.VHookRight = "motionSerifed"

[prime.capital-v.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.V = "serifed"
selectorAffix."V/sansSerif" = "serifless"
selectorAffix.VHookTop = "serifed"
selectorAffix.VHookRight = "serifed"



[prime.capital-w]
sampler = "W"
tagKind = "letter"

[prime.capital-w.variants-buildup]
entry = "body"
descriptionLeader = "`W`"

[prime.capital-w.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-w.variants-buildup.stages.body.straight]
rank = 1
groupRank = 1
descriptionAffix = "standard, straight body"
selectorAffix.W = "straight"
selectorAffix."W/sansSerif" = "straight"
selectorAffix.WHookTop = "straight"

[prime.capital-w.variants-buildup.stages.body.straight-almost-flat-top]
rank = 2
groupRank = 1
descriptionAffix = "straight body shape that the middle is almost aligned to the top"
selectorAffix.W = "straightAlmostFlatTop"
selectorAffix."W/sansSerif" = "straightFlatTop"
selectorAffix.WHookTop = "straightAlmostFlatTop"

[prime.capital-w.variants-buildup.stages.body.straight-flat-top]
rank = 3
groupRank = 1
descriptionAffix = "straight body shape that the middle is forced to be aligned to the top"
selectorAffix.W = "straightFlatTop"
selectorAffix."W/sansSerif" = "straightFlatTop"
selectorAffix.WHookTop = "straightFlatTop"

[prime.capital-w.variants-buildup.stages.body.straight-double-v]
rank = 4
groupRank = 2
descriptionAffix = "body shape like double V"
selectorAffix.W = "straightDoubleV"
selectorAffix."W/sansSerif" = "straightDoubleV"
selectorAffix.WHookTop = "straightDoubleV"

[prime.capital-w.variants-buildup.stages.body.straight-asymmetric]
rank = 5
groupRank = 2
descriptionAffix = "asymmetric shape"
selectorAffix.W = "straightAsymmetric"
selectorAffix."W/sansSerif" = "straightAsymmetric"
selectorAffix.WHookTop = "straightAsymmetric"

[prime.capital-w.variants-buildup.stages.body.straight-vertical-sides]
rank = 6
groupRank = 3
descriptionAffix = "straight body shape with vertical sides"
selectorAffix.W = "straightVerticalSides"
selectorAffix."W/sansSerif" = "straightVerticalSides"
selectorAffix.WHookTop = "straightVerticalSides"

[prime.capital-w.variants-buildup.stages.body.straight-vertical-sides-flat-top]
rank = 7
groupRank = 3
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "straight body shape with vertical sides, and a middle stem aligned to the top"
selectorAffix.W = "straightVerticalSidesFlatTop"
selectorAffix."W/sansSerif" = "straightVerticalSidesFlatTop"
selectorAffix.WHookTop = "straightVerticalSidesFlatTop"

[prime.capital-w.variants-buildup.stages.body.rounded-vertical-sides]
rank = 8
groupRank = 3
descriptionAffix = "rounded body shape with vertical sides"
selectorAffix.W = "roundedVerticalSides"
selectorAffix."W/sansSerif" = "roundedVerticalSides"
selectorAffix.WHookTop = "roundedVerticalSides"

[prime.capital-w.variants-buildup.stages.body.rounded-vertical-sides-flat-top]
rank = 9
groupRank = 3
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "rounded body shape with vertical sides, and a middle stem aligned to the top"
selectorAffix.W = "roundedVerticalSidesFlatTop"
selectorAffix."W/sansSerif" = "roundedVerticalSidesFlatTop"
selectorAffix.WHookTop = "roundedVerticalSidesFlatTop"

[prime.capital-w.variants-buildup.stages.body.curly]
rank = 10
groupRank = 3
descriptionAffix = "curly body"
selectorAffix.W = "curly"
selectorAffix."W/sansSerif" = "curly"
selectorAffix.WHookTop = "curly"

[prime.capital-w.variants-buildup.stages.body.curly-almost-flat-top]
rank = 11
groupRank = 3
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "curly body with a middle stem almost aligned to the top"
selectorAffix.W = "curlyAlmostFlatTop"
selectorAffix."W/sansSerif" = "curlyFlatTop"
selectorAffix.WHookTop = "curlyAlmostFlatTop"

[prime.capital-w.variants-buildup.stages.body.curly-flat-top]
rank = 12
groupRank = 3
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "curly body with a middle stem aligned to the top"
selectorAffix.W = "curlyFlatTop"
selectorAffix."W/sansSerif" = "curlyFlatTop"
selectorAffix.WHookTop = "curlyFlatTop"

[prime.capital-w.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.W = "serifless"
selectorAffix."W/sansSerif" = "serifless"
selectorAffix.WHookTop = "serifless"

[prime.capital-w.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix.W = "motionSerifed"
selectorAffix."W/sansSerif" = "serifless"
selectorAffix.WHookTop = "motionSerifed"

[prime.capital-w.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.W = "serifed"
selectorAffix."W/sansSerif" = "serifless"
selectorAffix.WHookTop = { if = [{ body = "straight-double-v" }, { body = "straight-asymmetric" }], then = "motionSerifed", else = "serifed" }



[prime.capital-x]
sampler = "X"
tagKind = "letter"

[prime.capital-x.variants-buildup]
entry = "body"
descriptionLeader = "`X`"

[prime.capital-x.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-x.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix.X = "straight"
selectorAffix."X/sansSerif" = "straight"
selectorAffix."X/descBase" = "straight"
selectorAffix."cyrl/Rha/right" = "straight"

[prime.capital-x.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix.X = "curly"
selectorAffix."X/sansSerif" = "curly"
selectorAffix."X/descBase" = "curly"
selectorAffix."cyrl/Rha/right" = "curly"

[prime.capital-x.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.X = "serifless"
selectorAffix."X/sansSerif" = "serifless"
selectorAffix."X/descBase" = "serifless"
selectorAffix."cyrl/Rha/right" = "serifless"

[prime.capital-x.variants-buildup.stages.serifs.unilateral-motion-serifed]
rank = 2
descriptionAffix = "motion serifs at top-left"
selectorAffix.X = "unilateralMotionSerifed"
selectorAffix."X/sansSerif" = "serifless"
selectorAffix."X/descBase" = "unilateralMotionSerifed"
selectorAffix."cyrl/Rha/right" = "serifless"

[prime.capital-x.variants-buildup.stages.serifs.bilateral-motion-serifed]
rank = 3
descriptionAffix = "motion serifs at top-left and bottom-right"
selectorAffix.X = "bilateralMotionSerifed"
selectorAffix."X/sansSerif" = "serifless"
selectorAffix."X/descBase" = "unilateralMotionSerifed"
selectorAffix."cyrl/Rha/right" = "bilateralMotionSerifed"

[prime.capital-x.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.X = "serifed"
selectorAffix."X/sansSerif" = "serifless"
selectorAffix."X/descBase" = "serifed"
selectorAffix."cyrl/Rha/right" = "serifed"



[prime.capital-y]
sampler = "Y"
tagKind = "letter"

[prime.capital-y.variants-buildup]
entry = "body"
descriptionLeader = "`Y`"

[prime.capital-y.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-y.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix.Y = "straight"
selectorAffix."Y/sansSerif" = "straight"
selectorAffix.YLoop = "straightLoop"
selectorAffix."grek/UpsilonHookTop" = "straight"

[prime.capital-y.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix.Y = "curly"
selectorAffix."Y/sansSerif" = "curly"
selectorAffix.YLoop = "curlyLoop"
selectorAffix."grek/UpsilonHookTop" = "straight"

[prime.capital-y.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.Y = "serifless"
selectorAffix."Y/sansSerif" = "serifless"
selectorAffix.YLoop = "serifless"
selectorAffix."grek/UpsilonHookTop" = "serifless"

[prime.capital-y.variants-buildup.stages.serifs.base-serifed]
rank = 2
descriptionAffix = "serifs at bottom"
selectorAffix.Y = "baseSerifed"
selectorAffix."Y/sansSerif" = "serifless"
selectorAffix.YLoop = "serifless"
selectorAffix."grek/UpsilonHookTop" = "BaseSerifed"

[prime.capital-y.variants-buildup.stages.serifs.motion-serifed]
rank = 3
descriptionAffix = "motion serifs"
selectorAffix.Y = "motionSerifed"
selectorAffix."Y/sansSerif" = "serifless"
selectorAffix.YLoop = "motionSerifed"
selectorAffix."grek/UpsilonHookTop" = "serifless"

[prime.capital-y.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.Y = "serifed"
selectorAffix."Y/sansSerif" = "serifless"
selectorAffix.YLoop = "serifed"
selectorAffix."grek/UpsilonHookTop" = "BaseSerifed"



[prime.capital-z]
sampler = "Z"
tagKind = "letter"

[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
descriptionAffix = "straight body shape"
selectorAffix.Z = "straight"
selectorAffix."Z/sansSerif" = "straight"
selectorAffix."Z/reduced" = "straight"
selectorAffix."Z/reduced/sansSerif" = "straight"
selectorAffix.ZDesc = "straight"
selectorAffix."ZDesc/reduced" = "straight"
selectorAffix.Ezh = "straight"

[prime.capital-z.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly body shape"
selectorAffix.Z = "curly"
selectorAffix."Z/sansSerif" = "curly"
selectorAffix."Z/reduced" = "curly"
selectorAffix."Z/reduced/sansSerif" = "curly"
selectorAffix.ZDesc = "curly"
selectorAffix."ZDesc/reduced" = "curly"
selectorAffix.Ezh = "straight"

[prime.capital-z.variants-buildup.stages.body.cursive]
rank = 3
next = "overlay"
descriptionAffix = "cursive body shape"
selectorAffix.Z = "cursive"
selectorAffix."Z/sansSerif" = "cursive"
selectorAffix."Z/reduced" = "cursive"
selectorAffix."Z/reduced/sansSerif" = "cursive"
selectorAffix.ZDesc = "cursive"
selectorAffix."ZDesc/reduced" = "cursive"
selectorAffix.Ezh = "cursive"

[prime.capital-z.variants-buildup.stages.serifs."*"]
next = "overlay"

[prime.capital-z.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.Z = "serifless"
selectorAffix."Z/sansSerif" = "serifless"
selectorAffix."Z/reduced" = "serifless"
selectorAffix."Z/reduced/sansSerif" = "serifless"
selectorAffix.ZDesc = "serifless"
selectorAffix."ZDesc/reduced" = "serifless"
selectorAffix.Ezh = "serifless"

[prime.capital-z.variants-buildup.stages.serifs.top-serifed]
rank = 2
descriptionAffix = "serifs at top"
selectorAffix.Z = "topSerifed"
selectorAffix."Z/sansSerif" = "serifless"
selectorAffix."Z/reduced" = "topSerifed"
selectorAffix."Z/reduced/sansSerif" = "serifless"
selectorAffix.ZDesc = "topSerifed"
selectorAffix."ZDesc/reduced" = "topSerifed"
selectorAffix.Ezh = "topSerifed"

[prime.capital-z.variants-buildup.stages.serifs.bottom-serifed]
rank = 3
descriptionAffix = "serifs at bottom"
selectorAffix.Z = "bottomSerifed"
selectorAffix."Z/sansSerif" = "serifless"
selectorAffix."Z/reduced" = "bottomSerifed"
selectorAffix."Z/reduced/sansSerif" = "serifless"
selectorAffix.ZDesc = "serifless"
selectorAffix."ZDesc/reduced" = "serifless"
selectorAffix.Ezh = "serifless"

[prime.capital-z.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.Z = "serifed"
selectorAffix."Z/sansSerif" = "serifless"
selectorAffix."Z/reduced" = "serifed"
selectorAffix."Z/reduced/sansSerif" = "serifless"
selectorAffix.ZDesc = "topSerifed"
selectorAffix."ZDesc/reduced" = "topSerifed"
selectorAffix.Ezh = "topSerifed"

[prime.capital-z.variants-buildup.stages.overlay.no-overlay]
rank = 1
keyAffix = ""
selectorAffix.Z = ""
selectorAffix."Z/sansSerif" = ""
selectorAffix."Z/reduced" = ""
selectorAffix."Z/reduced/sansSerif" = ""
selectorAffix.ZDesc = ""
selectorAffix."ZDesc/reduced" = ""
selectorAffix.Ezh = ""

[prime.capital-z.variants-buildup.stages.overlay.with-crossbar]
rank = 2
descriptionAffix = "a diagonal crossbar"
selectorAffix.Z = "withCrossBar"
selectorAffix."Z/sansSerif" = "withCrossBar"
selectorAffix."Z/reduced" = ""
selectorAffix."Z/reduced/sansSerif" = ""
selectorAffix.ZDesc = "withCrossBar"
selectorAffix."ZDesc/reduced" = ""
selectorAffix.Ezh = ""

[prime.capital-z.variants-buildup.stages.overlay.with-horizontal-crossbar]
rank = 3
descriptionAffix = "a horizontal crossbar"
selectorAffix.Z = "withHorizontalCrossBar"
selectorAffix."Z/sansSerif" = "withHorizontalCrossBar"
selectorAffix."Z/reduced" = ""
selectorAffix."Z/reduced/sansSerif" = ""
selectorAffix.ZDesc = "withHorizontalCrossBar"
selectorAffix."ZDesc/reduced" = ""
selectorAffix.Ezh = ""



[prime.a]
sampler = "a"
tagKind = "letter"

[prime.a.variants-buildup]
entry = "storey"
descriptionLeader = "`a`"

[prime.a.variants-buildup.stages.storey.double-storey]
rank = 1
next = "double-storey-hook"
descriptionAffix = "double-storey body"
selectorAffix.a = "doubleStorey"
selectorAffix."a/sansSerif" = "doubleStorey"
selectorAffix."aRetroflexHook" = "doubleStorey"
selectorAffix."a/doubleStorey" = "doubleStorey"
selectorAffix."aRetroflexHook/doubleStorey" = "doubleStorey"
selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey"
selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "singleStorey"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "singleStorey"
selectorAffix."ae/a" = "doubleStorey"

[prime.a.variants-buildup.stages.storey.single-storey]
rank = 2
next = "ear"
descriptionAffix = "single-storey body"
selectorAffix.a = "singleStorey"
selectorAffix."a/sansSerif" = "singleStorey"
selectorAffix."aRetroflexHook" = "singleStorey"
selectorAffix."a/doubleStorey" = "doubleStorey"
selectorAffix."aRetroflexHook/doubleStorey" = "doubleStorey"
selectorAffix."a/singleStorey/autoSerifed/slab" = "singleStorey"
selectorAffix."a/singleStorey/autoSerifed/sans" = "singleStorey"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "singleStorey"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "singleStorey"
selectorAffix."ae/a" = "doubleStorey"

[prime.a.variants-buildup.stages.double-storey-hook."*"]
next = "bar"

[prime.a.variants-buildup.stages.double-storey-hook.hook-serifless]
rank = 1
keyAffix = ""
descriptionAffix = "serifless hook"
selectorAffix.a = ""
selectorAffix."a/sansSerif" = ""
selectorAffix."aRetroflexHook" = ""
selectorAffix."a/doubleStorey" = ""
selectorAffix."aRetroflexHook/doubleStorey" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = ""
selectorAffix."a/singleStorey/autoSerifed/sans" = ""
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = ""
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = ""
selectorAffix."ae/a" = ""

[prime.a.variants-buildup.stages.double-storey-hook.hook-serifed]
rank = 2
keyAffix = "hook-inward-serifed"
descriptionAffix = "serifed hook"
selectorAffix.a = "hookInwardSerifed"
selectorAffix."a/sansSerif" = ""
selectorAffix."aRetroflexHook" = "hookInwardSerifed"
selectorAffix."a/doubleStorey" = "hookInwardSerifed"
selectorAffix."aRetroflexHook/doubleStorey" = "hookInwardSerifed"
selectorAffix."a/singleStorey/autoSerifed/slab" = ""
selectorAffix."a/singleStorey/autoSerifed/sans" = ""
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = ""
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = ""
selectorAffix."ae/a" = "hookInwardSerifed"

[prime.a.variants-buildup.stages.ear."*"]
next = "bar"

[prime.a.variants-buildup.stages.ear.eared]
rank = 1
keyAffix = ""
selectorAffix.a = ""
selectorAffix."a/sansSerif" = ""
selectorAffix."aRetroflexHook" = ""
selectorAffix."a/doubleStorey" = ""
selectorAffix."aRetroflexHook/doubleStorey" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = ""
selectorAffix."a/singleStorey/autoSerifed/sans" = ""
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = ""
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = ""
selectorAffix."ae/a" = ""

[prime.a.variants-buildup.stages.ear.top-cut]
rank = 2
descriptionAffix = "a diagonal cut at top"
selectorAffix.a = "topCut"
selectorAffix."a/sansSerif" = "topCut"
selectorAffix."aRetroflexHook" = "topCut"
selectorAffix."a/doubleStorey" = ""
selectorAffix."aRetroflexHook/doubleStorey" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = "topCut"
selectorAffix."a/singleStorey/autoSerifed/sans" = "topCut"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topCut"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "topCut"
selectorAffix."ae/a" = ""

[prime.a.variants-buildup.stages.ear.earless-corner]
rank = 3
descriptionAffix = "earless (cornered top-right)"
selectorAffix.a = "earlessCorner"
selectorAffix."a/sansSerif" = "earlessCorner"
selectorAffix."aRetroflexHook" = "earlessCorner"
selectorAffix."a/doubleStorey" = ""
selectorAffix."aRetroflexHook/doubleStorey" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessCorner"
selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessCorner"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "earlessCorner"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "earlessCorner"
selectorAffix."ae/a" = ""

[prime.a.variants-buildup.stages.ear.earless-rounded]
rank = 4
descriptionAffix = "earless (rounded top-right)"
selectorAffix.a = "earlessRounded"
selectorAffix."a/sansSerif" = "earlessRounded"
selectorAffix."aRetroflexHook" = "earlessRounded"
selectorAffix."a/doubleStorey" = ""
selectorAffix."aRetroflexHook/doubleStorey" = ""
selectorAffix."a/singleStorey/autoSerifed/slab" = "earlessRounded"
selectorAffix."a/singleStorey/autoSerifed/sans" = "earlessRounded"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "earlessRounded"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "earlessRounded"
selectorAffix."ae/a" = ""

[prime.a.variants-buildup.stages.bar.serifless]
rank = 1
descriptionAffix = "serif at terminal"
descriptionJoiner = "without"
selectorAffix.a = "serifless"
selectorAffix."a/sansSerif" = "serifless"
selectorAffix."aRetroflexHook" = "serifless"
selectorAffix."a/doubleStorey" = "serifless"
selectorAffix."aRetroflexHook/doubleStorey" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/slab" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "serifless"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."ae/a" = "serifless"

[prime.a.variants-buildup.stages.bar.serifed]
rank = 2
descriptionAffix = "serif at terminal"
selectorAffix.a = "serifed"
selectorAffix."a/sansSerif" = "serifless"
selectorAffix."aRetroflexHook" = "serifless"
selectorAffix."a/doubleStorey" = "serifed"
selectorAffix."aRetroflexHook/doubleStorey" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "doubleSerifed", else = "serifed" }
selectorAffix."a/singleStorey/autoSerifed/sans" = "serifed"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "topSerifed", else = "serifless" }
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."ae/a" = "serifless"

[prime.a.variants-buildup.stages.bar.double-serifed]
rank = 3
disableIf = [{ storey = "double-storey" }, { ear = "NOT eared" }]
descriptionAffix = "serifs at top and bottom"
selectorAffix.a = "doubleSerifed"
selectorAffix."a/sansSerif" = "serifless"
selectorAffix."aRetroflexHook" = "topSerifed"
selectorAffix."a/doubleStorey" = "serifed"
selectorAffix."aRetroflexHook/doubleStorey" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed"
selectorAffix."a/singleStorey/autoSerifed/sans" = "doubleSerifed"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "topSerifed"
selectorAffix."ae/a" = "serifless"

[prime.a.variants-buildup.stages.bar.tailed]
rank = 4
descriptionAffix = "curly tail"
selectorAffix.a = "tailed"
selectorAffix."a/sansSerif" = "tailed"
selectorAffix."aRetroflexHook" = "serifless"
selectorAffix."a/doubleStorey" = "tailed"
selectorAffix."aRetroflexHook/doubleStorey" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "tailedSerifed", else = "tailed" }
selectorAffix."a/singleStorey/autoSerifed/sans" = "tailed"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = { if = [{ storey = "double-storey" }], then = "topSerifed", else = "serifless" }
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."ae/a" = "serifless"

[prime.a.variants-buildup.stages.bar.tailed-serifed]
rank = 5
disableIf = [{ storey = "double-storey" }, { ear = "NOT eared" }]
descriptionAffix = "curly tail; with serifs at top and bottom"
selectorAffix.a = "tailedSerifed"
selectorAffix."a/sansSerif" = "tailed"
selectorAffix."aRetroflexHook" = "topSerifed"
selectorAffix."a/doubleStorey" = "tailed"
selectorAffix."aRetroflexHook/doubleStorey" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/slab" = "tailedSerifed"
selectorAffix."a/singleStorey/autoSerifed/sans" = "tailedSerifed"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "topSerifed"
selectorAffix."ae/a" = "serifless"

[prime.a.variants-buildup.stages.bar.toothless-corner]
rank = 6
disableIf = [{ storey = "single-storey" }]
descriptionAffix = "toothless (cornered bottom-right)"
selectorAffix.a = "toothlessCorner"
selectorAffix."a/sansSerif" = "toothlessCorner"
selectorAffix."aRetroflexHook" = "serifless"
selectorAffix."a/doubleStorey" = "toothlessCorner"
selectorAffix."aRetroflexHook/doubleStorey" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed"
selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."ae/a" = "serifless"

[prime.a.variants-buildup.stages.bar.toothless-rounded]
rank = 7
disableIf = [{ storey = "single-storey" }]
descriptionAffix = "toothless (rounded bottom-right)"
selectorAffix.a = "toothlessRounded"
selectorAffix."a/sansSerif" = "toothlessRounded"
selectorAffix."aRetroflexHook" = "serifless"
selectorAffix."a/doubleStorey" = "toothlessRounded"
selectorAffix."aRetroflexHook/doubleStorey" = "serifless"
selectorAffix."a/singleStorey/autoSerifed/slab" = "doubleSerifed"
selectorAffix."a/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/slab" = "topSerifed"
selectorAffix."aRetroflexHook/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."ae/a" = "serifless"



[prime.b]
sampler = "b"
tagKind = "letter"

[prime.b.variants-buildup]
entry = "body"
descriptionLeader = "`b`"

[prime.b.variants-buildup.stages.body."*"]
next = "serifs"

[prime.b.variants-buildup.stages.body.toothed]
rank = 1
descriptionAffix = "toothed shape"
selectorAffix.b = "toothed"
selectorAffix."b/sansSerif" = "toothed"
selectorAffix.bHookTop = "toothed"

[prime.b.variants-buildup.stages.body.bottom-cut]
rank = 2
descriptionAffix = "a diagonal cut at bottom"
selectorAffix.b = "bottomCut"
selectorAffix."b/sansSerif" = "bottomCut"
selectorAffix.bHookTop = "bottomCut"

[prime.b.variants-buildup.stages.body.toothless-corner]
rank = 3
descriptionAffix = "toothless (cornered) shape"
selectorAffix.b = "toothlessCorner"
selectorAffix."b/sansSerif" = "toothlessCorner"
selectorAffix.bHookTop = "toothlessCorner"

[prime.b.variants-buildup.stages.body.toothless-rounded]
rank = 4
descriptionAffix = "toothless (rounded) shape"
selectorAffix.b = "toothlessRounded"
selectorAffix."b/sansSerif" = "toothlessRounded"
selectorAffix.bHookTop = "toothlessRounded"

[prime.b.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.b = "serifless"
selectorAffix."b/sansSerif" = "serifless"
selectorAffix.bHookTop = "serifless"

[prime.b.variants-buildup.stages.serifs.motion-serifed]
rank = 2
enableIf = [{ body = "toothed" }]
descriptionAffix = "motion serifs"
selectorAffix.b = "motionSerifed"
selectorAffix."b/sansSerif" = "serifless"
selectorAffix.bHookTop = "serifless"

[prime.b.variants-buildup.stages.serifs.serifed__toothed]
rank = 3
enableIf = [{ body = "toothed" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix.b = "serifed"
selectorAffix."b/sansSerif" = "serifless"
selectorAffix.bHookTop = "bottomSerifed"

[prime.b.variants-buildup.stages.serifs.serifed__toothless]
rank = 3
enableIf = [{ body = "NOT toothed" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix.b = "motionSerifed"
selectorAffix."b/sansSerif" = "serifless"
selectorAffix.bHookTop = "serifless"



[prime.c]
sampler = "c"
tagKind = "letter"

[prime.c.variants.serifless]
rank = 1
description = "Serifless `c`"
selector.c = "serifless"
selector."c/sansSerif" = "serifless"
selector."c/descBase" = "serifless"
selector.cCurlyTail = "serifless"
selector.cHookTop = "unilateralSerifed"
selector.cTopSerifOnly = "serifless"
selector.cBottomSerifOnly = "serifless"

[prime.c.variants.unilateral-serifed]
rank = 2
description = "`c` with serif at top"
selector.c = "unilateralSerifed"
selector."c/sansSerif" = "serifless"
selector."c/descBase" = "bilateralSerifed"
selector.cCurlyTail = "unilateralSerifed"
selector.cHookTop = "unilateralSerifed"
selector.cTopSerifOnly = "unilateralSerifed"
selector.cBottomSerifOnly = "serifless"

[prime.c.variants.bilateral-serifed]
rank = 3
description = "`c` with serifs at both top and bottom"
selector.c = "bilateralSerifed"
selector."c/sansSerif" = "serifless"
selector."c/descBase" = "bilateralSerifed"
selector.cCurlyTail = "unilateralSerifed"
selector.cHookTop = "bilateralSerifed"
selector.cTopSerifOnly = "unilateralSerifed"
selector.cBottomSerifOnly = "bottomSerifed"

[prime.c.variants.unilateral-inward-serifed]
rank = 4
description = "`c` with inward serif at top"
selector.c = "unilateralInwardSerifed"
selector."c/sansSerif" = "serifless"
selector."c/descBase" = "hybridSerifed1"
selector.cCurlyTail = "unilateralInwardSerifed"
selector.cHookTop = "unilateralInwardSerifed"
selector.cTopSerifOnly = "unilateralInwardSerifed"
selector.cBottomSerifOnly = "serifless"

[prime.c.variants.bilateral-inward-serifed]
rank = 5
description = "`c` with inward serif at both top and bottom"
selector.c = "bilateralInwardSerifed"
selector."c/sansSerif" = "serifless"
selector."c/descBase" = "bilateralInwardSerifed"
selector.cCurlyTail = "unilateralInwardSerifed"
selector.cHookTop = "bilateralInwardSerifed"
selector.cTopSerifOnly = "unilateralInwardSerifed"
selector.cBottomSerifOnly = "bottomInwardSerifed"



[prime.d]
sampler = "d"
tagKind = "letter"

[prime.d.variants-buildup]
entry = "body"
descriptionLeader = "`d`"

[prime.d.variants-buildup.stages.body."*"]
next = "serifs"

[prime.d.variants-buildup.stages.body.toothed]
rank = 1
descriptionAffix = "toothed shape"
selectorAffix.d = "toothed"
selectorAffix."d/sansSerif" = "toothed"
selectorAffix."d/phoneticLeft" = "toothed"
selectorAffix."d/descBase" = "toothed"
selectorAffix."d/hookBottomBase" = "toothed"
selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "toothed"
selectorAffix."dHookTop/hookBottomBase" = "toothed"
selectorAffix."cyrl/djeKomi" = "toothed"

[prime.d.variants-buildup.stages.body.tailed]
rank = 2
descriptionAffix = "tailed shape"
selectorAffix.d = "tailed"
selectorAffix."d/sansSerif" = "tailed"
selectorAffix."d/phoneticLeft" = "toothed"
selectorAffix."d/descBase" = "toothed"
selectorAffix."d/hookBottomBase" = "toothed"
selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "tailed"
selectorAffix."dHookTop/hookBottomBase" = "toothed"
selectorAffix."cyrl/djeKomi" = "toothed"

[prime.d.variants-buildup.stages.body.toothless-corner]
rank = 3
descriptionAffix = "toothless (cornered) shape"
selectorAffix.d = "toothlessCorner"
selectorAffix."d/sansSerif" = "toothlessCorner"
selectorAffix."d/phoneticLeft" = "toothed"
selectorAffix."d/descBase" = "toothed"
selectorAffix."d/hookBottomBase" = "toothlessCornerHBB"
selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "toothlessCorner"
selectorAffix."dHookTop/hookBottomBase" = "toothlessCornerHBB"
selectorAffix."cyrl/djeKomi" = "toothlessRounded"

[prime.d.variants-buildup.stages.body.toothless-rounded]
rank = 4
descriptionAffix = "toothless (rounded) shape"
selectorAffix.d = "toothlessRounded"
selectorAffix."d/sansSerif" = "toothlessRounded"
selectorAffix."d/phoneticLeft" = "toothed"
selectorAffix."d/descBase" = "toothed"
selectorAffix."d/hookBottomBase" = "toothed"
selectorAffix.dCurlyTail = "toothed"
selectorAffix.dHookTop = "toothlessRounded"
selectorAffix."dHookTop/hookBottomBase" = "toothed"
selectorAffix."cyrl/djeKomi" = "toothed"

[prime.d.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.d = "serifless"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "serifless"
selectorAffix."d/descBase" = "serifless"
selectorAffix."d/hookBottomBase" = "serifless"
selectorAffix.dCurlyTail = "serifless"
selectorAffix.dHookTop = "serifless"
selectorAffix."dHookTop/hookBottomBase" = "serifless"
selectorAffix."cyrl/djeKomi" = "serifless"

[prime.d.variants-buildup.stages.serifs.top-serifed]
rank = 2
enableIf = [{ body = "toothed" }]
descriptionAffix = "serif at top"
selectorAffix.d = "topSerifed"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "topSerifed"
selectorAffix."d/descBase" = "topSerifed"
selectorAffix."d/hookBottomBase" = "topSerifed"
selectorAffix.dCurlyTail = "topSerifed"
selectorAffix.dHookTop = "serifless"
selectorAffix."dHookTop/hookBottomBase" = "serifless"
selectorAffix."cyrl/djeKomi" = "topSerifed"

[prime.d.variants-buildup.stages.serifs.bottom-serifed]
rank = 3
enableIf = [{ body = "toothed" }]
descriptionAffix = "serif at bottom"
selectorAffix.d = "bottomSerifed"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "serifless"
selectorAffix."d/descBase" = "serifless"
selectorAffix."d/hookBottomBase" = "serifless"
selectorAffix.dCurlyTail = "serifless"
selectorAffix.dHookTop = "bottomSerifed"
selectorAffix."dHookTop/hookBottomBase" = "serifless"
selectorAffix."cyrl/djeKomi" = "serifless"

[prime.d.variants-buildup.stages.serifs.serifed__toothed]
rank = 4
enableIf = [{ body = "toothed" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix.d = "serifed"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "topSerifed"
selectorAffix."d/descBase" = "topSerifed"
selectorAffix."d/hookBottomBase" = "topSerifed"
selectorAffix.dCurlyTail = "topSerifed"
selectorAffix.dHookTop = "bottomSerifed"
selectorAffix."dHookTop/hookBottomBase" = "serifless"
selectorAffix."cyrl/djeKomi" = "topSerifed"

[prime.d.variants-buildup.stages.serifs.serifed__toothless]
rank = 4
enableIf = [{ body = "NOT toothed" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix.d = "topSerifed"
selectorAffix."d/sansSerif" = "serifless"
selectorAffix."d/phoneticLeft" = "topSerifed"
selectorAffix."d/descBase" = "topSerifed"
selectorAffix."d/hookBottomBase" = "topSerifed"
selectorAffix.dCurlyTail = "topSerifed"
selectorAffix.dHookTop = "serifless"
selectorAffix."dHookTop/hookBottomBase" = "serifless"
selectorAffix."cyrl/djeKomi" = "topSerifed"



[prime.e]
sampler = "e"
tagKind = "letter"

[prime.e.variants.flat-crossbar]
rank = 1
description = "`e` with flat crossbar"
selector.e = "flatCrossbar"
selector.Schwa = "flatCrossbar"
selector.schwa = "flatCrossbar"
selector."cyrl/abk/Che" = "flatCrossbar"
selector."cyrl/abk/che" = "flatCrossbar"

[prime.e.variants.rounded]
rank = 2
description = "`e` with more rounded shape"
selector.e = "rounded"
selector.Schwa = "flatCrossbar"
selector.schwa = "rounded"
selector."cyrl/abk/Che" = "flatCrossbar"
selector."cyrl/abk/che" = "rounded"



[prime.f]
sampler = "f"
tagKind = "letter"

[prime.f.variants-buildup]
entry = "hook"
descriptionLeader = "`f`"

[prime.f.variants-buildup.stages.hook."*"]
next = "tail"

[prime.f.variants-buildup.stages.hook.full]
rank = 1
keyAffix = ""
selectorAffix.f = ""
selectorAffix."f/sansSerif" = ""
selectorAffix."f/compLigLeft1" = "flatHookCLC1"
selectorAffix."f/compLigLeft2" = "flatHookCLC2"
selectorAffix."f/compLigLeft3" = "flatHookCLC3"
selectorAffix."f/compLigLeft4" = "flatHookCLC4"
selectorAffix."f/phoneticLeft" = ""
selectorAffix."f/tailless" = ""
selectorAffix.fLenis = ""
selectorAffix.fLTail = ""

[prime.f.variants-buildup.stages.hook.flat-hook]
rank = 2
descriptionAffix = "flat top hook"
selectorAffix.f = "flatHook"
selectorAffix."f/sansSerif" = "flatHook"
selectorAffix."f/compLigLeft1" = "flatHookCLC1"
selectorAffix."f/compLigLeft2" = "flatHookCLC2"
selectorAffix."f/compLigLeft3" = "flatHookCLC3"
selectorAffix."f/compLigLeft4" = "flatHookCLC4"
selectorAffix."f/phoneticLeft" = "flatHook"
selectorAffix."f/tailless" = "flatHook"
selectorAffix.fLenis = "flatHook"
selectorAffix.fLTail = "flatHook"

[prime.f.variants-buildup.stages.tail."*"]
next = "crossbar"

[prime.f.variants-buildup.stages.tail.serifless]
rank = 1
descriptionAffix = "bottom serif, hook or extension"
descriptionJoiner = "without"
selectorAffix.f = "serifless"
selectorAffix."f/sansSerif" = "serifless"
selectorAffix."f/compLigLeft1" = "serifless"
selectorAffix."f/compLigLeft2" = "serifless"
selectorAffix."f/compLigLeft3" = "serifless"
selectorAffix."f/compLigLeft4" = "serifless"
selectorAffix."f/phoneticLeft" = "serifless"
selectorAffix."f/tailless" = "serifless"
selectorAffix.fLenis = "serifless"
selectorAffix.fLTail = "tailed"

[prime.f.variants-buildup.stages.tail.serifed]
rank = 2
descriptionAffix = "bottom serif"
selectorAffix.f = "serifed"
selectorAffix."f/sansSerif" = "serifless"
selectorAffix."f/compLigLeft1" = "serifed"
selectorAffix."f/compLigLeft2" = "serifed"
selectorAffix."f/compLigLeft3" = "serifed"
selectorAffix."f/compLigLeft4" = "serifed"
selectorAffix."f/phoneticLeft" = "serifed"
selectorAffix."f/tailless" = "serifed"
selectorAffix.fLenis = "serifless"
selectorAffix.fLTail = "tailed"

[prime.f.variants-buildup.stages.tail.extended]
rank = 3
descriptionAffix = "descending extension"
selectorAffix.f = "extended"
selectorAffix."f/sansSerif" = "extended"
selectorAffix."f/compLigLeft1" = "extended"
selectorAffix."f/compLigLeft2" = "extended"
selectorAffix."f/compLigLeft3" = "extended"
selectorAffix."f/compLigLeft4" = "extended"
selectorAffix."f/phoneticLeft" = "extended"
selectorAffix."f/tailless" = "serifless"
selectorAffix.fLenis = "serifless"
selectorAffix.fLTail = "tailed"

[prime.f.variants-buildup.stages.tail.tailed]
rank = 4
descriptionAffix = "descending bottom hook"
selectorAffix.f = "tailed"
selectorAffix."f/sansSerif" = "tailed"
selectorAffix."f/compLigLeft1" = "tailed"
selectorAffix."f/compLigLeft2" = "tailed"
selectorAffix."f/compLigLeft3" = "tailed"
selectorAffix."f/compLigLeft4" = "tailed"
selectorAffix."f/phoneticLeft" = "tailed"
selectorAffix."f/tailless" = "serifless"
selectorAffix.fLenis = "serifless"
selectorAffix.fLTail = "tailed"

[prime.f.variants-buildup.stages.tail.diagonal-tailed]
rank = 5
descriptionAffix = "diagonal tail"
selectorAffix.f = "diagonalTailed"
selectorAffix."f/sansSerif" = "diagonalTailed"
selectorAffix."f/compLigLeft1" = "diagonalTailed"
selectorAffix."f/compLigLeft2" = "diagonalTailed"
selectorAffix."f/compLigLeft3" = "diagonalTailed"
selectorAffix."f/compLigLeft4" = "diagonalTailed"
selectorAffix."f/phoneticLeft" = "diagonalTailed"
selectorAffix."f/tailless" = "serifless"
selectorAffix.fLenis = "serifless"
selectorAffix.fLTail = "tailed"

[prime.f.variants-buildup.stages.crossbar.standard]
rank = 1
keyAffix = ""
selectorAffix.f = ""
selectorAffix."f/sansSerif" = ""
selectorAffix."f/compLigLeft1" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft2" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft3" = ""
selectorAffix."f/compLigLeft4" = ""
selectorAffix."f/phoneticLeft" = "crossbarAtXHeight"
selectorAffix."f/tailless" = ""
selectorAffix.fLenis = ""
selectorAffix.fLTail = ""

[prime.f.variants-buildup.stages.crossbar.crossbar-at-x-height]
rank = 1
descriptionAffix = "crossbar at X-height"
selectorAffix.f = "crossbarAtXHeight"
selectorAffix."f/sansSerif" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft1" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft2" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft3" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft4" = "crossbarAtXHeight"
selectorAffix."f/phoneticLeft" = "crossbarAtXHeight"
selectorAffix."f/tailless" = "crossbarAtXHeight"
selectorAffix.fLenis = "crossbarAtXHeight"
selectorAffix.fLTail = "crossbarAtXHeight"



[prime.g]
sampler = "g"
tagKind = "letter"

[prime.g.variants-buildup]
entry = "storey"
descriptionLeader = "`g`"

[prime.g.variants-buildup.stages.storey.double-storey]
next = "openness"
rank = 1
descriptionAffix = "double-storey shape"
selectorAffix.g = "doubleStorey"
selectorAffix."g/sansSerif" = "doubleStorey"
selectorAffix."g/hookTopBase" = "singleStoreyBentHookSerifless"
selectorAffix."g/doubleStorey" = "doubleStorey"
selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStoreyBentHookSerifed"
selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStoreyBentHookSerifless"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "singleStoreyBentHookSerifed"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "singleStoreyBentHookSerifless"

[prime.g.variants-buildup.stages.openness."*"]
next = "END"

[prime.g.variants-buildup.stages.openness.closed]
rank = 1
keyAffix = ""
selectorAffix.g = "closed"
selectorAffix."g/sansSerif" = "closed"
selectorAffix."g/hookTopBase" = ""
selectorAffix."g/doubleStorey" = "closed"
selectorAffix."g/singleStorey/autoSerifed/slab" = ""
selectorAffix."g/singleStorey/autoSerifed/sans" = ""
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = ""
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = ""

[prime.g.variants-buildup.stages.openness.open]
rank = 1
descriptionAffix = "open contour"
selectorAffix.g = "open"
selectorAffix."g/sansSerif" = "open"
selectorAffix."g/hookTopBase" = ""
selectorAffix."g/doubleStorey" = "open"
selectorAffix."g/singleStorey/autoSerifed/slab" = ""
selectorAffix."g/singleStorey/autoSerifed/sans" = ""
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = ""
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = ""

[prime.g.variants-buildup.stages.storey.single-storey]
next = "hook"
rank = 2
descriptionAffix = "single-storey shape"
selectorAffix.g = "singleStorey"
selectorAffix."g/sansSerif" = "singleStorey"
selectorAffix."g/hookTopBase" = "singleStorey"
selectorAffix."g/doubleStorey" = "doubleStoreyClosed"
selectorAffix."g/singleStorey/autoSerifed/slab" = "singleStorey"
selectorAffix."g/singleStorey/autoSerifed/sans" = "singleStorey"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "singleStorey"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "singleStorey"

[prime.g.variants-buildup.stages.hook."*"]
next = "ear"

[prime.g.variants-buildup.stages.hook.bent-hook]
rank = 1
keyAffix = ""
selectorAffix.g = "bentHook"
selectorAffix."g/sansSerif" = "bentHook"
selectorAffix."g/hookTopBase" = "bentHook"
selectorAffix."g/doubleStorey" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = "bentHook"
selectorAffix."g/singleStorey/autoSerifed/sans" = "bentHook"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "bentHook"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "bentHook"

[prime.g.variants-buildup.stages.hook.flat-hook]
rank = 2
descriptionAffix = "flat bottom hook"
selectorAffix.g = "flatHook"
selectorAffix."g/sansSerif" = "flatHook"
selectorAffix."g/hookTopBase" = "flatHook"
selectorAffix."g/doubleStorey" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = "flatHook"
selectorAffix."g/singleStorey/autoSerifed/sans" = "flatHook"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "bentHook"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "bentHook"

[prime.g.variants-buildup.stages.ear.serifless]
rank = 1
selectorAffix.g = "serifless"
selectorAffix."g/sansSerif" = "serifless"
selectorAffix."g/hookTopBase" = "serifless"
selectorAffix."g/doubleStorey" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = "serifless"
selectorAffix."g/singleStorey/autoSerifed/sans" = "serifless"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "serifless"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "serifless"

[prime.g.variants-buildup.stages.ear.serifed]
rank = 2
descriptionAffix = "top-right serif"
selectorAffix.g = "serifed"
selectorAffix."g/sansSerif" = "serifless"
selectorAffix."g/hookTopBase" = "serifless"
selectorAffix."g/doubleStorey" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = "serifed"
selectorAffix."g/singleStorey/autoSerifed/sans" = "serifed"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "serifed"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "serifed"

[prime.g.variants-buildup.stages.ear.top-cut]
rank = 3
descriptionAffix = "a diagonal cut at top"
selectorAffix.g = "topCut"
selectorAffix."g/sansSerif" = "topCut"
selectorAffix."g/hookTopBase" = "serifless"
selectorAffix."g/doubleStorey" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = "topCut"
selectorAffix."g/singleStorey/autoSerifed/sans" = "topCut"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "topCut"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "topCut"

[prime.g.variants-buildup.stages.ear.earless-corner]
rank = 4
descriptionAffix = "earless (cornered top-right)"
selectorAffix.g = "earlessCorner"
selectorAffix."g/sansSerif" = "earlessCorner"
selectorAffix."g/hookTopBase" = "earlessCornerHTB"
selectorAffix."g/doubleStorey" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessCorner"
selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessCorner"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "earlessCorner"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "earlessCorner"

[prime.g.variants-buildup.stages.ear.earless-rounded]
rank = 5
descriptionAffix = "earless (rounded top-right)"
selectorAffix.g = "earlessRounded"
selectorAffix."g/sansSerif" = "earlessRounded"
selectorAffix."g/hookTopBase" = "serifless"
selectorAffix."g/doubleStorey" = ""
selectorAffix."g/singleStorey/autoSerifed/slab" = "earlessRounded"
selectorAffix."g/singleStorey/autoSerifed/sans" = "earlessRounded"
selectorAffix."g/singleStoreyBentHook/autoSerifed/slab" = "earlessRounded"
selectorAffix."g/singleStoreyBentHook/autoSerifed/sans" = "earlessRounded"



[prime.h]
sampler = "h"
tagKind = "letter"

[prime.h.variants-buildup]
entry = "tail"
descriptionLeader = "`h`"

[prime.h.variants-buildup.stages.tail."*"]
next = "serifs"

[prime.h.variants-buildup.stages.tail.straight]
rank = 1
descriptionAffix = "straight terminal"
selectorAffix.h = "straight"
selectorAffix."h/sansSerif" = "straight"
selectorAffix."h/descBase" = "straight"
selectorAffix.hHookTop = "straight"
selectorAffix.heng = "straight"
selectorAffix.hengHookTop = "straight"

[prime.h.variants-buildup.stages.tail.tailed]
rank = 2
descriptionAffix = "curly tailed terminal"
selectorAffix.h = "tailed"
selectorAffix."h/sansSerif" = "tailed"
selectorAffix."h/descBase" = "straight"
selectorAffix.hHookTop = "tailed"
selectorAffix.heng = "straight"
selectorAffix.hengHookTop = "straight"

[prime.h.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.h = "serifless"
selectorAffix."h/sansSerif" = "serifless"
selectorAffix."h/descBase" = "serifless"
selectorAffix.hHookTop = "serifless"
selectorAffix.heng = "serifless"
selectorAffix.hengHookTop = "serifless"

[prime.h.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
disableIf = [{ tail = "NOT straight" }]
descriptionAffix = "serif at top left"
selectorAffix.h = "topLeftSerifed"
selectorAffix."h/sansSerif" = "serifless"
selectorAffix."h/descBase" = "topLeftSerifed"
selectorAffix.hHookTop = "serifless"
selectorAffix.heng = "topLeftSerifed"
selectorAffix.hengHookTop = "serifless"

[prime.h.variants-buildup.stages.serifs.motion-serifed]
rank = 3
descriptionAffix = "serifs at top left and bottom right"
selectorAffix.h = "motionSerifed"
selectorAffix."h/sansSerif" = "serifless"
selectorAffix."h/descBase" = "topLeftSerifed"
selectorAffix.hHookTop = { if = [{ tail = "straight" }], then = "motionSerifed", else = "serifless" }
selectorAffix.heng = "topLeftSerifed"
selectorAffix.hengHookTop = "serifless"

[prime.h.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.h = "serifed"
selectorAffix."h/sansSerif" = "serifless"
selectorAffix."h/descBase" = "serifed"
selectorAffix.hHookTop = "serifed"
selectorAffix.heng = "serifed"
selectorAffix.hengHookTop = "serifed"



[prime.i]
sampler = "i"
tagKind = "letter"

[prime.i.variants.serifless]
rank = 1
groupRank = 1
description = "`i` like a straight line"
selector.dotlessi = "serifless"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "hooky"
selector."cyrl/ghe.SRB" = "flatTailed"

[prime.i.variants.hooky]
rank = 2
groupRank = 1
description = "Hooky `i`"
selector.dotlessi = "hooky"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "hooky"
selector."cyrl/ghe.SRB" = "serifedFlatTailed"

[prime.i.variants.hooky-bottom]
rank = 3
groupRank = 1
description = "`i` with a sharp-turning horizontal tail"
selector.dotlessi = "hookyBottom"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "zshaped"
selector."cyrl/ghe.SRB" = "hookyBottom"

[prime.i.variants.zshaped]
rank = 4
groupRank = 1
description = "Z-shaped `i`"
selector.dotlessi = "zshaped"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "zshaped"
selector."cyrl/ghe.SRB" = "zshaped"

[prime.i.variants.serifed]
rank = 5
groupRank = 1
description = "Serifed `i`"
selector.dotlessi = "serifed"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "serifed"
selector."cyrl/ghe.SRB" = "zshaped"

[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"
selector."dotlessi/compLigRight" = "serifed"
selector."cyrl/ghe.SRB" = "zshapedAsymmetric"

[prime.i.variants.tailed]
rank = 7
groupRank = 2
description = "`i` with curly tail"
selector.dotlessi = "tailed"
selector."dotlessi/sansSerif" = "tailed"
selector."dotlessi/compLigRight" = "tailedSerifed"
selector."cyrl/ghe.SRB" = "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"
selector."dotlessi/compLigRight" = "tailedSerifed"
selector."cyrl/ghe.SRB" = "tailedSerifed"

[prime.i.variants.flat-tailed]
rank = 9
groupRank = 2
description = "`i` with curly-then-flat tail"
selector.dotlessi = "flatTailed"
selector."dotlessi/sansSerif" = "flatTailed"
selector."dotlessi/compLigRight" = "serifedFlatTailed"
selector."cyrl/ghe.SRB" = "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"
selector."dotlessi/compLigRight" = "serifedFlatTailed"
selector."cyrl/ghe.SRB" = "serifedFlatTailed"

[prime.i.variants.diagonal-tailed]
rank = 11
groupRank = 2
description = "`i` with diagonal tail"
selector.dotlessi = "diagonalTailed"
selector."dotlessi/sansSerif" = "diagonalTailed"
selector."dotlessi/compLigRight" = "serifedDiagonalTailed"
selector."cyrl/ghe.SRB" = "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"
selector."dotlessi/compLigRight" = "serifedDiagonalTailed"
selector."cyrl/ghe.SRB" = "serifedDiagonalTailed"

[prime.i.variants.semi-tailed]
rank = 13
groupRank = 2
description = "`i` with slightly curly tail"
selector.dotlessi = "semiTailed"
selector."dotlessi/sansSerif" = "semiTailed"
selector."dotlessi/compLigRight" = "serifedSemiTailed"
selector."cyrl/ghe.SRB" = "semiTailed"

[prime.i.variants.serifed-semi-tailed]
rank = 14
groupRank = 2
description = "`i` with top serif and slightly curly tail"
selector.dotlessi = "serifedSemiTailed"
selector."dotlessi/sansSerif" = "semiTailed"
selector."dotlessi/compLigRight" = "serifedSemiTailed"
selector."cyrl/ghe.SRB" = "serifedSemiTailed"



[prime.j]
sampler = "j"
tagKind = "letter"

[prime.j.variants.serifless]
rank = 1
description = "`j` without serif"
selector.dotlessj = "bentHookSerifless"
selector."dotlessj/sansSerif" = "bentHookSerifless"
selector.dotlessjHookTop = "bentHookSerifless"
selector.dotlessjCurlyTail = "bentHookSerifless"

[prime.j.variants.serifed]
rank = 2
description = "`j` with top serif"
selector.dotlessj = "bentHookSerifed"
selector."dotlessj/sansSerif" = "bentHookSerifless"
selector.dotlessjHookTop = "bentHookShortSerifed"
selector.dotlessjCurlyTail = "bentHookSerifed"

[prime.j.variants.straight-line]
rank = 3
description = "`j` like a straight line"
selector.dotlessj = "straightSerifless"
selector."dotlessj/sansSerif" = "straightSerifless"
selector.dotlessjHookTop = "straightSerifless"
selector.dotlessjCurlyTail = "bentHookSerifless"

[prime.j.variants.hooky]
rank = 4
description = "`j` like a straight line with top serif"
selector.dotlessj = "straightSerifed"
selector."dotlessj/sansSerif" = "straightSerifless"
selector.dotlessjHookTop = "straightShortSerifed"
selector.dotlessjCurlyTail = "bentHookSerifed"

[prime.j.variants.flat-hook-serifless]
rank = 5
description = "`j` with flat terminal hook"
selector.dotlessj = "flatHookSerifless"
selector."dotlessj/sansSerif" = "flatHookSerifless"
selector.dotlessjHookTop = "flatHookSerifless"
selector.dotlessjCurlyTail = "bentHookSerifless"

[prime.j.variants.flat-hook-serifed]
rank = 6
description = "`j` with flat terminal hook and top serif"
selector.dotlessj = "flatHookSerifed"
selector."dotlessj/sansSerif" = "flatHookSerifless"
selector.dotlessjHookTop = "flatHookShortSerifed"
selector.dotlessjCurlyTail = "bentHookSerifed"

[prime.j.variants.diagonal-tailed-serifless]
rank = 7
description = "`j` with diagonal tail"
selector.dotlessj = "diagonalTailedSerifless"
selector."dotlessj/sansSerif" = "diagonalTailedSerifless"
selector.dotlessjHookTop = "diagonalTailedSerifless"
selector.dotlessjCurlyTail = "bentHookSerifless"

[prime.j.variants.diagonal-tailed-serifed]
rank = 8
description = "`j` with top serif and diagonal tail"
selector.dotlessj = "diagonalTailedSerifed"
selector."dotlessj/sansSerif" = "diagonalTailedSerifless"
selector.dotlessjHookTop = "diagonalTailedShortSerifed"
selector.dotlessjCurlyTail = "bentHookSerifed"



[prime.k]
sampler = "k"
tagKind = "letter"

[prime.k.variants-buildup]
entry = "body"
descriptionLeader = "`k`"

[prime.k.variants-buildup.stages.body."*"]
next = "serifs"

[prime.k.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "standard shape"
selectorAffix.k = "straight"
selectorAffix."k/sansSerif" = "straight"
selectorAffix."latn/kappa" = "straight"
selectorAffix.kHookTop = "straight"
selectorAffix.kDescender = "straight"

[prime.k.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix.k = "curly"
selectorAffix."k/sansSerif" = "curly"
selectorAffix."latn/kappa" = "curly"
selectorAffix.kHookTop = "curly"
selectorAffix.kDescender = "curly"

[prime.k.variants-buildup.stages.body.symmetric-touching]
rank = 3
descriptionAffix = "symmetric legs touching the vertical bar"
selectorAffix.k = "symmetricTouching"
selectorAffix."k/sansSerif" = "symmetricTouching"
selectorAffix."latn/kappa" = "symmetricTouching"
selectorAffix.kHookTop = "symmetricTouching"
selectorAffix.kDescender = "symmetricTouching"

[prime.k.variants-buildup.stages.body.symmetric-connected]
rank = 4
descriptionAffix = "symmetric legs connected to the vertical bar"
selectorAffix.k = "symmetricConnected"
selectorAffix."k/sansSerif" = "symmetricConnected"
selectorAffix."latn/kappa" = "symmetricConnected"
selectorAffix.kHookTop = "symmetricConnected"
selectorAffix.kDescender = "symmetricConnected"

[prime.k.variants-buildup.stages.body.cursive]
rank = 5
descriptionAffix = "cursive loop"
selectorAffix.k = "cursive"
selectorAffix."k/sansSerif" = "cursive"
selectorAffix."latn/kappa" = "straight"
selectorAffix.kHookTop = "cursive"
selectorAffix.kDescender = "cursive"

[prime.k.variants-buildup.stages.body.diagonal-tailed-cursive]
rank = 6
descriptionAffix = "cursive loop plus diagonal tail"
selectorAffix.k = "cursiveTailed"
selectorAffix."k/sansSerif" = "cursiveTailed"
selectorAffix."latn/kappa" = "straight"
selectorAffix.kHookTop = "cursiveTailed"
selectorAffix.kDescender = "cursive"

[prime.k.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.k = "serifless"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix."latn/kappa" = "serifless"
selectorAffix.kHookTop = "serifless"
selectorAffix.kDescender = "serifless"

[prime.k.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serifs at top left"
selectorAffix.k = "topLeftSerifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix."latn/kappa" = "topLeftSerifed"
selectorAffix.kHookTop = "serifless"
selectorAffix.kDescender = "topLeftSerifed"

[prime.k.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 3
disableIf = [ { body = "diagonal-tailed-cursive" } ]
descriptionAffix = "serifs at bottom right"
selectorAffix.k = "bottomRightSerifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix."latn/kappa" = "bottomRightSerifed"
selectorAffix.kHookTop = "bottomRightSerifed"
selectorAffix.kDescender = "serifless"

[prime.k.variants-buildup.stages.serifs.top-left-and-bottom-right-serifed]
rank = 4
disableIf = [ { body = "diagonal-tailed-cursive" } ]
descriptionAffix = "serifs at top left and bottom right"
selectorAffix.k = "topLeftAndBottomRightSerifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix."latn/kappa" = "topLeftAndBottomRightSerifed"
selectorAffix.kHookTop = "bottomRightSerifed"
selectorAffix.kDescender = "topLeftSerifed"

[prime.k.variants-buildup.stages.serifs.top-right-serifed]
rank = 5
nonBreakingVariantAdditionPriority = 100
disableIf = [ { body = "cursive" }, { body = "diagonal-tailed-cursive" } ]
descriptionAffix = "serifs at top right"
selectorAffix.k = "topRightSerifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix."latn/kappa" = "topRightSerifed"
selectorAffix.kHookTop = "topRightSerifed"
selectorAffix.kDescender = "topRightSerifed"

[prime.k.variants-buildup.stages.serifs.tri-serifed]
rank = 6
nonBreakingVariantAdditionPriority = 100
disableIf = [ { body = "cursive" }, { body = "diagonal-tailed-cursive" } ]
descriptionAffix = "serifs at top left and both legs"
selectorAffix.k = "triSerifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix."latn/kappa" = "triSerifed"
selectorAffix.kHookTop = "topRightAndBottomRightSerifed"
selectorAffix.kDescender = "topLeftAndTopRightSerifed"

[prime.k.variants-buildup.stages.serifs.serifed]
rank = 7
disableIf = [ { body = "diagonal-tailed-cursive" } ]
descriptionAffix = "serifs"
selectorAffix.k = "serifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix."latn/kappa" = "serifedKappa"
selectorAffix.kHookTop = "serifed"
selectorAffix.kDescender = "serifed"

[prime.k.variants-buildup.stages.serifs.full-serifed]
rank = 8
nonBreakingVariantAdditionPriority = 100
disableIf = [ { body = "diagonal-tailed-cursive" } ]
descriptionAffix = "full serifs at legs"
selectorAffix.k = "fullSerifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix."latn/kappa" = "fullSerifed"
selectorAffix.kHookTop = "fullSerifed"
selectorAffix.kDescender = "fullSerifed"



[prime.l]
sampler = "l"
tagKind = "letter"

[prime.l.variants.serifless]
rank = 1
groupRank = 1
description = "`l` like a straight line"
selector.l = "serifless"
selector."l/sansSerif" = "serifless"
selector."l/compLigRight" = "hooky"
selector."l/reduced/decompress" = "seriflessDec"
selector."l/reduced/rtail" = "seriflessRTail"
selector."l/reduced/rtailDec" = "seriflessRTailDec"
selector."l/phoneticLeft" = "seriflessPL"
selector.lCurlyTail = "serifless"
selector.lyogh = "serifless"

[prime.l.variants.hooky]
rank = 2
groupRank = 1
description = "Hooky `l`"
selector.l = "hooky"
selector."l/sansSerif" = "serifless"
selector."l/compLigRight" = "hooky"
selector."l/reduced/decompress" = "hookyDec"
selector."l/reduced/rtail" = "hookyRTail"
selector."l/reduced/rtailDec" = "hookyRTailDec"
selector."l/phoneticLeft" = "hookyPL"
selector.lCurlyTail = "hooky"
selector.lyogh = "hooky"

[prime.l.variants.hooky-bottom]
rank = 3
groupRank = 1
description = "`l` with a straight sharp-turning horizontal tail"
selector.l = "hookyBottom"
selector."l/sansSerif" = "serifless"
selector."l/compLigRight" = "zshaped"
selector."l/reduced/decompress" = "hookyBottomDec"
selector."l/reduced/rtail" = "seriflessRTail"
selector."l/reduced/rtailDec" = "seriflessRTailDec"
selector."l/phoneticLeft" = "seriflessPL"
selector.lCurlyTail = "serifless"
selector.lyogh = "serifless"

[prime.l.variants.zshaped]
rank = 4
groupRank = 1
description = "Z-shaped `l`"
selector.l = "zshaped"
selector."l/sansSerif" = "serifless"
selector."l/compLigRight" = "zshaped"
selector."l/reduced/decompress" = "zshaped"
selector."l/reduced/rtail" = "hookyRTail"
selector."l/reduced/rtailDec" = "hookyRTailDec"
selector."l/phoneticLeft" = "hookyPL"
selector.lCurlyTail = "hooky"
selector.lyogh = "hooky"

[prime.l.variants.serifed]
rank = 5
groupRank = 1
description = "Serifed `l`"
selector.l = "serifed"
selector."l/sansSerif" = "serifless"
selector."l/compLigRight" = "serifed"
selector."l/reduced/decompress" = "serifed"
selector."l/reduced/rtail" = "hookyRTail"
selector."l/reduced/rtailDec" = "hookyRTailDec"
selector."l/phoneticLeft" = "hookyPL"
selector.lCurlyTail = "hooky"
selector.lyogh = "hooky"

[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"
selector."l/compLigRight" = "serifed"
selector."l/reduced/decompress" = "serifedAsymmetric"
selector."l/reduced/rtail" = "hookyRTail"
selector."l/reduced/rtailDec" = "hookyRTailDec"
selector."l/phoneticLeft" = "hookyPL"
selector.lCurlyTail = "hooky"
selector.lyogh = "hooky"

[prime.l.variants.tailed]
rank = 7
groupRank = 2
description = "`l` with curly tail"
selector.l = "tailed"
selector."l/sansSerif" = "tailed"
selector."l/compLigRight" = "tailedSerifed"
selector."l/reduced/decompress" = "tailedDec"
selector."l/reduced/rtail" = "seriflessRTail"
selector."l/reduced/rtailDec" = "seriflessRTailDec"
selector."l/phoneticLeft" = "seriflessPL"
selector.lCurlyTail = "serifless"
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"
selector."l/compLigRight" = "tailedSerifed"
selector."l/reduced/decompress" = "tailedSerifed"
selector."l/reduced/rtail" = "hookyRTail"
selector."l/reduced/rtailDec" = "hookyRTailDec"
selector."l/phoneticLeft" = "hookyPL"
selector.lCurlyTail = "hooky"
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"
selector."l/compLigRight" = "serifedFlatTailed"
selector."l/reduced/decompress" = "flatTailedDec"
selector."l/reduced/rtail" = "seriflessRTail"
selector."l/reduced/rtailDec" = "seriflessRTailDec"
selector."l/phoneticLeft" = "seriflessPL"
selector.lCurlyTail = "serifless"
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"
selector."l/compLigRight" = "serifedFlatTailed"
selector."l/reduced/decompress" = "serifedFlatTailed"
selector."l/reduced/rtail" = "hookyRTail"
selector."l/reduced/rtailDec" = "hookyRTailDec"
selector."l/phoneticLeft" = "hookyPL"
selector.lCurlyTail = "hooky"
selector.lyogh = "hooky"

[prime.l.variants.diagonal-tailed]
rank = 11
groupRank = 2
description = "`l` with diagonal tail"
selector.l = "diagonalTailed"
selector."l/sansSerif" = "diagonalTailed"
selector."l/compLigRight" = "serifedDiagonalTailed"
selector."l/reduced/decompress" = "diagonalTailedDec"
selector."l/reduced/rtail" = "seriflessRTail"
selector."l/reduced/rtailDec" = "seriflessRTailDec"
selector."l/phoneticLeft" = "seriflessPL"
selector.lCurlyTail = "serifless"
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"
selector."l/compLigRight" = "serifedDiagonalTailed"
selector."l/reduced/decompress" = "serifedDiagonalTailed"
selector."l/reduced/rtail" = "hookyRTail"
selector."l/reduced/rtailDec" = "hookyRTailDec"
selector."l/phoneticLeft" = "hookyPL"
selector.lCurlyTail = "hooky"
selector.lyogh = "hooky"

[prime.l.variants.semi-tailed]
rank = 13
groupRank = 2
description = "`l` with slightl curly tail"
selector.l = "semiTailed"
selector."l/sansSerif" = "semiTailed"
selector."l/compLigRight" = "serifedSemiTailed"
selector."l/reduced/decompress" = "semiTailedDec"
selector."l/reduced/rtail" = "seriflessRTail"
selector."l/reduced/rtailDec" = "seriflessRTailDec"
selector."l/phoneticLeft" = "seriflessPL"
selector.lCurlyTail = "serifless"
selector.lyogh = "serifless"

[prime.l.variants.serifed-semi-tailed]
rank = 14
groupRank = 2
description = "`l` with top serif and slightl curly tail"
selector.l = "serifedSemiTailed"
selector."l/sansSerif" = "semiTailed"
selector."l/compLigRight" = "serifedSemiTailed"
selector."l/reduced/decompress" = "serifedSemiTailed"
selector."l/reduced/rtail" = "hookyRTail"
selector."l/reduced/rtailDec" = "hookyRTailDec"
selector."l/phoneticLeft" = "hookyPL"
selector.lCurlyTail = "hooky"
selector.lyogh = "hooky"



[prime.m]
sampler = "m"
tagKind = "letter"

[prime.m.variants-buildup]
entry = "body"
descriptionLeader = "`m`"

[prime.m.variants-buildup.stages.body."*"]
next = "leg"

[prime.m.variants-buildup.stages.body.eared]
rank = 1
groupRank = 10
keyAffix = ""
descriptionAffix = "eared body shape"
selectorAffix.m = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."m/descBase" = ""
selectorAffix."cyrl/te.italic" = ""
selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix."cyrl/tje.italic/base/corner" =  ""
selectorAffix."cyrl/tje.italic/base/cursive" =  ""
selectorAffix.meng = ""

[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/sansSerif" = "earlessCornerDoubleArch"
selectorAffix."m/descBase" = "earlessCornerDoubleArch"
selectorAffix."cyrl/te.italic" = ""
selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix."cyrl/tje.italic/base/corner" =  ""
selectorAffix."cyrl/tje.italic/base/cursive" =  ""
selectorAffix.meng = "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/sansSerif" = "earlessRoundedDoubleArch"
selectorAffix."m/descBase" = "earlessRoundedDoubleArch"
selectorAffix."cyrl/te.italic" = ""
selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix."cyrl/tje.italic/base/corner" =  ""
selectorAffix."cyrl/tje.italic/base/cursive" =  ""
selectorAffix.meng = "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/sansSerif" = "earlessSingleArch"
selectorAffix."m/descBase" = "earlessSingleArch"
selectorAffix."cyrl/te.italic" = ""
selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix."cyrl/tje.italic/base/corner" =  ""
selectorAffix."cyrl/tje.italic/base/cursive" =  ""
selectorAffix.meng = "earlessSingleArch"

[prime.m.variants-buildup.stages.leg."*"]
next = "tail"

[prime.m.variants-buildup.stages.leg.normal]
rank = 1
groupRank = 1
keyAffix = ""
descriptionAffix = "normal middle leg"
selectorAffix.m = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."m/descBase" = ""
selectorAffix."cyrl/te.italic" = ""
selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/te.italic/descBase" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix."cyrl/tje.italic/base/corner" =  ""
selectorAffix."cyrl/tje.italic/base/cursive" =  ""
selectorAffix.meng = ""

[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/sansSerif" = "shortLeg"
selectorAffix."m/descBase" = "shortLeg"
selectorAffix."cyrl/te.italic" = ""
selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/te.italic/descBase" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix."cyrl/tje.italic/base/corner" =  ""
selectorAffix."cyrl/tje.italic/base/cursive" =  ""
selectorAffix.meng = "shortLeg"

[prime.m.variants-buildup.stages.tail."*"]
next = "serifs"

[prime.m.variants-buildup.stages.tail.normal]
rank = 1
keyAffix = ""
selectorAffix.m = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."m/descBase" = ""
selectorAffix."cyrl/te.italic" = ""
selectorAffix."cyrl/este.italic/right" = ""
selectorAffix."cyrl/te.italic/descBase" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix."cyrl/tje.italic/base/corner" =  ""
selectorAffix."cyrl/tje.italic/base/cursive" =  ""
selectorAffix.meng = ""

[prime.m.variants-buildup.stages.tail.tailed]
rank = 2
descriptionAffix = "tail"
selectorAffix.m = "tailed"
selectorAffix."m/sansSerif" = "tailed"
selectorAffix."m/descBase" = ""
selectorAffix."cyrl/te.italic" = "tailed"
selectorAffix."cyrl/este.italic/right" = "tailed"
selectorAffix."cyrl/te.italic/descBase" = ""
selectorAffix."cyrl/tjeKomi.italic" = ""
selectorAffix."cyrl/tje.italic/base/corner" =  ""
selectorAffix."cyrl/tje.italic/base/cursive" =  ""
selectorAffix.meng = ""

[prime.m.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.m = "serifless"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."m/descBase" = "serifless"
selectorAffix."cyrl/te.italic" = "serifless"
selectorAffix."cyrl/este.italic/right" = "serifless"
selectorAffix."cyrl/te.italic/descBase" = "serifless"
selectorAffix."cyrl/tjeKomi.italic" = "serifless"
selectorAffix."cyrl/tje.italic/base/corner" =  "serifless"
selectorAffix."cyrl/tje.italic/base/cursive" =  "serifless"
selectorAffix.meng = "serifless"

[prime.m.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serif at top left"
disableIf = [ { body = "NOT eared" } ]
selectorAffix.m = "topLeftSerifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."m/descBase" = "topLeftSerifed"
selectorAffix."cyrl/te.italic" = "topLeftSerifed"
selectorAffix."cyrl/este.italic/right" = "serifless"
selectorAffix."cyrl/te.italic/descBase" = "topLeftSerifed"
selectorAffix."cyrl/tjeKomi.italic" = "topLeftSerifed"
selectorAffix."cyrl/tje.italic/base/corner" =  "topLeftSerifed"
selectorAffix."cyrl/tje.italic/base/cursive" =  "topLeftSerifed"
selectorAffix.meng = "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 eared" }, { tail = "tailed" } ]
selectorAffix.m = "topLeftAndBottomRightSerifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."m/descBase" = "topLeftSerifed"
selectorAffix."cyrl/te.italic" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/este.italic/right" = "bottomRightSerifed"
selectorAffix."cyrl/te.italic/descBase" = "topLeftSerifed"
selectorAffix."cyrl/tjeKomi.italic" = "topLeftSerifed"
selectorAffix."cyrl/tje.italic/base/corner" =  "topLeftSerifed"
selectorAffix."cyrl/tje.italic/base/cursive" =  "topLeftSerifed"
selectorAffix.meng = "topLeftSerifed"

[prime.m.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 3
descriptionAffix = "serifs at bottom right"
disableIf = [ { body = "eared" }, { tail = "tailed" } ]
selectorAffix.m = "bottomRightSerifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."m/descBase" = "serifless"
selectorAffix."cyrl/te.italic" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/este.italic/right" = "bottomRightSerifed"
selectorAffix."cyrl/te.italic/descBase" = "topLeftSerifed"
selectorAffix."cyrl/tjeKomi.italic" = "topLeftSerifed"
selectorAffix."cyrl/tje.italic/base/corner" =  "topLeftSerifed"
selectorAffix."cyrl/tje.italic/base/cursive" =  "topLeftSerifed"
selectorAffix.meng = "serifless"

[prime.m.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.m = "serifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."m/descBase" = "serifed"
selectorAffix."cyrl/te.italic" = "serifed"
selectorAffix."cyrl/este.italic/right" = "serifed"
selectorAffix."cyrl/te.italic/descBase" = "serifed"
selectorAffix."cyrl/tjeKomi.italic" = "serifed"
selectorAffix."cyrl/tje.italic/base/corner" =  "serifed"
selectorAffix."cyrl/tje.italic/base/cursive" =  "serifed"
selectorAffix.meng = "serifed"



[prime.n]
sampler = "n"
tagKind = "letter"

[prime.n.variants-buildup]
entry = "body"
descriptionLeader = "`n`"

[prime.n.variants-buildup.stages.body."*"]
next = "terminal"

[prime.n.variants-buildup.stages.body.eared]
rank = 1
keyAffix = ""
selectorAffix.n = ""
selectorAffix."n/sansSerif" = ""
selectorAffix."n/descBase" = ""
selectorAffix.nHookLeft = ""
selectorAffix.eng = ""
selectorAffix."eng/phoneticRight" = ""
selectorAffix.engHookLeft = ""
selectorAffix."cyrl/pe.italic" = ""
selectorAffix."cyrl/pe.italic/descBase" = ""
selectorAffix."cyrl/yat.italic/base/corner" =  ""
selectorAffix."cyrl/yat.italic/base/cursive" =  ""

[prime.n.variants-buildup.stages.body.earless-corner]
rank = 2
descriptionAffix = "earless (corner top-left) body shape"
selectorAffix.n = "earlessCorner"
selectorAffix."n/sansSerif" = "earlessCorner"
selectorAffix."n/descBase" = "earlessCorner"
selectorAffix.nHookLeft = "earlessCorner"
selectorAffix.eng = "earlessCorner"
selectorAffix."eng/phoneticRight" = "earlessCornerHTB"
selectorAffix.engHookLeft = "earlessCorner"
selectorAffix."cyrl/pe.italic" = ""
selectorAffix."cyrl/pe.italic/descBase" = ""
selectorAffix."cyrl/yat.italic/base/corner" = ""
selectorAffix."cyrl/yat.italic/base/cursive" = ""

[prime.n.variants-buildup.stages.body.earless-rounded]
rank = 3
descriptionAffix = "earless (rounded top-left) body shape"
selectorAffix.n = "earlessRounded"
selectorAffix."n/sansSerif" = "earlessRounded"
selectorAffix."n/descBase" = "earlessRounded"
selectorAffix.nHookLeft = "earlessRounded"
selectorAffix.eng = "earlessRounded"
selectorAffix."eng/phoneticRight" = "earlessRoundedHTB"
selectorAffix.engHookLeft = "earlessRounded"
selectorAffix."cyrl/pe.italic" = ""
selectorAffix."cyrl/pe.italic/descBase" = ""
selectorAffix."cyrl/yat.italic/base/corner" = ""
selectorAffix."cyrl/yat.italic/base/cursive" = ""

[prime.n.variants-buildup.stages.terminal."*"]
next = "serifs"

[prime.n.variants-buildup.stages.terminal.straight]
rank = 1
descriptionAffix = "straight terminal"
selectorAffix.n = "straight"
selectorAffix."n/sansSerif" = "straight"
selectorAffix."n/descBase" = "straight"
selectorAffix.nHookLeft = "straight"
selectorAffix.eng = "straight"
selectorAffix."eng/phoneticRight" = "straight"
selectorAffix.engHookLeft = "straight"
selectorAffix."cyrl/pe.italic" = "straight"
selectorAffix."cyrl/pe.italic/descBase" = "straight"
selectorAffix."cyrl/yat.italic/base/corner" = "straight"
selectorAffix."cyrl/yat.italic/base/cursive" = "straight"

[prime.n.variants-buildup.stages.terminal.tailed]
rank = 2
descriptionAffix = "tailed terminal"
selectorAffix.n = "tailed"
selectorAffix."n/sansSerif" = "tailed"
selectorAffix."n/descBase" = "straight"
selectorAffix.nHookLeft = "tailed"
selectorAffix.eng = "straight"
selectorAffix."eng/phoneticRight" = "straight"
selectorAffix.engHookLeft = "straight"
selectorAffix."cyrl/pe.italic" = "tailed"
selectorAffix."cyrl/pe.italic/descBase" = "straight"
selectorAffix."cyrl/yat.italic/base/corner" = "straight"
selectorAffix."cyrl/yat.italic/base/cursive" = "straight"

[prime.n.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.n = "serifless"
selectorAffix."n/sansSerif" = "serifless"
selectorAffix."n/descBase" = "serifless"
selectorAffix.nHookLeft = "serifless"
selectorAffix.eng = "serifless"
selectorAffix."eng/phoneticRight" = "topLeftSerifed"
selectorAffix.engHookLeft = "serifless"
selectorAffix."cyrl/pe.italic" = "serifless"
selectorAffix."cyrl/pe.italic/descBase" = "serifless"
selectorAffix."cyrl/yat.italic/base/corner" = "serifless"
selectorAffix."cyrl/yat.italic/base/cursive" = "serifless"

[prime.n.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serif at top left"
enableIf = [ { body = "eared", terminal = "NOT tailed" } ]
selectorAffix.n = "topLeftSerifed"
selectorAffix."n/sansSerif" = "serifless"
selectorAffix."n/descBase" = "topLeftSerifed"
selectorAffix.nHookLeft = "topLeftSerifed"
selectorAffix.eng = "topLeftSerifed"
selectorAffix."eng/phoneticRight" = "topLeftSerifed"
selectorAffix.engHookLeft = "topLeftSerifed"
selectorAffix."cyrl/pe.italic" = "topLeftSerifed"
selectorAffix."cyrl/pe.italic/descBase" = "topLeftSerifed"
selectorAffix."cyrl/yat.italic/base/corner" = "topLeftSerifed"
selectorAffix."cyrl/yat.italic/base/cursive" = "topLeftSerifed"

[prime.n.variants-buildup.stages.serifs.motion-serifed]
rank = 3
descriptionAffix = "serif at top left and bottom right"
disableIf = [ { body = "NOT eared", terminal = "tailed" } ]
selectorAffix.n = "motionSerifed"
selectorAffix."n/sansSerif" = "serifless"
selectorAffix."n/descBase" = { if = [{ body = "eared" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix.nHookLeft = { if = [{ terminal = "straight" }], then = "motionSerifed", else = { if = [{ body = "eared" }], then = "topLeftSerifed", else = "serifless" } }
selectorAffix.eng = { if = [{ body = "eared" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."eng/phoneticRight" = "topLeftSerifed"
selectorAffix.engHookLeft = { if = [{ body = "eared" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."cyrl/pe.italic" = "motionSerifed"
selectorAffix."cyrl/pe.italic/descBase" = "topLeftSerifed"
selectorAffix."cyrl/yat.italic/base/corner" = "topLeftSerifed"
selectorAffix."cyrl/yat.italic/base/cursive" = "topLeftSerifed"

[prime.n.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.n = "serifed"
selectorAffix."n/sansSerif" = "serifless"
selectorAffix."n/descBase" = "serifed"
selectorAffix.nHookLeft = { if = [{ terminal = "straight" }], then = "serifed", else = { if = [{ body = "eared" }], then = "topLeftSerifed", else = "serifless" } }
selectorAffix.eng = "serifed"
selectorAffix."eng/phoneticRight" = "serifed"
selectorAffix.engHookLeft = { if = [{ body = "eared" }], then = "topLeftSerifed", else = "serifless" }
selectorAffix."cyrl/pe.italic" = "serifed"
selectorAffix."cyrl/pe.italic/descBase" = "serifed"
selectorAffix."cyrl/yat.italic/base/corner" = "serifedItalicYatCorner"
selectorAffix."cyrl/yat.italic/base/cursive" = "serifedItalicYatCursive"



[prime.p]
sampler = "p"
tagKind = "letter"

[prime.p.variants-buildup]
entry = "body"
descriptionLeader = "`p`"

[prime.p.variants-buildup.stages.body."*"]
next = "serifs"

[prime.p.variants-buildup.stages.body.eared]
rank = 1
descriptionAffix = "eared shape"
selectorAffix.p = "eared"
selectorAffix."p/sansSerif" = "eared"
selectorAffix."p/hookTopBase" = "eared"

[prime.p.variants-buildup.stages.body.earless-corner]
rank = 2
descriptionAffix = "earless (cornered) shape"
selectorAffix.p = "earlessCorner"
selectorAffix."p/sansSerif" = "earlessCorner"
selectorAffix."p/hookTopBase" = "earlessCorner"

[prime.p.variants-buildup.stages.body.earless-rounded]
rank = 3
descriptionAffix = "earless (rounded) shape"
selectorAffix.p = "earlessRounded"
selectorAffix."p/sansSerif" = "earlessRounded"
selectorAffix."p/hookTopBase" = "eared"

[prime.p.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.p = "serifless"
selectorAffix."p/sansSerif" = "serifless"
selectorAffix."p/hookTopBase" = "serifless"

[prime.p.variants-buildup.stages.serifs.motion-serifed]
rank = 2
enableIf = [{ body = "eared" }]
descriptionAffix = "motion serifs"
selectorAffix.p = "motionSerifed"
selectorAffix."p/sansSerif" = "serifless"
selectorAffix."p/hookTopBase" = "serifless"

[prime.p.variants-buildup.stages.serifs.serifed__eared]
rank = 3
enableIf = [{ body = "eared" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix.p = "serifed"
selectorAffix."p/sansSerif" = "serifless"
selectorAffix."p/hookTopBase" = "bottomSerifed"

[prime.p.variants-buildup.stages.serifs.serifed__earless]
rank = 3
enableIf = [{ body = "NOT eared" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix.p = "bottomSerifed"
selectorAffix."p/sansSerif" = "serifless"
selectorAffix."p/hookTopBase" = "bottomSerifed"



[prime.q]
sampler = "q"
tagKind = "letter"

[prime.q.variants-buildup]
entry = "body"
descriptionLeader = "`q`"

[prime.q.variants-buildup.stages.body."*"]
next = "terminal"

[prime.q.variants-buildup.stages.body.eared]
rank = 1
keyAffix = ""
selectorAffix.q = ""
selectorAffix."q/sansSerif" = ""
selectorAffix."q/hookTopBase" = ""
selectorAffix.qRTail = ""
selectorAffix.gha = ""

[prime.q.variants-buildup.stages.body.top-cut]
rank = 2
descriptionAffix = "a diagonal cut at top"
selectorAffix.q = "topCut"
selectorAffix."q/sansSerif" = "topCut"
selectorAffix."q/hookTopBase" = ""
selectorAffix.qRTail = "topCut"
selectorAffix.gha = ""

[prime.q.variants-buildup.stages.body.earless-corner]
rank = 3
descriptionAffix = "earless (cornered) shape"
selectorAffix.q = "earlessCorner"
selectorAffix."q/sansSerif" = "earlessCorner"
selectorAffix."q/hookTopBase" = "earlessCorner"
selectorAffix.qRTail = "earlessCorner"
selectorAffix.gha = ""

[prime.q.variants-buildup.stages.body.earless-rounded]
rank = 4
descriptionAffix = "earless (rounded) shape"
selectorAffix.q = "earlessRounded"
selectorAffix."q/sansSerif" = "earlessRounded"
selectorAffix."q/hookTopBase" = ""
selectorAffix.qRTail = "earlessRounded"
selectorAffix.gha = ""

[prime.q.variants-buildup.stages.terminal."*"]
next = "serifs"

[prime.q.variants-buildup.stages.terminal.straight]
rank = 1
descriptionAffix = "straight terminal"
selectorAffix.q = "straight"
selectorAffix."q/sansSerif" = "straight"
selectorAffix."q/hookTopBase" = "straight"
selectorAffix.qRTail = "straight"
selectorAffix.gha = "straight"

[prime.q.variants-buildup.stages.terminal.tailed]
rank = 2
descriptionAffix = "tailed terminal"
selectorAffix.q = "tailed"
selectorAffix."q/sansSerif" = "tailed"
selectorAffix."q/hookTopBase" = "tailed"
selectorAffix.qRTail = "straight"
selectorAffix.gha = "tailed"

[prime.q.variants-buildup.stages.terminal.diagonal-tailed]
rank = 2
descriptionAffix = "diagonally tailed terminal"
selectorAffix.q = "diagonalTailed"
selectorAffix."q/sansSerif" = "diagonalTailed"
selectorAffix."q/hookTopBase" = "diagonalTailed"
selectorAffix.qRTail = "straight"
selectorAffix.gha = "diagonalTailed"

[prime.q.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.q = "serifless"
selectorAffix."q/sansSerif" = "serifless"
selectorAffix."q/hookTopBase" = "serifless"
selectorAffix.qRTail = "serifless"
selectorAffix.gha = "serifless"

[prime.q.variants-buildup.stages.serifs.bottom-serifed]
rank = 2
enableIf = [{ body = "eared", terminal = "straight" }]
descriptionAffix = "serif at bottom"
selectorAffix.q = "bottomSerifed"
selectorAffix."q/sansSerif" = "serifless"
selectorAffix."q/hookTopBase" = "bottomSerifed"
selectorAffix.qRTail = "serifless"
selectorAffix.gha = "bottomSerifed"

[prime.q.variants-buildup.stages.serifs.motion-serifed]
rank = 3
enableIf = [{ body = "eared" }]
descriptionAffix = "motion serifs"
selectorAffix.q = "motionSerifed"
selectorAffix."q/sansSerif" = "serifless"
selectorAffix."q/hookTopBase" = "serifless"
selectorAffix.qRTail = "motionSerifed"
selectorAffix.gha = "serifless"

[prime.q.variants-buildup.stages.serifs.serifed__eared]
rank = 4
enableIf = [{ body = "eared", terminal = "straight" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix.q = "serifed"
selectorAffix."q/sansSerif" = "serifless"
selectorAffix."q/hookTopBase" = "bottomSerifed"
selectorAffix.qRTail = "motionSerifed"
selectorAffix.gha = "bottomSerifed"

[prime.q.variants-buildup.stages.serifs.serifed__eareless]
rank = 4
enableIf = [{ body = "NOT eared", terminal = "straight" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix.q = "bottomSerifed"
selectorAffix."q/sansSerif" = "serifless"
selectorAffix."q/hookTopBase" = "bottomSerifed"
selectorAffix.qRTail = "serifless"
selectorAffix.gha = "bottomSerifed"



[prime.r]
sampler = "r"
tagKind = "letter"

[prime.r.variants-buildup]
entry = "body"
descriptionLeader = "`r`"

[prime.r.variants-buildup.stages.body."*"]
next = "serifs"

[prime.r.variants-buildup.stages.body.normal]
rank = 1
keyAffix = ""
descriptionAffix = "normal body shape"
selectorAffix.r = ""
selectorAffix."r/sansSerif" = ""
selectorAffix.rRTail = ""
selectorAffix."rTurnRTail" = ""
selectorAffix."rFlap" = "earlessRounded"

[prime.r.variants-buildup.stages.body.earless-corner]
rank = 2
groupRank = 2
descriptionAffix = "earless (corner top-left) body shape"
selectorAffix.r = "earlessCorner"
selectorAffix."r/sansSerif" = "earlessCorner"
selectorAffix.rRTail = "earlessCorner"
selectorAffix."rTurnRTail" = ""
selectorAffix."rFlap" = "earlessRounded"

[prime.r.variants-buildup.stages.body.earless-rounded]
rank = 3
groupRank = 2
descriptionAffix = "earless (rounded top-left) body shape"
selectorAffix.r = "earlessRounded"
selectorAffix."r/sansSerif" = "earlessRounded"
selectorAffix.rRTail = "earlessRounded"
selectorAffix."rTurnRTail" = ""
selectorAffix."rFlap" = "earlessRounded"

[prime.r.variants-buildup.stages.body.hookless]
rank = 4
descriptionAffix = "hookless body shape"
selectorAffix.r = "hookless"
selectorAffix."r/sansSerif" = "hookless"
selectorAffix.rRTail = "hookless"
selectorAffix."rTurnRTail" = "hookless"
selectorAffix."rFlap" = "hooklessFlap"

[prime.r.variants-buildup.stages.body.corner-hooked]
rank = 5
descriptionAffix = "corner-hooked body shape"
selectorAffix.r = "cornerHooked"
selectorAffix."r/sansSerif" = "hookless"
selectorAffix.rRTail = "cornerHooked"
selectorAffix."rTurnRTail" = "cornerHooked"
selectorAffix."rFlap" = "hooklessFlap"

[prime.r.variants-buildup.stages.body.compact]
rank = 6
descriptionAffix = "compact body shape (identical to 'hookless' for monospace fonts)"
selectorAffix.r = "compact"
selectorAffix."r/sansSerif" = "compact"
selectorAffix.rRTail = "compact"
selectorAffix."rTurnRTail" = "compact"
selectorAffix."rFlap" = "compactFlap"

[prime.r.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.r = "serifless"
selectorAffix."r/sansSerif" = "serifless"
selectorAffix.rRTail = "serifless"
selectorAffix."rTurnRTail" = "serifless"
selectorAffix."rFlap" = "serifless"

[prime.r.variants-buildup.stages.serifs.top-serifed]
rank = 2
disableIf = [ { body = "earless-corner" }, { body = "earless-rounded" } ]
descriptionAffix = "serif at top"
selectorAffix.r = "topSerifed"
selectorAffix."r/sansSerif" = "serifless"
selectorAffix.rRTail = "topSerifed"
selectorAffix."rTurnRTail" = "serifless"
selectorAffix."rFlap" = "serifless"

[prime.r.variants-buildup.stages.serifs.base-serifed]
rank = 3
disableIf = [ { body = "earless-corner" }, { body = "earless-rounded" } ]
descriptionAffix = "serif at bottom"
selectorAffix.r = "baseSerifed"
selectorAffix."r/sansSerif" = "serifless"
selectorAffix.rRTail = "serifless"
selectorAffix."rTurnRTail" = "serifed"
selectorAffix."rFlap" = "serifed"

[prime.r.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.r = "serifed"
selectorAffix."r/sansSerif" = "serifless"
selectorAffix.rRTail = {if =  [{body="earless-corner"}, {body="earless-rounded"}], then = "serifless", else = "topSerifed"}
selectorAffix."rTurnRTail" = "serifed"
selectorAffix."rFlap" = "serifed"



[prime.s]
sampler = "s"
tagKind = "letter"

[prime.s.variants.serifless]
rank = 1
description = "Serifless `s`"
selector.s = "serifless"
selector."s/sansSerif" = "serifless"
selector."s/phoneticRight" = "serifless"
selector."tsLig/lowerHalf" = "serifless"
selector."s/ascBase" = "unilateralSerifed"
selector.sSwash = "serifless"
selector.sRTail = "bottomSerifed"

[prime.s.variants.unilateral-serifed]
rank = 2
description = "`s` with single serif at top"
selector.s = "unilateralSerifed"
selector."s/sansSerif" = "serifless"
selector."s/phoneticRight" = "unilateralSerifed"
selector."tsLig/lowerHalf" = "serifless"
selector."s/ascBase" = "unilateralSerifed"
selector.sSwash = "unilateralSerifed"
selector.sRTail = "bilateralSerifed"

[prime.s.variants.bilateral-serifed]
rank = 3
description = "`s` with serifs at both end"
selector.s = "bilateralSerifed"
selector."s/sansSerif" = "serifless"
selector."s/phoneticRight" = "unilateralSerifed"
selector."tsLig/lowerHalf" = "bilateralSerifed"
selector."s/ascBase" = "bilateralSerifed"
selector.sSwash = "unilateralSerifed"
selector.sRTail = "bilateralSerifed"

[prime.s.variants.unilateral-inward-serifed]
rank = 4
description = "`s` with single inward serif at top"
selector.s = "unilateralInwardSerifed"
selector."s/sansSerif" = "serifless"
selector."s/phoneticRight" = "unilateralInwardSerifed"
selector."tsLig/lowerHalf" = "serifless"
selector."s/ascBase" = "unilateralInwardSerifed"
selector.sSwash = "unilateralInwardSerifed"
selector.sRTail = "hybridSerifed1"

[prime.s.variants.bilateral-inward-serifed]
rank = 5
description = "`s` with inward serifs at both end"
selector.s = "bilateralInwardSerifed"
selector."s/sansSerif" = "serifless"
selector."s/phoneticRight" = "unilateralInwardSerifed"
selector."tsLig/lowerHalf" = "bilateralInwardSerifed"
selector."s/ascBase" = "bilateralInwardSerifed"
selector.sSwash = "unilateralInwardSerifed"
selector.sRTail = "bilateralInwardSerifed"



[prime.t]
sampler = "t"
tagKind = "letter"

[prime.t.variants-buildup]
entry = "body"
descriptionLeader = "`t`"

[prime.t.variants-buildup.stages.body."*"]
next = "symmetry"

[prime.t.variants-buildup.stages.body.bent-hook]
rank = 1
descriptionAffix = "bent hook"
selectorAffix.t = "bentHook"
selectorAffix."t/phoneticLeft1" = "flatHook"
selectorAffix."t/phoneticLeft2" = "flatHook"
selectorAffix."t/compLigRight" = "bentHook"
selectorAffix.tHookTop = "bentHook"
selectorAffix.tHookTopRTail = "hookless"
selectorAffix.tRTail = "hookless"
selectorAffix.tCurlyTail = {if = [{symmetry = "asymmetric"}], then = "flatHook", else = "bentHook"}
selectorAffix."tsLig/upperHalf" = "bentHook"

[prime.t.variants-buildup.stages.body.flat-hook]
rank = 2
descriptionAffix = "flat hook"
selectorAffix.t = "flatHook"
selectorAffix."t/phoneticLeft1" = "flatHook"
selectorAffix."t/phoneticLeft2" = "flatHook"
selectorAffix."t/compLigRight" = "flatHook"
selectorAffix.tHookTop = "flatHook"
selectorAffix.tHookTopRTail = "hookless"
selectorAffix.tRTail = "hookless"
selectorAffix.tCurlyTail = "flatHook"
selectorAffix."tsLig/upperHalf" = "bentHook"

[prime.t.variants-buildup.stages.body.diagonal-tailed]
rank = 3
descriptionAffix = "diagonal tail"
selectorAffix.t = "diagonalTailed"
selectorAffix."t/phoneticLeft1" = "flatHook"
selectorAffix."t/phoneticLeft2" = "flatHook"
selectorAffix."t/compLigRight" = "diagonalTailed"
selectorAffix.tHookTop = "diagonalTailed"
selectorAffix.tHookTopRTail = "hookless"
selectorAffix.tRTail = "hookless"
selectorAffix.tCurlyTail = {if = [{symmetry = "asymmetric"}], then = "flatHook", else = "bentHook"}
selectorAffix."tsLig/upperHalf" = "bentHook"

[prime.t.variants-buildup.stages.body.hookless]
rank = 4
descriptionAffix = "hook or tail"
descriptionJoiner = "without"
selectorAffix.t = "hookless"
selectorAffix."t/phoneticLeft1" = "hookless"
selectorAffix."t/phoneticLeft2" = "hookless"
selectorAffix."t/compLigRight" = "hookless"
selectorAffix.tHookTop = "hookless"
selectorAffix.tHookTopRTail = "hookless"
selectorAffix.tRTail = "hookless"
selectorAffix.tCurlyTail = {if = [{symmetry = "asymmetric"}], then = "flatHook", else = "hookless"}
selectorAffix."tsLig/upperHalf" = "bentHook"

[prime.t.variants-buildup.stages.symmetry."*"]
next = "height"

[prime.t.variants-buildup.stages.symmetry.symmetric]
rank = 1
keyAffix = ""
descriptionAffix = "crossbar at both sides of the vertical stem"
selectorAffix.t = ""
selectorAffix."t/phoneticLeft1" = ""
selectorAffix."t/phoneticLeft2" = ""
selectorAffix."t/compLigRight" = ""
selectorAffix.tHookTop = ""
selectorAffix.tHookTopRTail = ""
selectorAffix.tRTail = ""
selectorAffix.tCurlyTail = ""
selectorAffix."tsLig/upperHalf" = ""

[prime.t.variants-buildup.stages.symmetry.asymmetric]
rank = 2
keyAffix = "asymmetric"
descriptionAffix = "crossbar at only right side of the vertical stem"
selectorAffix.t = "asymmetric"
selectorAffix."t/phoneticLeft1" = "asymmetric"
selectorAffix."t/phoneticLeft2" = "asymmetric"
selectorAffix."t/compLigRight" = "asymmetric"
selectorAffix.tHookTop = "asymmetric"
selectorAffix.tHookTopRTail = "asymmetric"
selectorAffix.tRTail = "asymmetric"
selectorAffix.tCurlyTail = "asymmetric"
selectorAffix."tsLig/upperHalf" = ""

[prime.t.variants-buildup.stages.height."*"]

[prime.t.variants-buildup.stages.height.full]
rank = 1
keyAffix = ""
selectorAffix.t = ""
selectorAffix."t/phoneticLeft1" = ""
selectorAffix."t/phoneticLeft2" = ""
selectorAffix."t/compLigRight" = ""
selectorAffix.tHookTop = ""
selectorAffix.tHookTopRTail = ""
selectorAffix.tRTail = ""
selectorAffix.tCurlyTail = ""
selectorAffix."tsLig/upperHalf" = ""

[prime.t.variants-buildup.stages.height.short-neck]
rank = 2
descriptionAffix = "a shorter neck"
selectorAffix.t = "shortNeck"
selectorAffix."t/phoneticLeft1" = "shortNeck"
selectorAffix."t/phoneticLeft2" = "shortNeck"
selectorAffix."t/compLigRight" = ""
selectorAffix.tHookTop = ""
selectorAffix.tHookTopRTail = ""
selectorAffix.tRTail = "shortNeck"
selectorAffix.tCurlyTail = "shortNeck"
selectorAffix."tsLig/upperHalf" = "shortNeck"

[prime.t.variants-buildup.stages.height.short-neck2]
rank = 3
descriptionAffix = "a more shorter neck"
selectorAffix.t = "shortNeck2"
selectorAffix."t/phoneticLeft1" = "shortNeck2"
selectorAffix."t/phoneticLeft2" = "shortNeck2"
selectorAffix."t/compLigRight" = ""
selectorAffix.tHookTop = ""
selectorAffix.tHookTopRTail = ""
selectorAffix.tRTail = "shortNeck2"
selectorAffix.tCurlyTail = "shortNeck2"
selectorAffix."tsLig/upperHalf" = "shortNeck2"



[prime.u]
sampler = "u"
tagKind = "letter"

[prime.u.variants-buildup]
entry = "body"
descriptionLeader = "`u`"

[prime.u.variants-buildup.stages.body."*"]
next = "serifs"

[prime.u.variants-buildup.stages.body.toothed]
rank = 1
descriptionAffix = "toothed shape"
selectorAffix.u = "toothed"
selectorAffix."u/sansSerif" = "toothed"
selectorAffix."u/uRTailBase" = "urtBase"
selectorAffix.uShortLeg = "toothed"
selectorAffix.uHookLeft = "toothed"
selectorAffix.turnh = "toothed"
selectorAffix.turnhHookLeft = "toothed"
selectorAffix.turnhHookLeftRTail = "toothed"
selectorAffix."turnm/full" = "toothed"
selectorAffix."turnm/reduced" = "toothed"
selectorAffix."turnmLeg/full" = "toothed"
selectorAffix."turnmLeg/reduced" = "toothed"
selectorAffix."cyrl/i.italic" = "toothed"
selectorAffix."cyrl/i.italic/descBase" = "toothed"
selectorAffix."cyrl/sha.italic/full" = "toothed"
selectorAffix."cyrl/sha.italic/reduced" = "toothed"
selectorAffix."cyrl/shcha.italic/full" = "toothed"
selectorAffix."cyrl/shcha.italic/reduced" = "toothed"
selectorAffix."cyrl/dzhe.italic" = "toothed"
selectorAffix."cyrl/tse.italic" = "toothed"
selectorAffix."cyrl/tseRev.italic" = "toothed"
selectorAffix."ue/u" = "toothed"
selectorAffix."au/u" = "toothed"

[prime.u.variants-buildup.stages.body.tailed]
rank = 2
descriptionAffix = "tailed shape"
selectorAffix.u = "tailed"
selectorAffix."u/sansSerif" = "tailed"
selectorAffix."u/uRTailBase" = "urtBase"
selectorAffix.uShortLeg = "tailed"
selectorAffix.uHookLeft = "tailed"
selectorAffix.turnh = "toothed"
selectorAffix.turnhHookLeft = "toothed"
selectorAffix.turnhHookLeftRTail = "toothed"
selectorAffix."turnm/full" = "tailed"
selectorAffix."turnm/reduced" = "tailed"
selectorAffix."turnmLeg/full" = "toothed"
selectorAffix."turnmLeg/reduced" = "toothed"
selectorAffix."cyrl/i.italic" = "tailed"
selectorAffix."cyrl/i.italic/descBase" = "toothed"
selectorAffix."cyrl/sha.italic/full" = "tailed"
selectorAffix."cyrl/sha.italic/reduced" = "tailed"
selectorAffix."cyrl/shcha.italic/full" = "toothed"
selectorAffix."cyrl/shcha.italic/reduced" = "toothed"
selectorAffix."cyrl/dzhe.italic" = "tailed"
selectorAffix."cyrl/tse.italic" = "toothed"
selectorAffix."cyrl/tseRev.italic" = "tailed"
selectorAffix."ue/u" = "toothed"
selectorAffix."au/u" = "tailed"

[prime.u.variants-buildup.stages.body.toothless-corner]
rank = 3
descriptionAffix = "toothless (corner bottom-right) shape"
selectorAffix.u = "toothlessCorner"
selectorAffix."u/sansSerif" = "toothlessCorner"
selectorAffix."u/uRTailBase" = "urtBase"
selectorAffix.uShortLeg = "toothlessCorner"
selectorAffix.uHookLeft = "toothlessCorner"
selectorAffix.turnh = "toothlessCorner"
selectorAffix.turnhHookLeft = "toothlessCorner"
selectorAffix.turnhHookLeftRTail = "toothlessCorner"
selectorAffix."turnm/full" = "toothlessCorner"
selectorAffix."turnm/reduced" = "toothlessCorner"
selectorAffix."turnmLeg/full" = "toothlessCorner"
selectorAffix."turnmLeg/reduced" = "toothlessCorner"
selectorAffix."cyrl/i.italic" = "toothed"
selectorAffix."cyrl/i.italic/descBase" = "toothed"
selectorAffix."cyrl/sha.italic/full" = "toothed"
selectorAffix."cyrl/sha.italic/reduced" = "toothed"
selectorAffix."cyrl/shcha.italic/full" = "toothed"
selectorAffix."cyrl/shcha.italic/reduced" = "toothed"
selectorAffix."cyrl/dzhe.italic" = "toothed"
selectorAffix."cyrl/tse.italic" = "toothed"
selectorAffix."cyrl/tseRev.italic" = "toothed"
selectorAffix."ue/u" = "toothed"
selectorAffix."au/u" = "toothlessCorner"

[prime.u.variants-buildup.stages.body.toothless-rounded]
rank = 4
descriptionAffix = "toothless (rounded) shape"
selectorAffix.u = "toothlessRounded"
selectorAffix."u/sansSerif" = "toothlessRounded"
selectorAffix."u/uRTailBase" = "urtBase"
selectorAffix.uShortLeg = "toothlessRounded"
selectorAffix.uHookLeft = "toothlessRounded"
selectorAffix.turnh = "toothed"
selectorAffix.turnhHookLeft = "toothed"
selectorAffix.turnhHookLeftRTail = "toothed"
selectorAffix."turnm/full" = "toothlessRounded"
selectorAffix."turnm/reduced" = "toothlessRounded"
selectorAffix."turnmLeg/full" = "toothed"
selectorAffix."turnmLeg/reduced" = "toothed"
selectorAffix."cyrl/i.italic" = "toothed"
selectorAffix."cyrl/i.italic/descBase" = "toothed"
selectorAffix."cyrl/sha.italic/full" = "toothed"
selectorAffix."cyrl/sha.italic/reduced" = "toothed"
selectorAffix."cyrl/shcha.italic/full" = "toothed"
selectorAffix."cyrl/shcha.italic/reduced" = "toothed"
selectorAffix."cyrl/dzhe.italic" = "toothed"
selectorAffix."cyrl/tse.italic" = "toothed"
selectorAffix."cyrl/tseRev.italic" = "toothed"
selectorAffix."ue/u" = "toothed"
selectorAffix."au/u" = "toothlessRounded"

[prime.u.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.u = "serifless"
selectorAffix."u/sansSerif" = "serifless"
selectorAffix."u/uRTailBase" = "serifless"
selectorAffix.uShortLeg = "serifless"
selectorAffix.uHookLeft = "serifless"
selectorAffix.turnh = "serifless"
selectorAffix.turnhHookLeft = "serifless"
selectorAffix.turnhHookLeftRTail = "serifless"
selectorAffix."turnm/full" = "serifless"
selectorAffix."turnm/reduced" = "serifless"
selectorAffix."turnmLeg/full" = "serifless"
selectorAffix."turnmLeg/reduced" = "serifless"
selectorAffix."cyrl/i.italic" = "serifless"
selectorAffix."cyrl/i.italic/descBase" = "serifless"
selectorAffix."cyrl/sha.italic/full" = "serifless"
selectorAffix."cyrl/sha.italic/reduced" = "serifless"
selectorAffix."cyrl/shcha.italic/full" = "serifless"
selectorAffix."cyrl/shcha.italic/reduced" = "serifless"
selectorAffix."cyrl/dzhe.italic" = "serifless"
selectorAffix."cyrl/tse.italic" = "serifless"
selectorAffix."cyrl/tseRev.italic" = "serifless"
selectorAffix."ue/u" = "serifless"
selectorAffix."au/u" = "serifless"

[prime.u.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 2
disableIf = [{ body = "NOT toothed" }]
descriptionAffix = "serif at bottom-right"
selectorAffix.u = "bottomRightSerifed"
selectorAffix."u/sansSerif" = "serifless"
selectorAffix."u/uRTailBase" = "serifless"
selectorAffix.uShortLeg = "bottomRightSerifed"
selectorAffix.uHookLeft = "bottomRightSerifed"
selectorAffix.turnh = "serifless"
selectorAffix.turnhHookLeft = "serifless"
selectorAffix.turnhHookLeftRTail = "serifless"
selectorAffix."turnm/full" = "bottomRightSerifed"
selectorAffix."turnm/reduced" = "bottomRightSerifed"
selectorAffix."turnmLeg/full" = "serifless"
selectorAffix."turnmLeg/reduced" = "serifless"
selectorAffix."cyrl/i.italic" = "bottomRightSerifed"
selectorAffix."cyrl/i.italic/descBase" = "serifless"
selectorAffix."cyrl/sha.italic/full" = "bottomRightSerifed"
selectorAffix."cyrl/sha.italic/reduced" = "bottomRightSerifed"
selectorAffix."cyrl/shcha.italic/full" = "serifless"
selectorAffix."cyrl/shcha.italic/reduced" = "serifless"
selectorAffix."cyrl/dzhe.italic" = "bottomRightSerifed"
selectorAffix."cyrl/tse.italic" = "serifless"
selectorAffix."cyrl/tseRev.italic" = "bottomRightSerifed"
selectorAffix."ue/u" = "serifless"
selectorAffix."au/u" = "bottomRightSerifed"

[prime.u.variants-buildup.stages.serifs.motion-serifed]
rank = 3
descriptionAffix = "motion serifs at top-left and bottom-right"
selectorAffix.u = "motionSerifed"
selectorAffix."u/sansSerif" = "serifless"
selectorAffix."u/uRTailBase" = "motionSerifed"
selectorAffix.uShortLeg = "motionSerifed"
selectorAffix.uHookLeft = {if = [{body = "toothed"}], then = "bottomRightSerifed", else = "serifless"}
selectorAffix.turnh = "motionSerifed"
selectorAffix.turnhHookLeft = "bottomRightSerifed"
selectorAffix.turnhHookLeftRTail = "serifless"
selectorAffix."turnm/full" = "motionSerifed"
selectorAffix."turnm/reduced" = "motionSerifed"
selectorAffix."turnmLeg/full" = "motionSerifed"
selectorAffix."turnmLeg/reduced" = "motionSerifed"
selectorAffix."cyrl/i.italic" = "motionSerifed"
selectorAffix."cyrl/i.italic/descBase" = "motionSerifed"
selectorAffix."cyrl/sha.italic/full" = "motionSerifed"
selectorAffix."cyrl/sha.italic/reduced" = "motionSerifed"
selectorAffix."cyrl/shcha.italic/full" = "motionSerifed"
selectorAffix."cyrl/shcha.italic/reduced" = "motionSerifed"
selectorAffix."cyrl/dzhe.italic" = "motionSerifed"
selectorAffix."cyrl/tse.italic" = "motionSerifed"
selectorAffix."cyrl/tseRev.italic" = "motionSerifed"
selectorAffix."ue/u" = "serifed"
selectorAffix."au/u" = {if = [{body = "toothed"}], then = "bottomRightSerifed", else = "serifless"}

[prime.u.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.u = "serifed"
selectorAffix."u/sansSerif" = "serifless"
selectorAffix."u/uRTailBase" = "serifed"
selectorAffix.uShortLeg = "motionSerifed"
selectorAffix.uHookLeft = "serifed"
selectorAffix.turnh = "serifed"
selectorAffix.turnhHookLeft = "serifed"
selectorAffix.turnhHookLeftRTail = "serifed"
selectorAffix."turnm/full" = "serifed"
selectorAffix."turnm/reduced" = "motionSerifed"
selectorAffix."turnmLeg/full" = "serifed"
selectorAffix."turnmLeg/reduced" = "motionSerifed"
selectorAffix."cyrl/i.italic" = "serifed"
selectorAffix."cyrl/i.italic/descBase" = "serifed"
selectorAffix."cyrl/sha.italic/full" = "serifed"
selectorAffix."cyrl/sha.italic/reduced" = "motionSerifed"
selectorAffix."cyrl/shcha.italic/full" = "serifed"
selectorAffix."cyrl/shcha.italic/reduced" = "motionSerifed"
selectorAffix."cyrl/dzhe.italic" = "serifed"
selectorAffix."cyrl/tse.italic" = "serifed"
selectorAffix."cyrl/tseRev.italic" = "serifed"
selectorAffix."ue/u" = "serifed"
selectorAffix."au/u" = "serifed"



[prime.v]
sampler = "v"
tagKind = "letter"

[prime.v.variants-buildup]
entry = "body"
descriptionLeader = "`v`"

[prime.v.variants-buildup.stages.body."*"]
next = "serifs"

[prime.v.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight body"
selectorAffix.v = "straight"
selectorAffix."v/sansSerif" = "straight"
selectorAffix."v/nonCursive" = "straight"
selectorAffix.vHookTop = ""
selectorAffix.vLoop = "straight"

[prime.v.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly body"
selectorAffix.v = "curly"
selectorAffix."v/sansSerif" = "curly"
selectorAffix."v/nonCursive" = "curly"
selectorAffix.vHookTop = ""
selectorAffix.vLoop = "curly"

[prime.v.variants-buildup.stages.body.cursive]
rank = 3
descriptionAffix = "cursive body"
selectorAffix.v = "cursive"
selectorAffix."v/sansSerif" = "cursive"
selectorAffix."v/nonCursive" = "straight"
selectorAffix.vHookTop = ""
selectorAffix.vLoop = "straight"

[prime.v.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.v = "serifless"
selectorAffix."v/sansSerif" = "serifless"
selectorAffix."v/nonCursive" = "serifless"
selectorAffix.vHookTop = "serifless"
selectorAffix.vLoop = "serifless"

[prime.v.variants-buildup.stages.serifs.motion-serifed]
rank = 2
disableIf = [{ body = "cursive" }]
descriptionAffix = "motion serifs"
selectorAffix.v = "motionSerifed"
selectorAffix."v/sansSerif" = "serifless"
selectorAffix."v/nonCursive" = "motionSerifed"
selectorAffix.vHookTop = "serifed"
selectorAffix.vLoop = "serifless"

[prime.v.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.v = "serifed"
selectorAffix."v/sansSerif" = "serifless"
selectorAffix."v/nonCursive" = {if = [{body = "cursive"}], then = "motionSerifed", else = "serifed"}
selectorAffix.vHookTop = "serifed"
selectorAffix.vLoop = {if = [{body = "cursive"}], then = "serifless", else = "serifed"}



[prime.w]
sampler = "w"
tagKind = "letter"

[prime.w.variants-buildup]
entry = "body"
descriptionLeader = "`w`"

[prime.w.variants-buildup.stages.body."*"]
next = "serifs"

[prime.w.variants-buildup.stages.body.straight]
rank = 1
groupRank = 1
descriptionAffix = "standard, straight body"
selectorAffix.w = "straight"
selectorAffix."w/sansSerif" = "straight"
selectorAffix.wHookTop = "straight"

[prime.w.variants-buildup.stages.body.straight-almost-flat-top]
rank = 2
groupRank = 1
descriptionAffix = "straight body shape that the middle is almost aligned to the top"
selectorAffix.w = "straightAlmostFlatTop"
selectorAffix."w/sansSerif" = "straightFlatTop"
selectorAffix.wHookTop = "straightAlmostFlatTop"

[prime.w.variants-buildup.stages.body.straight-flat-top]
rank = 3
groupRank = 1
descriptionAffix = "straight body shape that the middle is forced to be aligned to the top"
selectorAffix.w = "straightFlatTop"
selectorAffix."w/sansSerif" = "straightFlatTop"
selectorAffix.wHookTop = "straightFlatTop"

[prime.w.variants-buildup.stages.body.straight-double-v]
rank = 4
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
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
groupRank = 3
descriptionAffix = "straight body shape with vertical sides"
selectorAffix.w = "straightVerticalSides"
selectorAffix."w/sansSerif" = "straightVerticalSides"
selectorAffix.wHookTop = "straightVerticalSides"

[prime.w.variants-buildup.stages.body.straight-vertical-sides-flat-top]
rank = 7
groupRank = 3
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "straight body shape with vertical sides, and a middle stem aligned to the top"
selectorAffix.w = "straightVerticalSidesFlatTop"
selectorAffix."w/sansSerif" = "straightVerticalSidesFlatTop"
selectorAffix.wHookTop = "straightVerticalSidesFlatTop"

[prime.w.variants-buildup.stages.body.rounded-vertical-sides]
rank = 8
groupRank = 3
descriptionAffix = "rounded body shape with vertical sides"
selectorAffix.w = "roundedVerticalSides"
selectorAffix."w/sansSerif" = "roundedVerticalSides"
selectorAffix.wHookTop = "roundedVerticalSides"

[prime.w.variants-buildup.stages.body.rounded-vertical-sides-flat-top]
rank = 9
groupRank = 3
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "rounded body shape with vertical sides, and a middle stem aligned to the top"
selectorAffix.w = "roundedVerticalSidesFlatTop"
selectorAffix."w/sansSerif" = "roundedVerticalSidesFlatTop"
selectorAffix.wHookTop = "roundedVerticalSidesFlatTop"

[prime.w.variants-buildup.stages.body.curly]
rank = 10
groupRank = 3
descriptionAffix = "curly body"
selectorAffix.w = "curly"
selectorAffix."w/sansSerif" = "curly"
selectorAffix.wHookTop = "curly"

[prime.w.variants-buildup.stages.body.curly-almost-flat-top]
rank = 11
groupRank = 3
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "curly body with a middle stem almost aligned to the top"
selectorAffix.w = "curlyAlmostFlatTop"
selectorAffix."w/sansSerif" = "curlyFlatTop"
selectorAffix.wHookTop = "curlyAlmostFlatTop"

[prime.w.variants-buildup.stages.body.curly-flat-top]
rank = 12
groupRank = 3
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "curly body with a middle stem aligned to the top"
selectorAffix.w = "curlyFlatTop"
selectorAffix."w/sansSerif" = "curlyFlatTop"
selectorAffix.wHookTop = "curlyFlatTop"

[prime.w.variants-buildup.stages.body.cursive]
rank = 13
groupRank = 4
descriptionAffix = "cursive shape"
selectorAffix.w = "cursive"
selectorAffix."w/sansSerif" = "cursive"
selectorAffix.wHookTop = "cursive"

[prime.w.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.w = "serifless"
selectorAffix."w/sansSerif" = "serifless"
selectorAffix.wHookTop = "serifless"

[prime.w.variants-buildup.stages.serifs.motion-serifed]
rank = 2
disableIf = [{ body = "cursive" }]
descriptionAffix = "motion serifs"
selectorAffix.w = "motionSerifed"
selectorAffix."w/sansSerif" = "serifless"
selectorAffix.wHookTop = "motionSerifed"

[prime.w.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.w = "serifed"
selectorAffix."w/sansSerif" = "serifless"
selectorAffix.wHookTop = { if = [{ body = "straight-double-v" }, { body = "straight-asymmetric" }], then = "motionSerifed", else = "serifed" }



[prime.x]
sampler = "x"
tagKind = "letter"

[prime.x.variants-buildup]
entry = "body"
descriptionLeader = "`x`"

[prime.x.variants-buildup.stages.body."*"]
next = "serifs"

[prime.x.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix.x = "straight"
selectorAffix."x/sansSerif" = "straight"
selectorAffix."x/descBase" = "straight"
selectorAffix."cyrl/rha/right" = "straight"

[prime.x.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix.x = "curly"
selectorAffix."x/sansSerif" = "curly"
selectorAffix."x/descBase" = "curly"
selectorAffix."cyrl/rha/right" = "curly"

[prime.x.variants-buildup.stages.body.semi-chancery-straight]
rank = 3
descriptionAffix = "Semi-chancery shape with straight counter-leg"
selectorAffix.x = "semiChanceryStraight"
selectorAffix."x/sansSerif" = "semiChanceryStraight"
selectorAffix."x/descBase" = "semiChanceryStraight"
selectorAffix."cyrl/rha/right" = "semiChanceryStraight"

[prime.x.variants-buildup.stages.body.semi-chancery-curly]
rank = 4
descriptionAffix = "Semi-chancery shape with curly counter-leg"
selectorAffix.x = "semiChanceryCurly"
selectorAffix."x/sansSerif" = "semiChanceryCurly"
selectorAffix."x/descBase" = "semiChanceryCurly"
selectorAffix."cyrl/rha/right" = "semiChanceryCurly"

[prime.x.variants-buildup.stages.body.chancery]
rank = 5
next = "END"
descriptionAffix = "Chancery shape"
selectorAffix.x = "chancery"
selectorAffix."x/sansSerif" = "chancery"
selectorAffix."x/descBase" = "chancery"
selectorAffix."cyrl/rha/right" = "chancery"

[prime.x.variants-buildup.stages.body.cursive]
rank = 6
next = "END"
descriptionAffix = "cursive shape"
selectorAffix.x = "cursive"
selectorAffix."x/sansSerif" = "cursive"
selectorAffix."x/descBase" = "cursive"
selectorAffix."cyrl/rha/right" = "cursive"

[prime.x.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.x = "serifless"
selectorAffix."x/sansSerif" = "serifless"
selectorAffix."x/descBase" = "serifless"
selectorAffix."cyrl/rha/right" = "serifless"

[prime.x.variants-buildup.stages.serifs.unilateral-motion-serifed]
rank = 2
disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}]
descriptionAffix = "motion serifs at top-left"
selectorAffix.x = "unilateralMotionSerifed"
selectorAffix."x/sansSerif" = "serifless"
selectorAffix."x/descBase" = "unilateralMotionSerifed"
selectorAffix."cyrl/rha/right" = "serifless"

[prime.x.variants-buildup.stages.serifs.bilateral-motion-serifed]
rank = 3
disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}]
descriptionAffix = "motion serifs at top-left and bottom-right"
selectorAffix.x = "bilateralMotionSerifed"
selectorAffix."x/sansSerif" = "serifless"
selectorAffix."x/descBase" = "unilateralMotionSerifed"
selectorAffix."cyrl/rha/right" = "bilateralMotionSerifed"

[prime.x.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.x = "serifed"
selectorAffix."x/sansSerif" = "serifless"
selectorAffix."x/descBase" = "serifed"
selectorAffix."cyrl/rha/right" = "serifed"



[prime.y]
sampler = "y"
tagKind = "letter"

[prime.y.variants-buildup]
entry = "body"
descriptionLeader = "`y`"

[prime.y.variants-buildup.stages.body."*"]
next = "hook"

[prime.y.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix.y = "straight"
selectorAffix."y/sansSerif" = "straight"
selectorAffix."y/nonCursive" = "straight"
selectorAffix.yHookTop = "straight"
selectorAffix.yLoop = "straightLoop"

[prime.y.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix.y = "curly"
selectorAffix."y/sansSerif" = "curly"
selectorAffix."y/nonCursive" = "curly"
selectorAffix.yHookTop = "curly"
selectorAffix.yLoop = "curlyLoop"

[prime.y.variants-buildup.stages.body.cursive]
rank = 3
descriptionAffix = "cursive shape"
selectorAffix.y = "cursive"
selectorAffix."y/sansSerif" = "cursive"
selectorAffix."y/nonCursive" = "straight"
selectorAffix.yHookTop = "cursive"
selectorAffix.yLoop = "straightLoop"

[prime.y.variants-buildup.stages.hook."*"]
next = "serifs"

[prime.y.variants-buildup.stages.hook.standard]
rank = 1
keyAffix = ""
selectorAffix.y = ""
selectorAffix."y/sansSerif" = ""
selectorAffix."y/nonCursive" = ""
selectorAffix.yHookTop = ""
selectorAffix.yLoop = ""

[prime.y.variants-buildup.stages.hook.turn]
rank = 2
disableIf = [{ body = "cursive" }]
descriptionAffix = "a tail turns leftward"
selectorAffix.y = "turn"
selectorAffix."y/sansSerif" = "turn"
selectorAffix."y/nonCursive" = "turn"
selectorAffix.yHookTop = "turn"
selectorAffix.yLoop = ""

[prime.y.variants-buildup.stages.hook.flat-hook]
rank = 3
disableIf = [{ body = "NOT cursive" }]
descriptionAffix = "a flat terminal hook"
selectorAffix.y = "flatHook"
selectorAffix."y/sansSerif" = "flatHook"
selectorAffix."y/nonCursive" = ""
selectorAffix.yHookTop = "flatHook"
selectorAffix.yLoop = ""

[prime.y.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.y = "serifless"
selectorAffix."y/sansSerif" = "serifless"
selectorAffix."y/nonCursive" = "serifless"
selectorAffix.yHookTop = "serifless"
selectorAffix.yLoop = "serifless"

[prime.y.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix.y = "motionSerifed"
selectorAffix."y/sansSerif" = "serifless"
selectorAffix."y/nonCursive" = "motionSerifed"
selectorAffix.yHookTop = "motionSerifed"
selectorAffix.yLoop = "motionSerifed"

[prime.y.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.y = "serifed"
selectorAffix."y/sansSerif" = "serifless"
selectorAffix."y/nonCursive" = "serifed"
selectorAffix.yHookTop = { if = [{ body = "cursive" }], then = "motionSerifed", else = "serifed" }
selectorAffix.yLoop = "serifed"



[prime.z]
sampler = "z"
tagKind = "letter"

[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
descriptionAffix = "straight body shape"
selectorAffix.z = "straight"
selectorAffix."z/sansSerif" = "straight"
selectorAffix."z/reduced" = "straight"
selectorAffix."z/phoneticRight" = "straight"
selectorAffix.zDesc = "straight"
selectorAffix."zDesc/reduced" = "straight"
selectorAffix."zDesc/phoneticRight" = "straight"
selectorAffix.ezh = "straight"
selectorAffix."ezh/phoneticRight" = "straight"

[prime.z.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly body shape"
selectorAffix.z = "curly"
selectorAffix."z/sansSerif" = "curly"
selectorAffix."z/reduced" = "curly"
selectorAffix."z/phoneticRight" = "curly"
selectorAffix.zDesc = "curly"
selectorAffix."zDesc/reduced" = "curly"
selectorAffix."zDesc/phoneticRight" = "curly"
selectorAffix.ezh = "straight"
selectorAffix."ezh/phoneticRight" = "straight"

[prime.z.variants-buildup.stages.body.cursive]
rank = 3
next = "overlay"
descriptionAffix = "cursive body shape"
selectorAffix.z = "cursive"
selectorAffix."z/sansSerif" = "cursive"
selectorAffix."z/reduced" = "cursive"
selectorAffix."z/phoneticRight" = "cursive"
selectorAffix.zDesc = "cursive"
selectorAffix."zDesc/reduced" = "cursive"
selectorAffix."zDesc/phoneticRight" = "cursive"
selectorAffix.ezh = "cursive"
selectorAffix."ezh/phoneticRight" = "cursive"

[prime.z.variants-buildup.stages.serifs."*"]
next = "overlay"

[prime.z.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.z = "serifless"
selectorAffix."z/sansSerif" = "serifless"
selectorAffix."z/reduced" = "serifless"
selectorAffix."z/phoneticRight" = "serifless"
selectorAffix.zDesc = "serifless"
selectorAffix."zDesc/reduced" = "serifless"
selectorAffix."zDesc/phoneticRight" = "serifless"
selectorAffix.ezh = "serifless"
selectorAffix."ezh/phoneticRight" = "serifless"

[prime.z.variants-buildup.stages.serifs.top-serifed]
rank = 2
descriptionAffix = "serifs at top"
selectorAffix.z = "topSerifed"
selectorAffix."z/sansSerif" = "serifless"
selectorAffix."z/reduced" = "topSerifed"
selectorAffix."z/phoneticRight" = "serifless"
selectorAffix.zDesc = "topSerifed"
selectorAffix."zDesc/reduced" = "topSerifed"
selectorAffix."zDesc/phoneticRight" = "serifless"
selectorAffix.ezh = "topSerifed"
selectorAffix."ezh/phoneticRight" = "serifless"

[prime.z.variants-buildup.stages.serifs.bottom-serifed]
rank = 3
descriptionAffix = "serifs at bottom"
selectorAffix.z = "bottomSerifed"
selectorAffix."z/sansSerif" = "serifless"
selectorAffix."z/reduced" = "bottomSerifed"
selectorAffix."z/phoneticRight" = "bottomSerifed"
selectorAffix.zDesc = "serifless"
selectorAffix."zDesc/reduced" = "serifless"
selectorAffix."zDesc/phoneticRight" = "serifless"
selectorAffix.ezh = "serifless"
selectorAffix."ezh/phoneticRight" = "serifless"

[prime.z.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.z = "serifed"
selectorAffix."z/sansSerif" = "serifless"
selectorAffix."z/reduced" = "serifed"
selectorAffix."z/phoneticRight" = "bottomSerifed"
selectorAffix.zDesc = "topSerifed"
selectorAffix."zDesc/reduced" = "topSerifed"
selectorAffix."zDesc/phoneticRight" = "serifless"
selectorAffix.ezh = "topSerifed"
selectorAffix."ezh/phoneticRight" = "serifless"

[prime.z.variants-buildup.stages.overlay.no-overlay]
rank = 1
keyAffix = ""
selectorAffix.z = ""
selectorAffix."z/sansSerif" = ""
selectorAffix."z/reduced" = ""
selectorAffix."z/phoneticRight" = ""
selectorAffix.zDesc = ""
selectorAffix."zDesc/reduced" = ""
selectorAffix."zDesc/phoneticRight" = ""
selectorAffix.ezh = ""
selectorAffix."ezh/phoneticRight" = ""

[prime.z.variants-buildup.stages.overlay.with-crossbar]
rank = 2
descriptionAffix = "a diagonal crossbar"
selectorAffix.z = "withCrossBar"
selectorAffix."z/sansSerif" = "withCrossBar"
selectorAffix."z/reduced" = ""
selectorAffix."z/phoneticRight" = "withCrossBar"
selectorAffix.zDesc = "withCrossBar"
selectorAffix."zDesc/reduced" = ""
selectorAffix."zDesc/phoneticRight" = "withCrossBar"
selectorAffix.ezh = ""
selectorAffix."ezh/phoneticRight" = ""

[prime.z.variants-buildup.stages.overlay.with-horizontal-crossbar]
rank = 3
descriptionAffix = "a horizontal crossbar"
selectorAffix.z = "withHorizontalCrossBar"
selectorAffix."z/sansSerif" = "withHorizontalCrossBar"
selectorAffix."z/reduced" = ""
selectorAffix."z/phoneticRight" = "withHorizontalCrossBar"
selectorAffix.zDesc = "withHorizontalCrossBar"
selectorAffix."zDesc/reduced" = ""
selectorAffix."zDesc/phoneticRight" = "withHorizontalCrossBar"
selectorAffix.ezh = ""
selectorAffix."ezh/phoneticRight" = ""



[prime.capital-eszet]
sampler = "ẞ"
samplerExplain = "Capital Eszet"
tagKind = "letter"

[prime.capital-eszet.variants-buildup]
entry = "body"
descriptionLeader = "Capital Eszet (`ẞ`)"

[prime.capital-eszet.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-eszet.variants-buildup.stages.body.rounded]
rank = 1
descriptionAffix = "rounded top"
selectorAffix.Eszet = "rounded"

[prime.capital-eszet.variants-buildup.stages.body.flat-top]
rank = 2
descriptionAffix = "flat top"
selectorAffix.Eszet = "flatTop"

[prime.capital-eszet.variants-buildup.stages.body.corner]
rank = 3
descriptionAffix = "top-left corner"
selectorAffix.Eszet = "corner"

[prime.capital-eszet.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.Eszet = "serifless"

[prime.capital-eszet.variants-buildup.stages.serifs.bottom-serifed]
rank = 2
enableIf = [{ body = "corner" }]
descriptionAffix = "bottom serif"
selectorAffix.Eszet = "bottomSerifed"

[prime.capital-eszet.variants-buildup.stages.serifs.motion-serifed]
rank = 3
enableIf = [{ body = "corner" }]
descriptionAffix = "motion serifs"
selectorAffix.Eszet = "motionSerifed"

[prime.capital-eszet.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.Eszet = "serifed"



[prime.long-s]
sampler = "ſ"
samplerExplain = "Long-S"
tagKind = "letter"

[prime.long-s.variants-buildup]
entry = "top"
descriptionLeader = "Long S (`ſ`)"

[prime.long-s.variants-buildup.stages.top."*"]
next = "bottom"

[prime.long-s.variants-buildup.stages.top.bent-hook]
rank = 1
groupRank = 10
descriptionAffix = "bending top hook"
selectorAffix."longs" = "bentHook"
selectorAffix."longs/compLigLeft" = "flatHookExt"
selectorAffix."longsBar" = "bentHook"

[prime.long-s.variants-buildup.stages.top.flat-hook]
rank = 2
groupRank = 20
descriptionAffix = "flat top hook"
selectorAffix."longs" = "flatHook"
selectorAffix."longs/compLigLeft" = "flatHookExt"
selectorAffix."longsBar" = "flatHook"

[prime.long-s.variants-buildup.stages.bottom."*"]
next = "serifs"

[prime.long-s.variants-buildup.stages.bottom.non-descending]
rank = 1
groupRank = 1
keyAffix = ""
selectorAffix."longs" = ""
selectorAffix."longs/compLigLeft" = ""
selectorAffix."longsBar" = ""

[prime.long-s.variants-buildup.stages.bottom.descending]
rank = 2
groupRank = 2
descriptionAffix = "terminal descends baseline"
selectorAffix."longs" = "descending"
selectorAffix."longs/compLigLeft" = "descending"
selectorAffix."longsBar" = "descending"

[prime.long-s.variants-buildup.stages.bottom.tailed]
rank = 3
groupRank = 3
descriptionAffix = "terminal has a tail"
selectorAffix."longs" = "tailed"
selectorAffix."longs/compLigLeft" = "tailed"
selectorAffix."longsBar" = "tailed"

[prime.long-s.variants-buildup.stages.bottom.diagonal-tailed]
rank = 4
groupRank = 4
descriptionAffix = "terminal has a diagonal tail"
selectorAffix."longs" = "diagonalTailed"
selectorAffix."longs/compLigLeft" = "diagonalTailed"
selectorAffix."longsBar" = "diagonalTailed"

[prime.long-s.variants-buildup.stages.serifs.serifless__non-descending]
rank = 1
enableIf = [{ bottom = "non-descending" }]
keyAffix = "serifless"
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix."longs" = "serifless"
selectorAffix."longs/compLigLeft" = "serifless"
selectorAffix."longsBar" = "serifless"

[prime.long-s.variants-buildup.stages.serifs.serifless__descending]
rank = 1
enableIf = [{ bottom = "NOT non-descending" }]
keyAffix = ""
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix."longs" = "serifless"
selectorAffix."longs/compLigLeft" = "serifless"
selectorAffix."longsBar" = "serifless"

[prime.long-s.variants-buildup.stages.serifs.middle-serifed]
rank = 2
descriptionAffix = "middle serif"
selectorAffix."longs" = "middleSerifed"
selectorAffix."longs/compLigLeft" = "middleSerifed"
selectorAffix."longsBar" = "serifless"

[prime.long-s.variants-buildup.stages.serifs.middle-serifed-xh]
rank = 3
descriptionAffix = "middle serif at x-height"
selectorAffix."longs" = "middleSerifedXH"
selectorAffix."longs/compLigLeft" = "middleSerifedXH"
selectorAffix."longsBar" = "serifless"

[prime.long-s.variants-buildup.stages.serifs.bottom-serifed]
rank = 4
enableIf = [{ bottom = "non-descending" }]
descriptionAffix = "bottom serif"
selectorAffix."longs" = "bottomSerifed"
selectorAffix."longs/compLigLeft" = "bottomSerifed"
selectorAffix."longsBar" = "bottomSerifed"

[prime.long-s.variants-buildup.stages.serifs.double-serifed]
rank = 5
enableIf = [{ bottom = "non-descending" }]
descriptionAffix = "bottom and middle serifs"
selectorAffix."longs" = "doubleSerifed"
selectorAffix."longs/compLigLeft" = "doubleSerifed"
selectorAffix."longsBar" = "bottomSerifed"

[prime.long-s.variants-buildup.stages.serifs.double-serifed-xh]
rank = 6
enableIf = [{ bottom = "non-descending" }]
descriptionAffix = "bottom and middle serifs at x-height"
selectorAffix."longs" = "doubleSerifedXH"
selectorAffix."longs/compLigLeft" = "doubleSerifedXH"
selectorAffix."longsBar" = "bottomSerifed"



[prime.eszet]
sampler = "ß"
samplerExplain = "Eszet"
tagKind = "letter"

[prime.eszet.variants-buildup]
entry = "body"
descriptionLeader = "Eszet (`ß`)"

[prime.eszet.variants-buildup.stages.body."*"]
next = "terminal"

[prime.eszet.variants-buildup.stages.body.traditional]
rank = 1
descriptionAffix = "traditional, Fraktur-like shape"
selectorAffix.eszet = "traditional"

[prime.eszet.variants-buildup.stages.body.traditional-flat-hook]
rank = 2
descriptionAffix = "traditional Fraktur-like shape (containing a flat top hook)"
selectorAffix.eszet = "traditionalFlatHook"

[prime.eszet.variants-buildup.stages.body.sulzbacher]
rank = 3
descriptionAffix = "more modern, beta-like shape"
selectorAffix.eszet = "sulzbacher"

[prime.eszet.variants-buildup.stages.body.longs-s-lig]
rank = 4
descriptionAffix = "ligature of long-S (`ſ`) and `s`"
selectorAffix.eszet = "longSSLig"

[prime.eszet.variants-buildup.stages.terminal."*"]
next = "serifs"

[prime.eszet.variants-buildup.stages.terminal.non-descending]
rank = 1
keyAffix = ""
selectorAffix.eszet = ""

[prime.eszet.variants-buildup.stages.terminal.descending]
rank = 2
descriptionAffix = "terminal descends baseline"
selectorAffix.eszet = "descending"

[prime.eszet.variants-buildup.stages.terminal.tailed]
rank = 3
descriptionAffix = "terminal containing tail"
selectorAffix.eszet = "tailed"

[prime.eszet.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.eszet = "serifless"

[prime.eszet.variants-buildup.stages.serifs.middle-serifed]
rank = 2
descriptionAffix = "serif at middle"
selectorAffix.eszet = { if = [{ body = "traditional" }, { body = "traditional-flat-hook" }], then = "middleSerifedXH", else = "middleSerifed" }

[prime.eszet.variants-buildup.stages.serifs.middle-serifed-xh]
rank = 3
enableIf = [{body = "sulzbacher"}, {body = "longs-s-lig"}]
descriptionAffix = "serif at middle at x-height"
selectorAffix.eszet = "middleSerifedXH"

[prime.eszet.variants-buildup.stages.serifs.bottom-serifed]
enableIf = [{terminal = "non-descending"}]
rank = 4
descriptionAffix = "serif at bottom"
selectorAffix.eszet = "bottomSerifed"

[prime.eszet.variants-buildup.stages.serifs.dual-serifed]
enableIf = [{terminal = "non-descending"}]
rank = 5
descriptionAffix = "serif at middle and bottom"
selectorAffix.eszet = { if = [{ body = "traditional" }, { body = "traditional-flat-hook" }], then = "dualSerifedXH", else = "dualSerifed" }

[prime.eszet.variants-buildup.stages.serifs.dual-serifed-xh]
enableIf = [
	{terminal = "non-descending", body = "sulzbacher"},
	{terminal = "non-descending", body = "longs-s-lig"}
]
rank = 6
descriptionAffix = "serif at middle (x-height) and bottom"
selectorAffix.eszet = "dualSerifedXH"



[prime.lower-eth]
sampler = "ð"
samplerExplain = "Lowercase Eth (`ð`)"
tagKind = "letter"

[prime.lower-eth.variants.straight-bar]
rank = 1
description = "Lowercase Eth (`ð`) with a straight bar"
selector."eth" = "straight-bar"

[prime.lower-eth.variants.curly-bar]
rank = 2
description = "Lowercase Eth (`ð`) with a curly bar"
selector."eth" = "curly-bar"



[prime.capital-thorn]
sampler = "Þ"
samplerExplain = "Capital Thorn"
tagKind = "letter"

[prime.capital-thorn.variants-buildup]
entry = "symmetry"
descriptionLeader = "Capital Thorn (`Þ`)"

[prime.capital-thorn.variants-buildup.stages.symmetry."*"]
next = "serifs"

[prime.capital-thorn.variants-buildup.stages.symmetry.symmetric]
rank = 1
keyAffix = ""
selectorAffix.Thorn = ""
selectorAffix.ThornStroke = ""
selectorAffix.ThornStrokeBottom = "asymmetric"
selectorAffix.Wynn = ""

[prime.capital-thorn.variants-buildup.stages.symmetry.asymmetric]
rank = 2
descriptionAffix = "asymmetric shape"
selectorAffix.Thorn = "asymmetric"
selectorAffix.ThornStroke = ""
selectorAffix.ThornStrokeBottom = "asymmetric"
selectorAffix.Wynn = ""

[prime.capital-thorn.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix.Thorn = "serifless"
selectorAffix.ThornStroke = "serifless"
selectorAffix.ThornStrokeBottom = "serifless"
selectorAffix.Wynn = "serifless"

[prime.capital-thorn.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix.Thorn = "motionSerifed"
selectorAffix.ThornStroke = "motionSerifed"
selectorAffix.ThornStrokeBottom = "motionSerifed"
selectorAffix.Wynn = "motionSerifed"

[prime.capital-thorn.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix.Thorn = "serifed"
selectorAffix.ThornStroke = "serifed"
selectorAffix.ThornStrokeBottom = "serifed"
selectorAffix.Wynn = "serifed"



[prime.lower-thorn]
sampler = "þ"
samplerExplain = "Lowercase Thorn (`þ`)"
tagKind = "letter"

[prime.lower-thorn.variants.serifless]
rank = 1
description = "Lowercase Thorn (`þ`) without serifs"
selector.thorn = "earedSerifless"
selector.wynn = "serifless"

[prime.lower-thorn.variants.motion-serifed]
rank = 2
description = "Lowercase Thorn (`þ`) with motion serifs"
selector.thorn = "earedMotionSerifed"
selector.wynn = "motionSerifed"

[prime.lower-thorn.variants.serifed]
rank = 3
description = "Lowercase Thorn (`þ`) with serifs"
selector.thorn = "earedSerifed"
selector.wynn = "serifed"



[prime.lower-alpha]
sampler = "α"
samplerExplain = "Greek lower Alpha"
tagKind = "letter"

[prime.lower-alpha.variants-buildup]
entry = "body"
descriptionLeader = "Greek lower Alpha (`α`)"

[prime.lower-alpha.variants-buildup.stages.body.crossing]
rank = 1
next = "END"
descriptionAffix = "cross-like shape at right"
selectorAffix."grek/alpha" = "crossing"
selectorAffix."grek/alpha/sansSerif" = "crossing"

[prime.lower-alpha.variants-buildup.stages.body.barred]
rank = 2
next = "ear"
descriptionAffix = "straight right bar"
selectorAffix."grek/alpha" = "singleStorey"
selectorAffix."grek/alpha/sansSerif" = "singleStorey"

[prime.lower-alpha.variants-buildup.stages.ear."*"]
next = "bar"

[prime.lower-alpha.variants-buildup.stages.ear.eared]
rank = 1
keyAffix = ""
selectorAffix."grek/alpha" = ""
selectorAffix."grek/alpha/sansSerif" = ""

[prime.lower-alpha.variants-buildup.stages.ear.top-cut]
rank = 2
descriptionAffix = "a diagonal cut at top"
selectorAffix."grek/alpha" = "topCut"
selectorAffix."grek/alpha/sansSerif" = "topCut"

[prime.lower-alpha.variants-buildup.stages.ear.earless-corner]
rank = 3
descriptionAffix = "earless (cornered top-right)"
selectorAffix."grek/alpha" = "earlessCorner"
selectorAffix."grek/alpha/sansSerif" = "earlessCorner"

[prime.lower-alpha.variants-buildup.stages.ear.earless-rounded]
rank = 4
descriptionAffix = "earless (rounded top-right)"
selectorAffix."grek/alpha" = "earlessRounded"
selectorAffix."grek/alpha/sansSerif" = "earlessRounded"

[prime.lower-alpha.variants-buildup.stages.bar.serifless]
rank = 1
keyAffix = ""
selectorAffix."grek/alpha" = "serifless"
selectorAffix."grek/alpha/sansSerif" = "serifless"

[prime.lower-alpha.variants-buildup.stages.bar.serifed]
rank = 2
descriptionAffix = "serif at terminal"
selectorAffix."grek/alpha" = "serifed"
selectorAffix."grek/alpha/sansSerif" = "serifless"

[prime.lower-alpha.variants-buildup.stages.bar.double-serifed]
rank = 3
disableIf = [{ ear = "NOT eared" }]
descriptionAffix = "serifs at top and bottom"
selectorAffix."grek/alpha" = "doubleSerifed"
selectorAffix."grek/alpha/sansSerif" = "serifless"

[prime.lower-alpha.variants-buildup.stages.bar.tailed]
rank = 4
descriptionAffix = "curly tail"
selectorAffix."grek/alpha" = "tailed"
selectorAffix."grek/alpha/sansSerif" = "tailed"

[prime.lower-alpha.variants-buildup.stages.bar.tailed-serifed]
rank = 5
disableIf = [{ ear = "NOT eared" }]
descriptionAffix = "curly tail; with serifs at top and bottom"
selectorAffix."grek/alpha" = "tailedSerifed"
selectorAffix."grek/alpha/sansSerif" = "tailed"



[prime.lower-beta]
sampler = "β"
samplerExplain = "Greek lower Beta"
tagKind = "letter"

[prime.lower-beta.variants.standard]
rank = 1
description = "Greek lower Beta (`β`) with standard shape"
selector."grek/beta" = "standard"

[prime.lower-beta.variants.cursive]
rank = 2
description = "Greek lower Beta (`β`) with cursive shape"
selector."grek/beta" = "cursive"



[prime.capital-gamma]
sampler = "Γ"
samplerExplain = "Greek capital Gamma"
tagKind = "letter"

[prime.capital-gamma.variants.serifless]
rank = 1
description = "Greek capital Gamma (`Γ`) without serifs"
selector."grek/Gamma" = "serifless"
selector."grek/Gamma/sansSerif" = "serifless"
selector."cyrl/Ghe" = "serifless"
selector."cyrl/ghe.upright" = "serifless"
selector."cyrl/Ge" = "serifless"
selector."cyrl/ge" = "serifless"
selector."cyrl/EnGhe/GhePart" = "serifless"
selector."cyrl/enghe/ghePart" = "serifless"

[prime.capital-gamma.variants.top-right-serifed]
rank = 2
description = "Greek capital Gamma (`Γ`) with serifs at top right"
selector."grek/Gamma" = "topRightSerifed"
selector."grek/Gamma/sansSerif" = "serifless"
selector."cyrl/Ghe" = "topRightSerifed"
selector."cyrl/ghe.upright" = "topRightSerifed"
selector."cyrl/Ge" = "serifless"
selector."cyrl/ge" = "serifless"
selector."cyrl/EnGhe/GhePart" = "topRightSerifed"
selector."cyrl/enghe/ghePart" = "topRightSerifed"

[prime.capital-gamma.variants.bottom-serifed]
rank = 3
description = "Greek capital Gamma (`Γ`) with bottom serif"
selector."grek/Gamma" = "bottomSerifed"
selector."grek/Gamma/sansSerif" = "serifless"
selector."cyrl/Ghe" = "bottomSerifed"
selector."cyrl/ghe.upright" = "serifless"
selector."cyrl/Ge" = "bottomSerifed"
selector."cyrl/ge" = "serifless"
selector."cyrl/EnGhe/GhePart" = "serifless"
selector."cyrl/enghe/ghePart" = "serifless"

[prime.capital-gamma.variants.serifed]
rank = 4
description = "Greek capital Gamma (`Γ`) with motion serifs at top and bottom"
selector."grek/Gamma" = "serifed"
selector."grek/Gamma/sansSerif" = "serifless"
selector."cyrl/Ghe" = "serifed"
selector."cyrl/ghe.upright" = "serifed"
selector."cyrl/Ge" = "serifed"
selector."cyrl/ge" = "serifed"
selector."cyrl/EnGhe/GhePart" = "topRightSerifed"
selector."cyrl/enghe/ghePart" = "topRightSerifed"



[prime.lower-gamma]
sampler = "γ"
samplerExplain = "Greek lower Gamma"
tagKind = "letter"

[prime.lower-gamma.variants.straight]
rank = 1
description = "Greek lower Gamma (`γ`) with straight shape"
selector."grek/gamma" = "straight"

[prime.lower-gamma.variants.curly]
rank = 2
description = "Greek lower Gamma (`γ`) with curly shape"
selector."grek/gamma" = "curly"

[prime.lower-gamma.variants.casual]
rank = 3
description = "Greek lower Gamma (`γ`) with casual shape"
selector."grek/gamma" = "casual"



[prime.capital-delta]
sampler = "Δ"
samplerExplain = "Greek capital Delta (`Δ`)"
tagKind = "letter"

[prime.capital-delta.variants.straight]
rank = 1
description = "Standard, straight Greek capital Delta (`Δ`)"
selector."grek/Delta" = "straight"

[prime.capital-delta.variants.curly]
rank = 2
description = "Slightly curly Greek capital Delta (`Δ`), like Iosevka 2.x"
selector."grek/Delta" = "curly"



[prime.lower-delta]
sampler = "δ"
samplerExplain = "Greek lower Delta"
tagKind = "letter"

[prime.lower-delta.variants.rounded]
rank = 1
description = "Greek lower Delta (`δ`) with rounded top"
selector."grek/delta" = "rounded"

[prime.lower-delta.variants.flat-top]
rank = 2
description = "Greek lower Delta (`δ`) with flat top"
selector."grek/delta" = "flatTop"



[prime.lower-eta]
sampler = "η"
samplerExplain = "Greek lower Eta"
nonBreakingTagForNewVariantSelector = "VXAA" # REMOVE IN NEXT MAJOR VERSION CHANGE
tagKind = "letter"

[prime.lower-eta.variants-buildup]
entry = "body"
descriptionLeader = "Greek lower Eta (`η`)"

[prime.lower-eta.variants-buildup.stages.body."*"]
next = "serifs"

[prime.lower-eta.variants-buildup.stages.body.eared]
rank = 1
keyAffix = ""
selectorAffix."grek/eta" = "straight"
selectorAffix."grek/eta/sansSerif" = "straight"

[prime.lower-eta.variants-buildup.stages.body.earless-corner]
rank = 2
descriptionAffix = "earless (corner top-left) body shape"
selectorAffix."grek/eta" = "earlessCornerStraight"
selectorAffix."grek/eta/sansSerif" = "earlessCornerStraight"

[prime.lower-eta.variants-buildup.stages.body.earless-rounded]
rank = 3
descriptionAffix = "earless (rounded top-left) body shape"
selectorAffix."grek/eta" = "earlessRoundedStraight"
selectorAffix."grek/eta/sansSerif" = "earlessRoundedStraight"

[prime.lower-eta.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix."grek/eta" = "serifless"
selectorAffix."grek/eta/sansSerif" = "serifless"

[prime.lower-eta.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "serif at top left"
enableIf = [ { body = "eared" } ]
selectorAffix."grek/eta" = "topLeftSerifed"
selectorAffix."grek/eta/sansSerif" = "serifless"

[prime.lower-eta.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix."grek/eta" = "serifed"
selectorAffix."grek/eta/sansSerif" = "serifless"



[prime.lower-theta]
sampler = "θ"
samplerExplain = "Greek lower Theta"
tagKind = "letter"

[prime.lower-theta.variants.capsule]
rank = 1
description = "Greek lower Theta (`θ`) with a capsule (O-like) body shape"
selector."grek/theta" = "capsule"
selector."grek/theta/nonCursive" = "capsule"

[prime.lower-theta.variants.oval]
rank = 2
description = "Greek lower Theta (`θ`) with a standard (oval) body shape"
selector."grek/theta" = "oval"
selector."grek/theta/nonCursive" = "oval"

[prime.lower-theta.variants.diamond]
rank = 3
description = "Greek lower Theta (`θ`) with a diamond body shape"
selector."grek/theta" = "diamond"
selector."grek/theta/nonCursive" = "diamond"

[prime.lower-theta.variants.cursive]
rank = 4
description = "Greek lower Theta (`θ`) with a cursive body shape"
selector."grek/theta" = "cursive"
selector."grek/theta/nonCursive" = "oval"



[prime.lower-iota]
sampler = "ι"
samplerExplain = "Greek lower Iota"
tagKind = "letter"

[prime.lower-iota.variants.tailless]
rank = 1
description = "Greek lower Iota (`ι`) like a straight line"
selector."grek/iota" = "serifless"
selector."grek/iota/sansSerif" = "serifless"
selector."latn/iota" = "flatTailed"

[prime.lower-iota.variants.tailless-serifed]
rank = 2
description = "Greek lower Iota (`ι`) like a straight line with top serif"
selector."grek/iota" = "hooky"
selector."grek/iota/sansSerif" = "serifless"
selector."latn/iota" = "serifedFlatTailed"

[prime.lower-iota.variants.hooky-bottom]
rank = 3
description = "Greek lower Iota (`ι`) with a sharp-turning horizontal tail"
selector."grek/iota" = "hookyBottom"
selector."grek/iota/sansSerif" = "serifless"
selector."latn/iota" = "flatTailed"

[prime.lower-iota.variants.zshaped]
rank = 4
description = "Z-shaped Greek lower Iota (`ι`)"
selector."grek/iota" = "zshaped"
selector."grek/iota/sansSerif" = "serifless"
selector."latn/iota" = "serifedFlatTailed"

[prime.lower-iota.variants.tailed]
rank = 5
description = "Greek lower Iota (`ι`) with curly tail"
selector."grek/iota" = "tailed"
selector."grek/iota/sansSerif" = "tailed"
selector."latn/iota" = "tailed"

[prime.lower-iota.variants.tailed-serifed]
rank = 6
description = "Greek lower Iota (`ι`) with top serif and curly tail"
selector."grek/iota" = "tailedSerifed"
selector."grek/iota/sansSerif" = "tailed"
selector."latn/iota" = "tailedSerifed"

[prime.lower-iota.variants.flat-tailed]
rank = 7
description = "Greek lower Iota (`ι`) with a curly-then-flat tail"
selector."grek/iota" = "flatTailed"
selector."grek/iota/sansSerif" = "flatTailed"
selector."latn/iota" = "flatTailed"

[prime.lower-iota.variants.serifed-flat-tailed]
rank = 8
description = "Greek lower Iota (`ι`) with top serif and a curly-then-flat tail"
selector."grek/iota" = "serifedFlatTailed"
selector."grek/iota/sansSerif" = "flatTailed"
selector."latn/iota" = "serifedFlatTailed"

[prime.lower-iota.variants.diagonal-tailed]
rank = 9
description = "Greek lower Iota (`ι`) with a diagonal tail"
selector."grek/iota" = "diagonalTailed"
selector."grek/iota/sansSerif" = "diagonalTailed"
selector."latn/iota" = "diagonalTailed"

[prime.lower-iota.variants.serifed-diagonal-tailed]
rank = 10
description = "Greek lower Iota (`ι`) with top serif and a diagonal tail"
selector."grek/iota" = "serifedDiagonalTailed"
selector."grek/iota/sansSerif" = "diagonalTailed"
selector."latn/iota" = "serifedDiagonalTailed"

[prime.lower-iota.variants.semi-tailed]
rank = 11
description = "Greek lower Iota (`ι`) with a slightly curly tail"
selector."grek/iota" = "semiTailed"
selector."grek/iota/sansSerif" = "semiTailed"
selector."latn/iota" = "semiTailed"

[prime.lower-iota.variants.serifed-semi-tailed]
rank = 12
description = "Greek lower Iota (`ι`) with top serif and a slightly curly tail"
selector."grek/iota" = "serifedSemiTailed"
selector."grek/iota/sansSerif" = "semiTailed"
selector."latn/iota" = "serifedSemiTailed"



[prime.lower-kappa]
sampler = "κ"
samplerExplain = "Greek lower Kappa"
nonBreakingTagForNewVariantSelector = "VXAB" # REMOVE IN NEXT MAJOR VERSION CHANGE
tagKind = "letter"

[prime.lower-kappa.variants-buildup]
entry = "body"
descriptionLeader = "Greek lower Kappa (`κ`)"

[prime.lower-kappa.variants-buildup.stages.body."*"]
next = "serifs"

[prime.lower-kappa.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "standard shape"
selectorAffix."grek/kappa" = "straight"
selectorAffix."grek/kappa/sansSerif" = "straight"

[prime.lower-kappa.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix."grek/kappa" = "curly"
selectorAffix."grek/kappa/sansSerif" = "curly"

[prime.lower-kappa.variants-buildup.stages.body.symmetric-touching]
rank = 3
descriptionAffix = "symmetric legs touching the vertical bar"
selectorAffix."grek/kappa" = "symmetricTouching"
selectorAffix."grek/kappa/sansSerif" = "symmetricTouching"

[prime.lower-kappa.variants-buildup.stages.body.symmetric-connected]
rank = 4
descriptionAffix = "symmetric legs connected to the vertical bar"
selectorAffix."grek/kappa" = "symmetricConnected"
selectorAffix."grek/kappa/sansSerif" = "symmetricConnected"

[prime.lower-kappa.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."grek/kappa" = "serifless"
selectorAffix."grek/kappa/sansSerif" = "serifless"

[prime.lower-kappa.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serifs at top left"
selectorAffix."grek/kappa" = "topLeftSerifed"
selectorAffix."grek/kappa/sansSerif" = "serifless"

[prime.lower-kappa.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 3
descriptionAffix = "serifs at bottom right"
selectorAffix."grek/kappa" = "bottomRightSerifed"
selectorAffix."grek/kappa/sansSerif" = "serifless"

[prime.lower-kappa.variants-buildup.stages.serifs.top-left-and-bottom-right-serifed]
rank = 4
descriptionAffix = "serifs at top left and bottom right"
selectorAffix."grek/kappa" = "topLeftAndBottomRightSerifed"
selectorAffix."grek/kappa/sansSerif" = "serifless"

[prime.lower-kappa.variants-buildup.stages.serifs.top-right-serifed]
rank = 5
descriptionAffix = "serifs at top right"
selectorAffix."grek/kappa" = "topRightSerifed"
selectorAffix."grek/kappa/sansSerif" = "serifless"

[prime.lower-kappa.variants-buildup.stages.serifs.tri-serifed]
rank = 6
descriptionAffix = "serifs at top left and both legs"
selectorAffix."grek/kappa" = "triSerifed"
selectorAffix."grek/kappa/sansSerif" = "serifless"

[prime.lower-kappa.variants-buildup.stages.serifs.serifed]
rank = 7
descriptionAffix = "serifs"
selectorAffix."grek/kappa" = "serifedKappa"
selectorAffix."grek/kappa/sansSerif" = "serifless"

[prime.lower-kappa.variants-buildup.stages.serifs.full-serifed]
rank = 8
descriptionAffix = "full serifs at legs"
selectorAffix."grek/kappa" = "fullSerifed"
selectorAffix."grek/kappa/sansSerif" = "serifless"



[prime.capital-lambda]
sampler = "Λ"
samplerExplain = "Greek capital Lambda (`Λ`)"
tagKind = "letter"

[prime.capital-lambda.variants-buildup]
entry = "body"
descriptionLeader = "Greek capital Lambda (`Λ`)"

[prime.capital-lambda.variants-buildup.stages.body."*"]
next = "serifs"

[prime.capital-lambda.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix."grek/Lambda" = "straight"
selectorAffix."grek/Lambda/sansSerif" = "straight"
selectorAffix."cyrl/Yus" = "straight"

[prime.capital-lambda.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix."grek/Lambda" = "curly"
selectorAffix."grek/Lambda/sansSerif" = "curly"
selectorAffix."cyrl/Yus" = "curly"

[prime.capital-lambda.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."grek/Lambda" = "serifless"
selectorAffix."grek/Lambda/sansSerif" = "serifless"
selectorAffix."cyrl/Yus" = ""

[prime.capital-lambda.variants-buildup.stages.serifs.top-serifed]
rank = 2
descriptionAffix = "serifs at top"
selectorAffix."grek/Lambda" = "topSerifed"
selectorAffix."grek/Lambda/sansSerif" = "serifless"
selectorAffix."cyrl/Yus" = ""

[prime.capital-lambda.variants-buildup.stages.serifs.base-serifed]
rank = 3
descriptionAffix = "serifs at base"
selectorAffix."grek/Lambda" = "baseSerifed"
selectorAffix."grek/Lambda/sansSerif" = "serifless"
selectorAffix."cyrl/Yus" = ""

[prime.capital-lambda.variants-buildup.stages.serifs.tri-serifed]
rank = 4
descriptionAffix = "serifs at both top and base"
selectorAffix."grek/Lambda" = "triSerifed"
selectorAffix."grek/Lambda/sansSerif" = "serifless"
selectorAffix."cyrl/Yus" = ""



[prime.lower-lambda]
sampler = "λ"
samplerExplain = "Greek lower Lambda"
tagKind = "letter"

[prime.lower-lambda.variants.straight]
rank = 1
description = "More-straight Greek lower Lambda (`λ`)"
selector."grek/lambda" = "straightSerifless"
selector."latn/lambda" = "straight"

[prime.lower-lambda.variants.straight-turn]
rank = 2
description = "Greek lower Lambda (`λ`) with straight upper and a tail turns leftward"
selector."grek/lambda" = "straightTurnSerifless"
selector."latn/lambda" = "straightTurn"

[prime.lower-lambda.variants.tailed-turn]
rank = 3
description = "More curly Greek lower Lambda (`λ`), with a tail turns leftward at top and a tail turns right at bottom-right"
selector."grek/lambda" = "tailedTurnSerifless"
selector."latn/lambda" = "tailedTurn"

[prime.lower-lambda.variants.curly]
rank = 4
description = "More curly Greek lower Lambda (`λ`), like Iosevka 2.x"
selector."grek/lambda" = "curlySerifless"
selector."latn/lambda" = "curly"

[prime.lower-lambda.variants.curly-turn]
rank = 5
description = "More curly Greek lower Lambda (`λ`), like Iosevka 2.x, with a tail turns leftward"
selector."grek/lambda" = "curlyTurnSerifless"
selector."latn/lambda" = "curlyTurn"

[prime.lower-lambda.variants.curly-tailed-turn]
rank = 6
description = "More curly Greek lower Lambda (`λ`), with a tail turns leftward at top, a tail turns right at bottom-right, and curly bottom-left leg"
selector."grek/lambda" = "curlyTailedTurnSerifless"
selector."latn/lambda" = "curlyTailedTurn"



[prime.lower-mu]
sampler = "μ"
samplerExplain = "Greek lower Mu"
tagKind = "letter"

[prime.lower-mu.variants-buildup]
entry = "body"
descriptionLeader = "Greek lower Mu (`μ`)"

[prime.lower-mu.variants-buildup.stages.body."*"]
next = "serifs"

[prime.lower-mu.variants-buildup.stages.body.toothed]
rank = 1
descriptionAffix = "toothed shape"
selectorAffix."grek/mu" = "toothed"
selectorAffix."grek/mu/sansSerif" = "toothed"

[prime.lower-mu.variants-buildup.stages.body.tailed]
rank = 2
descriptionAffix = "tailed shape"
selectorAffix."grek/mu" = "tailed"
selectorAffix."grek/mu/sansSerif" = "tailed"

[prime.lower-mu.variants-buildup.stages.body.toothless-corner]
rank = 3
descriptionAffix = "toothless (corner bottom-right) shape"
selectorAffix."grek/mu" = "toothlessCorner"
selectorAffix."grek/mu/sansSerif" = "toothlessCorner"

[prime.lower-mu.variants-buildup.stages.body.toothless-rounded]
rank = 4
descriptionAffix = "toothless (rounded) shape"
selectorAffix."grek/mu" = "toothlessRounded"
selectorAffix."grek/mu/sansSerif" = "toothlessRounded"

[prime.lower-mu.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."grek/mu" = "serifless"
selectorAffix."grek/mu/sansSerif" = "serifless"

[prime.lower-mu.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 2
disableIf = [{ body = "NOT toothed" }]
descriptionAffix = "serif at bottom-right"
selectorAffix."grek/mu" = "bottomRightSerifed"
selectorAffix."grek/mu/sansSerif" = "serifless"

[prime.lower-mu.variants-buildup.stages.serifs.motion-serifed]
rank = 3
descriptionAffix = "motion serifs at top-left and bottom-right"
selectorAffix."grek/mu" = "motionSerifed"
selectorAffix."grek/mu/sansSerif" = "serifless"

[prime.lower-mu.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix."grek/mu" = "serifed"
selectorAffix."grek/mu/sansSerif" = "serifless"



[prime.lower-nu]
sampler = "ν"
samplerExplain = "Greek lower Nu"
tagKind = "letter"

[prime.lower-nu.variants.straight]
rank = 1
description = "Greek lower Nu (`ν`) with straight shape"
selector."grek/nu" = "straight"

[prime.lower-nu.variants.curly]
rank = 2
description = "Greek lower Nu (`ν`) with curly shape"
selector."grek/nu" = "curly"

[prime.lower-nu.variants.casual]
rank = 3
description = "Greek lower Nu (`ν`) with casual shape"
selector."grek/nu" = "casual"



[prime.lower-xi]
sampler = "ξ"
samplerExplain = "Greek lower Xi"
tagKind = "letter"

[prime.lower-xi.variants.rounded]
rank = 1
description = "Greek lower Xi (`ξ`) with rounded top"
selector."grek/xi" = "rounded"

[prime.lower-xi.variants.flat-top]
rank = 2
description = "Greek lower Xi (`ξ`) with flat top"
selector."grek/xi" = "flatTop"



[prime.lower-pi]
sampler = "π"
samplerExplain = "Greek lower Pi"
tagKind = "letter"

[prime.lower-pi.variants.tailless]
rank = 1
description = "Greek lower Pi (`π`) with a tailless shape"
selector."grek/pi" = "tailless"

[prime.lower-pi.variants.tailed]
rank = 2
description = "Greek lower Pi (`π`) with a tailed shape"
selector."grek/pi" = "tailed"

[prime.lower-pi.variants.small-capital]
rank = 3
description = "Greek lower Pi (`π`) with a small-capital shape"
selector."grek/pi" = "smallCap"



[prime.lower-tau]
sampler = "τ"
samplerExplain = "Greek lower Tau"
tagKind = "letter"

[prime.lower-tau.variants.tailless]
rank = 1
description = "Greek lower Tau (`τ`) with a tailless shape"
selector."grek/tau" = "tau/tailless"
selector."grek/tau/tailed" = "tau/flatTailed"

[prime.lower-tau.variants.short-tailed]
rank = 2
description = "Greek lower Tau (`τ`) with a very short tail"
selector."grek/tau" = "tau/shortTailed"
selector."grek/tau/tailed" = "tau/flatTailed"

[prime.lower-tau.variants.tailed]
rank = 3
description = "Greek lower Tau (`τ`) with curly tail"
selector."grek/tau" = "tau/tailed"
selector."grek/tau/tailed" = "tau/tailed"

[prime.lower-tau.variants.flat-tailed]
rank = 4
description = "Greek lower Tau (`τ`) with a flat tail"
selector."grek/tau" = "tau/flatTailed"
selector."grek/tau/tailed" = "tau/flatTailed"

[prime.lower-tau.variants.diagonal-tailed]
rank = 5
description = "Greek lower Tau (`τ`) with a diagonal tail"
selector."grek/tau" = "tau/diagonalTailed"
selector."grek/tau/tailed" = "tau/diagonalTailed"

[prime.lower-tau.variants.semi-tailed]
rank = 6
description = "Greek lower Tau (`τ`) with a slightly curly tail"
selector."grek/tau" = "tau/semiTailed"
selector."grek/tau/tailed" = "tau/semiTailed"



[prime.lower-upsilon]
sampler = "υ"
samplerExplain = "Greek lower Upsilon"
tagKind = "letter"

[prime.lower-upsilon.variants-buildup]
entry = "body"
descriptionLeader = "Greek lower Upsilon (`υ`)"

[prime.lower-upsilon.variants-buildup.stages.body."*"]
next = "serifs"

[prime.lower-upsilon.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix."grek/upsilon" = "straight"
selectorAffix."grek/upsilon/sansSerif" = "straight"

[prime.lower-upsilon.variants-buildup.stages.body.casual]
rank = 2
descriptionAffix = "casual shape"
selectorAffix."grek/upsilon" = "casual"
selectorAffix."grek/upsilon/sansSerif" = "casual"

[prime.lower-upsilon.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."grek/upsilon" = "serifless"
selectorAffix."grek/upsilon/sansSerif" = "serifless"

[prime.lower-upsilon.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix."grek/upsilon" = "serifed"
selectorAffix."grek/upsilon/sansSerif" = "serifless"



[prime.lower-phi]
sampler = "φ"
samplerExplain = "Greek lower Phi"
tagKind = "letter"

[prime.lower-phi.variants.straight]
rank = 1
description = "Greek lower Phi (`φ`) with straight shape"
selector."grek/phi" = "straight"

[prime.lower-phi.variants.cursive]
rank = 2
description = "Greek lower Phi (`φ`) with cursive shape"
selector."grek/phi" = "cursive"

[prime.lower-phi.variants.neo-hellenic]
rank = 3
description = "Greek lower Phi (`φ`) with neo-hellenic shape"
selector."grek/phi" = "neohellenic"



[prime.lower-chi]
sampler = "χ"
samplerExplain = "Greek lower Chi"
tagKind = "letter"

[prime.lower-chi.variants-buildup]
entry = "body"
descriptionLeader = "Greek lower Chi (`χ`)"

[prime.lower-chi.variants-buildup.stages.body."*"]
next = "serifs"

[prime.lower-chi.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix."grek/chi" = "straight"
selectorAffix."grek/chi/sansSerif" = "straight"

[prime.lower-chi.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix."grek/chi" = "curly"
selectorAffix."grek/chi/sansSerif" = "curly"

[prime.lower-chi.variants-buildup.stages.body.semi-chancery-straight]
rank = 3
descriptionAffix = "Semi-chancery shape with straight counter-leg"
selectorAffix."grek/chi" = "semiChanceryStraight"
selectorAffix."grek/chi/sansSerif" = "semiChanceryStraight"

[prime.lower-chi.variants-buildup.stages.body.semi-chancery-curly]
rank = 4
descriptionAffix = "Semi-chancery shape with curly counter-leg"
selectorAffix."grek/chi" = "semiChanceryCurly"
selectorAffix."grek/chi/sansSerif" = "semiChanceryCurly"

[prime.lower-chi.variants-buildup.stages.body.chancery]
rank = 5
next = "END"
descriptionAffix = "Chancery shape"
selectorAffix."grek/chi" = "chancery"
selectorAffix."grek/chi/sansSerif" = "chancery"

[prime.lower-chi.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."grek/chi" = "serifless"
selectorAffix."grek/chi/sansSerif" = "serifless"

[prime.lower-chi.variants-buildup.stages.serifs.unilateral-motion-serifed]
rank = 2
disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}]
descriptionAffix = "motion serifs at top-left"
selectorAffix."grek/chi" = "unilateralMotionSerifed"
selectorAffix."grek/chi/sansSerif" = "serifless"

[prime.lower-chi.variants-buildup.stages.serifs.bilateral-motion-serifed]
rank = 3
disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}]
descriptionAffix = "motion serifs at top-left and bottom-right"
selectorAffix."grek/chi" = "bilateralMotionSerifed"
selectorAffix."grek/chi/sansSerif" = "serifless"

[prime.lower-chi.variants-buildup.stages.serifs.serifed__normal]
rank = 4
disableIf = [{body = "semi-chancery-straight"}, {body = "semi-chancery-curly"}]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix."grek/chi" = "grekLowerChiSerifed"
selectorAffix."grek/chi/sansSerif" = "serifless"

[prime.lower-chi.variants-buildup.stages.serifs.serifed__semi-chancery]
rank = 4
disableIf = [{body = "straight"}, {body = "curly"}]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix."grek/chi" = "serifed"
selectorAffix."grek/chi/sansSerif" = "serifless"



[prime.lower-psi]
sampler = "ψ"
samplerExplain = "Greek lower Psi"
tagKind = "letter"

[prime.lower-psi.variants-buildup]
entry = "body"
descriptionLeader = "Greek lower Psi (`ψ`)"

[prime.lower-psi.variants-buildup.stages.body."*"]
next = "serifs"

[prime.lower-psi.variants-buildup.stages.body.normal]
rank = 1
keyAffix = ""
selectorAffix."grek/psi" = ""
selectorAffix."grek/psi/sansSerif" = ""
selectorAffix."cyrl/psi" = "flatTop"

[prime.lower-psi.variants-buildup.stages.body.flat-top]
rank = 2
descriptionAffix = "flat top"
selectorAffix."grek/psi" = "flatTop"
selectorAffix."grek/psi/sansSerif" = "flatTop"
selectorAffix."cyrl/psi" = "flatTop"

[prime.lower-psi.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."grek/psi" = "serifless"
selectorAffix."grek/psi/sansSerif" = "serifless"
selectorAffix."cyrl/psi" = "serifless"

[prime.lower-psi.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix."grek/psi" = "serifed"
selectorAffix."grek/psi/sansSerif" = "serifless"
selectorAffix."cyrl/psi" = "serifed"



[prime.partial-derivative]
sampler = "∂"
samplerExplain = "Partial derivative symbol"
tagKind = "letter"

[prime.partial-derivative.variants.straight-bar]
rank = 1
description = "Partial derivative symbol (`∂`) with a straight bar"
selector."partial" = "straight-bar"

[prime.partial-derivative.variants.curly-bar]
rank = 2
description = "Partial derivative symbol (`∂`) with a curly bar"
selector."partial" = "curly-bar"

[prime.partial-derivative.variants.closed-contour]
rank = 3
description = "Partial derivative symbol (`∂`) with a full hook"
selector."partial" = "closed-contour"



[prime.cyrl-a]
sampler = "а"
samplerExplain = "Cyrillic Lower A"
tagKind = "letter"

[prime.cyrl-a.variants-buildup]
entry = "storey"
descriptionLeader = "Cyrillic Lower A (`а`)"

[prime.cyrl-a.variants-buildup.stages.storey.double-storey]
rank = 1
next = "double-storey-hook"
descriptionAffix = "double-storey body"
selectorAffix."cyrl/a" = "doubleStorey"
selectorAffix."cyrl/ae/a" = "doubleStorey"

[prime.cyrl-a.variants-buildup.stages.storey.single-storey]
rank = 2
next = "ear"
descriptionAffix = "single-storey body"
selectorAffix."cyrl/a" = "singleStorey"
selectorAffix."cyrl/ae/a" = "doubleStorey"

[prime.cyrl-a.variants-buildup.stages.double-storey-hook."*"]
next = "bar"

[prime.cyrl-a.variants-buildup.stages.double-storey-hook.hook-serifless]
rank = 1
keyAffix = ""
descriptionAffix = "serifless hook"
selectorAffix."cyrl/a" = ""
selectorAffix."cyrl/ae/a" = ""

[prime.cyrl-a.variants-buildup.stages.double-storey-hook.hook-serifed]
rank = 2
keyAffix = "hook-inward-serifed"
descriptionAffix = "serifed hook"
selectorAffix."cyrl/a" = "hookInwardSerifed"
selectorAffix."cyrl/ae/a" = "hookInwardSerifed"

[prime.cyrl-a.variants-buildup.stages.ear."*"]
next = "bar"

[prime.cyrl-a.variants-buildup.stages.ear.eared]
rank = 1
keyAffix = ""
selectorAffix."cyrl/a" = ""
selectorAffix."cyrl/ae/a" = ""

[prime.cyrl-a.variants-buildup.stages.ear.top-cut]
rank = 2
descriptionAffix = "a diagonal cut at top"
selectorAffix."cyrl/a" = "topCut"
selectorAffix."cyrl/ae/a" = ""

[prime.cyrl-a.variants-buildup.stages.ear.earless-corner]
rank = 3
descriptionAffix = "earless (cornered top-right)"
selectorAffix."cyrl/a" = "earlessCorner"
selectorAffix."cyrl/ae/a" = ""

[prime.cyrl-a.variants-buildup.stages.ear.earless-rounded]
rank = 4
descriptionAffix = "earless (rounded top-right)"
selectorAffix."cyrl/a" = "earlessRounded"
selectorAffix."cyrl/ae/a" = ""

[prime.cyrl-a.variants-buildup.stages.bar.serifless]
rank = 1
descriptionAffix = "serif at terminal"
descriptionJoiner = "without"
selectorAffix."cyrl/a" = "serifless"
selectorAffix."cyrl/ae/a" = "serifless"

[prime.cyrl-a.variants-buildup.stages.bar.serifed]
rank = 2
descriptionAffix = "serif at terminal"
selectorAffix."cyrl/a" = "serifed"
selectorAffix."cyrl/ae/a" = "serifless"

[prime.cyrl-a.variants-buildup.stages.bar.double-serifed]
rank = 3
disableIf = [{ storey = "double-storey" }, { ear = "NOT eared" }]
descriptionAffix = "serifs at top and bottom"
selectorAffix."cyrl/a" = "doubleSerifed"
selectorAffix."cyrl/ae/a" = "serifless"

[prime.cyrl-a.variants-buildup.stages.bar.tailed]
rank = 4
descriptionAffix = "curly tail"
selectorAffix."cyrl/a" = "tailed"
selectorAffix."cyrl/ae/a" = "serifless"

[prime.cyrl-a.variants-buildup.stages.bar.tailed-serifed]
rank = 5
disableIf = [{ storey = "double-storey" }, { ear = "NOT eared" }]
descriptionAffix = "curly tail; with serifs at top and bottom"
selectorAffix."cyrl/a" = "tailedSerifed"
selectorAffix."cyrl/ae/a" = "serifless"

[prime.cyrl-a.variants-buildup.stages.bar.toothless-corner]
rank = 6
disableIf = [{ storey = "single-storey" }]
descriptionAffix = "toothless (cornered bottom-right)"
selectorAffix."cyrl/a" = "toothlessCorner"
selectorAffix."cyrl/ae/a" = "serifless"

[prime.cyrl-a.variants-buildup.stages.bar.toothless-rounded]
rank = 7
disableIf = [{ storey = "single-storey" }]
descriptionAffix = "toothless (rounded bottom-right)"
selectorAffix."cyrl/a" = "toothlessRounded"
selectorAffix."cyrl/ae/a" = "serifless"



[prime.cyrl-ve]
sampler = "в"
samplerExplain = "Cyrillic Lower Ve"
tagKind = "letter"

[prime.cyrl-ve.variants-buildup]
entry = "body"
descriptionLeader = "Cyrillic Lower Ve (`в`)"

[prime.cyrl-ve.variants-buildup.stages.body.standard]
rank = 1
next = "openness"
descriptionAffix = "standard body"
selectorAffix."cyrl/ve" = "standard"

[prime.cyrl-ve.variants-buildup.stages.openness."*"]
next = "serifs"

[prime.cyrl-ve.variants-buildup.stages.openness.closed]
rank = 1
keyAffix = ""
selectorAffix."cyrl/ve" = ""

[prime.cyrl-ve.variants-buildup.stages.openness.interrupted]
rank = 2
descriptionAffix = "interrupted middle bar"
selectorAffix."cyrl/ve" = "interrupted"

[prime.cyrl-ve.variants-buildup.stages.serifs."*"]
next = "END"

[prime.cyrl-ve.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/ve" = "serifless"

[prime.cyrl-ve.variants-buildup.stages.serifs.unilateral-serifed]
rank = 2
descriptionAffix = "serifs at top"
selectorAffix."cyrl/ve" = "unilateralSerifed"

[prime.cyrl-ve.variants-buildup.stages.serifs.bilateral-serifed]
rank = 3
descriptionAffix = "serifs at both top and bottom"
selectorAffix."cyrl/ve" = "bilateralSerifed"

[prime.cyrl-ve.variants-buildup.stages.body.cursive]
rank = 2
next = "height"
descriptionAffix = "cursive body"
selectorAffix."cyrl/ve" = "cursive"

[prime.cyrl-ve.variants-buildup.stages.height.normal]
rank = 1
keyAffix = ""
selectorAffix."cyrl/ve" = ""

[prime.cyrl-ve.variants-buildup.stages.height.tall]
rank = 2
descriptionAffix = "tall height"
selectorAffix."cyrl/ve" = "tall"



[prime.cyrl-capital-zhe]
sampler = "Ж"
samplerExplain = "Cyrillic Capital Zhe"
tagKind = "letter"

[prime.cyrl-capital-zhe.variants.straight]
rank = 1
description = "Cyrillic Capital Zhe (`Ж`) with straight legs"
selector."cyrl/Zhe" = "straight"

[prime.cyrl-capital-zhe.variants.curly]
rank = 2
description = "Cyrillic Capital Zhe (`Ж`) with curly legs"
selector."cyrl/Zhe" = "curly"

[prime.cyrl-capital-zhe.variants.symmetric-touching]
rank = 3
description = "Cyrillic Capital Zhe (`Ж`) with symmetric legs touching the vertical bar"
selector."cyrl/Zhe" = "symmetricTouching"

[prime.cyrl-capital-zhe.variants.symmetric-connected]
rank = 4
description = "Cyrillic Capital Zhe (`Ж`) with symmetric legs connected to the vertical bar"
selector."cyrl/Zhe" = "symmetricConnected"

[prime.cyrl-capital-zhe.variants.cursive]
rank = 5
description = "Cyrillic Capital Zhe (`Ж`) with cursive legs"
selector."cyrl/Zhe" = "cursive"



[prime.cyrl-zhe]
sampler = "ж"
samplerExplain = "Cyrillic Lower Zhe"
tagKind = "letter"

[prime.cyrl-zhe.variants.straight]
rank = 1
description = "Cyrillic Lower Zhe (`ж`) with straight legs"
selector."cyrl/zhe" = "straight"

[prime.cyrl-zhe.variants.curly]
rank = 2
description = "Cyrillic Lower Zhe (`ж`) with curly legs"
selector."cyrl/zhe" = "curly"

[prime.cyrl-zhe.variants.symmetric-touching]
rank = 3
description = "Cyrillic Lower Zhe (`ж`) with symmetric legs touching the vertical bar"
selector."cyrl/zhe" = "symmetricTouching"

[prime.cyrl-zhe.variants.symmetric-connected]
rank = 4
description = "Cyrillic Lower Zhe (`ж`) with symmetric legs connected to the vertical bar"
selector."cyrl/zhe" = "symmetricConnected"

[prime.cyrl-zhe.variants.cursive]
rank = 5
description = "Cyrillic Lower Zhe (`ж`) with cursive legs"
selector."cyrl/zhe" = "cursive"



[prime.cyrl-capital-ze]
sampler = "З"
samplerExplain = "Cyrillic Capital Ze"
tagKind = "letter"

[prime.cyrl-capital-ze.variants.serifless]
rank = 1
description = "Serifless Cyrillic Capital Ze (`З`)"
selector."latn/Epsilon" = "serifless"
selector."cyrl/Ze" = "serifless"
selector."cyrl/ZeTopSerifOnly" = "serifless"
selector."cyrl/ZeBottomSerifOnly" = "serifless"

[prime.cyrl-capital-ze.variants.unilateral-serifed]
rank = 2
description = "Cyrillic Capital Ze (`З`) with serif at top"
selector."latn/Epsilon" = "unilateralSerifed"
selector."cyrl/Ze" = "unilateralSerifed"
selector."cyrl/ZeTopSerifOnly" = "unilateralSerifed"
selector."cyrl/ZeBottomSerifOnly" = "serifless"

[prime.cyrl-capital-ze.variants.unilateral-bottom-serifed]
rank = 3
description = "Cyrillic Capital Ze (`З`) with serif at bottom"
selector."latn/Epsilon" = "unilateralSerifed"
selector."cyrl/Ze" = "bottomSerifed"
selector."cyrl/ZeTopSerifOnly" = "serifless"
selector."cyrl/ZeBottomSerifOnly" = "bottomSerifed"

[prime.cyrl-capital-ze.variants.bilateral-serifed]
rank = 4
description = "Cyrillic Capital Ze (`З`) with serif at both top and bottom"
selector."latn/Epsilon" = "bilateralSerifed"
selector."cyrl/Ze" = "bilateralSerifed"
selector."cyrl/ZeTopSerifOnly" = "unilateralSerifed"
selector."cyrl/ZeBottomSerifOnly" = "bottomSerifed"

[prime.cyrl-capital-ze.variants.unilateral-inward-serifed]
rank = 5
description = "Cyrillic Capital Ze (`З`) with inward serif at top"
selector."latn/Epsilon" = "unilateralInwardSerifed"
selector."cyrl/Ze" = "unilateralInwardSerifed"
selector."cyrl/ZeTopSerifOnly" = "unilateralInwardSerifed"
selector."cyrl/ZeBottomSerifOnly" = "serifless"

[prime.cyrl-capital-ze.variants.unilateral-bottom-inward-serifed]
rank = 6
description = "Cyrillic Capital Ze (`З`) with inward serif at bottom"
selector."latn/Epsilon" = "unilateralInwardSerifed"
selector."cyrl/Ze" = "bottomInwardSerifed"
selector."cyrl/ZeTopSerifOnly" = "serifless"
selector."cyrl/ZeBottomSerifOnly" = "bottomInwardSerifed"

[prime.cyrl-capital-ze.variants.bilateral-inward-serifed]
rank = 7
description = "Cyrillic Capital Ze (`З`) with inward serif at both top and bottom"
selector."latn/Epsilon" = "bilateralInwardSerifed"
selector."cyrl/Ze" = "bilateralInwardSerifed"
selector."cyrl/ZeTopSerifOnly" = "unilateralInwardSerifed"
selector."cyrl/ZeBottomSerifOnly" = "bottomInwardSerifed"



[prime.cyrl-ze]
sampler = "з"
samplerExplain = "Cyrillic Lower Ze"
tagKind = "letter"

[prime.cyrl-ze.variants.serifless]
rank = 1
description = "Serifless Cyrillic Lower Ze (`з`)"
selector."latn/epsilon" = "serifless"
selector."latn/epsilon/descBase" = "bottomSerifed"
selector."cyrl/ze" = "serifless"
selector."cyrl/ze/descBase" = "bottomSerifed"
selector."cyrl/zeTopSerifOnly" = "serifless"
selector."cyrl/zeBottomSerifOnly" = "serifless"

[prime.cyrl-ze.variants.unilateral-serifed]
rank = 2
description = "Cyrillic Lower Ze (`з`) with serif at top"
selector."latn/epsilon" = "unilateralSerifed"
selector."latn/epsilon/descBase" = "bilateralSerifed"
selector."cyrl/ze" = "unilateralSerifed"
selector."cyrl/ze/descBase" = "bilateralSerifed"
selector."cyrl/zeTopSerifOnly" = "unilateralSerifed"
selector."cyrl/zeBottomSerifOnly" = "serifless"

[prime.cyrl-ze.variants.unilateral-bottom-serifed]
rank = 3
description = "Cyrillic Lower Ze (`з`) with serif at bottom"
selector."latn/epsilon" = "unilateralSerifed"
selector."latn/epsilon/descBase" = "bilateralSerifed"
selector."cyrl/ze" = "bottomSerifed"
selector."cyrl/ze/descBase" = "bottomSerifed"
selector."cyrl/zeTopSerifOnly" = "serifless"
selector."cyrl/zeBottomSerifOnly" = "bottomSerifed"

[prime.cyrl-ze.variants.bilateral-serifed]
rank = 4
description = "Cyrillic Lower Ze (`з`) with serif at both top and bottom"
selector."latn/epsilon" = "bilateralSerifed"
selector."latn/epsilon/descBase" = "bilateralSerifed"
selector."cyrl/ze" = "bilateralSerifed"
selector."cyrl/ze/descBase" = "bilateralSerifed"
selector."cyrl/zeTopSerifOnly" = "unilateralSerifed"
selector."cyrl/zeBottomSerifOnly" = "bottomSerifed"

[prime.cyrl-ze.variants.unilateral-inward-serifed]
rank = 5
description = "Cyrillic Lower Ze (`з`) with inward serif at top"
selector."latn/epsilon" = "unilateralInwardSerifed"
selector."latn/epsilon/descBase" = "hybridSerifed1"
selector."cyrl/ze" = "unilateralInwardSerifed"
selector."cyrl/ze/descBase" = "hybridSerifed1"
selector."cyrl/zeTopSerifOnly" = "unilateralInwardSerifed"
selector."cyrl/zeBottomSerifOnly" = "serifless"

[prime.cyrl-ze.variants.unilateral-bottom-inward-serifed]
rank = 6
description = "Cyrillic Lower Ze (`з`) with inward serif at bottom"
selector."latn/epsilon" = "unilateralInwardSerifed"
selector."latn/epsilon/descBase" = "hybridSerifed1"
selector."cyrl/ze" = "bottomInwardSerifed"
selector."cyrl/ze/descBase" = "bottomSerifed"
selector."cyrl/zeTopSerifOnly" = "serifless"
selector."cyrl/zeBottomSerifOnly" = "bottomInwardSerifed"

[prime.cyrl-ze.variants.bilateral-inward-serifed]
rank = 7
description = "Cyrillic Lower Ze (`з`) with inward serif at both top and bottom"
selector."latn/epsilon" = "bilateralInwardSerifed"
selector."latn/epsilon/descBase" = "hybridSerifed1"
selector."cyrl/ze" = "bilateralInwardSerifed"
selector."cyrl/ze/descBase" = "hybridSerifed1"
selector."cyrl/zeTopSerifOnly" = "unilateralInwardSerifed"
selector."cyrl/zeBottomSerifOnly" = "bottomInwardSerifed"



[prime.cyrl-capital-ka]
sampler = "К"
samplerExplain = "Cyrillic Capital Ka"
tagKind = "letter"

[prime.cyrl-capital-ka.variants-buildup]
entry = "body"
descriptionLeader = "Cyrillic Capital Ka (`К`)"

[prime.cyrl-capital-ka.variants-buildup.stages.body."*"]
next = "serifs"

[prime.cyrl-capital-ka.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix."cyrl/Ka" = "straight"
selectorAffix."cyrl/KaDescender" = "straight"
selectorAffix."cyrl/KaVBar" = "symmetricConnectedVB"
selectorAffix."cyrl/KaHook" = "symmetricConnectedKH"
selectorAffix."cyrl/KaBashkir" = "straight"

[prime.cyrl-capital-ka.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix."cyrl/Ka" = "curly"
selectorAffix."cyrl/KaDescender" = "curly"
selectorAffix."cyrl/KaVBar" = "symmetricConnectedVB"
selectorAffix."cyrl/KaHook" = "symmetricConnectedKH"
selectorAffix."cyrl/KaBashkir" = "curly"

[prime.cyrl-capital-ka.variants-buildup.stages.body.symmetric-touching]
rank = 3
descriptionAffix = "symmetric legs touching the vertical bar"
selectorAffix."cyrl/Ka" = "symmetricTouching"
selectorAffix."cyrl/KaDescender" = "symmetricTouching"
selectorAffix."cyrl/KaVBar" = "symmetricConnectedVB"
selectorAffix."cyrl/KaHook" = "symmetricConnectedKH"
selectorAffix."cyrl/KaBashkir" = "symmetricTouching"

[prime.cyrl-capital-ka.variants-buildup.stages.body.symmetric-connected]
rank = 4
descriptionAffix = "symmetric legs connected to the vertical bar"
selectorAffix."cyrl/Ka" = "symmetricConnected"
selectorAffix."cyrl/KaDescender" = "symmetricConnected"
selectorAffix."cyrl/KaVBar" = "symmetricConnectedVB"
selectorAffix."cyrl/KaHook" = "symmetricConnectedKH"
selectorAffix."cyrl/KaBashkir" = "symmetricConnected"

[prime.cyrl-capital-ka.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/Ka" = "serifless"
selectorAffix."cyrl/KaDescender" = "serifless"
selectorAffix."cyrl/KaVBar" = "serifless"
selectorAffix."cyrl/KaHook" = "serifless"
selectorAffix."cyrl/KaBashkir" = "serifless"

[prime.cyrl-capital-ka.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serifs at top left"
selectorAffix."cyrl/Ka" = "topLeftSerifed"
selectorAffix."cyrl/KaDescender" = "topLeftSerifed"
selectorAffix."cyrl/KaVBar" = "topLeftSerifed"
selectorAffix."cyrl/KaHook" = "topLeftSerifed"
selectorAffix."cyrl/KaBashkir" = "serifless"

[prime.cyrl-capital-ka.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 3
descriptionAffix = "serifs at bottom right"
selectorAffix."cyrl/Ka" = "bottomRightSerifed"
selectorAffix."cyrl/KaDescender" = "serifless"
selectorAffix."cyrl/KaVBar" = "bottomRightSerifed"
selectorAffix."cyrl/KaHook" = "serifless"
selectorAffix."cyrl/KaBashkir" = "bottomRightSerifed"

[prime.cyrl-capital-ka.variants-buildup.stages.serifs.top-left-and-bottom-right-serifed]
rank = 4
descriptionAffix = "serifs at top left and bottom right"
selectorAffix."cyrl/Ka" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/KaDescender" = "topLeftSerifed"
selectorAffix."cyrl/KaVBar" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/KaHook" = "topLeftSerifed"
selectorAffix."cyrl/KaBashkir" = "bottomRightSerifed"

[prime.cyrl-capital-ka.variants-buildup.stages.serifs.top-right-serifed]
rank = 5
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "serifs at top right"
selectorAffix."cyrl/Ka" = "topRightSerifed"
selectorAffix."cyrl/KaDescender" = "topRightSerifed"
selectorAffix."cyrl/KaVBar" = "topRightSerifed"
selectorAffix."cyrl/KaHook" = "topRightSerifed"
selectorAffix."cyrl/KaBashkir" = "topRightSerifed"

[prime.cyrl-capital-ka.variants-buildup.stages.serifs.tri-serifed]
rank = 6
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "serifs at top left and both legs"
selectorAffix."cyrl/Ka" = "triSerifed"
selectorAffix."cyrl/KaDescender" = "topLeftAndTopRightSerifed"
selectorAffix."cyrl/KaVBar" = "triSerifed"
selectorAffix."cyrl/KaHook" = "topLeftAndTopRightSerifed"
selectorAffix."cyrl/KaBashkir" = "topRightAndBottomRightSerifed"

[prime.cyrl-capital-ka.variants-buildup.stages.serifs.serifed]
rank = 7
descriptionAffix = "serifs"
selectorAffix."cyrl/Ka" = "serifed"
selectorAffix."cyrl/KaDescender" = "serifed"
selectorAffix."cyrl/KaVBar" = "serifed"
selectorAffix."cyrl/KaHook" = "serifed"
selectorAffix."cyrl/KaBashkir" = "serifed"



[prime.cyrl-ka]
sampler = "к"
samplerExplain = "Cyrillic Lower Ka"
tagKind = "letter"

[prime.cyrl-ka.variants-buildup]
entry = "body"
descriptionLeader = "Cyrillic Lower Ka (`к`)"

[prime.cyrl-ka.variants-buildup.stages.body."*"]
next = "serifs"

[prime.cyrl-ka.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix."cyrl/ka" = "straight"
selectorAffix."cyrl/kaDescender" = "straight"
selectorAffix."cyrl/kaVBar" = "symmetricConnectedVB"
selectorAffix."cyrl/kaHook" = "symmetricConnectedKH"
selectorAffix."cyrl/kaBashkir" = "straight"

[prime.cyrl-ka.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix."cyrl/ka" = "curly"
selectorAffix."cyrl/kaDescender" = "curly"
selectorAffix."cyrl/kaVBar" = "symmetricConnectedVB"
selectorAffix."cyrl/kaHook" = "symmetricConnectedKH"
selectorAffix."cyrl/kaBashkir" = "curly"

[prime.cyrl-ka.variants-buildup.stages.body.symmetric-touching]
rank = 3
descriptionAffix = "symmetric legs touching the vertical bar"
selectorAffix."cyrl/ka" = "symmetricTouching"
selectorAffix."cyrl/kaDescender" = "symmetricTouching"
selectorAffix."cyrl/kaVBar" = "symmetricConnectedVB"
selectorAffix."cyrl/kaHook" = "symmetricConnectedKH"
selectorAffix."cyrl/kaBashkir" = "symmetricTouching"

[prime.cyrl-ka.variants-buildup.stages.body.symmetric-connected]
rank = 4
descriptionAffix = "symmetric legs connected to the vertical bar"
selectorAffix."cyrl/ka" = "symmetricConnected"
selectorAffix."cyrl/kaDescender" = "symmetricConnected"
selectorAffix."cyrl/kaVBar" = "symmetricConnectedVB"
selectorAffix."cyrl/kaHook" = "symmetricConnectedKH"
selectorAffix."cyrl/kaBashkir" = "symmetricConnected"

[prime.cyrl-ka.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/ka" = "serifless"
selectorAffix."cyrl/kaDescender" = "serifless"
selectorAffix."cyrl/kaVBar" = "serifless"
selectorAffix."cyrl/kaHook" = "serifless"
selectorAffix."cyrl/kaBashkir" = "serifless"

[prime.cyrl-ka.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serifs at top left"
selectorAffix."cyrl/ka" = "topLeftSerifed"
selectorAffix."cyrl/kaDescender" = "topLeftSerifed"
selectorAffix."cyrl/kaVBar" = "topLeftSerifed"
selectorAffix."cyrl/kaHook" = "topLeftSerifed"
selectorAffix."cyrl/kaBashkir" = "serifless"

[prime.cyrl-ka.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 3
descriptionAffix = "serifs at bottom right"
selectorAffix."cyrl/ka" = "bottomRightSerifed"
selectorAffix."cyrl/kaDescender" = "serifless"
selectorAffix."cyrl/kaVBar" = "bottomRightSerifed"
selectorAffix."cyrl/kaHook" = "serifless"
selectorAffix."cyrl/kaBashkir" = "bottomRightSerifed"

[prime.cyrl-ka.variants-buildup.stages.serifs.top-left-and-bottom-right-serifed]
rank = 4
descriptionAffix = "serifs at top left and bottom right"
selectorAffix."cyrl/ka" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/kaDescender" = "topLeftSerifed"
selectorAffix."cyrl/kaVBar" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/kaHook" = "topLeftSerifed"
selectorAffix."cyrl/kaBashkir" = "bottomRightSerifed"

[prime.cyrl-ka.variants-buildup.stages.serifs.top-right-serifed]
rank = 5
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "serifs at top right"
selectorAffix."cyrl/ka" = "topRightSerifed"
selectorAffix."cyrl/kaDescender" = "topRightSerifed"
selectorAffix."cyrl/kaVBar" = "topRightSerifed"
selectorAffix."cyrl/kaHook" = "topRightSerifed"
selectorAffix."cyrl/kaBashkir" = "topRightSerifed"

[prime.cyrl-ka.variants-buildup.stages.serifs.tri-serifed]
rank = 6
nonBreakingVariantAdditionPriority = 100
descriptionAffix = "serifs at top left and bottom right"
selectorAffix."cyrl/ka" = "triSerifed"
selectorAffix."cyrl/kaDescender" = "topLeftAndTopRightSerifed"
selectorAffix."cyrl/kaVBar" = "triSerifed"
selectorAffix."cyrl/kaHook" = "topLeftAndTopRightSerifed"
selectorAffix."cyrl/kaBashkir" = "topRightAndBottomRightSerifed"

[prime.cyrl-ka.variants-buildup.stages.serifs.serifed]
rank = 7
descriptionAffix = "serifs"
selectorAffix."cyrl/ka" = "serifed"
selectorAffix."cyrl/kaDescender" = "serifed"
selectorAffix."cyrl/kaVBar" = "serifed"
selectorAffix."cyrl/kaHook" = "serifed"
selectorAffix."cyrl/kaBashkir" = "serifed"



[prime.cyrl-el]
sampler = "л"
samplerExplain = "Cyrillic Lower El"
tagKind = "letter"

[prime.cyrl-el.variants.straight]
rank = 1
description = "Cyrillic Lower El (`л`) with standard shape"
selector."cyrl/el" = "straight"

[prime.cyrl-el.variants.tailed]
rank = 2
description = "Cyrillic Lower El (`л`) with tail shape"
selector."cyrl/el" = "tailed"



[prime.cyrl-em]
sampler = "м"
samplerExplain = "Cyrillic Lower Em"
tagKind = "letter"

[prime.cyrl-em.variants-buildup.stages.sides."*"]
next = "middle"

[prime.cyrl-em.variants-buildup.stages.sides.straight]
rank = 1
keyAffix = ""
selectorAffix."cyrl/em" = ""

[prime.cyrl-em.variants-buildup.stages.sides.slanted-sides]
rank = 2
descriptionAffix = "slanted sides"
selectorAffix."cyrl/em" = "slantedSides"

[prime.cyrl-em.variants-buildup]
entry = "sides"
descriptionLeader = "Cyrillic Lower Em (`м`)"

[prime.cyrl-em.variants-buildup.stages.middle."*"]
next = "serifs"

[prime.cyrl-em.variants-buildup.stages.middle.hanging]
rank = 1
descriptionAffix = "middle being hanging off baseline"
selectorAffix."cyrl/em" = "hanging"

[prime.cyrl-em.variants-buildup.stages.middle.flat-bottom]
rank = 2
descriptionAffix = "middle aligned to baseline"
selectorAffix."cyrl/em" = "flatBottom"

[prime.cyrl-em.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/em" = "serifless"

[prime.cyrl-em.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix."cyrl/em" = "motionSerifed"

[prime.cyrl-em.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix."cyrl/em" = "smallCyrl"



[prime.cyrl-capital-en]
sampler = "Н"
samplerExplain = "Cyrillic Capital En"
tagKind = "letter"

[prime.cyrl-capital-en.variants.serifless]
rank = 1
description = "Cyrillic Capital En (`Н`) without serifs"
selector."cyrl/En" = "serifless"
selector."cyrl/En/descBase" = "serifless"
selector."cyrl/Nje/leftHalf" = "serifless"
selector."cyrl/Nje/leftHalf/reduced" = "serifless"
selector."cyrl/NjeKomi" = "serifless"

[prime.cyrl-capital-en.variants.top-left-serifed]
rank = 2
description = "Cyrillic Capital En (`Н`) with serif only at top left"
selector."cyrl/En" = "topLeftSerifed"
selector."cyrl/En/descBase" = "topLeftSerifed"
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
selector."cyrl/NjeKomi" = "topLeftSerifed"

[prime.cyrl-capital-en.variants.top-left-bottom-right-serifed]
rank = 3
description = "Cyrillic Capital En (`Н`) with serif only at top left and bottom right"
selector."cyrl/En" = "topLeftBottomRightSerifed"
selector."cyrl/En/descBase" = "topLeftSerifed"
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
selector."cyrl/NjeKomi" = "topLeftSerifed"

[prime.cyrl-capital-en.variants.serifed]
rank = 4
description = "Cyrillic Capital En (`Н`) with serifs"
selector."cyrl/En" = "serifed"
selector."cyrl/En/descBase" = "serifed"
selector."cyrl/Nje/leftHalf" = "serifed"
selector."cyrl/Nje/leftHalf/reduced" = "serifedExceptBottomRight"
selector."cyrl/NjeKomi" = "serifedExceptBottomRight"



[prime.cyrl-en]
sampler = "н"
samplerExplain = "Cyrillic Lower En"
tagKind = "letter"

[prime.cyrl-en.variants-buildup]
entry = "tail"
descriptionLeader = "Cyrillic Lower En (`н`)"

[prime.cyrl-en.variants-buildup.stages.tail."*"]
next = "serifs"

[prime.cyrl-en.variants-buildup.stages.tail.tailless]
rank = 1
keyAffix = ""
selectorAffix."cyrl/en" = ""
selectorAffix."cyrl/en.BGR" = ""
selectorAffix."cyrl/en/descBase" = ""
selectorAffix."cyrl/nje/leftHalf" = ""
selectorAffix."cyrl/nje/leftHalf/reduced" = ""
selectorAffix."cyrl/njeKomi" = ""

[prime.cyrl-en.variants-buildup.stages.tail.tailed]
rank = 2
descriptionAffix = "tail"
selectorAffix."cyrl/en" = "tailed"
selectorAffix."cyrl/en.BGR" = "tailed"
selectorAffix."cyrl/en/descBase" = ""
selectorAffix."cyrl/nje/leftHalf" = ""
selectorAffix."cyrl/nje/leftHalf/reduced" = ""
selectorAffix."cyrl/njeKomi" = ""

[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/descBase" = "serifless"
selectorAffix."cyrl/nje/leftHalf" = "serifless"
selectorAffix."cyrl/nje/leftHalf/reduced" = "serifless"
selectorAffix."cyrl/njeKomi" = "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/descBase" = "topLeftSerifed"
selectorAffix."cyrl/nje/leftHalf" = "topLeftSerifed"
selectorAffix."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
selectorAffix."cyrl/njeKomi" = "topLeftSerifed"

[prime.cyrl-en.variants-buildup.stages.serifs.top-left-bottom-right-serifed]
rank = 3
disableIf = [{ tail = "tailed" }]
descriptionAffix = "serifs at top left and bottom right"
selectorAffix."cyrl/en" = "topLeftBottomRightSerifed"
selectorAffix."cyrl/en.BGR" = "topLeftBottomRightSerifed"
selectorAffix."cyrl/en/descBase" = "topLeftSerifed"
selectorAffix."cyrl/nje/leftHalf" = "topLeftSerifed"
selectorAffix."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
selectorAffix."cyrl/njeKomi" = "topLeftSerifed"

[prime.cyrl-en.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix."cyrl/en" = "serifed"
selectorAffix."cyrl/en.BGR" = "serifedBGR"
selectorAffix."cyrl/en/descBase" = "serifed"
selectorAffix."cyrl/nje/leftHalf" = "serifed"
selectorAffix."cyrl/nje/leftHalf/reduced" = "serifedExceptBottomRight"
selectorAffix."cyrl/njeKomi" = "serifedExceptBottomRight"



[prime.cyrl-capital-er]
sampler = "Р"
samplerExplain = "Cyrillic Capital Er"
tagKind = "letter"

[prime.cyrl-capital-er.variants-buildup]
entry = "body"
descriptionLeader = "Cyrillic Capital Er (`Р`)"

[prime.cyrl-capital-er.variants-buildup.stages.body."*"]
next = "serifs"

[prime.cyrl-capital-er.variants-buildup.stages.body.closed]
rank = 1
descriptionAffix = "closed shape"
selectorAffix."grek/Rho" = "closed"
selectorAffix."grek/Rho/sansSerif" = "closed"
selectorAffix."cyrl/Er" = "closed"
selectorAffix."currency/rubleSign" = "closed"

[prime.cyrl-capital-er.variants-buildup.stages.body.open]
rank = 2
descriptionAffix = "open shape"
selectorAffix."grek/Rho" = "open"
selectorAffix."grek/Rho/sansSerif" = "open"
selectorAffix."cyrl/Er" = "open"
selectorAffix."currency/rubleSign" = "closed"

[prime.cyrl-capital-er.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."grek/Rho" = "serifless"
selectorAffix."grek/Rho/sansSerif" = "serifless"
selectorAffix."cyrl/Er" = "serifless"
selectorAffix."currency/rubleSign" = "serifless"

[prime.cyrl-capital-er.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix."grek/Rho" = "motionSerifed"
selectorAffix."grek/Rho/sansSerif" = "serifless"
selectorAffix."cyrl/Er" = "motionSerifed"
selectorAffix."currency/rubleSign" = "motionSerifed"

[prime.cyrl-capital-er.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix."grek/Rho" = "serifed"
selectorAffix."grek/Rho/sansSerif" = "serifless"
selectorAffix."cyrl/Er" = "serifed"
selectorAffix."currency/rubleSign" = "serifed"



[prime.cyrl-er]
sampler = "р"
samplerExplain = "Cyrillic Lower Er"
tagKind = "letter"

[prime.cyrl-er.variants-buildup]
entry = "body"
descriptionLeader = "Cyrillic Lower Er (`р`)"

[prime.cyrl-er.variants-buildup.stages.body."*"]
next = "serifs"

[prime.cyrl-er.variants-buildup.stages.body.eared]
rank = 1
descriptionAffix = "eared shape"
selectorAffix."cyrl/er" = "eared"

[prime.cyrl-er.variants-buildup.stages.body.earless-corner]
rank = 2
descriptionAffix = "earless (cornered) shape"
selectorAffix."cyrl/er" = "earlessCorner"

[prime.cyrl-er.variants-buildup.stages.body.earless-rounded]
rank = 3
descriptionAffix = "earless (rounded) shape"
selectorAffix."cyrl/er" = "earlessRounded"

[prime.cyrl-er.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/er" = "serifless"

[prime.cyrl-er.variants-buildup.stages.serifs.motion-serifed]
rank = 2
enableIf = [{ body = "eared" }]
descriptionAffix = "motion serifs"
selectorAffix."cyrl/er" = "motionSerifed"

[prime.cyrl-er.variants-buildup.stages.serifs.serifed__eared]
rank = 3
enableIf = [{ body = "eared" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix."cyrl/er" = "serifed"

[prime.cyrl-er.variants-buildup.stages.serifs.serifed__earless]
rank = 3
enableIf = [{ body = "NOT eared" }]
keyAffix = "serifed"
descriptionAffix = "serifs"
selectorAffix."cyrl/er" = "bottomSerifed"



[prime.cyrl-capital-u]
sampler = "У"
samplerExplain = "Cyrillic Capital U"
tagKind = "letter"

[prime.cyrl-capital-u.variants-buildup]
entry = "body"
descriptionLeader = "Cyrillic Capital U (`У`)"

[prime.cyrl-capital-u.variants-buildup.stages.body."*"]
next = "hook"

[prime.cyrl-capital-u.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix."cyrl/U" = "straight"
selectorAffix."cyrl/Ue" = "straight"

[prime.cyrl-capital-u.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix."cyrl/U" = "curly"
selectorAffix."cyrl/Ue" = "curly"

[prime.cyrl-capital-u.variants-buildup.stages.body.cursive]
rank = 3
descriptionAffix = "cursive shape"
selectorAffix."cyrl/U" = "cursive"
selectorAffix."cyrl/Ue" = "straight"

[prime.cyrl-capital-u.variants-buildup.stages.hook."*"]
next = "serifs"

[prime.cyrl-capital-u.variants-buildup.stages.hook.standard]
rank = 1
keyAffix = ""
selectorAffix."cyrl/U" = ""
selectorAffix."cyrl/Ue" = ""

[prime.cyrl-capital-u.variants-buildup.stages.hook.turn]
rank = 2
disableIf = [{ body = "cursive" }]
descriptionAffix = "a tail turns leftward"
selectorAffix."cyrl/U" = "turn"
selectorAffix."cyrl/Ue" = ""

[prime.cyrl-capital-u.variants-buildup.stages.hook.flat-hook]
rank = 3
disableIf = [{ body = "NOT cursive" }]
descriptionAffix = "a flat terminal hook"
selectorAffix."cyrl/U" = "flatHook"
selectorAffix."cyrl/Ue" = ""

[prime.cyrl-capital-u.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/U" = "serifless"
selectorAffix."cyrl/Ue" = "serifless"

[prime.cyrl-capital-u.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix."cyrl/U" = "motionSerifed"
selectorAffix."cyrl/Ue" = "motionSerifed"

[prime.cyrl-capital-u.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix."cyrl/U" = "serifed"
selectorAffix."cyrl/Ue" = "serifed"



[prime.cyrl-u]
sampler = "у"
samplerExplain = "Cyrillic Lower U"
tagKind = "letter"

[prime.cyrl-u.variants-buildup]
entry = "body"
descriptionLeader = "Cyrillic Lower U (`у`)"

[prime.cyrl-u.variants-buildup.stages.body."*"]
next = "hook"

[prime.cyrl-u.variants-buildup.stages.body.straight]
rank = 1
descriptionAffix = "straight shape"
selectorAffix."cyrl/u" = "straight"
selectorAffix."cyrl/ue" = "straight"

[prime.cyrl-u.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly shape"
selectorAffix."cyrl/u" = "curly"
selectorAffix."cyrl/ue" = "curly"

[prime.cyrl-u.variants-buildup.stages.body.cursive]
rank = 3
descriptionAffix = "cursive shape"
selectorAffix."cyrl/u" = "cursive"
selectorAffix."cyrl/ue" = "straight"

[prime.cyrl-u.variants-buildup.stages.hook."*"]
next = "serifs"

[prime.cyrl-u.variants-buildup.stages.hook.standard]
rank = 1
keyAffix = ""
selectorAffix."cyrl/u" = ""
selectorAffix."cyrl/ue" = ""

[prime.cyrl-u.variants-buildup.stages.hook.turn]
rank = 2
disableIf = [{ body = "cursive" }]
descriptionAffix = "a tail turns leftward"
selectorAffix."cyrl/u" = "turn"
selectorAffix."cyrl/ue" = ""

[prime.cyrl-u.variants-buildup.stages.hook.flat-hook]
rank = 3
disableIf = [{ body = "NOT cursive" }]
descriptionAffix = "a flat terminal hook"
selectorAffix."cyrl/u" = "flatHook"
selectorAffix."cyrl/ue" = ""

[prime.cyrl-u.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/u" = "serifless"
selectorAffix."cyrl/ue" = "serifless"

[prime.cyrl-u.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs"
selectorAffix."cyrl/u" = "motionSerifed"
selectorAffix."cyrl/ue" = "motionSerifed"

[prime.cyrl-u.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix."cyrl/u" = "serifed"
selectorAffix."cyrl/ue" = "serifed"



[prime.cyrl-ef]
sampler = "ф"
samplerExplain = "Cyrillic Lower Ef"
tagKind = "letter"

[prime.cyrl-ef.variants-buildup]
entry = "bowl"
descriptionLeader = "Cyrillic Lower Ef (`ф`)"

[prime.cyrl-ef.variants-buildup.stages.bowl."*"]
next = "bar"

[prime.cyrl-ef.variants-buildup.stages.bowl.standard]
rank = 1
keyAffix = ""
selectorAffix."cyrl/ef" = ""
selectorAffix."cyrl/ef.BGR" = ""

[prime.cyrl-ef.variants-buildup.stages.bowl.split]
rank = 2
descriptionAffix = "split bowl"
selectorAffix."cyrl/ef" = "splitBowl"
selectorAffix."cyrl/ef.BGR" = ""

[prime.cyrl-ef.variants-buildup.stages.bar."*"]
next = "serifs"

[prime.cyrl-ef.variants-buildup.stages.bar.straight]
rank = 1
keyAffix = ""
descriptionAffix = "straight bar"
selectorAffix."cyrl/ef" = ""
selectorAffix."cyrl/ef.BGR" = ""

[prime.cyrl-ef.variants-buildup.stages.bar.cursive]
rank = 2
next = "END"
descriptionAffix = "cursive bar"
selectorAffix."cyrl/ef" = "cursive"
selectorAffix."cyrl/ef.BGR" = "cursive"

[prime.cyrl-ef.variants-buildup.stages.bar.diagonal-tailed-cursive]
rank = 3
next = "END"
descriptionAffix = "cursive bar, and diagonal tail"
selectorAffix."cyrl/ef" = "diagonalTailedCursive"
selectorAffix."cyrl/ef.BGR" = "diagonalTailedCursive"

[prime.cyrl-ef.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/ef" = "serifless"
selectorAffix."cyrl/ef.BGR" = "serifless"

[prime.cyrl-ef.variants-buildup.stages.serifs.top-serifed]
rank = 2
descriptionAffix = "serif at top"
selectorAffix."cyrl/ef" = "topSerifed"
selectorAffix."cyrl/ef.BGR" = "topSerifed"

[prime.cyrl-ef.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs at top and bottom"
selectorAffix."cyrl/ef" = "serifed"
selectorAffix."cyrl/ef.BGR" = "serifed"



[prime.cyrl-che]
sampler = "ч"
samplerExplain = "Cyrillic Lower Che"
tagKind = "letter"

[prime.cyrl-che.variants.standard]
rank = 1
description = "Cyrillic Lower Che (`ч`) with standard shape"
selector."cyrl/che" = "standard"

[prime.cyrl-che.variants.tailed]
rank = 2
description = "Cyrillic Lower Che (`ч`) with tail"
selector."cyrl/che" = "tailed"



[prime.cyrl-capital-yeri]
# No tags and sampler -- for style-driven variation

[prime.cyrl-capital-yeri.variants.corner]
rank = 1
selector."cyrl/Yer"  = "corner"
selector."cyrl/Yeri" = "corner"
selector."cyrl/Nje/rightHalf"  = "corner"
selector."cyrl/Lje"  = "corner"
selector."cyrl/Tje/rightHalf"  = "corner"

[prime.cyrl-capital-yeri.variants.round]
rank = 2
selector."cyrl/Yer"  = "round"
selector."cyrl/Yeri" = "round"
selector."cyrl/Nje/rightHalf"  = "round"
selector."cyrl/Lje"  = "round"
selector."cyrl/Tje/rightHalf"  = "round"

[prime.cyrl-capital-yeri.variants.cursive]
rank = 3
selector."cyrl/Yer"  = "cursive"
selector."cyrl/Yeri" = "cursive"
selector."cyrl/Nje/rightHalf"  = "cursive"
selector."cyrl/Lje"  = "cursive"
selector."cyrl/Tje/rightHalf"  = "round"



[prime.cyrl-yeri]
sampler = "ь ъ"
samplerExplain = "Cyrillic Lower Yeri and related letters"
tagKind = "letter"

[prime.cyrl-yeri.variants.corner]
rank = 1
description = "Cyrillic Lower Yeri (`ь`) with corner at bottom left"
selector."cyrl/yer"  = "corner"
selector."cyrl/yer.BGR"  = "round" # Bulgarian
selector."cyrl/yeri" = "corner"
selector."cyrl/yeri.BGR" = "round" # Bulgarian
selector."cyrl/nje/rightHalf"  = "corner"
selector."cyrl/lje"  = "corner"
selector."cyrl/tje/rightHalf" = "corner"

[prime.cyrl-yeri.variants.round]
rank = 2
description = "Cyrillic Lower Yeri (`ь`) with rounded shape"
selector."cyrl/yer"  = "round"
selector."cyrl/yer.BGR"  = "round"
selector."cyrl/yeri" = "round"
selector."cyrl/yeri.BGR" = "round"
selector."cyrl/nje/rightHalf"  = "round"
selector."cyrl/lje"  = "round"
selector."cyrl/tje/rightHalf" = "round"

[prime.cyrl-yeri.variants.cursive]
rank = 3
description = "Cyrillic Lower Yeri (`ь`) with cursive shape"
selector."cyrl/yer"  = "cursive"
selector."cyrl/yer.BGR"  = "cursive"
selector."cyrl/yeri" = "cursive"
selector."cyrl/yeri.BGR" = "cursive"
selector."cyrl/nje/rightHalf"  = "cursive"
selector."cyrl/lje"  = "cursive"
selector."cyrl/tje/rightHalf" = "cursive"



[prime.cyrl-capital-yery]
# No tags and sampler -- for style-driven variation

[prime.cyrl-capital-yery.variants.corner]
rank = 1
selector."cyrl/Yery" = "corner"
selector."cyrl/YeryBack" = "corner"
selector."cyrl/YuRev" = "straight"

[prime.cyrl-capital-yery.variants.round]
rank = 2
selector."cyrl/Yery" = "round"
selector."cyrl/YeryBack" = "round"
selector."cyrl/YuRev" = "straight"

[prime.cyrl-capital-yery.variants.cursive]
rank = 3
selector."cyrl/Yery" = "cursive"
selector."cyrl/YeryBack" = "cursive"
selector."cyrl/YuRev" = "straight"



[prime.cyrl-yery]
sampler = "ы"
samplerExplain = "Cyrillic Lower Yery"
tagKind = "letter"

[prime.cyrl-yery.variants.corner]
rank = 1
description = "Cyrillic Lower Yery (`ы`) with corner at bottom left"
selector."cyrl/yery" = "corner"
selector."cyrl/yeryBack" = "corner"
selector."cyrl/yuRev" = "straight"

[prime.cyrl-yery.variants.corner-tailed]
rank = 2
description = "Cyrillic Lower Yery (`ы`) with corner at bottom left and tail"
selector."cyrl/yery" = "cornerTailed"
selector."cyrl/yeryBack" = "cornerTailed"
selector."cyrl/yuRev" = "tailed"

[prime.cyrl-yery.variants.round]
rank = 3
description = "Cyrillic Lower Yery (`ы`) with rounded shape"
selector."cyrl/yery" = "round"
selector."cyrl/yeryBack" = "round"
selector."cyrl/yuRev" = "straight"

[prime.cyrl-yery.variants.round-tailed]
rank = 4
description = "Cyrillic Lower Yery (`ы`) with rounded shape and tail"
selector."cyrl/yery" = "roundTailed"
selector."cyrl/yeryBack" = "roundTailed"
selector."cyrl/yuRev" = "tailed"

[prime.cyrl-yery.variants.cursive]
rank = 5
description = "Cyrillic Lower Yery (`ы`) with cursive shape"
selector."cyrl/yery" = "cursive"
selector."cyrl/yeryBack" = "cursive"
selector."cyrl/yuRev" = "straight"

[prime.cyrl-yery.variants.cursive-tailed]
rank = 6
description = "Cyrillic Lower Yery (`ы`) with cursive shape and tail"
selector."cyrl/yery" = "cursiveTailed"
selector."cyrl/yeryBack" = "cursiveTailed"
selector."cyrl/yuRev" = "tailed"



[prime.cyrl-capital-e]
sampler = "Э"
samplerExplain = "Cyrillic Capital E (`Э`)"
tagKind = "letter"

[prime.cyrl-capital-e.variants.serifless]
rank = 1
description = "Serifless Cyrillic Capital E (`Э`)"
selector."cyrl/E" = "serifless"
selector."cyrl/ETopSerifOnly" = "serifless"
selector."cyrl/Ye" = "serifless"
selector."currency/euroSign" = "serifless"

[prime.cyrl-capital-e.variants.unilateral-serifed]
rank = 2
description = "Cyrillic Capital E (`Э`) with serif at top"
selector."cyrl/E" = "unilateralSerifed"
selector."cyrl/ETopSerifOnly" = "unilateralSerifed"
selector."cyrl/Ye" = "unilateralSerifed"
selector."currency/euroSign" = "unilateralSerifed"

[prime.cyrl-capital-e.variants.unilateral-bottom-serifed]
rank = 3
description = "Cyrillic Capital E (`Э`) with serif at bottom"
selector."cyrl/E" = "bottomSerifed"
selector."cyrl/ETopSerifOnly" = "serifless"
selector."cyrl/Ye" = "unilateralSerifed"
selector."currency/euroSign" = "unilateralSerifed"

[prime.cyrl-capital-e.variants.bilateral-serifed]
rank = 4
description = "Cyrillic Capital E (`Э`) with serifs at both top and bottom"
selector."cyrl/E" = "bilateralSerifed"
selector."cyrl/ETopSerifOnly" = "unilateralSerifed"
selector."cyrl/Ye" = "bilateralSerifed"
selector."currency/euroSign" = "bilateralSerifed"

[prime.cyrl-capital-e.variants.unilateral-inward-serifed]
rank = 5
description = "Cyrillic Capital E (`Э`) with inward serif at top"
selector."cyrl/E" = "unilateralInwardSerifed"
selector."cyrl/ETopSerifOnly" = "unilateralInwardSerifed"
selector."cyrl/Ye" = "unilateralInwardSerifed"
selector."currency/euroSign" = "unilateralInwardSerifed"

[prime.cyrl-capital-e.variants.unilateral-bottom-inward-serifed]
rank = 6
description = "Cyrillic Capital E (`Э`) with inward serif at bottom"
selector."cyrl/E" = "bottomInwardSerifed"
selector."cyrl/ETopSerifOnly" = "serifless"
selector."cyrl/Ye" = "unilateralInwardSerifed"
selector."currency/euroSign" = "unilateralInwardSerifed"

[prime.cyrl-capital-e.variants.bilateral-inward-serifed]
rank = 7
description = "Cyrillic Capital E (`Э`) with inward serif at both top and bottom"
selector."cyrl/E" = "bilateralInwardSerifed"
selector."cyrl/ETopSerifOnly" = "unilateralInwardSerifed"
selector."cyrl/Ye" = "bilateralInwardSerifed"
selector."currency/euroSign" = "bilateralInwardSerifed"



[prime.cyrl-e]
sampler = "э"
samplerExplain = "Cyrillic Lower E (`э`)"
tagKind = "letter"

[prime.cyrl-e.variants.serifless]
rank = 1
description = "Serifless Cyrillic Lower E (`э`)"
selector."cyrl/e" = "serifless"
selector."cyrl/eTopSerifOnly" = "serifless"
selector."cyrl/ye" = "serifless"

[prime.cyrl-e.variants.unilateral-serifed]
rank = 2
description = "Cyrillic Lower E (`э`) with serif at top"
selector."cyrl/e" = "unilateralSerifed"
selector."cyrl/eTopSerifOnly" = "unilateralSerifed"
selector."cyrl/ye" = "unilateralSerifed"

[prime.cyrl-e.variants.unilateral-bottom-serifed]
rank = 3
description = "Cyrillic Lower E (`э`) with serif at bottom"
selector."cyrl/e" = "bottomSerifed"
selector."cyrl/eTopSerifOnly" = "serifless"
selector."cyrl/ye" = "unilateralSerifed"

[prime.cyrl-e.variants.bilateral-serifed]
rank = 4
description = "Cyrillic Lower E (`э`) with serifs at both top and bottom"
selector."cyrl/e" = "bilateralSerifed"
selector."cyrl/eTopSerifOnly" = "unilateralSerifed"
selector."cyrl/ye" = "bilateralSerifed"

[prime.cyrl-e.variants.unilateral-inward-serifed]
rank = 5
description = "Cyrillic Lower E (`э`) with inward serif at top"
selector."cyrl/e" = "unilateralInwardSerifed"
selector."cyrl/eTopSerifOnly" = "unilateralInwardSerifed"
selector."cyrl/ye" = "unilateralInwardSerifed"

[prime.cyrl-e.variants.unilateral-bottom-inward-serifed]
rank = 6
description = "Cyrillic Lower E (`э`) with inward serif at bottom"
selector."cyrl/e" = "bottomInwardSerifed"
selector."cyrl/eTopSerifOnly" = "serifless"
selector."cyrl/ye" = "unilateralInwardSerifed"

[prime.cyrl-e.variants.bilateral-inward-serifed]
rank = 7
description = "Cyrillic Lower E (`э`) with inward serif at both top and bottom"
selector."cyrl/e" = "bilateralInwardSerifed"
selector."cyrl/eTopSerifOnly" = "unilateralInwardSerifed"
selector."cyrl/ye" = "bilateralInwardSerifed"



[prime.cyrl-capital-ya]
sampler = "Я"
samplerExplain = "Cyrillic Capital Ya"
tagKind = "letter"

[prime.cyrl-capital-ya.variants-buildup]
entry = "leg"
descriptionLeader = "Cyrillic Capital Ya (`Я`)"

[prime.cyrl-capital-ya.variants-buildup.stages.leg."*"]
next = "openness"

[prime.cyrl-capital-ya.variants-buildup.stages.leg.straight]
rank = 1
descriptionAffix = "straight leg"
selectorAffix."cyrl/Ya" = "straight"
selectorAffix."cyrl/Yae/left" = "straight"

[prime.cyrl-capital-ya.variants-buildup.stages.leg.curly]
rank = 2
descriptionAffix = "curly leg"
selectorAffix."cyrl/Ya" = "curly"
selectorAffix."cyrl/Yae/left" = "curly"

[prime.cyrl-capital-ya.variants-buildup.stages.leg.standing]
rank = 3
descriptionAffix = "standing leg (like Helvetica)"
selectorAffix."cyrl/Ya" = "standing"
selectorAffix."cyrl/Yae/left" = "standing"

[prime.cyrl-capital-ya.variants-buildup.stages.openness."*"]
next = "serifs"

[prime.cyrl-capital-ya.variants-buildup.stages.openness.closed]
rank = 1
keyAffix = ""
selectorAffix."cyrl/Ya" = ""
selectorAffix."cyrl/Yae/left" = ""

[prime.cyrl-capital-ya.variants-buildup.stages.openness.open]
rank = 2
descriptionAffix = "open contour"
selectorAffix."cyrl/Ya" = "open"
selectorAffix."cyrl/Yae/left" = "open"

[prime.cyrl-capital-ya.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/Ya" = "serifless"
selectorAffix."cyrl/Yae/left" = "serifless"

[prime.cyrl-capital-ya.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs at bottom-left"
selectorAffix."cyrl/Ya" = "bottomRightSerifed"
selectorAffix."cyrl/Yae/left" = "bottomRightSerifed"

[prime.cyrl-capital-ya.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix."cyrl/Ya" = "serifed"
selectorAffix."cyrl/Yae/left" = "bottomRightSerifed"



[prime.cyrl-ya]
sampler = "я"
samplerExplain = "Cyrillic Lower Ya"
tagKind = "letter"

[prime.cyrl-ya.variants-buildup]
entry = "leg"
descriptionLeader = "Cyrillic Lower Ya (`я`)"

[prime.cyrl-ya.variants-buildup.stages.leg."*"]
next = "openness"

[prime.cyrl-ya.variants-buildup.stages.leg.straight]
rank = 1
groupRank = 1
descriptionAffix = "straight leg"
selectorAffix."cyrl/ya" = "straight"
selectorAffix."cyrl/yae/left" = "straight"

[prime.cyrl-ya.variants-buildup.stages.leg.curly]
rank = 2
groupRank = 2
descriptionAffix = "curly leg"
selectorAffix."cyrl/ya" = "curly"
selectorAffix."cyrl/yae/left" = "curly"

[prime.cyrl-ya.variants-buildup.stages.leg.standing]
rank = 3
groupRank = 3
descriptionAffix = "standing leg (like Helvetica)"
selectorAffix."cyrl/ya" = "standing"
selectorAffix."cyrl/yae/left" = "standing"

[prime.cyrl-ya.variants-buildup.stages.openness."*"]
next = "tails"

[prime.cyrl-ya.variants-buildup.stages.openness.closed]
rank = 1
groupRrank = 10
keyAffix = ""
selectorAffix."cyrl/ya" = ""
selectorAffix."cyrl/yae/left" = ""

[prime.cyrl-ya.variants-buildup.stages.openness.open]
rank = 2
groupRrank = 20
descriptionAffix = "open contour"
selectorAffix."cyrl/ya" = "open"
selectorAffix."cyrl/yae/left" = "open"

[prime.cyrl-ya.variants-buildup.stages.tails."*"]
next = "serifs"

[prime.cyrl-ya.variants-buildup.stages.tails.tailless]
rank = 1
keyAffix = ""
selectorAffix."cyrl/ya" = ""
selectorAffix."cyrl/yae/left" = ""

[prime.cyrl-ya.variants-buildup.stages.tails.tailed]
rank = 2
descriptionAffix = "tail"
selectorAffix."cyrl/ya" = "tailed"
selectorAffix."cyrl/yae/left" = ""

[prime.cyrl-ya.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."cyrl/ya" = "serifless"
selectorAffix."cyrl/yae/left" = "serifless"

[prime.cyrl-ya.variants-buildup.stages.serifs.motion-serifed]
rank = 2
descriptionAffix = "motion serifs at bottom-left"
selectorAffix."cyrl/ya" = "bottomRightSerifed"
selectorAffix."cyrl/yae/left" = "bottomRightSerifed"

[prime.cyrl-ya.variants-buildup.stages.serifs.serifed]
rank = 3
descriptionAffix = "serifs"
selectorAffix."cyrl/ya" = "smallCyrl"
selectorAffix."cyrl/yae/left" = "bottomRightSerifed"



[prime.tittle]
sampler = "ij "
hotChars = "ij"
samplerExplain = "Dots in letters “i” and “j” in particular"
tagKind = "dot"

[prime.tittle.variants.round]
rank = 1
description = "Dots in `i`/`j` are round"
selector.tittle = "round"

[prime.tittle.variants.square]
rank = 2
description = "Dots in `i`/`j` are square"
selector.tittle = "square"



[prime.diacritic-dot]
sampler = "öẋ "
hotChars = "äöü"
samplerExplain = "Dot and Comma shape in diacritics"
tagKind = "dot"

[prime.diacritic-dot.variants.round]
rank = 1
description = "Dots and Commas in diacritics are round"
selector.diacriticDot = "round"

[prime.diacritic-dot.variants.square]
rank = 2
description = "Dots and Commas in diacritics are square"
selector.diacriticDot = "square"



[prime.punctuation-dot]
sampler = "., :;"
hotChars = ".,:;?!"
samplerExplain = "Dot and Comma shape in punctuations and symbols"
tagKind = "dot"

[prime.punctuation-dot.variants.round]
rank = 1
description = "Small punctuations (like `.`, `,`) use round dots"
selector.punctuationDot = "round"

[prime.punctuation-dot.variants.square]
rank = 2
description = "Small punctuations (like `.`, `,`) use square dots"
selector.punctuationDot = "square"



[prime.braille-dot]
sampler = "⣝⣑ "
hotChars = "⣝⣑"
samplerExplain = "Dot shape in braille"
tagKind = "dot"

[prime.braille-dot.variants.round]
rank = 1
description = "Braille uses round dots"
selector.brailleDot = "round"

[prime.braille-dot.variants.square]
rank = 2
description = "Braille uses square dots"
selector.brailleDot = "square"



[prime.tilde]
sampler = "~"
tagKind = "symbol"

[prime.tilde.variants.high]
rank = 1
description = "Higher tilde `~`"
selector.asciiTilde = "high"

[prime.tilde.variants.low]
rank = 2
description = "Lower tilde `~`"
selector.asciiTilde = "low"



[prime.asterisk]
sampler = "*"
tagKind = "symbol"

[prime.asterisk.variants-buildup]
entry = "body"
descriptionLeader = "Asterisk (`*`)"

[prime.asterisk.variants-buildup.stages.body."*"]
next = "position"

[prime.asterisk.variants-buildup.stages.body.penta]
rank = 1
groupRank = 1
descriptionAffix = "five-pointed shape"
selectorAffix.asterisk = "penta"
selectorAffix."asterisk/slashTop" = "penta"
selectorAffix."asterisk/sMid" = "penta"
selectorAffix."asterisk/slashBot" = "penta"
selectorAffix.opAsterisk = "penta"
selectorAffix.flower = ""

[prime.asterisk.variants-buildup.stages.body.turn-penta]
rank = 2
groupRank = 1
descriptionAffix = "turned five-pointed shape"
selectorAffix.asterisk = "turnPenta"
selectorAffix."asterisk/slashTop" = "turnPenta"
selectorAffix."asterisk/sMid" = "turnPenta"
selectorAffix."asterisk/slashBot" = "turnPenta"
selectorAffix.opAsterisk = "turnPenta"
selectorAffix.flower = ""

[prime.asterisk.variants-buildup.stages.body.hex]
rank = 3
groupRank = 2
descriptionAffix = "six-pointed shape"
selectorAffix.asterisk = "hex"
selectorAffix."asterisk/slashTop" = "hex"
selectorAffix."asterisk/sMid" = "hex"
selectorAffix."asterisk/slashBot" = "hex"
selectorAffix.opAsterisk = "hex"
selectorAffix.flower = ""

[prime.asterisk.variants-buildup.stages.body.turn-hex]
rank = 4
groupRank = 2
descriptionAffix = "turned six-pointed shape"
selectorAffix.asterisk = "turnHex"
selectorAffix."asterisk/slashTop" = "turnHex"
selectorAffix."asterisk/sMid" = "turnHex"
selectorAffix."asterisk/slashBot" = "turnHex"
selectorAffix.opAsterisk = "turnHex"
selectorAffix.flower = ""

[prime.asterisk.variants-buildup.stages.position.high]
rank = 1
descriptionAffix = "high position"
selectorAffix.asterisk = "high"
selectorAffix."asterisk/slashTop" = "ST"
selectorAffix."asterisk/sMid" = "SMid"
selectorAffix."asterisk/slashBot" = "SB"
selectorAffix.opAsterisk = ""
selectorAffix.flower = "high"

[prime.asterisk.variants-buildup.stages.position.mid]
rank = 2
descriptionAffix = "medium position"
selectorAffix.asterisk = "ST"
selectorAffix."asterisk/slashTop" = "ST"
selectorAffix."asterisk/sMid" = "SMid"
selectorAffix."asterisk/slashBot" = "SB"
selectorAffix.opAsterisk = ""
selectorAffix.flower = "ST"

[prime.asterisk.variants-buildup.stages.position.low]
rank = 3
descriptionAffix = "low position"
selectorAffix.asterisk = "SMid"
selectorAffix."asterisk/slashTop" = "ST"
selectorAffix."asterisk/sMid" = "SMid"
selectorAffix."asterisk/slashBot" = "SB"
selectorAffix.opAsterisk = ""
selectorAffix.flower = "sMid"



[prime.underscore]
sampler = "_"
tagKind = "symbol"

[prime.underscore.variants.above-baseline]
rank = 1
description = "Extra-high `_`, placed right above baseline"
selector.underscore = "aboveBaseline"

[prime.underscore.variants.high]
rank = 2
description = "Higher underscore `_`, placed right below baseline"
selector.underscore = "high"

[prime.underscore.variants.low]
rank = 3
description = "Lower underscore `_`, placed right above descender line"
selector.underscore = "low"



[prime.caret]
sampler = "^"
tagKind = "symbol"

[prime.caret.variants.high]
rank = 1
description = "Higher circumflex `^`"
selector.asciiCaret = "high"

[prime.caret.variants.medium]
rank = 2
description = "Medium circumflex `^`"
selector.asciiCaret = "medium"

[prime.caret.variants.low]
rank = 3
description = "Lower circumflex `^`"
selector.asciiCaret = "low"



[prime.ascii-grave]
sampler = "`"
tagKind = "symbol"

[prime.ascii-grave.variants.straight]
rank = 1
description = "Show ASCII grave (`` ` ``) as short diagonal straight bar."
selector.asciiGrave = "straight"

[prime.ascii-grave.variants.raised-inverse-comma]
rank = 2
description = "Show ASCII grave (`` ` ``) as raised comma."
selector.asciiGrave = "raisedInverseComma"

[prime.ascii-grave.variants.raised-turn-comma]
rank = 3
description = "Show ASCII grave (`` ` ``) as raised turned comma, identical to curly open single quote symbols (U+2018)."
selector.asciiGrave = "raisedTurnComma"



[prime.ascii-single-quote]
sampler = "'"
tagKind = "symbol"

[prime.ascii-single-quote.variants.straight]
rank = 1
description = 'Show ASCII quote (`"`) as short vertical straight bar.'
selector.asciiSingleQuote = "straight"

[prime.ascii-single-quote.variants.raised-comma]
rank = 2
description = 'Show ASCII quote (`"`) as raised comma.'
selector.asciiSingleQuote = "raisedComma"



[prime.paren]
sampler = "( )"
tagKind = "symbol"

[prime.paren.variants.normal]
rank = 1
description = "Parenthesis with normal contour"
selector.parenLeft = "normal"
selector.parenRight = "normal"

[prime.paren.variants.large-contour]
rank = 2
description = "Parenthesis with larger contour, like that in Monaco"
selector.parenLeft = "largeContour"
selector.parenRight = "largeContour"

[prime.paren.variants.flat-arc]
rank = 3
description = "Parenthesis with flat arc, like that in JetBrains Mono"
selector.parenLeft = "flatArc"
selector.parenRight = "flatArc"



[prime.brace]
sampler = "{ }"
tagKind = "symbol"

[prime.brace.variants.straight]
rank = 1
description = "More straight braces"
selector.braceLeft = "straight"
selector.braceRight = "straight"

[prime.brace.variants.curly]
rank = 2
description = "More curly braces"
selector.braceLeft = "curly"
selector.braceRight = "curly"

[prime.brace.variants.curly-flat-boundary]
rank = 3
description = "Curly braces with flat boundary shape"
selector.braceLeft = "curlyFlatBoundary"
selector.braceRight = "curlyFlatBoundary"



[prime.guillemet]
sampler = "« »"
samplerExplain = "Guillemets"
tagKind = "symbol"

[prime.guillemet.variants.straight]
rank = 1
description = "Straight Guillemets (`« »`)"
selector."guillemet" = "straight"

[prime.guillemet.variants.curly]
rank = 2
description = "Curly Guillemets (`« »`)"
selector."guillemet" = "curly"



[prime.number-sign]
sampler = "#"
tagKind = "symbol"

[prime.number-sign.variants.upright]
rank = 1
description = "Number sign with vertical bars"
selector.numberSign = "upright"
selector."numberSign/cap" = "upright"

[prime.number-sign.variants.slanted]
rank = 2
description = "Number sign with slanted bars"
selector.numberSign = "slanted"
selector."numberSign/cap" = "slanted"

[prime.number-sign.variants.upright-open]
rank = 3
description = "Number sign with vertical bars and open inner"
selector.numberSign = "uprightOpen"
selector."numberSign/cap" = "uprightOpen"

[prime.number-sign.variants.slanted-open]
rank = 4
description = "Number sign with slanted bars and open inner"
selector.numberSign = "slantedOpen"
selector."numberSign/cap" = "slantedOpen"

[prime.number-sign.variants.upright-tall]
rank = 5
description = "Number sign with vertical bars and taller than digits"
selector.numberSign = "uprightTall"
selector."numberSign/cap" = "upright"

[prime.number-sign.variants.slanted-tall]
rank = 6
description = "Number sign with slanted bars and taller than digits"
selector.numberSign = "slantedTall"
selector."numberSign/cap" = "slanted"

[prime.number-sign.variants.upright-open-tall]
rank = 7
description = "Number sign with vertical bars, open inner, and taller than digits"
selector.numberSign = "uprightOpenTall"
selector."numberSign/cap" = "uprightOpen"

[prime.number-sign.variants.slanted-open-tall]
rank = 8
description = "Number sign with slanted bars, open inner, and taller than digits"
selector.numberSign = "slantedOpenTall"
selector."numberSign/cap" = "slantedOpen"



[prime.ampersand]
sampler = "&"
tagKind = "symbol"

[prime.ampersand.variants.closed]
rank = 1
description = "Ampersand (`&`) with a closed contour"
selector.ampersand = "closed"

[prime.ampersand.variants.upper-open]
rank = 2
description = "Ampersand (`&`) with an open contour at upper half"
selector.ampersand = "upperOpen"

[prime.ampersand.variants.lower-open]
rank = 3
description = "Ampersand (`&`) with an open contour at lower half"
selector.ampersand = "lowerOpen"

[prime.ampersand.variants.flat-top]
rank = 4
description = "Ampersand (`&`) drawn with a flat top"
selector.ampersand = "flatTop"

[prime.ampersand.variants.et-toothed]
rank = 5
description = "Ampersand (`&`) drawn like a ligature of Ɛ and t with tooth"
selector.ampersand = "etToothed"

[prime.ampersand.variants.et-toothless-corner]
rank = 6
description = "Ampersand (`&`) drawn like a ligature of Ɛ and t without tooth (corner)"
selector.ampersand = "etToothlessCorner"

[prime.ampersand.variants.et-toothless-rounded]
rank = 7
description = "Ampersand (`&`) drawn like a ligature of Ɛ and t without tooth (rounded)"
selector.ampersand = "etToothlessRounded"

[prime.ampersand.variants.et-tailed]
rank = 8
description = "Ampersand (`&`) drawn like a ligature of Ɛ and t with tail"
selector.ampersand = "etTailed"



[prime.at]
sampler = "@"
tagKind = "symbol"

[prime.at.variants-buildup]
entry = "folds"
descriptionLeader = "At symbol (`@`)"

[prime.at.variants-buildup.stages.folds."*"]
next = "inner"

[prime.at.variants-buildup.stages.folds.threefold]
rank = 1
descriptionAffix = "three-fold body"
selectorAffix.at = "threefold"

[prime.at.variants-buildup.stages.folds.fourfold]
rank = 2
descriptionAffix = "four-fold body"
selectorAffix.at = "fourfold"

[prime.at.variants-buildup.stages.folds.compact]
rank = 3
next = "END"
descriptionAffix = "compact body"
selectorAffix.at = "compact"

[prime.at.variants-buildup.stages.inner."*"]
next = "height"

[prime.at.variants-buildup.stages.inner.open]
rank = 1
keyAffix = ""
selectorAffix.at = ""

[prime.at.variants-buildup.stages.inner.solid-inner]
rank = 2
descriptionAffix = "solid inner"
selectorAffix.at = "solidInner"

[prime.at.variants-buildup.stages.height.normal]
rank = 1
keyAffix = ""
selectorAffix.at = ""

[prime.at.variants-buildup.stages.height.tall]
rank = 2
descriptionAffix = "tall height"
selectorAffix.at = "tall"



[prime.dollar]
sampler = "$"
tagKind = "symbol"

[prime.dollar.variants-buildup]
entry = "height"
descriptionLeader = "Dollar symbol (`$`)"

[prime.dollar.variants-buildup.stages.height."*"]
next = "shape"

[prime.dollar.variants-buildup.stages.height.normal]
rank = 1
keyAffix = ""
descriptionAffix = "normal height"
selectorAffix.dollar = ""

[prime.dollar.variants-buildup.stages.height.cap]
rank = 2
descriptionAffix = "cap height"
selectorAffix.dollar = "cap"

[prime.dollar.variants-buildup.stages.shape."*"]
next = "bar-slope"
mode = "prepend"

[prime.dollar.variants-buildup.stages.shape.open]
rank = 1
descriptionAffix = "open contour"
selectorAffix.dollar = "open"

[prime.dollar.variants-buildup.stages.shape.through]
rank = 2
descriptionAffix = "strike-through vertical bar"
selectorAffix.dollar = "through"

[prime.dollar.variants-buildup.stages.shape.interrupted]
rank = 3
descriptionAffix = "interrupted strike-through vertical bar"
selectorAffix.dollar = "interrupted"

[prime.dollar.variants-buildup.stages.bar-slope."*"]
mode = "prepend"

[prime.dollar.variants-buildup.stages.bar-slope.vertical]
rank = 1
keyAffix = ""
descriptionAffix = "vertical bar"
selectorAffix.dollar = ""

[prime.dollar.variants-buildup.stages.bar-slope.slanted]
rank = 2
descriptionAffix = "slanted bar"
selectorAffix.dollar = "slanted"


[prime.cent]
sampler = "¢"
tagKind = "symbol"

[prime.cent.variants-buildup]
entry = "height"
descriptionLeader = "Cent sign (`¢`)"

[prime.cent.variants-buildup.stages.height."*"]
next = "shape"

[prime.cent.variants-buildup.stages.height.normal]
rank = 1
keyAffix = ""
descriptionAffix = "normal height"
selectorAffix.cent = ""

[prime.cent.variants-buildup.stages.height.cap]
rank = 2
descriptionAffix = "cap height"
selectorAffix.cent = "cap"

[prime.cent.variants-buildup.stages.shape."*"]
mode = "prepend"
next = "bar-slope"

[prime.cent.variants-buildup.stages.shape.open]
rank = 1
descriptionAffix = "open contour"
selectorAffix.cent = "open"

[prime.cent.variants-buildup.stages.shape.through]
rank = 2
descriptionAffix = "vertical bar all through the `c` part"
selectorAffix.cent = "through"

[prime.cent.variants-buildup.stages.shape.bar-interrupted]
rank = 3
descriptionAffix = "vertical bar breaks at center"
selectorAffix.cent = "interrupted"

[prime.cent.variants-buildup.stages.bar-slope."*"]
mode = "prepend"

[prime.cent.variants-buildup.stages.bar-slope.vertical]
rank = 1
keyAffix = ""
descriptionAffix = "vertical bar"
selectorAffix.cent = ""

[prime.cent.variants-buildup.stages.bar-slope.slanted]
rank = 2
descriptionAffix = "slanted bar"
selectorAffix.cent = "slanted"



[prime.percent]
sampler = "%"
tagKind = "symbol"

[prime.percent.variants.dots]
rank = 1
description = "Percent `%` with rectangular dots"
selector.percent = "dots"
selector."permille.NWID" = "dots"
selector."permille.WWID" = "ringsContinuousSlash"

[prime.percent.variants.rings-segmented-slash]
rank = 2
description = "Percent `%` with rings and segmented slash"
selector.percent = "ringsSegmentedSlash"
selector."permille.NWID" = "ringsContinuousSlash"
selector."permille.WWID" = "ringsContinuousSlash"

[prime.percent.variants.rings-continuous-slash]
rank = 3
description = "Percent `%` with rings and continuous bar"
selector.percent = "ringsContinuousSlash"
selector."permille.NWID" = "ringsContinuousSlash"
selector."permille.WWID" = "ringsContinuousSlash"

[prime.percent.variants.rings-continuous-slash-also-connected]
rank = 4
description = "Percent `%` with rings and continuous bar and the slash in `%` is also connected to the top-left ring"
selector.percent = "ringsContinuousSlashAlsoConnected"
selector."permille.NWID" = "ringsContinuousSlash"
selector."permille.WWID" = "ringsContinuousSlashAlsoConnected"



[prime.bar]
sampler = "| ¦"
tagKind = "symbol"
slopeDependent = true

[prime.bar.variants.natural-slope]
rank = 1
description = "Bar punctuations (`|`) has a natural slope under italics and oblique"
selector."bar.slanted" = "naturalSlope"

[prime.bar.variants.force-upright]
rank = 2
description = "Bar punctuations (`|`) is forced upright under italics and oblique"
selector."bar.slanted" = "forceUpright"



[prime.question]
sampler = "?"
tagKind = "symbol"

[prime.question.variants.smooth]
rank = 1
description = "Smooth question mark (`?`)"
selector.question = "smooth"

[prime.question.variants.corner]
rank = 2
description = "Question mark (`?`) with a corner at middle"
selector.question = "corner"

[prime.question.variants.corner-flat-hooked]
rank = 3
description = "Question mark (`?`) with a corner at middle and flat hook"
selector.question = "cornerFlatHooked"



[prime.pilcrow]
sampler = "¶"
tagKind = "symbol"

[prime.pilcrow.variants.high]
rank = 1
description = "Higher pilcrow sign `¶`"
selector.pilcrow = "high"
selector.revPilcrow = "high"

[prime.pilcrow.variants.low]
rank = 2
description = "Lower pilcrow sign `¶`"
selector.pilcrow = "low"
selector.revPilcrow = "low"

[prime.pilcrow.variants.curved]
rank = 3
description = "Curved pilcrow sign `¶`"
selector.pilcrow = "curved"
selector.revPilcrow = "curved"



[prime.micro-sign]
sampler = "µ"
samplerExplain = "Micro sign"
tagKind = "symbol"

[prime.micro-sign.variants-buildup]
entry = "body"
descriptionLeader = "Micro Sign (`µ`)"

[prime.micro-sign.variants-buildup.stages.body."*"]
next = "serifs"

[prime.micro-sign.variants-buildup.stages.body.toothed]
rank = 1
descriptionAffix = "toothed shape"
selectorAffix."micro" = "toothed"

[prime.micro-sign.variants-buildup.stages.body.tailed]
rank = 2
descriptionAffix = "tailed shape"
selectorAffix."micro" = "tailed"

[prime.micro-sign.variants-buildup.stages.body.toothless-corner]
rank = 3
descriptionAffix = "toothless (corner bottom-right) shape"
selectorAffix."micro" = "toothlessCorner"

[prime.micro-sign.variants-buildup.stages.body.toothless-rounded]
rank = 4
descriptionAffix = "toothless (rounded) shape"
selectorAffix."micro" = "toothlessRounded"

[prime.micro-sign.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionAffix = "serifs"
descriptionJoiner = "without"
selectorAffix."micro" = "serifless"

[prime.micro-sign.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 2
disableIf = [{ body = "NOT toothed" }]
descriptionAffix = "serif at bottom-right"
selectorAffix."micro" = "bottomRightSerifed"

[prime.micro-sign.variants-buildup.stages.serifs.motion-serifed]
rank = 3
descriptionAffix = "motion serifs at top-left and bottom-right"
selectorAffix."micro" = "motionSerifed"

[prime.micro-sign.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix."micro" = "serifed"



[prime.decorative-angle-brackets]
sampler = "❮ ❯"
samplerExplain = "Decorative angle brackets (U+276C...U+2771)"
tagKind = "symbol"

[prime.decorative-angle-brackets.variants.tall]
rank = 1
description = "Tall decorative angle brackets, sharing same height as conventional brackets"
selector."decorativeAngleBracket" = "tall"

[prime.decorative-angle-brackets.variants.middle]
rank = 2
description = "Middle-height decorative angle brackets"
selector."decorativeAngleBracket" = "middle"

[prime.decorative-angle-brackets.variants.short]
rank = 3
description = "Short decorative angle brackets, sharing same height as guillemts"
selector."decorativeAngleBracket" = "short"



[prime.lig-ltgteq]
sampler = "<= >="
samplerExplain = "Less-equal and Greater-equal ligations"
tagKind = "ligature"

[prime.lig-ltgteq.variants.flat]
rank = 1
description = "The lower bar of `<=` and `>=` ligation is flat"
selector."eq.at-lteq.lig2" = "flat"
selector."eq.at-gteq.lig2" = "flat"

[prime.lig-ltgteq.variants.slanted]
rank = 2
description = "The lower bar of `<=` and `>=` ligation is slanted"
selector."eq.at-lteq.lig2" = "slanted"
selector."eq.at-gteq.lig2" = "slanted"



[prime.lig-neq]
sampler = "!= "
samplerExplain = "Not-equal ligations"
tagKind = "ligature"

[prime.lig-neq.variants.vertical]
rank = 1
description = "The bar in inequality (`!=`, etc.) ligation is vertical"
selector."neq.allow-dot" = "vertical"
selector."neq.bar-only"  = "vertical"

[prime.lig-neq.variants.slightly-slanted]
rank = 2
description = "The bar in inequality (`!=`, etc.) ligation is slightly slanted"
selector."neq.allow-dot" = "slightlySlanted"
selector."neq.bar-only"  = "slightlySlanted"

[prime.lig-neq.variants.more-slanted]
rank = 3
description = "The bar in inequality (`!=`, etc.) ligation is more slanted"
selector."neq.allow-dot" = "moreSlanted"
selector."neq.bar-only"  = "moreSlanted"

[prime.lig-neq.variants.vertical-dotted]
rank = 4
description = "The bar in inequality (`!=`, etc.) ligation is vertical, and with a dot at bottom for ligations built from exclamation sign (`!`)"
selector."neq.allow-dot" = "verticalDotted"
selector."neq.bar-only"  = "vertical"

[prime.lig-neq.variants.slightly-slanted-dotted]
rank = 5
description = "The bar in inequality (`!=`, etc.) ligation is slightly slanted, and with a dot at bottom for ligations built from exclamation sign (`!`)"
selector."neq.allow-dot" = "slightlySlantedDotted"
selector."neq.bar-only"  = "slightlySlanted"

[prime.lig-neq.variants.more-slanted-dotted]
rank = 6
description = "The bar in inequality (`!=`, etc.) ligation is more slanted, and with a dot at bottom for ligations built from exclamation sign (`!`)"
selector."neq.allow-dot" = "moreSlantedDotted"
selector."neq.bar-only"  = "moreSlanted"



[prime.lig-equal-chain]
sampler = "== "
samplerExplain = "Equality ligations"
tagKind = "ligature"

[prime.lig-equal-chain.variants.with-notch]
rank = 1
description = "The bars in equality (`==`, etc.) ligation have notches in the middle"
selector."lig-equal" = "withNotch"
selector."lig-ident"  = "withNotch"

[prime.lig-equal-chain.variants.without-notch]
rank = 2
description = "The bars in equality (`==`, etc.) ligation do not have notches in the middle"
selector."lig-equal" = "withoutNotch"
selector."lig-ident"  = "withoutNotch"



[prime.lig-hyphen-chain]
sampler = "-- "
samplerExplain = "Hyphen-minus ligations"
tagKind = "ligature"

[prime.lig-hyphen-chain.variants.with-notch]
rank = 1
description = "The bars in connected hyphen-minus (`--`, etc.) ligation have notches in the middle"
selector."lig-hyphen" = "withNotch"

[prime.lig-hyphen-chain.variants.without-notch]
rank = 2
description = "The bars in connected hyphen-minus (`--`, etc.) ligation do not have notches in the middle"
selector."lig-hyphen" = "withoutNotch"



[prime.lig-plus-chain]
sampler = "++ "
samplerExplain = "Plus ligations"
tagKind = "ligature"

[prime.lig-plus-chain.variants.with-notch]
rank = 1
description = "The bars in connected plus (`++`, etc.) ligation have notches in the middle"
selector."lig-plus" = "withNotch"
selector."lig-arrowBar-plus" = "withNotch"

[prime.lig-plus-chain.variants.without-notch]
rank = 2
description = "The bars in connected plus (`++`, etc.) ligation do not have notches in the middle"
selector."lig-plus" = "withoutNotch"
selector."lig-arrowBar-plus" = "withoutNotch"



[prime.lig-double-arrow-bar]
sampler = "=> "
samplerExplain = "Double arrow ligation"
tagKind = "ligature"

[prime.lig-double-arrow-bar.variants.with-notch]
rank = 1
description = "The bars in double arrow (`=>`, etc.) ligation have notches in the middle"
selector."lig-arrowBar-equal" = "withNotch"
selector."lig-arrowBar-ident" = "withNotch"

[prime.lig-double-arrow-bar.variants.without-notch]
rank = 2
description = "The bars in double arrow (`=>`, etc.) ligation do not have notches in the middle"
selector."lig-arrowBar-equal" = "withoutNotch"
selector."lig-arrowBar-ident" = "withoutNotch"



[prime.lig-single-arrow-bar]
sampler = "-> "
samplerExplain = "Single arrow ligation"
tagKind = "ligature"

[prime.lig-single-arrow-bar.variants.with-notch]
rank = 1
description = "The bars in single arrow (`=>`, etc.) ligation have notches in the middle"
selector."lig-arrowBar-hyphen" = "withNotch"

[prime.lig-single-arrow-bar.variants.without-notch]
rank = 2
description = "The bars in single arrow (`=>`, etc.) ligation do not have notches in the middle"
selector."lig-arrowBar-hyphen" = "withoutNotch"



# This is a special variant selector that controls digit form
[prime.digit-form]
isSpecial = true
hotChars = "0123456789"
description = "Default digit form"

[prime.digit-form.variants.lining]
selector.__defaultDigitForm = "lining"
description = "Lining (default)"
snapshotFeatureApplication = { 'lnum' = 1 }

[prime.digit-form.variants.old-style]
selector.__defaultDigitForm = "oldStyle"
description = "Old-style"
snapshotFeatureApplication = { 'onum' = 1 }

# This is a special variant selector that controls APL form
[prime.apl-form]
isSpecial = true
hotChars = "∆∇∊○←→↑↓"
description = "APL form"

[prime.apl-form.variants.none]
selector.__enableAplForm = "none"
description = "Disable APL-specific forms (default)"
snapshotFeatureApplication = { }

[prime.apl-form.variants.enable]
selector.__enableAplForm = "enable"
description = "Enable harmonized alternate forms APL operators"
snapshotFeatureApplication = { "APLF" = 1 }

###################################################################################################

[default.design]
# Capitals
capital-a = "straight-serifless"
capital-b = "standard-serifless"
capital-c = "serifless"
capital-d = "standard-serifless"
capital-e = "serifless"
capital-f = "serifless"
capital-g = "toothed-serifless-hooked"
capital-h = "serifless"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "straight-serifless"
capital-l = "serifless"
capital-m = "hanging-serifless"
capital-n = "standard-serifless"
capital-p = "closed-serifless"
capital-q = "curly-tailed"
capital-r = "straight-serifless"
capital-s = "serifless"
capital-t = "serifless"
capital-u = "toothless-rounded-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
capital-x = "straight-serifless"
capital-y = "straight-serifless"
capital-z = "straight-serifless"
# Lowers
a = "double-storey-serifless"
b = "toothed-serifless"
c = "serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless"
g = "single-storey-serifless"
i = "serifed"
j = "serifed"
k = "straight-serifless"
l = "serifed"
p = "eared-serifless"
q = "straight-serifless"
r = "serifless"
s = "serifless"
t = "bent-hook"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
x = "straight-serifless"
y = "straight-serifless"
z = "straight-serifless"
# Latin ext.
capital-eszet = "flat-top-serifless"
long-s = "bent-hook-serifless"
eszet = "sulzbacher-serifless"
lower-eth = "curly-bar"
capital-thorn = "serifless"
lower-thorn = "serifless"
# Non-latin
lower-alpha = "crossing"
lower-beta = "standard"
capital-gamma = "serifless"
lower-gamma = "casual"
capital-delta = "straight"
lower-delta = "rounded"
lower-eta = "serifless"
lower-theta = "oval"
lower-iota = "serifed-semi-tailed"
lower-kappa = "straight-serifless"
capital-lambda = "straight-serifless"
lower-lambda = "straight"
lower-mu = "tailed-serifless"
lower-nu = "casual"
lower-xi = "flat-top"
lower-pi = "tailed"
lower-tau = "semi-tailed"
lower-upsilon = "casual-serifless"
lower-phi = "cursive"
lower-chi = "straight-serifless"
lower-psi = "serifless"
partial-derivative = "curly-bar"
cyrl-a = "double-storey-serifless"
cyrl-ve = "standard-serifless"
cyrl-capital-zhe = "symmetric-connected"
cyrl-zhe = "symmetric-connected"
cyrl-capital-ze = "serifless"
cyrl-ze = "serifless"
cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-serifless"
cyrl-el = "straight"
cyrl-em = "flat-bottom-serifless"
cyrl-capital-en = "serifless"
cyrl-en = "serifless"
cyrl-capital-er = "closed-serifless"
cyrl-er = "eared-serifless"
cyrl-capital-u = "straight-serifless"
cyrl-u = "straight-serifless"
cyrl-ef = "serifless"
cyrl-che = "standard"
cyrl-capital-yeri = "corner"
cyrl-yeri = "corner"
cyrl-capital-yery = "corner"
cyrl-yery = "corner"
cyrl-capital-e = "serifless"
cyrl-e = "serifless"
cyrl-capital-ya = "straight-serifless"
cyrl-ya = "straight-serifless"
# Digits
zero = "slashed"
one = "no-base"
two = "curly-neck-serifless"
three = "two-arcs"
four = "semi-open-serifless"
five = "upright-arched-serifless"
six = "straight-bar"
seven = "straight-serifless"
eight = "crossing"
nine = "straight-bar"
# Dots
tittle = "round"
punctuation-dot = "round"
diacritic-dot = "round"
braille-dot = "round"
# Symbols
tilde = "low"
asterisk = "penta-high"
underscore = "high"
caret = "medium"
ascii-grave = "straight"
ascii-single-quote = "straight"
paren = "normal"
brace = "curly"
guillemet = "curly"
number-sign = "upright"
ampersand = "closed"
at = "threefold"
dollar = "through"
cent = "through"
percent = "rings-segmented-slash"
bar = "natural-slope"
question = "smooth"
pilcrow = "high"
micro-sign = "toothed-serifless"
decorative-angle-brackets = "middle"
lig-ltgteq = "flat"
lig-neq = "slightly-slanted"
lig-equal-chain = "with-notch"
lig-hyphen-chain = "with-notch"
lig-plus-chain = "without-notch"
lig-double-arrow-bar = 'without-notch'
lig-single-arrow-bar = 'without-notch'
# m, n, h has tailed variant, but not very ideal
# Do not make them default
h = "straight-serifless"
m = "serifless"
n = "straight-serifless"
# Digit form
digit-form = "lining"

[default.italic]
a = "single-storey-tailed"
d = "tailed-serifless"
e = "rounded"
f = "flat-hook-tailed"
i = "tailed-serifed"
k = "cursive-serifless"
l = "tailed-serifed"
u = "tailed-serifless"
y = "cursive-serifless"
long-s = "flat-hook-tailed"
eszet = "sulzbacher-tailed-serifless"
lower-iota = "tailed-serifed"
lower-tau = "tailed"
cyrl-a = "single-storey-tailed"
cyrl-ve = "cursive"
cyrl-u = "cursive-serifless"
cyrl-ef = "cursive"
cyrl-yeri = "round"
cyrl-yery = "round"
micro-sign = "tailed-serifless"

###################################################################################################

[composite.slab.design]
capital-a = "straight-base-serifed"
capital-b = "standard-bilateral-serifed"
capital-c = "unilateral-serifed"
capital-d = "standard-bilateral-serifed"
capital-e = "serifed"
capital-f = "serifed"
capital-g = "toothed-serifed-hooked"
capital-h = "serifed"
capital-k = "straight-serifed"
capital-l = "serifed"
capital-m = "hanging-serifed"
capital-n = "standard-serifed"
capital-p = "closed-serifed"
capital-r = "straight-serifed"
capital-s = "bilateral-serifed"
capital-t = "serifed"
capital-u = "toothless-rounded-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
capital-x = "straight-serifed"
capital-y = "straight-serifed"
capital-z = "straight-serifed"
a = "double-storey-serifed"
b = "toothed-serifed"
c = "unilateral-serifed"
d = "toothed-serifed"
f = "serifed"
g = "single-storey-serifed"
h = "straight-serifed"
k = "straight-serifed"
m = "serifed"
n = "straight-serifed"
p = "eared-serifed"
q = "straight-serifed"
r = "serifed"
s = "bilateral-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
capital-eszet = "flat-top-serifed"
long-s = "bent-hook-bottom-serifed"
eszet = "sulzbacher-bottom-serifed"
capital-thorn = "serifed"
lower-thorn = "serifed"
capital-gamma = "serifed"
lower-eta = "motion-serifed"
lower-kappa = "straight-tri-serifed"
capital-lambda = "straight-base-serifed"
lower-lambda = "straight-turn"
lower-mu = "tailed-serifed"
lower-upsilon = "casual-serifed"
lower-chi = "straight-bilateral-motion-serifed"
lower-psi = "serifed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-capital-ze = "unilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-capital-ka = "symmetric-connected-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-em = "flat-bottom-serifed"
cyrl-capital-en = "serifed"
cyrl-en = "serifed"
cyrl-capital-er = "closed-serifed"
cyrl-er = "eared-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "serifed"
cyrl-capital-e = "unilateral-serifed"
cyrl-e = "unilateral-serifed"
cyrl-capital-ya = "straight-serifed"
cyrl-ya = "straight-serifed"
one = "base"
two = "curly-neck-serifed"
four = "semi-open-serifed"
five = "upright-arched-serifed"
seven = "straight-serifed"
micro-sign = "toothed-serifed"

[composite.slab.italic]
a = "single-storey-tailed"
b = "toothed-motion-serifed"
c = "unilateral-inward-serifed"
d = "tailed-serifed"
f = "flat-hook-tailed"
g = "single-storey-serifless"
h = "straight-motion-serifed"
k = "diagonal-tailed-cursive-top-left-serifed"
m = "top-left-and-bottom-right-serifed"
n = "straight-motion-serifed"
q = "straight-bottom-serifed"
r = "top-serifed"
s = "bilateral-inward-serifed"
u = "tailed-motion-serifed"
v = "straight-motion-serifed"
w = "straight-motion-serifed"
x = "cursive"
y = "cursive-motion-serifed"
z = "cursive"
long-s = "flat-hook-tailed"
eszet = "sulzbacher-tailed-serifless"
lower-kappa = "straight-top-left-serifed"
lower-mu = "tailed-motion-serifed"
cyrl-a = "single-storey-tailed"
cyrl-ve = "cursive"
cyrl-ze = "unilateral-bottom-inward-serifed"
cyrl-ka = "symmetric-connected-top-left-serifed"
cyrl-en = "top-left-bottom-right-serifed"
cyrl-u = "cursive-motion-serifed"
cyrl-ef = "cursive"
cyrl-yeri = "cursive"
cyrl-yery = "cursive"
cyrl-e = "unilateral-bottom-inward-serifed"
micro-sign = "tailed-motion-serifed"



[composite.ss01]
tag = "ss01"
description = "Andale Mono Style"

[composite.ss01.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-i = "short-serifed"
capital-j = "serifless"
capital-m = "hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "flat-hook-serifless-crossbar-at-x-height"
g = "double-storey"
i = "hooky"
j = "serifed"
k = "straight-serifless"
l = "zshaped"
r = "serifless"
t = "bent-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
long-s = "flat-hook-middle-serifed-xh"
eszet = "longs-s-lig-serifless"
lower-eth = "straight-bar"
lower-gamma = "straight"
lower-iota = "tailed"
lower-lambda = "tailed-turn"
lower-mu = "toothed-serifless"
lower-nu = "straight"
lower-pi = "tailless"
lower-tau = "tailless"
lower-phi = "straight"
lower-chi = "semi-chancery-straight-serifless"
partial-derivative = "closed-contour"
cyrl-a = "double-storey-serifless"
cyrl-ve = "standard-serifless"
cyrl-capital-zhe = "straight"
cyrl-zhe = "straight"
cyrl-capital-ka = "straight-serifless"
cyrl-ka = "straight-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "split-serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "dotted"
one = "base"
two = "straight-neck-serifless"
four = "closed-serifless"
six = "closed-contour"
seven = "straight-serifless"
nine = "closed-contour"
asterisk = "hex-mid"
underscore = "low"
brace = "straight"
guillemet = "straight"
number-sign = "slanted"
at = "fourfold"
percent = "rings-continuous-slash"
pilcrow = "low"
micro-sign = "toothed-serifless"

[composite.ss01.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-j = "serifed-symmetric"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
a = "double-storey-serifed"
b = "toothed-serifed"
c = "unilateral-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed-crossbar-at-x-height"
h = "straight-serifed"
i = "zshaped"
k = "straight-serifed"
m = "serifed"
n = "straight-serifed"
q = "straight-serifed"
r = "serifed"
s = "bilateral-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
long-s = "flat-hook-double-serifed-xh"
eszet = "longs-s-lig-bottom-serifed"
lower-iota = "tailed-serifed"
lower-kappa = "straight-tri-serifed"
lower-mu = "toothed-serifed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-capital-ka = "straight-serifed"
cyrl-ka = "straight-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "split-serifed"
cyrl-e = "unilateral-serifed"
two = "straight-neck-serifed"
four = "closed-serifed"
seven = "straight-serifed"
micro-sign = "toothed-serifed"



[composite.ss02]
tag = "ss02"
description = "Anonymous Pro Style"

[composite.ss02.design]
capital-c = "unilateral-serifed"
capital-d = "more-rounded-serifless"
capital-g = "toothless-rounded-serifed-hooked"
capital-i = "short-serifed"
capital-j = "serifless"
capital-m = "hanging-serifless"
capital-s = "bilateral-serifed"
capital-t = "serifed"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
capital-x = "straight-serifed"
capital-y = "straight-serifed"
capital-z = "straight-serifed"
a = "double-storey-serifless"
c = "unilateral-serifed"
d = "toothed-top-serifed"
e = "flat-crossbar"
f = "flat-hook-serifed-crossbar-at-x-height"
i = "serifed"
j = "serifed"
k = "straight-serifless"
l = "serifed"
r = "serifed"
t = "bent-hook"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-flat-top-serifless"
x = "straight-serifed"
y = "straight-turn-serifless"
z = "straight-serifed"
long-s = "flat-hook-double-serifed-xh"
eszet = "longs-s-lig-serifless"
lower-eth = "straight-bar"
lower-eta = "motion-serifed"
lower-iota = "serifed-flat-tailed"
lower-lambda = "straight-turn"
lower-xi = "rounded"
lower-tau = "short-tailed"
partial-derivative = "straight-bar"
cyrl-a = "double-storey-serifless"
cyrl-ve = "standard-serifless"
cyrl-capital-zhe = "straight"
cyrl-zhe = "straight"
cyrl-capital-ze = "unilateral-serifed"
cyrl-capital-ka = "straight-serifless"
cyrl-ka = "straight-serifless"
cyrl-em = "hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "split-serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
cyrl-capital-e = "unilateral-serifed"
one = "base"
two = "straight-neck-serifed"
four = "closed-serifed"
six = "closed-contour"
seven = "bend-serifed"
eight = "two-circles"
nine = "closed-contour"
tittle = "square"
punctuation-dot = "square"
diacritic-dot = "square"
asterisk = "hex-low"
brace = "straight"
guillemet = "straight"
number-sign = "upright"
at = "fourfold"
cent = "through-cap"
percent = "rings-continuous-slash"
micro-sign = "toothed-serifless"

[composite.ss02.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-j = "serifed-symmetric"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
a = "double-storey-serifed"
b = "toothed-serifed"
d = "toothed-serifed"
g = "single-storey-serifed"
h = "straight-serifed"
k = "straight-serifed"
m = "serifed"
n = "straight-serifed"
q = "straight-serifed"
s = "bilateral-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-flat-top-serifed"
y = "straight-turn-serifed"
eszet = "longs-s-lig-bottom-serifed"
lower-kappa = "straight-tri-serifed"
lower-mu = "tailed-serifed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-capital-ka = "straight-serifed"
cyrl-ka = "straight-serifed"
cyrl-em = "hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "split-serifed"
cyrl-e = "unilateral-serifed"
micro-sign = "toothed-serifed"



[composite.ss03]
tag = "ss03"
description = "Consolas Style"

[composite.ss03.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "symmetric-touching-serifless"
capital-m = "slanted-sides-hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-serifless"
b = "toothless-corner-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "flat-hook-serifless"
g = "double-storey"
i = "serifed"
j = "serifed"
k = "symmetric-touching-serifless"
l = "serifed"
q = "top-cut-straight-serifless"
r = "serifless"
t = "bent-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
capital-eszet = "rounded-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig-serifless"
lower-eth = "straight-bar"
lower-beta = "standard"
lower-theta = "oval"
lower-kappa = "symmetric-touching-serifless"
lower-lambda = "tailed-turn"
lower-phi = "straight"
lower-chi = "semi-chancery-straight-serifless"
partial-derivative = "closed-contour"
cyrl-a = "double-storey-serifless"
cyrl-ve = "standard-serifless"
cyrl-capital-zhe = "symmetric-touching"
cyrl-zhe = "symmetric-touching"
cyrl-capital-ka = "symmetric-touching-serifless"
cyrl-ka = "symmetric-touching-serifless"
cyrl-em = "slanted-sides-hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "serifless"
one = "base"
two = "straight-neck-serifless"
four = "closed-serifless"
six = "closed-contour"
seven = "straight-serifless"
nine = "closed-contour"
asterisk = "hex-mid"
underscore = "low"
brace = "straight"
guillemet = "straight"
number-sign = "slanted"
at = "fourfold"
dollar = "slanted-through"
cent = "slanted-through-cap"
percent = "rings-continuous-slash"
pilcrow = "curved"
question = "corner-flat-hooked"
micro-sign = "tailed-serifless"

[composite.ss03.italic]
a = "single-storey-top-cut-serifless"
e = "rounded"
f = "flat-hook-tailed"
g = "single-storey-top-cut"
i = "tailed-serifed"
k = "cursive-serifless"
l = "tailed"
long-s = "flat-hook-descending"
eszet = "longs-s-lig-descending-serifless"
lower-beta = "cursive"
lower-theta = "cursive"
lower-phi = "cursive"
cyrl-a = "single-storey-top-cut-serifless"
cyrl-ve = "cursive-tall"
cyrl-zhe = "symmetric-connected"
cyrl-ka = "symmetric-connected-serifless"
cyrl-yeri = "round"
cyrl-yery = "round"

[composite.ss03.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-k = "symmetric-touching-serifed"
capital-m = "slanted-sides-hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
a = "double-storey-serifed"
b = "toothless-corner-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed"
k = "symmetric-touching-serifed"
q = "top-cut-straight-serifed"
r = "serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
capital-eszet = "rounded-serifed"
long-s = "flat-hook-bottom-serifed"
eszet = "longs-s-lig-bottom-serifed"
lower-kappa = "symmetric-touching-tri-serifed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-capital-ka = "symmetric-touching-serifed"
cyrl-ka = "symmetric-touching-serifed"
cyrl-em = "slanted-sides-hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "serifed"
two = "straight-neck-serifed"
four = "closed-serifed"
seven = "straight-serifed"
micro-sign = "tailed-serifed"

[composite.ss03.slab-override.italic]
a = "single-storey-top-cut-serifed"
f = "flat-hook-tailed"
k = "cursive-top-left-and-bottom-right-serifed"
l = "tailed-serifed"
r = "top-serifed"
u = "toothed-motion-serifed"
v = "straight-motion-serifed"
w = "straight-motion-serifed"
x = "straight-bilateral-motion-serifed"
y = "straight-turn-motion-serifed"
long-s = "flat-hook-descending"
eszet = "longs-s-lig-descending-serifless"
lower-kappa = "symmetric-touching-top-left-and-bottom-right-serifed"
cyrl-a = "single-storey-top-cut-serifed"
cyrl-ve = "cursive-tall"
cyrl-ka = "symmetric-connected-tri-serifed"
cyrl-u = "straight-turn-motion-serifed"
cyrl-ef = "serifless"
micro-sign = "tailed-motion-serifed"



[composite.ss04]
tag = "ss04"
description = "Menlo Style"

[composite.ss04.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-m = "hanging-serifless"
capital-q = "straight"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-serifless"
e = "flat-crossbar"
d = "toothed-serifless"
f = "flat-hook-serifless-crossbar-at-x-height"
i = "serifed"
j = "flat-hook-serifed"
k = "straight-serifless"
l = "serifed-flat-tailed"
r = "serifless"
t = "flat-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
capital-eszet = "rounded-serifless"
long-s = "flat-hook-middle-serifed-xh"
eszet = "longs-s-lig-serifless"
lower-eth = "straight-bar"
lower-iota = "serifed-flat-tailed"
lower-lambda = "straight-turn"
lower-tau = "flat-tailed"
lower-upsilon = "casual-serifed"
lower-chi = "semi-chancery-straight-serifless"
lower-psi = "flat-top-serifless"
partial-derivative = "closed-contour"
cyrl-a = "double-storey-serifless"
cyrl-ve = "standard-serifless"
cyrl-capital-zhe = "straight"
cyrl-zhe = "straight"
cyrl-capital-ka = "straight-serifless"
cyrl-ka = "straight-serifless"
cyrl-em = "hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "tall-slashed"
one = "base"
two = "straight-neck-serifless"
four = "closed-serifless"
six = "closed-contour"
seven = "straight-serifless"
eight = "two-circles"
nine = "closed-contour"
tittle = "square"
punctuation-dot = "square"
diacritic-dot = "square"
braille-dot = "square"
asterisk = "hex-low"
underscore = "low"
brace = "straight"
guillemet = "straight"
number-sign = "slanted"
ampersand = "upper-open"
at = "threefold"
percent = "rings-continuous-slash"
bar = "force-upright"
micro-sign = "tailed-serifless"

[composite.ss04.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
a = "double-storey-serifed"
b = "toothed-serifed"
c = "unilateral-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed-crossbar-at-x-height"
g = "single-storey-serifed"
h = "straight-serifed"
k = "straight-serifed"
m = "serifed"
n = "straight-serifed"
q = "straight-serifed"
r = "serifed"
s = "bilateral-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
capital-eszet = "rounded-serifed"
long-s = "flat-hook-double-serifed-xh"
eszet = "longs-s-lig-bottom-serifed"
lower-kappa = "straight-tri-serifed"
lower-mu = "tailed-serifed"
lower-psi = "flat-top-serifed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-capital-ka = "straight-serifed"
cyrl-ka = "straight-serifed"
cyrl-em = "hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "serifed"
cyrl-e = "unilateral-serifed"
two = "straight-neck-serifed"
four = "closed-serifed"
seven = "straight-serifed"
micro-sign = "tailed-serifed"



[composite.ss05]
tag = "ss05"
description = "Fira Mono Style"

[composite.ss05.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "symmetric-touching-serifless"
capital-m = "slanted-sides-hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-tailed"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless"
g = "double-storey-open"
i = "serifed"
j = "serifed"
k = "symmetric-touching-serifless"
l = "serifed-semi-tailed"
r = "corner-hooked-serifed"
t = "bent-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
capital-eszet = "rounded-serifless"
long-s = "bent-hook-serifless"
eszet = "longs-s-lig-serifless"
lower-iota = "serifed-semi-tailed"
lower-kappa = "symmetric-touching-serifless"
lower-lambda = "straight-turn"
lower-mu = "toothed-serifless"
lower-xi = "rounded"
lower-tau = "semi-tailed"
lower-psi = "flat-top-serifless"
cyrl-a = "double-storey-tailed"
cyrl-ve = "standard-serifless"
cyrl-em = "slanted-sides-hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "split-serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "oval-dotted"
one = "base"
two = "straight-neck-serifless"
four = "semi-open-serifless"
six = "closed-contour"
seven = "straight-serifless"
eight = "crossing-asymmetric"
nine = "open-contour"
asterisk = "penta-low"
underscore = "low"
caret = "high"
guillemet = "straight"
number-sign = "slanted"
ampersand = "et-toothless-corner"
at = "compact"
cent = "open"
percent = "rings-continuous-slash"
pilcrow = "low"
micro-sign = "toothed-serifless"
lig-ltgteq = "slanted"
lig-equal-chain = "without-notch"
lig-hyphen-chain = "without-notch"

[composite.ss05.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-k = "symmetric-touching-serifed"
capital-m = "slanted-sides-hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
b = "toothed-serifed"
c = "unilateral-serifed"
d = "toothed-serifed"
f = "serifed"
h = "straight-serifed"
k = "symmetric-touching-serifed"
m = "serifed"
n = "straight-serifed"
q = "straight-serifed"
s = "bilateral-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
capital-eszet = "rounded-serifed"
long-s = "bent-hook-bottom-serifed"
eszet = "longs-s-lig-bottom-serifed"
lower-kappa = "symmetric-touching-tri-serifed"
lower-mu = "toothed-serifed"
lower-psi = "flat-top-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-em = "slanted-sides-hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "split-serifed"
cyrl-e = "unilateral-serifed"
two = "straight-neck-serifed"
four = "semi-open-serifed"
seven = "straight-serifed"
micro-sign = "toothed-serifed"



[composite.ss06]
tag = "ss06"
description = "Liberation Mono Style"

[composite.ss06.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-m = "hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-tailed"
d = "toothed-serifless"
e = "flat-crossbar"
f = "flat-hook-serifless-crossbar-at-x-height"
i = "serifed"
j = "serifed"
k = "straight-serifless"
l = "serifed-flat-tailed"
r = "hookless-serifless"
t = "bent-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
capital-eszet = "rounded-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig-serifless"
lower-delta = "flat-top"
lower-iota = "tailed-serifed"
lower-lambda = "straight-turn"
lower-tau = "short-tailed"
lower-chi = "straight-unilateral-motion-serifed"
partial-derivative = "closed-contour"
cyrl-a = "double-storey-tailed"
cyrl-ve = "standard-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "dotted"
one = "base"
four = "closed-serifless"
five = "oblique-arched-serifless"
six = "closed-contour"
seven = "bend-serifless"
eight = "two-circles"
nine = "closed-contour"
tittle = "square"
punctuation-dot = "square"
diacritic-dot = "square"
brace = "straight"
guillemet = "straight"
number-sign = "slanted"
at = "fourfold"
cent = "open-cap"
percent = "rings-continuous-slash"
bar = "force-upright"
pilcrow = "low"
micro-sign = "toothed-serifless"

[composite.ss06.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
b = "toothed-serifed"
c = "unilateral-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed-crossbar-at-x-height"
g = "single-storey-serifed"
h = "straight-serifed"
k = "straight-serifed"
m = "serifed"
n = "straight-serifed"
q = "straight-serifed"
r = "hookless-serifed"
s = "bilateral-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
capital-eszet = "rounded-serifed"
long-s = "flat-hook-bottom-serifed"
eszet = "longs-s-lig-bottom-serifed"
lower-kappa = "straight-tri-serifed"
lower-mu = "tailed-serifed"
lower-chi = "straight-bilateral-motion-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "serifed"
cyrl-e = "unilateral-serifed"
four = "closed-serifed"
five = "oblique-arched-serifed"
seven = "bend-serifed"
micro-sign = "toothed-serifed"



[composite.ss07]
tag = "ss07"
description = "Monaco Style"

[composite.ss07.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "symmetric-touching-serifless"
capital-m = "hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-flat-top-serifless"
a = "single-storey-earless-corner-serifless"
b = "toothless-corner-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless"
g = "single-storey-earless-corner"
i = "zshaped"
j = "serifed"
k = "symmetric-touching-serifless"
l = "zshaped"
q = "earless-corner-straight-serifless"
r = "corner-hooked-serifless"
t = "bent-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-flat-top-serifless"
y = "straight-turn-serifless"
long-s = "bent-hook-middle-serifed"
eszet = "longs-s-lig-serifless"
lower-iota = "zshaped"
lower-kappa = "symmetric-touching-serifless"
lower-lambda = "straight-turn"
lower-mu = "toothed-bottom-right-serifed"
lower-pi = "tailless"
lower-tau = "tailless"
cyrl-a = "double-storey-serifless"
cyrl-ve = "standard-serifless"
cyrl-capital-zhe = "symmetric-touching"
cyrl-zhe = "symmetric-touching"
cyrl-capital-ka = "symmetric-touching-serifless"
cyrl-ka = "symmetric-touching-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "tall-slashed"
one = "base"
four = "closed-serifless"
six = "closed-contour"
seven = "curly-serifless"
nine = "closed-contour"
asterisk = "hex-mid"
paren = "large-contour"
guillemet = "straight"
number-sign = "slanted"
at = "fourfold"
cent = "through-cap"
percent = "rings-continuous-slash"
pilcrow = "low"
micro-sign = "toothed-serifless"

[composite.ss07.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-k = "symmetric-touching-serifed"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-flat-top-serifed"
a = "single-storey-earless-corner-serifed"
b = "toothless-corner-serifed"
c = "unilateral-serifed"
d = "toothed-serifed"
f = "serifed"
h = "straight-serifed"
k = "symmetric-touching-serifed"
m = "serifed"
n = "straight-serifed"
q = "earless-corner-straight-serifed"
r = "corner-hooked-serifed"
s = "bilateral-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-flat-top-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
long-s = "bent-hook-double-serifed"
eszet = "longs-s-lig-bottom-serifed"
lower-kappa = "symmetric-touching-tri-serifed"
lower-mu = "toothed-serifed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-capital-ka = "symmetric-touching-serifed"
cyrl-ka = "symmetric-touching-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "serifed"
cyrl-e = "unilateral-serifed"
four = "closed-serifed"
seven = "curly-serifed"
micro-sign = "toothed-serifed"



[composite.ss08]
tag = "ss08"
description = "Pragmata Pro Style"

[composite.ss08.design]
capital-a = "curly-serifless"
capital-d = "more-rounded-serifless"
capital-g = "toothless-rounded-serifless-hooked"
capital-i = "short-serifed"
capital-j = "serifless"
capital-k = "curly-serifless"
capital-m = "hanging-serifless"
capital-n = "asymmetric-serifless"
capital-q = "straight"
capital-r = "curly-serifless"
capital-v = "curly-serifless"
capital-w = "curly-serifless"
capital-x = "curly-serifless"
capital-y = "curly-serifless"
capital-z = "curly-serifless"
a = "double-storey-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless"
g = "double-storey"
i = "serifed"
j = "serifed"
k = "curly-serifless"
l = "zshaped"
r = "serifless"
t = "bent-hook"
u = "toothed-serifless"
v = "curly-serifless"
w = "curly-serifless"
x = "curly-serifless"
y = "curly-serifless"
z = "curly-serifless"
capital-eszet = "corner-serifless"
long-s = "bent-hook-middle-serifed"
eszet = "longs-s-lig-serifless"
capital-delta = "curly"
lower-delta = "flat-top"
lower-theta = "diamond"
lower-kappa = "curly-serifless"
capital-lambda = "curly-serifless"
lower-lambda = "curly-tailed-turn"
lower-mu = "toothed-serifless"
lower-chi = "semi-chancery-curly-serifless"
partial-derivative = "closed-contour"
cyrl-a = "double-storey-serifless"
cyrl-capital-zhe = "curly"
cyrl-zhe = "curly"
cyrl-capital-ka = "curly-serifless"
cyrl-ka = "curly-serifless"
cyrl-em = "hanging-serifless"
cyrl-capital-u = "curly-serifless"
cyrl-u = "curly-serifless"
cyrl-ef = "serifless"
cyrl-capital-ya = "curly-serifless"
cyrl-ya = "curly-serifless"
zero = "diamond-reverse-slashed-split"
four = "closed-serifless"
five = "upright-flat-serifless"
six = "closed-contour"
seven = "curly-serifless"
nine = "closed-contour"
asterisk = "penta-low"
underscore = "high"
paren = "large-contour"
brace = "straight"
guillemet = "straight"
number-sign = "slanted"
ampersand = "upper-open"
at = "threefold"
dollar = "open"
cent = "open"
percent = "dots"
bar = "force-upright"
micro-sign = "toothed-serifless"
lig-ltgteq = "slanted"
lig-neq = "slightly-slanted-dotted"
lig-double-arrow-bar = "with-notch"
lig-single-arrow-bar = "with-notch"

[composite.ss08.italic]
e = "rounded"
g = "single-storey-serifless"
capital-eszet = "flat-top-serifless"
cyrl-yeri = "round"
cyrl-yery = "round"

[composite.ss08.slab-override.design]
capital-a = "curly-base-serifed"
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-rounded-serifed-hooked"
capital-j = "serifed-symmetric"
capital-k = "curly-serifed"
capital-m = "hanging-serifed"
capital-n = "asymmetric-serifed"
capital-r = "curly-serifed"
capital-v = "curly-serifed"
capital-w = "curly-serifed"
capital-x = "curly-serifed"
capital-y = "curly-serifed"
capital-z = "curly-serifed"
a = "double-storey-serifed"
d = "toothed-serifed"
f = "serifed"
k = "curly-serifed"
r = "serifed"
u = "toothed-serifed"
v = "curly-serifed"
w = "curly-serifed"
x = "curly-serifed"
y = "curly-serifed"
z = "curly-serifed"
capital-eszet = "corner-bottom-serifed"
long-s = "bent-hook-double-serifed"
eszet = "longs-s-lig-bottom-serifed"
lower-kappa = "curly-tri-serifed"
capital-lambda = "curly-base-serifed"
lower-mu = "toothed-serifed"
cyrl-a = "double-storey-serifed"
cyrl-capital-ka = "curly-serifed"
cyrl-ka = "curly-serifed"
cyrl-em = "hanging-serifed"
cyrl-capital-u = "curly-serifed"
cyrl-u = "curly-serifed"
cyrl-ef = "serifed"
cyrl-capital-ya = "curly-serifed"
cyrl-ya = "curly-serifed"
four = "closed-serifed"
five = "upright-flat-serifed"
seven = "curly-serifed"
micro-sign = "toothed-serifed"

[composite.ss08.slab-override.italic]
k = "curly-top-left-and-bottom-right-serifed"
r = "top-serifed"
u = "toothed-motion-serifed"
v = "curly-motion-serifed"
w = "curly-motion-serifed"
x = "curly-bilateral-motion-serifed"
y = "curly-motion-serifed"
capital-eszet = "flat-top-serifed"
lower-kappa = "curly-top-left-and-bottom-right-serifed"
lower-mu = "toothed-motion-serifed"
cyrl-ka = "curly-top-left-and-bottom-right-serifed"
cyrl-u = "curly-motion-serifed"
micro-sign = "toothed-motion-serifed"



[composite.ss09]
tag = "ss09"
description = "Source Code Pro Style"

[composite.ss09.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-m = "hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless"
g = "double-storey"
i = "hooky"
j = "serifed"
k = "straight-serifless"
l = "serifed-semi-tailed"
r = "hookless-serifless"
t = "bent-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-flat-top-serifless"
y = "straight-turn-serifless"
capital-eszet = "rounded-serifless"
long-s = "bent-hook-middle-serifed"
eszet = "longs-s-lig-serifless"
lower-lambda = "straight-turn"
lower-tau = "short-tailed"
lower-phi = "straight"
partial-derivative = "closed-contour"
cyrl-a = "double-storey-serifless"
cyrl-ve = "standard-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "split-serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "oval-dotted"
one = "base-flat-top-serif"
two = "straight-neck-serifless"
four = "closed-serifless"
five = "oblique-arched-serifless"
six = "closed-contour"
seven = "bend-serifless"
eight = "crossing-asymmetric"
nine = "closed-contour"
asterisk = "penta-low"
guillemet = "straight"
number-sign = "slanted"
at = "threefold"
dollar = "open"
cent = "through-cap"
percent = "rings-segmented-slash"
bar = "force-upright"
micro-sign = "tailed-serifless"

[composite.ss09.italic]
a = "single-storey-serifless"
g = "single-storey-serifless"
i = "tailed-serifed"
l = "tailed-serifed"

[composite.ss09.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
a = "double-storey-serifed"
d = "toothed-serifed"
f = "serifed"
i = "serifed"
k = "straight-serifed"
r = "hookless-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-flat-top-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
capital-eszet = "rounded-serifed"
long-s = "bent-hook-double-serifed"
eszet = "longs-s-lig-bottom-serifed"
lower-kappa = "straight-tri-serifed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "split-serifed"
two = "straight-neck-serifed"
four = "closed-serifed"
five = "oblique-arched-serifed"
seven = "bend-serifed"
micro-sign = "tailed-serifed"

[composite.ss09.slab-override.italic]
a = "single-storey-serifed"
i = "tailed-serifed"
k = "straight-top-left-and-bottom-right-serifed"
r = "hookless-top-serifed"
u = "toothed-motion-serifed"
v = "straight-motion-serifed"
w = "straight-flat-top-motion-serifed"
x = "straight-bilateral-motion-serifed"
y = "straight-turn-motion-serifed"
lower-kappa = "straight-top-left-and-bottom-right-serifed"
cyrl-ve = "standard-unilateral-serifed"
cyrl-ka = "symmetric-connected-top-left-and-bottom-right-serifed"
cyrl-u = "straight-turn-motion-serifed"
micro-sign = "tailed-motion-serifed"



[composite.ss10]
tag = "ss10"
description = "Envy Code R Style"

[composite.ss10.design]
capital-a = "round-top-serifless"
capital-i = "serifed"
capital-j = "serifless"
capital-k = "symmetric-touching-serifless"
capital-m = "hanging-serifless"
capital-q = "crossing"
capital-v = "straight-serifless"
capital-w = "straight-vertical-sides-serifless"
a = "double-storey-toothless-corner"
b = "toothed-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "flat-hook-serifless"
g = "single-storey-flat-hook-serifless"
i = "hooky"
j = "flat-hook-serifed"
k = "symmetric-connected-serifless"
l = "hooky"
q = "straight-serifless"
r = "serifless"
t = "flat-hook"
u = "toothed-serifless"
v = "straight-serifless"
w = "rounded-vertical-sides-serifless"
y = "cursive-flat-hook-serifless"
long-s = "flat-hook-middle-serifed"
eszet = "sulzbacher-serifless"
lower-delta = "flat-top"
lower-iota = "serifed-flat-tailed"
lower-kappa = "symmetric-connected-serifless"
lower-lambda = "straight"
lower-tau = "flat-tailed"
cyrl-a = "double-storey-toothless-corner"
cyrl-u = "straight-serifless"
one = "base-flat-top-serif"
four = "closed-serifless"
five = "upright-flat-serifless"
six = "straight-bar"
seven = "straight-serifless"
eight = "two-circles"
nine = "straight-bar"
tittle = "square"
underscore = "low"
guillemet = "straight"
number-sign = "upright"
at = "threefold"
dollar = "through-cap"
cent = "slanted-through"
percent = "rings-continuous-slash"
pilcrow = "low"
micro-sign = "toothless-rounded-serifless"

[composite.ss10.italic]
capital-a = "straight-serifless"
a = "single-storey-top-cut-tailed"
b = "bottom-cut-serifless"
d = "tailed-serifless"
e = "rounded"
g = "single-storey-flat-hook-top-cut"
i = "serifed-flat-tailed"
j = "serifed"
l = "serifed-flat-tailed"
q = "top-cut-straight-serifless"
u = "tailed-serifless"
cyrl-a = "single-storey-top-cut-tailed"
cyrl-u = "cursive-flat-hook-serifless"

[composite.ss10.slab-override.design]
capital-a = "round-top-base-serifed"
capital-j = "serifed"
capital-k = "symmetric-touching-serifed"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-vertical-sides-serifed"
b = "toothed-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed"
g = "single-storey-flat-hook-serifed"
i = "serifed"
k = "symmetric-connected-serifed"
l = "serifed"
q = "straight-serifed"
r = "serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "rounded-vertical-sides-serifed"
x = "straight-serifed"
y = "cursive-flat-hook-serifed"
z = "straight-serifed"
long-s = "flat-hook-double-serifed"
eszet = "sulzbacher-bottom-serifed"
lower-kappa = "symmetric-connected-tri-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-capital-u = "straight-serifed"
cyrl-u = "straight-serifed"
four = "closed-serifed"
five = "upright-flat-serifed"
seven = "straight-serifed"
micro-sign = "toothless-rounded-serifed"

[composite.ss10.slab-override.italic]
capital-a = "straight-base-serifed"
b = "bottom-cut-serifed"
d = "tailed-serifed"
g = "single-storey-flat-hook-top-cut"
i = "serifed-flat-tailed"
k = "symmetric-connected-top-left-and-bottom-right-serifed"
l = "serifed-flat-tailed"
q = "top-cut-straight-serifed"
r = "top-serifed"
u = "tailed-motion-serifed"
v = "straight-motion-serifed"
w = "rounded-vertical-sides-motion-serifed"
x = "straight-bilateral-motion-serifed"
y = "cursive-flat-hook-motion-serifed"
lower-kappa = "symmetric-connected-top-left-and-bottom-right-serifed"
cyrl-ka = "symmetric-connected-top-left-and-bottom-right-serifed"
cyrl-u = "cursive-flat-hook-motion-serifed"
micro-sign = "toothless-rounded-motion-serifed"



[composite.ss11]
tag = "ss11"
description = "X Window Style"

[composite.ss11.design]
zero = "oval-unslashed"
one = "base"
two = "straight-neck-serifless"
three = "flat-top-serifless"
four = "closed-serifless"
five = "upright-arched-serifless"
six = "closed-contour"
seven = "straight-serifless"
eight = "two-circles"
nine = "closed-contour"
braille-dot = "square"
tilde = "high"
asterisk = "hex-high"
underscore = "high"
caret = "high"
paren = "normal"
brace = "straight"
guillemet = "straight"
number-sign = "upright"
ampersand = "closed"
at = "threefold"
dollar = "through-cap"
cent = "through-cap"
percent = "rings-continuous-slash"
question = "smooth"
pilcrow = "high"

[composite.ss11.slab-override.design]
two = "straight-neck-serifed"
three = "flat-top-serifed"
four = "closed-serifed"
five = "upright-arched-serifed"
seven = "straight-serifed"



[composite.ss12]
tag = "ss12"
description = "Ubuntu Mono Style"

[composite.ss12.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hookless"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "symmetric-touching-serifless"
capital-m = "slanted-sides-hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-toothless-corner"
b = "toothless-corner-serifless"
d = "toothless-corner-serifless"
e = "flat-crossbar"
f = "serifless"
g = "single-storey-earless-corner"
i = "serifed-semi-tailed"
j = "serifed"
k = "symmetric-touching-serifless"
l = "serifed-semi-tailed"
m = "earless-corner-double-arch-short-leg-serifless"
n = "earless-corner-straight-serifless"
p = "earless-corner-serifless"
q = "earless-corner-straight-serifless"
r = "earless-corner-serifless"
t = "bent-hook-short-neck"
u = "toothless-corner-serifless"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
capital-eszet = "rounded-serifless"
long-s = "bent-hook-serifless"
eszet = "longs-s-lig-serifless"
lower-alpha = "barred-earless-corner-tailed"
capital-gamma = "bottom-serifed"
lower-eta = "earless-corner-serifless"
lower-kappa = "symmetric-touching-serifless"
lower-lambda = "straight-turn"
lower-mu = "toothless-corner-serifless"
lower-nu = "straight"
lower-xi = "rounded"
lower-pi = "small-capital"
lower-upsilon = "straight-serifless"
lower-phi = "neo-hellenic"
lower-psi = "flat-top-serifless"
partial-derivative = "closed-contour"
cyrl-a = "double-storey-tailed"
cyrl-capital-zhe = "symmetric-touching"
cyrl-zhe = "symmetric-touching"
cyrl-capital-ka = "symmetric-touching-serifless"
cyrl-ka = "symmetric-touching-serifless"
cyrl-em = "slanted-sides-hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "oval-dotted"
one = "base"
four = "closed-serifless"
five = "oblique-arched-serifless"
six = "open-contour"
seven = "bend-serifless"
eight = "crossing-asymmetric"
nine = "open-contour"
underscore = "low"
brace = "straight"
guillemet = "straight"
number-sign = "slanted"
at = "threefold"
dollar = "open"
cent = "open"
percent = "rings-continuous-slash"
pilcrow = "low"
micro-sign = "toothless-corner-serifless"

[composite.ss12.italic]
a = "single-storey-earless-corner-tailed"
d = "tailed-serifless"
e = "rounded"
f = "tailed"
i = "tailed-serifed"
l = "tailed-serifed"
u = "tailed-serifless"
long-s = "bent-hook-tailed"
eszet = "longs-s-lig-tailed-serifless"
lower-mu = "tailed-serifless"
cyrl-a = "single-storey-earless-corner-tailed"
cyrl-zhe = "cursive"
micro-sign = "tailed-serifless"

[composite.ss12.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hookless"
capital-k = "symmetric-touching-serifed"
capital-m = "slanted-sides-hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
b = "toothless-corner-serifed"
d = "toothless-corner-serifed"
f = "serifed"
k = "symmetric-touching-serifed"
m = "earless-corner-double-arch-short-leg-serifed"
n = "earless-corner-straight-serifed"
p = "earless-corner-serifed"
q = "earless-corner-straight-serifed"
r = "earless-corner-serifed"
u = "toothless-corner-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
capital-eszet = "rounded-serifed"
long-s = "bent-hook-bottom-serifed"
eszet = "longs-s-lig-bottom-serifed"
capital-gamma = "serifed"
lower-kappa = "symmetric-touching-tri-serifed"
lower-mu = "toothless-corner-serifed"
lower-upsilon = "straight-serifed"
lower-psi = "flat-top-serifed"
cyrl-capital-ka = "symmetric-touching-serifed"
cyrl-ka = "symmetric-touching-serifed"
cyrl-em = "slanted-sides-hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "serifed"
four = "closed-serifed"
five = "oblique-arched-serifed"
seven = "bend-serifed"
micro-sign = "toothless-corner-serifed"

[composite.ss12.slab-override.italic]
d = "tailed-serifed"
f = "tailed"
k = "symmetric-touching-top-left-and-bottom-right-serifed"
m = "earless-corner-double-arch-short-leg-bottom-right-serifed"
n = "earless-corner-straight-motion-serifed"
r = "earless-corner-serifless"
u = "tailed-motion-serifed"
v = "straight-motion-serifed"
w = "straight-motion-serifed"
x = "straight-bilateral-motion-serifed"
y = "straight-turn-motion-serifed"
long-s = "bent-hook-tailed"
eszet = "longs-s-lig-tailed-serifless"
lower-kappa = "symmetric-touching-top-left-and-bottom-right-serifed"
lower-mu = "tailed-motion-serifed"
cyrl-ka = "symmetric-touching-top-left-and-bottom-right-serifed"
cyrl-u = "straight-turn-motion-serifed"
micro-sign = "tailed-motion-serifed"



[composite.ss13]
tag = "ss13"
description = "Lucida Style"

[composite.ss13.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "symmetric-touching-serifless"
capital-m = "hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-tailed"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless"
i = "hooky"
j = "serifed"
k = "symmetric-touching-serifless"
l = "hooky"
r = "corner-hooked-serifless"
t = "bent-hook-short-neck2"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
long-s = "bent-hook-middle-serifed"
eszet = "longs-s-lig-serifless"
lower-iota = "tailed"
lower-kappa = "symmetric-touching-serifless"
lower-lambda = "straight-turn"
lower-mu = "toothed-serifless"
lower-pi = "tailless"
lower-tau = "tailless"
lower-phi = "straight"
partial-derivative = "closed-contour"
cyrl-a = "double-storey-tailed"
cyrl-ve = "standard-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "split-serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "oval-unslashed"
one = "base"
four = "closed-serifless"
six = "closed-contour"
seven = "bend-serifless"
eight = "crossing-asymmetric"
nine = "closed-contour"
tittle = "square"
punctuation-dot = "square"
diacritic-dot = "square"
paren = "large-contour"
guillemet = "straight"
number-sign = "slanted"
at = "threefold"
cent = "through-cap"
percent = "rings-continuous-slash"
pilcrow = "low"
micro-sign = "toothed-serifless"

[composite.ss13.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-k = "symmetric-touching-serifed"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
b = "toothed-serifed"
c = "unilateral-serifed"
d = "toothed-serifed"
f = "serifed"
g = "single-storey-serifed"
h = "straight-serifed"
i = "serifed"
k = "symmetric-touching-serifed"
l = "serifed"
m = "serifed"
n = "straight-serifed"
q = "straight-serifed"
r = "corner-hooked-serifed"
s = "bilateral-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
long-s = "bent-hook-double-serifed"
eszet = "longs-s-lig-bottom-serifed"
lower-iota = "tailed-serifed"
lower-kappa = "symmetric-touching-tri-serifed"
lower-mu = "toothed-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "split-serifed"
cyrl-e = "unilateral-serifed"
four = "closed-serifed"
seven = "bend-serifed"
micro-sign = "toothed-serifed"



[composite.ss14]
tag = "ss14"
description = "JetBrains Mono Style"

[composite.ss14.design]
capital-g = "toothless-rounded-serifless-hooked"
capital-i = "serifed"
capital-j = "serifless"
capital-k = "symmetric-connected-serifless"
capital-m = "hanging-serifless"
capital-q = "straight"
capital-v = "straight-serifless"
capital-w = "straight-flat-top-serifless"
a = "double-storey-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "flat-hook-serifless"
g = "single-storey-flat-hook-serifless"
i = "serifed"
j = "flat-hook-serifed"
k = "symmetric-connected-serifless"
l = "serifed-flat-tailed"
r = "serifless"
t = "flat-hook-short-neck"
u = "toothless-rounded-serifless"
v = "straight-serifless"
w = "straight-flat-top-serifless"
y = "straight-serifless"
long-s = "flat-hook-serifless"
eszet = "sulzbacher-serifless"
lower-eth = "straight-bar"
lower-alpha = "barred"
lower-gamma = "straight"
lower-delta = "flat-top"
lower-theta = "capsule"
lower-iota = "serifed-flat-tailed"
lower-kappa = "symmetric-connected-serifless"
lower-lambda = "straight"
lower-mu = "toothed-serifless"
lower-nu = "straight"
lower-xi = "rounded"
lower-tau = "flat-tailed"
lower-upsilon = "straight-serifless"
lower-psi = "flat-top-serifless"
cyrl-a = "double-storey-serifless"
cyrl-ve = "standard-serifless"
cyrl-em = "hanging-serifless"
cyrl-u = "straight-serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "dotted"
one = "base"
two = "straight-neck-serifless"
three = "flat-top-serifless"
four = "semi-open-non-crossing-serifless"
five = "upright-flat-serifless"
six = "straight-bar"
seven = "straight-serifed"
eight = "two-circles"
nine = "straight-bar"
asterisk = "penta-low"
paren = "flat-arc"
guillemet = "straight"
number-sign = "slanted"
ampersand = "upper-open"
at = "threefold"
percent = "rings-continuous-slash"
question = "corner-flat-hooked"
pilcrow = "low"
micro-sign = "toothed-serifless"
lig-ltgteq = "slanted"
lig-equal-chain = "without-notch"
lig-hyphen-chain = "without-notch"

[composite.ss14.italic]
a = "single-storey-tailed"
e = "rounded"
f = "flat-hook-tailed"
y = "cursive-flat-hook-serifless"
long-s = "flat-hook-tailed"
eszet = "sulzbacher-tailed-serifless"
lower-alpha = "barred-tailed"
cyrl-a = "single-storey-tailed"
cyrl-u = "cursive-flat-hook-serifless"

[composite.ss14.slab-override.design]
capital-g = "toothless-rounded-serifed-hooked"
capital-j = "serifed"
capital-k = "symmetric-connected-serifed"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-flat-top-serifed"
a = "double-storey-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed"
g = "single-storey-flat-hook-serifed"
k = "symmetric-connected-serifed"
r = "serifed"
u = "toothless-rounded-serifed"
v = "straight-serifed"
w = "straight-flat-top-serifed"
x = "straight-serifed"
y = "straight-serifed"
z = "straight-serifed"
long-s = "flat-hook-bottom-serifed"
eszet = "sulzbacher-bottom-serifed"
lower-alpha = "barred-double-serifed"
lower-kappa = "symmetric-connected-tri-serifed"
lower-mu = "toothed-serifed"
lower-upsilon = "straight-serifed"
lower-psi = "flat-top-serifed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-em = "hanging-serifed"
cyrl-capital-u = "straight-serifed"
cyrl-u = "straight-serifed"
two = "straight-neck-serifed"
three = "flat-top-serifed"
four = "semi-open-non-crossing-serifed"
five = "upright-flat-serifed"
micro-sign = "toothed-serifed"

[composite.ss14.slab-override.italic]
a = "single-storey-tailed"
f = "flat-hook-tailed"
g = "single-storey-flat-hook-serifless"
k = "symmetric-connected-top-left-and-bottom-right-serifed"
r = "top-serifed"
u = "toothless-rounded-motion-serifed"
v = "straight-motion-serifed"
w = "straight-flat-top-motion-serifed"
x = "straight-bilateral-motion-serifed"
y = "cursive-flat-hook-motion-serifed"
long-s = "flat-hook-tailed"
eszet = "sulzbacher-tailed-serifless"
lower-alpha = "barred-tailed"
lower-kappa = "symmetric-connected-top-left-and-bottom-right-serifed"
lower-mu = "toothed-motion-serifed"
cyrl-a = "single-storey-tailed"
cyrl-ve = "standard-unilateral-serifed"
cyrl-ka = "symmetric-connected-top-left-and-bottom-right-serifed"
cyrl-u = "cursive-flat-hook-motion-serifed"
micro-sign = "toothed-motion-serifed"



[composite.ss15]
tag = "ss15"
description = "IBM Plex Mono Style"

[composite.ss15.design]
capital-d = "more-rounded-serifless"
capital-i = "serifed"
capital-j = "serifed"
capital-m = "hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-tailed"
d = "toothed-serifless"
e = "flat-crossbar"
f = "flat-hook-serifed-crossbar-at-x-height"
g = "double-storey"
i = "serifed"
j = "flat-hook-serifed"
k = "straight-serifless"
l = "serifed"
r = "hookless-serifed"
t = "flat-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-flat-top-serifless"
x = "straight-serifless"
y = "straight-turn-serifless"
capital-eszet = "corner-serifless"
long-s = "flat-hook-double-serifed-xh"
eszet = "traditional-flat-hook-serifless"
lower-delta = "flat-top"
lower-eta = "motion-serifed"
lower-theta = "oval"
lower-iota = "serifed-flat-tailed"
lower-kappa = "straight-top-right-serifed"
lower-lambda = "tailed-turn"
lower-tau = "flat-tailed"
lower-upsilon = "straight-serifless"
lower-chi = "semi-chancery-straight-serifless"
cyrl-a = "double-storey-tailed"
cyrl-capital-ka = "symmetric-connected-bottom-right-serifed"
cyrl-ka = "symmetric-connected-bottom-right-serifed"
cyrl-em = "hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "split-serifless"
cyrl-capital-ya = "straight-motion-serifed"
cyrl-ya = "straight-motion-serifed"
zero = "dotted"
one = "base"
two = "straight-neck-serifless"
four = "closed-serifless"
five = "oblique-arched-serifless"
six = "open-contour"
seven = "straight-serifed"
eight = "two-circles"
nine = "open-contour"
asterisk = "penta-low"
underscore = "low"
brace = "curly-flat-boundary"
guillemet = "straight"
number-sign = "slanted-open"
ampersand = "upper-open"
at = "threefold"
percent = "rings-segmented-slash"
question = "corner"
pilcrow = "low"
micro-sign = "toothed-serifless"

[composite.ss15.italic]
a = "single-storey-tailed"
e = "rounded"
f = "flat-hook-diagonal-tailed-crossbar-at-x-height"
g = "single-storey-serifless"
i = "serifed-diagonal-tailed"
j = "diagonal-tailed-serifed"
k = "diagonal-tailed-cursive-serifless"
l = "serifed-diagonal-tailed"
r = "hookless-top-serifed"
t = "diagonal-tailed-short-neck"
v = "cursive-serifed"
w = "cursive-serifless"
x = "cursive"
y = "cursive-serifless"
z = "cursive"
long-s = "flat-hook-diagonal-tailed-middle-serifed-xh"
lower-theta = "cursive"
lower-iota = "serifed-diagonal-tailed"
lower-tau = "diagonal-tailed"
cyrl-a = "single-storey-tailed"
cyrl-zhe = "cursive"
cyrl-u = "cursive-serifless"
cyrl-ef = "split-diagonal-tailed-cursive"
cyrl-yeri = "cursive"
cyrl-yery = "cursive"
ampersand = "closed"

[composite.ss15.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
d = "toothed-serifed"
k = "straight-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-flat-top-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
capital-eszet = "corner-bottom-serifed"
eszet = "traditional-flat-hook-bottom-serifed"
lower-kappa = "straight-tri-serifed"
lower-upsilon = "straight-serifed"
cyrl-capital-ka = "symmetric-connected-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-em = "hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "split-serifed"
cyrl-capital-ya = "straight-serifed"
cyrl-ya = "straight-serifed"
two = "straight-neck-serifed"
four = "closed-serifed"
five = "oblique-arched-serifed"
micro-sign = "toothed-serifed"

[composite.ss15.slab-override.italic]
k = "diagonal-tailed-cursive-top-left-serifed"
u = "toothed-motion-serifed"
v = "cursive-serifed"
w = "cursive-serifed"
x = "cursive"
y = "cursive-motion-serifed"
eszet = "traditional-flat-hook-serifless"
cyrl-ka = "symmetric-connected-top-left-and-bottom-right-serifed"
cyrl-u = "cursive-motion-serifed"
cyrl-ef = "split-diagonal-tailed-cursive"
micro-sign = "toothed-motion-serifed"



[composite.ss16]
tag = "ss16"
description = "PT Mono Style"

[composite.ss16.design]
capital-c = "bilateral-inward-serifed"
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-inward-serifed-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "symmetric-connected-serifless"
capital-l = "motion-serifed"
capital-m = "hanging-serifless"
capital-s = "bilateral-inward-serifed"
capital-t = "serifed"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-serifed"
b = "toothless-corner-serifed"
c = "unilateral-inward-serifed"
d = "toothed-serifed"
e = "flat-crossbar"
f = "serifed"
g = "single-storey-earless-corner"
h = "straight-top-left-serifed"
i = "serifed"
j = "serifed"
k = "straight-top-left-and-bottom-right-serifed"
l = "serifed-semi-tailed"
n = "straight-top-left-serifed"
p = "eared-motion-serifed"
q = "earless-corner-straight-serifless"
r = "serifed"
t = "bent-hook-short-neck2"
u = "toothed-serifed"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
capital-eszet = "rounded-serifless"
long-s = "bent-hook-middle-serifed"
eszet = "longs-s-lig-middle-serifed"
capital-thorn = "asymmetric-serifless"
lower-thorn = "motion-serifed"
capital-gamma = "serifed"
lower-iota = "serifed-semi-tailed"
lower-kappa = "straight-bottom-right-serifed"
lower-lambda = "straight-turn"
lower-mu = "toothed-bottom-right-serifed"
lower-tau = "semi-tailed"
cyrl-a = "double-storey-serifed"
cyrl-ve = "standard-serifless"
cyrl-capital-ze = "bilateral-inward-serifed"
cyrl-ze = "unilateral-inward-serifed"
cyrl-ka = "symmetric-connected-bottom-right-serifed"
cyrl-em = "hanging-serifless"
cyrl-er = "eared-motion-serifed"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "split-top-serifed"
cyrl-yeri = "corner"
cyrl-yery = "corner"
cyrl-capital-e = "bilateral-inward-serifed"
cyrl-e = "unilateral-inward-serifed"
cyrl-ya = "straight-motion-serifed"
one = "base"
two = "straight-neck-serifless"
three = "flat-top-serifless"
four = "closed-serifless"
six = "open-contour"
seven = "straight-serifless"
eight = "crossing-asymmetric"
nine = "open-contour"
asterisk = "turn-hex-high"
underscore = "low"
paren = "large-contour"
brace = "straight"
guillemet = "straight"
number-sign = "slanted"
at = "threefold"
percent = "rings-continuous-slash"
pilcrow = "low"
micro-sign = "toothed-bottom-right-serifed"

[composite.ss16.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-k = "symmetric-connected-serifed"
capital-l = "serifed"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
a = "double-storey-hook-inward-serifed-serifed"
h = "straight-serifed"
k = "straight-serifed"
m = "serifed"
n = "straight-serifed"
p = "eared-serifed"
q = "earless-corner-straight-serifed"
s = "unilateral-inward-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
capital-eszet = "rounded-serifed"
long-s = "bent-hook-double-serifed"
eszet = "longs-s-lig-dual-serifed"
capital-thorn = "asymmetric-serifed"
lower-thorn = "serifed"
lower-kappa = "straight-tri-serifed"
lower-mu = "toothed-serifed"
cyrl-a = "double-storey-hook-inward-serifed-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-em = "hanging-serifed"
cyrl-er = "eared-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "split-serifed"
cyrl-ya = "straight-serifed"
two = "straight-neck-serifed"
three = "flat-top-serifed"
four = "closed-serifed"
seven = "straight-serifed"
micro-sign = "toothed-serifed"



[composite.ss17]
tag = "ss17"
description = "Recursive Mono Style"

[composite.ss17.design]
capital-b = "standard-unilateral-serifed"
capital-c = "unilateral-inward-serifed"
capital-d = "standard-unilateral-serifed"
capital-e = "top-left-serifed"
capital-f = "top-left-serifed"
capital-g = "toothless-corner-inward-serifed-capped"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "straight-bottom-right-serifed"
capital-l = "motion-serifed"
capital-m = "hanging-serifless"
capital-p = "closed-motion-serifed"
capital-r = "straight-top-left-and-bottom-right-serifed"
capital-s = "unilateral-inward-serifed"
capital-u = "toothed-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
capital-z = "straight-top-serifed"
a = "double-storey-tailed"
b = "toothed-serifless"
c = "serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifed"
g = "double-storey"
h = "straight-serifless"
i = "serifed"
j = "serifed"
k = "straight-serifless"
l = "serifed"
m = "serifless"
n = "straight-serifless"
r = "hookless-serifed"
s = "serifless"
t = "flat-hook-short-neck"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
x = "straight-serifless"
y = "straight-turn-serifless"
z = "straight-serifless"
capital-eszet = "corner-motion-serifed"
long-s = "bent-hook-serifless"
eszet = "longs-s-lig-serifless"
lower-eth = "straight-bar"
capital-thorn = "motion-serifed"
lower-theta = "capsule"
lower-iota = "serifed-flat-tailed"
lower-kappa = "straight-serifless"
lower-lambda = "tailed-turn"
lower-tau = "flat-tailed"
lower-chi = "semi-chancery-straight-serifless"
partial-derivative = "straight-bar"
cyrl-a = "double-storey-tailed"
cyrl-capital-ze = "unilateral-inward-serifed"
cyrl-ze = "serifless"
cyrl-capital-ka = "symmetric-connected-bottom-right-serifed"
cyrl-ka = "symmetric-connected-serifless"
cyrl-capital-er = "closed-motion-serifed"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-capital-e = "unilateral-inward-serifed"
cyrl-e = "serifless"
cyrl-capital-ya = "straight-motion-serifed"
cyrl-ya = "straight-serifless"
one = "base"
four = "semi-open-serifless"
five = "oblique-arched-serifless"
six = "closed-contour"
seven = "straight-serifed"
nine = "closed-contour"
tittle = "square"
punctuation-dot = "square"
diacritic-dot = "square"
asterisk = "hex-low"
underscore = "low"
brace = "curly-flat-boundary"
guillemet = "straight"
number-sign = "slanted"
ampersand = "upper-open"
at = "fourfold-solid-inner"
dollar = "interrupted"
cent = "bar-interrupted-cap"
percent = "rings-segmented-slash"
pilcrow = "low"
micro-sign = "tailed-serifless"

[composite.ss17.italic]
a = "single-storey-tailed"
b = "toothless-corner-serifless"
c = "unilateral-inward-serifed"
d = "tailed-serifless"
e = "rounded"
f = "tailed"
g = "single-storey-serifless"
h = "tailed-serifless"
i = "serifed-flat-tailed"
k = "cursive-bottom-right-serifed"
l = "serifed-flat-tailed"
m = "tailed-serifless"
n = "tailed-serifless"
r = "corner-hooked-top-serifed"
s = "unilateral-inward-serifed"
u = "tailed-serifless"
v = "cursive-serifed"
w = "cursive-serifless"
x = "chancery"
y = "cursive-serifless"
z = "cursive"
long-s = "bent-hook-descending"
eszet = "longs-s-lig-descending-serifless"
lower-kappa = "straight-bottom-right-serifed"
cyrl-a = "single-storey-tailed"
cyrl-ze = "unilateral-bottom-inward-serifed"
cyrl-ka = "symmetric-connected-bottom-right-serifed"
cyrl-u = "cursive-serifless"
cyrl-e = "unilateral-bottom-inward-serifed"
cyrl-ya = "straight-motion-serifed"

[composite.ss17.slab-override.design]
capital-b = "standard-bilateral-serifed"
capital-d = "standard-bilateral-serifed"
capital-e = "serifed"
capital-f = "serifed"
capital-k = "straight-serifed"
capital-l = "serifed"
capital-m = "hanging-serifed"
capital-p = "closed-serifed"
capital-r = "straight-serifed"
capital-s = "bilateral-inward-serifed"
capital-u = "toothed-serifed"
capital-w = "straight-serifed"
capital-v = "straight-serifed"
capital-z = "straight-serifed"
a = "double-storey-hook-inward-serifed-tailed"
b = "toothed-serifed"
c = "unilateral-inward-serifed"
d = "toothed-serifed"
h = "straight-serifed"
k = "straight-serifed"
m = "serifed"
n = "straight-serifed"
s = "unilateral-inward-serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-top-serifed"
capital-eszet = "corner-serifed"
long-s = "bent-hook-bottom-serifed"
eszet = "longs-s-lig-bottom-serifed"
capital-thorn = "serifed"
lower-kappa = "straight-tri-serifed"
cyrl-a = "double-storey-hook-inward-serifed-tailed"
cyrl-ze = "unilateral-inward-serifed"
cyrl-capital-ka = "symmetric-connected-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-capital-er = "closed-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-e = "unilateral-inward-serifed"
cyrl-capital-ya = "straight-serifed"
cyrl-ya = "straight-serifed"
four = "semi-open-serifed"
five = "oblique-arched-serifed"
micro-sign = "tailed-serifed"

[composite.ss17.slab-override.italic]
capital-u = "toothed-motion-serifed"
a = "single-storey-tailed"
b = "toothless-corner-serifed"
d = "tailed-serifed"
h = "tailed-motion-serifed"
k = "cursive-top-left-and-bottom-right-serifed"
m = "tailed-top-left-serifed"
n = "tailed-motion-serifed"
s = "bilateral-inward-serifed"
u = "tailed-motion-serifed"
v = "cursive-serifed"
w = "cursive-serifed"
x = "chancery"
y = "cursive-motion-serifed"
z = "cursive"
long-s = "bent-hook-descending"
eszet = "longs-s-lig-descending-serifless"
lower-kappa = "straight-top-left-and-bottom-right-serifed"
cyrl-a = "single-storey-tailed"
cyrl-ze = "unilateral-bottom-inward-serifed"
cyrl-ka = "symmetric-connected-top-left-and-bottom-right-serifed"
cyrl-u = "cursive-motion-serifed"
cyrl-e = "unilateral-bottom-inward-serifed"
micro-sign = "tailed-motion-serifed"



[composite.ss18]
tag = "ss18"
description = "Input Mono Style"

[composite.ss18.design]
capital-g = "toothless-rounded-serifless-hooked"
capital-i = "serifed"
capital-j = "serifed"
capital-k = "symmetric-connected-serifless"
capital-m = "hanging-serifless"
capital-v = "straight-serifless"
capital-w = "straight-serifless"
a = "double-storey-tailed"
b = "toothless-corner-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless-crossbar-at-x-height"
g = "double-storey"
i = "serifed"
j = "serifed"
k = "symmetric-connected-serifless"
l = "serifed"
q = "earless-corner-straight-serifless"
r = "serifless"
t = "bent-hook"
u = "toothed-serifless"
v = "straight-serifless"
w = "straight-serifless"
y = "straight-turn-serifless"
long-s = "bent-hook-middle-serifed-xh"
eszet = "longs-s-lig-serifless"
lower-alpha = "barred-tailed"
lower-gamma = "straight"
lower-theta = "capsule"
lower-kappa = "symmetric-connected-serifless"
lower-lambda = "straight-turn"
lower-tau = "short-tailed"
lower-upsilon = "straight-serifless"
lower-psi = "flat-top-serifless"
cyrl-a = "double-storey-tailed"
cyrl-ve = "standard-serifless"
cyrl-em = "hanging-serifless"
cyrl-capital-u = "straight-turn-serifless"
cyrl-u = "straight-turn-serifless"
cyrl-ef = "serifless"
cyrl-yeri = "corner"
cyrl-yery = "corner"
zero = "dotted"
one = "base"
four = "closed-serifless"
five = "upright-flat-serifless"
six = "closed-contour"
seven = "bend-serifless"
eight = "two-circles"
nine = "closed-contour"
asterisk = "hex-mid"
underscore = "low"
guillemet = "straight"
number-sign = "slanted"
at = "threefold"
cent = "through-cap"
percent = "rings-continuous-slash"
question = "corner"
pilcrow = "low"
micro-sign = "tailed-serifless"

[composite.ss18.italic]
f = "extended-crossbar-at-x-height"
long-s = "bent-hook-descending-middle-serifed-xh"
eszet = "longs-s-lig-descending-serifless"

[composite.ss18.slab-override.design]
capital-g = "toothless-rounded-serifed-hooked"
capital-k = "symmetric-connected-serifed"
capital-m = "hanging-serifed"
capital-v = "straight-serifed"
capital-w = "straight-serifed"
b = "toothless-corner-serifed"
d = "toothed-serifed"
f = "serifed-crossbar-at-x-height"
k = "symmetric-connected-serifed"
q = "earless-corner-straight-serifed"
r = "serifed"
u = "toothed-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
y = "straight-turn-serifed"
z = "straight-serifed"
long-s = "bent-hook-double-serifed-xh"
eszet = "longs-s-lig-bottom-serifed"
lower-alpha = "barred-tailed-serifed"
lower-kappa = "symmetric-connected-tri-serifed"
lower-upsilon = "straight-serifed"
lower-psi = "flat-top-serifed"
cyrl-ve = "standard-bilateral-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-em = "hanging-serifed"
cyrl-capital-u = "straight-turn-serifed"
cyrl-u = "straight-turn-serifed"
cyrl-ef = "serifed"
four = "closed-serifed"
five = "upright-flat-serifed"
seven = "bend-serifed"
micro-sign = "tailed-serifed"

[composite.ss18.slab-override.italic]
f = "extended-crossbar-at-x-height"
k = "symmetric-connected-top-left-and-bottom-right-serifed"
r = "top-serifed"
u = "toothed-motion-serifed"
v = "straight-motion-serifed"
w = "straight-motion-serifed"
x = "straight-bilateral-motion-serifed"
y = "straight-turn-motion-serifed"
long-s = "bent-hook-descending-middle-serifed-xh"
eszet = "longs-s-lig-descending-serifless"
lower-alpha = "barred-tailed"
lower-kappa = "symmetric-connected-top-left-and-bottom-right-serifed"
cyrl-ve = "standard-unilateral-serifed"
cyrl-ka = "symmetric-connected-top-left-and-bottom-right-serifed"
cyrl-u = "straight-turn-motion-serifed"
micro-sign = "tailed-motion-serifed"



[composite.ss20]
tag = "ss20"
description = "Curly Style"

[composite.ss20.design]
capital-a = "curly-serifless"
capital-k = "curly-serifless"
capital-r = "curly-serifless"
capital-v = "curly-serifless"
capital-w = "curly-serifless"
capital-x = "curly-serifless"
capital-y = "curly-serifless"
capital-z = "curly-serifless"
k = "curly-serifless"
v = "curly-serifless"
w = "curly-serifless"
x = "curly-serifless"
y = "curly-serifless"
z = "curly-serifless"
lower-eth = "curly-bar"
capital-delta = "curly"
lower-kappa = "curly-serifless"
capital-lambda = "curly-serifless"
lower-lambda = "curly"
lower-chi = "curly-serifless"
partial-derivative = "curly-bar"
cyrl-capital-u = "curly-serifless"
cyrl-u = "curly-serifless"
cyrl-capital-ya = "curly-serifless"
cyrl-ya = "curly-serifless"
two = "curly-neck-serifless"
six = "open-contour"
seven = "curly-serifless"
nine = "open-contour"
brace = "curly"
guillemet = "curly"

[composite.ss20.italic]
k = "cursive-serifless"
y = "cursive-serifless"
cyrl-u = "cursive-serifless"

[composite.ss20.slab-override.design]
capital-a = "curly-base-serifed"
capital-k = "curly-serifed"
capital-r = "curly-serifed"
capital-v = "curly-serifed"
capital-w = "curly-serifed"
capital-x = "curly-serifed"
capital-y = "curly-serifed"
capital-z = "curly-serifed"
k = "curly-serifed"
v = "curly-serifed"
w = "curly-serifed"
x = "curly-serifed"
y = "curly-turn-serifed"
z = "curly-serifed"
lower-kappa = "curly-tri-serifed"
capital-lambda = "curly-base-serifed"
lower-lambda = "curly-turn"
lower-chi = "curly-bilateral-motion-serifed"
cyrl-capital-u = "curly-turn-serifed"
cyrl-u = "curly-turn-serifed"
cyrl-capital-ya = "curly-serifed"
cyrl-ya = "curly-serifed"
two = "curly-neck-serifed"
seven = "curly-serifed"

[composite.ss20.slab-override.italic]
k = "diagonal-tailed-cursive-top-left-serifed"
v = "curly-motion-serifed"
w = "curly-motion-serifed"
x = "cursive"
y = "cursive-motion-serifed"
z = "cursive"
lower-kappa = "curly-top-left-serifed"
cyrl-u = "cursive-motion-serifed"
