Iosevka/params/variants.toml
2023-05-24 00:42:05 -07:00

8149 lines
248 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Variants
[prime.capital-a]
sampler = "A"
tag = "cv01"
[prime.capital-a.variants.straight-serifless]
rank = 1
description = "Standard, straight `A`, without serifs"
selector.A = "straightSerifless"
selector."A/sansSerif" = "straightSerifless"
selector.AE = "straight"
[prime.capital-a.variants.straight-top-serifed]
rank = 2
description = "Straight `A` with serif at top"
selector.A = "straightTopSerifed"
selector."A/sansSerif" = "straightSerifless"
selector.AE = "straight"
[prime.capital-a.variants.straight-base-serifed]
rank = 3
description = "Straight `A` with serif at both top and bottom"
selector.A = "straightBaseSerifed"
selector."A/sansSerif" = "straightSerifless"
selector.AE = "straight"
[prime.capital-a.variants.straight-tri-serifed]
rank = 4
description = "Straight `A` with serif at both top and bottom"
selector.A = "straightTriSerifed"
selector."A/sansSerif" = "straightSerifless"
selector.AE = "straight"
[prime.capital-a.variants.curly-serifless]
rank = 5
description = "Slightly curly `A`, like Iosevka 2.x, without serifs"
selector.A = "curlySerifless"
selector."A/sansSerif" = "curlySerifless"
selector.AE = "curly"
[prime.capital-a.variants.curly-top-serifed]
rank = 6
description = "Slightly curly `A`, like Iosevka 2.x, with serif at top"
selector.A = "curlyTopSerifed"
selector."A/sansSerif" = "curlySerifless"
selector.AE = "curly"
[prime.capital-a.variants.curly-base-serifed]
rank = 7
description = "Slightly curly `A`, like Iosevka 2.x, with serif at both top and bottom"
selector.A = "curlyBaseSerifed"
selector."A/sansSerif" = "curlySerifless"
selector.AE = "curly"
[prime.capital-a.variants.curly-tri-serifed]
rank = 8
description = "Slightly curly `A`, like Iosevka 2.x, with serif at both top and bottom"
selector.A = "curlyTriSerifed"
selector."A/sansSerif" = "curlySerifless"
selector.AE = "curly"
[prime.capital-b]
sampler = "B"
tag = "cv02"
[prime.capital-b.variants.standard-serifless]
rank = 1
description = "`B` in near-symmetric proportion, without serifs"
selector.B = "standardSerifless"
selector."B/sansSerif" = "standardSerifless"
selector.smcpB = "standardSerifless"
[prime.capital-b.variants.standard-unilateral-serifed]
rank = 2
description = "`B` in near-symmetric proportion with motion serifs at top"
selector.B = "standardUnilateralSerifed"
selector."B/sansSerif" = "standardSerifless"
selector.smcpB = "standardUnilateralSerifed"
[prime.capital-b.variants.standard-bilateral-serifed]
rank = 3
description = "`B` in near-symmetric proportion with motion serifs at both top and bottom"
selector.B = "standardBilateralSerifed"
selector."B/sansSerif" = "standardSerifless"
selector.smcpB = "standardBilateralSerifed"
[prime.capital-b.variants.more-asymmetric-serifless]
rank = 4
description = "`B` in more asymmetric proportion to differentiate with `8`, without serifs"
selector.B = "moreAsymmetricSerifless"
selector."B/sansSerif" = "moreAsymmetricSerifless"
selector.smcpB = "standardSerifless"
[prime.capital-b.variants.more-asymmetric-unilateral-serifed]
rank = 5
description = "`B` in more asymmetric proportion with motion serifs at top"
selector.B = "moreAsymmetricUnilateralSerifed"
selector."B/sansSerif" = "moreAsymmetricSerifless"
selector.smcpB = "standardUnilateralSerifed"
[prime.capital-b.variants.more-asymmetric-bilateral-serifed]
rank = 6
description = "`B` in more asymmetric proportion with motion serifs at both top and bottom"
selector.B = "moreAsymmetricBilateralSerifed"
selector."B/sansSerif" = "moreAsymmetricSerifless"
selector.smcpB = "standardBilateralSerifed"
[prime.capital-b.variants.standard-interrupted-serifless]
rank = 7
description = "`B` in near-symmetric proportion with interrupted middle bar, without serifs"
selector.B = "standardInterruptedSerifless"
selector."B/sansSerif" = "standardInterruptedSerifless"
selector.smcpB = "standardInterruptedSerifless"
[prime.capital-b.variants.standard-interrupted-unilateral-serifed]
rank = 8
description = "`B` in near-symmetric proportion with interrupted middle bar and motion serifs at top"
selector.B = "standardInterruptedUnilateralSerifed"
selector."B/sansSerif" = "standardInterruptedSerifless"
selector.smcpB = "standardInterruptedUnilateralSerifed"
[prime.capital-b.variants.standard-interrupted-bilateral-serifed]
rank = 9
description = "`B` in near-symmetric proportion with interrupted middle bar and motion serifs at both top and bottom"
selector.B = "standardInterruptedBilateralSerifed"
selector."B/sansSerif" = "standardInterruptedSerifless"
selector.smcpB = "standardInterruptedBilateralSerifed"
[prime.capital-b.variants.more-asymmetric-interrupted-serifless]
rank = 10
description = "`B` in more asymmetric proportion to differentiate with `8`, with interrupted middle bar, without serifs"
selector.B = "moreAsymmetricInterruptedSerifless"
selector."B/sansSerif" = "moreAsymmetricInterruptedSerifless"
selector.smcpB = "standardInterruptedSerifless"
[prime.capital-b.variants.more-asymmetric-interrupted-unilateral-serifed]
rank = 11
description = "`B` in more asymmetric proportion with interrupted middle bar and `8` with motion serifs at top"
selector.B = "moreAsymmetricInterruptedUnilateralSerifed"
selector."B/sansSerif" = "moreAsymmetricInterruptedSerifless"
selector.smcpB = "standardInterruptedUnilateralSerifed"
[prime.capital-b.variants.more-asymmetric-interrupted-bilateral-serifed]
rank = 12
description = "`B` in more asymmetric proportion with interrupted middle bar and `8` with motion serifs at both top and bottom"
selector.B = "moreAsymmetricInterruptedBilateralSerifed"
selector."B/sansSerif" = "moreAsymmetricInterruptedSerifless"
selector.smcpB = "standardInterruptedBilateralSerifed"
[prime.capital-c]
sampler = "C"
tag = "cv03"
[prime.capital-c.variants.serifless]
rank = 1
description = "Serifless `C`"
selector.C = "serifless"
selector."C/descBase" = "serifless"
selector."C/sansSerif" = "serifless"
selector.CHookTop = "unilateralSerifed"
selector.CTopSerifOnly = "serifless"
[prime.capital-c.variants.unilateral-serifed]
rank = 2
description = "`C` with serif at top"
selector.C = "unilateralSerifed"
selector."C/descBase" = "bilateralSerifed"
selector."C/sansSerif" = "serifless"
selector.CHookTop = "unilateralSerifed"
selector.CTopSerifOnly = "unilateralSerifed"
[prime.capital-c.variants.bilateral-serifed]
rank = 3
description = "`C` with serifs at both top and bottom"
selector.C = "bilateralSerifed"
selector."C/descBase" = "bilateralSerifed"
selector."C/sansSerif" = "serifless"
selector.CHookTop = "bilateralSerifed"
selector.CTopSerifOnly = "unilateralSerifed"
[prime.capital-c.variants.unilateral-inward-serifed]
rank = 4
description = "`C` with inward serif at top"
selector.C = "unilateralInwardSerifed"
selector."C/descBase" = "hybridSerifed1"
selector."C/sansSerif" = "serifless"
selector.CHookTop = "unilateralInwardSerifed"
selector.CTopSerifOnly = "unilateralInwardSerifed"
[prime.capital-c.variants.bilateral-inward-serifed]
rank = 5
description = "`C` with inward serif at both top and bottom"
selector.C = "bilateralInwardSerifed"
selector."C/descBase" = "bilateralInwardSerifed"
selector."C/sansSerif" = "serifless"
selector.CHookTop = "bilateralInwardSerifed"
selector.CTopSerifOnly = "unilateralInwardSerifed"
[prime.capital-d]
sampler = "D"
tag = "cv04"
[prime.capital-d.variants.standard-serifless]
rank = 1
description = "Standard `D` without serifs"
selector.D = "standardSerifless"
selector."D/sansSerif" = "standardSerifless"
[prime.capital-d.variants.standard-unilateral-serifed]
rank = 2
description = "Standard `D` with serifs at top"
selector.D = "standardUnilateralSerifed"
selector."D/sansSerif" = "standardSerifless"
[prime.capital-d.variants.standard-bilateral-serifed]
rank = 3
description = "Standard `D` with serifs at both top and bottom"
selector.D = "standardBilateralSerifed"
selector."D/sansSerif" = "standardSerifless"
[prime.capital-d.variants.more-rounded-serifless]
rank = 4
description = "More rounded `D` to differentiate with `O`, without serifs"
selector.D = "moreRoundedSerifless"
selector."D/sansSerif" = "moreRoundedSerifless"
[prime.capital-d.variants.more-rounded-unilateral-serifed]
rank = 5
description = "More rounded `D` to differentiate with `O` with motion serifs at top"
selector.D = "moreRoundedUnilateralSerifed"
selector."D/sansSerif" = "moreRoundedSerifless"
[prime.capital-d.variants.more-rounded-bilateral-serifed]
rank = 6
description = "More rounded `D` to differentiate with `O` with serifs at both top and bottom"
selector.D = "moreRoundedBilateralSerifed"
selector."D/sansSerif" = "moreRoundedSerifless"
[prime.capital-e]
sampler = "E"
tag = "cv05"
[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-f]
sampler = "F"
tag = "cv06"
[prime.capital-f.variants.serifless]
rank = 1
description = "F without serifs"
selector.F = "serifless"
selector."F/sansSerif" = "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"
[prime.capital-f.variants.serifed]
rank = 3
description = "F with serifs"
selector.F = "serifed"
selector."F/sansSerif" = "serifless"
[prime.capital-g]
sampler = "G"
tag = "cv07"
[prime.capital-g.variants.toothed-serifless-hookless]
rank = 1
description = "Toothed G"
selector.G = "toothedSeriflessHookless"
selector."G/sansSerif" = "toothedSeriflessHookless"
selector.GHookTop = "toothedSeriflessHookless"
[prime.capital-g.variants.toothed-serifless-hooked]
rank = 2
description = "Toothed G with inward hook at terminal"
selector.G = "toothedSeriflessHooked"
selector."G/sansSerif" = "toothedSeriflessHooked"
selector.GHookTop = "toothedSeriflessHooked"
[prime.capital-g.variants.toothed-serifless-capped]
rank = 3
description = "Toothed G with a cap terminal"
selector.G = "toothedSeriflessCapped"
selector."G/sansSerif" = "toothedSeriflessCapped"
selector.GHookTop = "toothedSeriflessCapped"
[prime.capital-g.variants.toothed-serifed-hookless]
rank = 4
description = "Toothed G with top serif"
selector.G = "toothedSerifedHookless"
selector."G/sansSerif" = "toothedSeriflessHookless"
selector.GHookTop = "toothedSeriflessHookless"
[prime.capital-g.variants.toothed-serifed-hooked]
rank = 5
description = "Toothed G with inward hook at terminal and top serif"
selector.G = "toothedSerifedHooked"
selector."G/sansSerif" = "toothedSeriflessHooked"
selector.GHookTop = "toothedSeriflessHooked"
[prime.capital-g.variants.toothed-serifed-capped]
rank = 6
description = "Toothed G with a cap terminal and top serif"
selector.G = "toothedSerifedCapped"
selector."G/sansSerif" = "toothedSeriflessCapped"
selector.GHookTop = "toothedSeriflessCapped"
[prime.capital-g.variants.toothed-inward-serifed-hookless]
rank = 7
description = "Toothed G with inward top serif"
selector.G = "toothedInwardSerifedHookless"
selector."G/sansSerif" = "toothedSeriflessHookless"
selector.GHookTop = "toothedSeriflessHookless"
[prime.capital-g.variants.toothed-inward-serifed-hooked]
rank = 8
description = "Toothed G with inward hook at terminal and inward top serif"
selector.G = "toothedInwardSerifedHooked"
selector."G/sansSerif" = "toothedSeriflessHooked"
selector.GHookTop = "toothedSeriflessHooked"
[prime.capital-g.variants.toothed-inward-serifed-capped]
rank = 9
description = "Toothed G with a cap terminal and inward top serif"
selector.G = "toothedInwardSerifedCapped"
selector."G/sansSerif" = "toothedSeriflessCapped"
selector.GHookTop = "toothedSeriflessCapped"
[prime.capital-g.variants.toothless-corner-serifless-hookless]
rank = 10
description = "Corner toothless G"
selector.G = "toothlessCornerSeriflessHookless"
selector."G/sansSerif" = "toothlessCornerSeriflessHookless"
selector.GHookTop = "toothlessCornerSeriflessHookless"
[prime.capital-g.variants.toothless-corner-serifless-hooked]
rank = 11
description = "Corner toothless G with inward hook at terminal"
selector.G = "toothlessCornerSeriflessHooked"
selector."G/sansSerif" = "toothlessCornerSeriflessHooked"
selector.GHookTop = "toothlessCornerSeriflessHooked"
[prime.capital-g.variants.toothless-corner-serifless-capped]
rank = 12
description = "Corner toothless G with a cap terminal"
selector.G = "toothlessCornerSeriflessCapped"
selector."G/sansSerif" = "toothlessCornerSeriflessCapped"
selector.GHookTop = "toothlessCornerSeriflessCapped"
[prime.capital-g.variants.toothless-corner-serifed-hookless]
rank = 13
description = "Corner toothless G with top serif"
selector.G = "toothlessCornerSerifedHookless"
selector."G/sansSerif" = "toothlessCornerSeriflessHookless"
selector.GHookTop = "toothlessCornerSeriflessHookless"
[prime.capital-g.variants.toothless-corner-serifed-hooked]
rank = 14
description = "Corner toothless G with inward hook at terminal and top serif"
selector.G = "toothlessCornerSerifedHooked"
selector."G/sansSerif" = "toothlessCornerSeriflessHooked"
selector.GHookTop = "toothlessCornerSeriflessHooked"
[prime.capital-g.variants.toothless-corner-serifed-capped]
rank = 15
description = "Corner toothless G with a cap terminal and top serif"
selector.G = "toothlessCornerSerifedCapped"
selector."G/sansSerif" = "toothlessCornerSeriflessCapped"
selector.GHookTop = "toothlessCornerSeriflessCapped"
[prime.capital-g.variants.toothless-corner-inward-serifed-hookless]
rank = 16
description = "Corner toothless G with inward top serif"
selector.G = "toothlessCornerInwardSerifedHookless"
selector."G/sansSerif" = "toothlessCornerSeriflessHookless"
selector.GHookTop = "toothlessCornerSeriflessHookless"
[prime.capital-g.variants.toothless-corner-inward-serifed-hooked]
rank = 17
description = "Corner toothless G with inward hook at terminal and inward top serif"
selector.G = "toothlessCornerInwardSerifedHooked"
selector."G/sansSerif" = "toothlessCornerSeriflessHooked"
selector.GHookTop = "toothlessCornerSeriflessHooked"
[prime.capital-g.variants.toothless-corner-inward-serifed-capped]
rank = 18
description = "Corner toothless G with a cap terminal and inward top serif"
selector.G = "toothlessCornerInwardSerifedCapped"
selector."G/sansSerif" = "toothlessCornerSeriflessCapped"
selector.GHookTop = "toothlessCornerSeriflessCapped"
[prime.capital-g.variants.toothless-rounded-serifless-hookless]
rank = 19
description = "Round toothless G"
selector.G = "toothlessRoundedSeriflessHookless"
selector."G/sansSerif" = "toothlessRoundedSeriflessHookless"
selector.GHookTop = "toothlessRoundedSeriflessHookless"
[prime.capital-g.variants.toothless-rounded-serifless-hooked]
rank = 20
description = "Round toothless G with inward hook at terminal"
selector.G = "toothlessRoundedSeriflessHooked"
selector."G/sansSerif" = "toothlessRoundedSeriflessHooked"
selector.GHookTop = "toothlessRoundedSeriflessHooked"
[prime.capital-g.variants.toothless-rounded-serifless-capped]
rank = 21
description = "Round toothless G with a cap terminal"
selector.G = "toothlessRoundedSeriflessCapped"
selector."G/sansSerif" = "toothlessRoundedSeriflessCapped"
selector.GHookTop = "toothlessRoundedSeriflessCapped"
[prime.capital-g.variants.toothless-rounded-serifed-hookless]
rank = 22
description = "Round toothless G with top serif"
selector.G = "toothlessRoundedSerifedHookless"
selector."G/sansSerif" = "toothlessRoundedSeriflessHookless"
selector.GHookTop = "toothlessRoundedSeriflessHookless"
[prime.capital-g.variants.toothless-rounded-serifed-hooked]
rank = 23
description = "Round toothless G with inward hook at terminal and top serif"
selector.G = "toothlessRoundedSerifedHooked"
selector."G/sansSerif" = "toothlessRoundedSeriflessHooked"
selector.GHookTop = "toothlessRoundedSeriflessHooked"
[prime.capital-g.variants.toothless-rounded-serifed-capped]
rank = 24
description = "Round toothless G with a cap terminal and top serif"
selector.G = "toothlessRoundedSerifedCapped"
selector."G/sansSerif" = "toothlessRoundedSeriflessCapped"
selector.GHookTop = "toothlessRoundedSeriflessCapped"
[prime.capital-g.variants.toothless-rounded-inward-serifed-hookless]
rank = 25
description = "Round toothless G with inward top serif"
selector.G = "toothlessRoundedInwardSerifedHookless"
selector."G/sansSerif" = "toothlessRoundedSeriflessHookless"
selector.GHookTop = "toothlessRoundedSeriflessHookless"
[prime.capital-g.variants.toothless-rounded-inward-serifed-hooked]
rank = 26
description = "Round toothless G with inward hook at terminal and inward top serif"
selector.G = "toothlessRoundedInwardSerifedHooked"
selector."G/sansSerif" = "toothlessRoundedSeriflessHooked"
selector.GHookTop = "toothlessRoundedSeriflessHooked"
[prime.capital-g.variants.toothless-rounded-inward-serifed-capped]
rank = 27
description = "Round toothless G with a cap terminal and inward top serif"
selector.G = "toothlessRoundedInwardSerifedCapped"
selector."G/sansSerif" = "toothlessRoundedSeriflessCapped"
selector.GHookTop = "toothlessRoundedSeriflessCapped"
[prime.capital-h]
sampler = "H"
tag = "cv08"
[prime.capital-h.variants.serifless]
rank = 1
description = "H without serifs"
selector.H = "serifless"
selector.leftHalfH = "serifless"
selector.rightHalfH = "serifless"
selector."H/sansSerif" = "serifless"
selector.Hwair = "serifless"
selector."cyrl/njeKomi" = "serifless"
selector.HHookLeft = "serifless"
selector."cyrl/Nje/leftHalf" = "serifless"
selector."cyrl/Nje/leftHalf/reduced" = "serifless"
[prime.capital-h.variants.top-left-serifed]
rank = 2
description = "H with serif only at top left"
selector.H = "topLeftSerifed"
selector.leftHalfH = "topLeftSerifed"
selector.rightHalfH = "serifless"
selector."H/sansSerif" = "serifless"
selector.Hwair = "topLeftSerifed"
selector."cyrl/njeKomi" = "topLeftSerifed"
selector.HHookLeft = "serifless"
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
[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.leftHalfH = "topLeftSerifed"
selector.rightHalfH = "topLeftBottomRightSerifed"
selector."H/sansSerif" = "serifless"
selector.Hwair = "topLeftSerifed"
selector."cyrl/njeKomi" = "topLeftSerifed"
selector.HHookLeft = "topLeftBottomRightSerifed"
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
[prime.capital-h.variants.serifed]
rank = 4
description = "H with serifs"
selector.H = "serifed"
selector.leftHalfH = "serifed"
selector.rightHalfH = "serifed"
selector."H/sansSerif" = "serifless"
selector.Hwair = "serifedExceptBottomRight"
selector."cyrl/njeKomi" = "serifedExceptBottomRight"
selector.HHookLeft = "serifed"
selector."cyrl/Nje/leftHalf" = "serifed"
selector."cyrl/Nje/leftHalf/reduced" = "serifedExceptBottomRight"
[prime.capital-i]
sampler = "I"
tag = "cv09"
[prime.capital-i.variants.serifed]
rank = 1
description = "I with standard (long) serifs"
selector.I = "serifed"
selector."I/sansSerif" = "serifless"
[prime.capital-i.variants.serifless]
rank = 2
description = "I without serifs, like a straight bar"
selector.I = "serifless"
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"
tag = "cv10"
[prime.capital-j.variants.serifless]
rank = 1
description = "J without top serif"
selector.J = "serifless"
selector."J/noDescend" = "serifless"
selector."J/sansSerif" = "serifless"
selector.JCurlyTail = "serifless"
[prime.capital-j.variants.serifed]
rank = 2
description = "J with top serif at left side"
selector.J = "serifed"
selector."J/noDescend" = "serifed"
selector."J/sansSerif" = "serifless"
selector.JCurlyTail = "serifed"
[prime.capital-j.variants.serifed-both-sides]
rank = 3
description = "J with top serif at both sides (asymmetric)"
selector.J = "serifedBothSides"
selector."J/noDescend" = "serifedBothSides"
selector."J/sansSerif" = "serifless"
selector.JCurlyTail = "serifedBothSides"
[prime.capital-j.variants.serifed-symmetric]
rank = 4
description = "J with top serif at both sides (symmetric)"
selector.J = "serifedSymmetric"
selector."J/noDescend" = "serifedSymmetric"
selector."J/sansSerif" = "serifless"
selector.JCurlyTail = "serifedSymmetric"
[prime.capital-j.variants.flat-hook-serifless]
rank = 5
description = "J with flat hook and without top serif"
selector.J = "flatHookSerifless"
selector."J/noDescend" = "flatHookSerifless"
selector."J/sansSerif" = "flatHookSerifless"
selector.JCurlyTail = "serifless"
[prime.capital-j.variants.flat-hook-serifed]
rank = 6
description = "J with flat hook and top serif at left side"
selector.J = "flatHookSerifed"
selector."J/noDescend" = "flatHookSerifed"
selector."J/sansSerif" = "flatHookSerifless"
selector.JCurlyTail = "serifed"
[prime.capital-j.variants.flat-hook-serifed-both-sides]
rank = 7
description = "J with flat hook and top serif at both sides (asymmetric)"
selector.J = "flatHookSeriflessBothSides"
selector."J/noDescend" = "flatHookSeriflessBothSides"
selector."J/sansSerif" = "flatHookSerifless"
selector.JCurlyTail = "serifedBothSides"
[prime.capital-j.variants.flat-hook-serifed-symmetric]
rank = 8
description = "J with flat hook and top serif at both sides (symmetric)"
selector.J = "flatHookSerifedSymmetric"
selector."J/noDescend" = "flatHookSerifedSymmetric"
selector."J/sansSerif" = "flatHookSerifless"
selector.JCurlyTail = "serifedSymmetric"
[prime.capital-j.variants.descending-serifless]
rank = 9
description = "J with hook goes below descender and without serif"
selector.J = "descendingSerifless"
selector."J/noDescend" = "serifless"
selector."J/sansSerif" = "descendingSerifless"
selector.JCurlyTail = "descendingSerifless"
[prime.capital-j.variants.descending-serifed]
rank = 10
description = "J with hook goes below descender and top serif at left side"
selector.J = "descendingSerifed"
selector."J/noDescend" = "serifed"
selector."J/sansSerif" = "descendingSerifless"
selector.JCurlyTail = "descendingSerifed"
[prime.capital-j.variants.descending-serifed-both-sides]
rank = 11
description = "J with hook goes below descender and top serif at both sides (asymmetric)"
selector.J = "descendingSerifedBothSides"
selector."J/noDescend" = "serifedBothSides"
selector."J/sansSerif" = "descendingSerifless"
selector.JCurlyTail = "descendingSerifedBothSides"
[prime.capital-j.variants.descending-serifed-symmetric]
rank = 12
description = "J with hook goes below descender and top serif at both sides (symmetric)"
selector.J = "descendingSerifedSymmetric"
selector."J/noDescend" = "serifedSymmetric"
selector."J/sansSerif" = "descendingSerifless"
selector.JCurlyTail = "descendingSerifedSymmetric"
[prime.capital-j.variants.descending-flat-hook-serifless]
rank = 13
description = "J with flat hook goes below descender and without serif"
selector.J = "descendingFlatHookSerifless"
selector."J/noDescend" = "flatHookSerifless"
selector."J/sansSerif" = "descendingFlatHookSerifless"
selector.JCurlyTail = "descendingSerifless"
[prime.capital-j.variants.descending-flat-hook-serifed]
rank = 14
description = "J with flat hook goes below descender and top serif at left side"
selector.J = "descendingFlatHookSerifed"
selector."J/noDescend" = "flatHookSerifed"
selector."J/sansSerif" = "descendingFlatHookSerifless"
selector.JCurlyTail = "descendingSerifed"
[prime.capital-k]
sampler = "K"
tag = "cv11"
[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."grek/KaiSymbol" = "straight"
selectorAffix."grek/kappa" = "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."grek/KaiSymbol" = "curly"
selectorAffix."grek/kappa" = "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."grek/KaiSymbol" = "symmetricTouching"
selectorAffix."grek/kappa" = "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."grek/KaiSymbol" = "symmetricConnected"
selectorAffix."grek/kappa" = "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."grek/KaiSymbol" = "serifless"
selectorAffix."grek/kappa" = "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."grek/KaiSymbol" = "topLeftSerifed"
selectorAffix."grek/kappa" = "serifless"
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."grek/KaiSymbol" = "bottomRightSerifed2"
selectorAffix."grek/kappa" = "serifless"
selectorAffix.KDescender = "bottomRightSerifed"
[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."grek/KaiSymbol" = "topLeftAndBottomRightSerifed2"
selectorAffix."grek/kappa" = "serifless"
selectorAffix.KDescender = "topLeftSerifed"
[prime.capital-k.variants-buildup.stages.serifs.serifed]
rank = 5
descriptionAffix = "serifs"
selectorAffix.K = "serifed"
selectorAffix."K/sansSerif" = "serifless"
selectorAffix."grek/KaiSymbol" = "serifed2"
selectorAffix."grek/kappa" = "serifless"
selectorAffix.KDescender = "serifed"
[prime.capital-l]
sampler = "L"
tag = "cv12"
[prime.capital-l.variants.serifless]
rank = 1
description = "Serifless `L`"
selector.L = "serifless"
selector."L/sansSerif" = "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"
[prime.capital-l.variants.serifed]
rank = 3
description = "`L` with serifs"
selector.L = "serifed"
selector."L/sansSerif" = "serifless"
[prime.capital-m]
sampler = "M"
tag = "cv13"
[prime.capital-m.variants.hanging-serifless]
rank = 1
description = "`M` with middle being hanging off baseline, without serifs"
selector.M = "hangingSerifless"
selector."M/sansSerif" = "hangingSerifless"
selector."cyrl/em" = "hangingSerifless"
[prime.capital-m.variants.hanging-motion-serifed]
rank = 2
description = "`M` with middle being hanging off baseline and motion serifs"
selector.M = "hangingMotionSerifed"
selector."M/sansSerif" = "hangingSerifless"
selector."cyrl/em" = "hangingMotionSerifed"
[prime.capital-m.variants.hanging-serifed]
rank = 3
description = "`M` with middle being hanging off baseline and serifs"
selector.M = "hangingSerifed"
selector."M/sansSerif" = "hangingSerifless"
selector."cyrl/em" = "hangingSmallCyrl"
[prime.capital-m.variants.slanted-sides-hanging-serifless]
rank = 4
description = "`M` with slanted sides and middle being hanging off baseline, without serifs"
selector.M = "slantedSidesHangingSerifless"
selector."M/sansSerif" = "slantedSidesHangingSerifless"
selector."cyrl/em" = "slantedSidesHangingSerifless"
[prime.capital-m.variants.slanted-sides-hanging-motion-serifed]
rank = 5
description = "`M` with slanted sides, middle being hanging off baseline, and motion serifs"
selector.M = "slantedSidesHangingMotionSerifed"
selector."M/sansSerif" = "slantedSidesHangingSerifless"
selector."cyrl/em" = "slantedSidesHangingMotionSerifed"
[prime.capital-m.variants.slanted-sides-hanging-serifed]
rank = 6
description = "`M` with slanted sides, middle being hanging off baseline, and serifs"
selector.M = "slantedSidesHangingSerifed"
selector."M/sansSerif" = "slantedSidesHangingSerifless"
selector."cyrl/em" = "slantedSidesHangingSmallCyrl"
[prime.capital-m.variants.flat-bottom-serifless]
rank = 7
description = "`M` with middle aligned to baseline, without serifs"
selector.M = "flatBottomSerifless"
selector."M/sansSerif" = "flatBottomSerifless"
selector."cyrl/em" = "flatBottomSerifless"
[prime.capital-m.variants.flat-bottom-motion-serifed]
rank = 8
description = "`M` with middle aligned to baseline and motion serifs"
selector.M = "flatBottomMotionSerifed"
selector."M/sansSerif" = "flatBottomSerifless"
selector."cyrl/em" = "flatBottomMotionSerifed"
[prime.capital-m.variants.flat-bottom-serifed]
rank = 9
description = "`M` with middle aligned to baseline and serifs"
selector.M = "flatBottomSerifed"
selector."M/sansSerif" = "flatBottomSerifless"
selector."cyrl/em" = "flatBottomSmallCyrl"
[prime.capital-m.variants.slanted-sides-flat-bottom-serifless]
rank = 10
description = "`M` with slanted sides and middle aligned to baseline, without serifs"
selector.M = "slantedSidesFlatBottomSerifless"
selector."M/sansSerif" = "slantedSidesFlatBottomSerifless"
selector."cyrl/em" = "slantedSidesFlatBottomSerifless"
[prime.capital-m.variants.slanted-sides-flat-bottom-motion-serifed]
rank = 11
description = "`M` with slanted sides, middle aligned to baseline, and motion serifs"
selector.M = "slantedSidesFlatBottomMotionSerifed"
selector."M/sansSerif" = "slantedSidesFlatBottomSerifless"
selector."cyrl/em" = "slantedSidesFlatBottomMotionSerifed"
[prime.capital-m.variants.slanted-sides-flat-bottom-serifed]
rank = 12
description = "`M` with slanted sides, middle aligned to baseline, and serifs"
selector.M = "slantedSidesFlatBottomSerifed"
selector."M/sansSerif" = "slantedSidesFlatBottomSerifless"
selector."cyrl/em" = "slantedSidesFlatBottomSmallCyrl"
[prime.capital-n]
sampler = "N"
tag = "cv14"
[prime.capital-n.variants.standard-serifless]
rank = 1
description = "Standard N"
selector.N = "standardSerifless"
selector."N/sansSerif" = "standardSerifless"
[prime.capital-n.variants.standard-motion-serifed]
rank = 2
description = "Standard N with motion serifs"
selector.N = "standardMotionSerifed"
selector."N/sansSerif" = "standardSerifless"
[prime.capital-n.variants.standard-serifed]
rank = 3
description = "Standard N with motion serifs"
selector.N = "standardSerifed"
selector."N/sansSerif" = "standardSerifless"
[prime.capital-n.variants.asymmetric-serifless]
rank = 4
description = "More asymmetric N, with the diagonal bar stops at middle of right stem"
selector.N = "asymmetricSerifless"
selector."N/sansSerif" = "asymmetricSerifless"
[prime.capital-n.variants.asymmetric-motion-serifed]
rank = 5
description = "More asymmetric N, with the diagonal bar stops at middle of right stem and motion serifs"
selector.N = "asymmetricMotionSerifed"
selector."N/sansSerif" = "asymmetricSerifless"
[prime.capital-n.variants.asymmetric-serifed]
rank = 6
description = "More asymmetric N, with the diagonal bar stops at middle of right stem and motion serifs"
selector.N = "asymmetricSerifed"
selector."N/sansSerif" = "asymmetricSerifless"
[prime.capital-p]
sampler = "P"
tag = "cv15"
[prime.capital-p.variants.closed-serifless]
rank = 1
description = "Closed `P`"
selector.P = "closedSerifless"
selector."P/sansSerif" = "closedSerifless"
selector.PHookLeft = "closedSerifless"
selector."currency/rubleSign" = "closedSerifless"
[prime.capital-p.variants.closed-motion-serifed]
rank = 2
description = "Closed `P` with motion serifs"
selector.P = "closedMotionSerifed"
selector."P/sansSerif" = "closedSerifless"
selector.PHookLeft = "closedMotionSerifed"
selector."currency/rubleSign" = "closedMotionSerifed"
[prime.capital-p.variants.closed-serifed]
rank = 3
description = "Closed `P` with serifs"
selector.P = "closedSerifed"
selector."P/sansSerif" = "closedSerifless"
selector.PHookLeft = "closedSerifed"
selector."currency/rubleSign" = "closedSerifed"
[prime.capital-p.variants.open-serifless]
rank = 4
description = "P with open contour at bottom"
selector.P = "openSerifless"
selector."P/sansSerif" = "openSerifless"
selector.PHookLeft = "openSerifless"
selector."currency/rubleSign" = "closedSerifless"
[prime.capital-p.variants.open-motion-serifed]
rank = 5
description = "P with open contour at bottom and motion serifs"
selector.P = "openMotionSerifed"
selector."P/sansSerif" = "openSerifless"
selector.PHookLeft = "openMotionSerifed"
selector."currency/rubleSign" = "closedMotionSerifed"
[prime.capital-p.variants.open-serifed]
rank = 6
description = "P with open contour at bottom and serifs"
selector.P = "openSerifed"
selector."P/sansSerif" = "openSerifless"
selector.PHookLeft = "openSerifed"
selector."currency/rubleSign" = "closedSerifed"
[prime.capital-q]
sampler = "Q"
tag = "cv16"
[prime.capital-q.variants.curly-tailed]
rank = 1
description = "`Q` with a curly tail"
selector.Q = "curlyTailed"
[prime.capital-q.variants.crossing-curly-tailed]
rank = 2
description = "`Q` with a curly tail"
selector.Q = "crossingCurlyTailed"
[prime.capital-q.variants.straight]
rank = 3
description = "`Q` with a straight tail like in the old versions"
selector.Q = "straight"
[prime.capital-q.variants.crossing]
rank = 4
description = "`Q` with a tail crossing the ring"
selector.Q = "crossing"
[prime.capital-q.variants.crossing-baseline]
rank = 5
description = "`Q` with a tail above baseline crossing the ring"
selector.Q = "crossingBaseline"
[prime.capital-q.variants.vertical-crossing]
rank = 6
description = "`Q` with a vertical tail crossing the ring"
selector.Q = "verticalCrossing"
[prime.capital-q.variants.horizontal-tailed]
rank = 7
description = "`Q` with a horizontal tail, like Univers"
selector.Q = "horizontalTailed"
[prime.capital-q.variants.detached-tailed]
rank = 8
description = "`Q` with a oblique tail detached"
selector.Q = "detachedTailed"
[prime.capital-q.variants.detached-bend-tailed]
rank = 9
description = "`Q` with a bend tail detached"
selector.Q = "detachedBendTailed"
[prime.capital-q.variants.open-swash]
rank = 10
description = "`Q` with open contour and swash-y shape"
selector.Q = "openSwash"
[prime.capital-r]
sampler = "R"
tag = "cv17"
[prime.capital-r.variants.straight-serifless]
rank = 1
description = "Standard, straight-leg `R`, without serifs"
selector.R = "straightSerifless"
selector."R/sansSerif" = "straightSerifless"
selector.RRotunda = "straightSerifless"
[prime.capital-r.variants.straight-motion-serifed]
rank = 2
description = "Standard, straight-leg `R`, with motion serifs"
selector.R = "straightMotionSerifed"
selector."R/sansSerif" = "straightSerifless"
selector.RRotunda = "straightSerifless"
[prime.capital-r.variants.straight-serifed]
rank = 3
description = "Standard, straight-leg `R`, with serifs"
selector.R = "straightSerifed"
selector."R/sansSerif" = "straightSerifless"
selector.RRotunda = "straightSerifless"
[prime.capital-r.variants.curly-serifless]
rank = 4
description = " Slightly curly-legged `R`, like Iosevka 2.x, without serifs"
selector.R = "curlySerifless"
selector."R/sansSerif" = "curlySerifless"
selector.RRotunda = "curlySerifless"
[prime.capital-r.variants.curly-motion-serifed]
rank = 5
description = " Slightly curly-legged `R`, like Iosevka 2.x, with motion serifs"
selector.R = "curlyMotionSerifed"
selector."R/sansSerif" = "curlySerifless"
selector.RRotunda = "curlySerifless"
[prime.capital-r.variants.curly-serifed]
rank = 6
description = " Slightly curly-legged `R`, like Iosevka 2.x, with serifs"
selector.R = "curlySerifed"
selector."R/sansSerif" = "curlySerifless"
selector.RRotunda = "curlySerifless"
[prime.capital-r.variants.standing-serifless]
rank = 7
description = "`R` with near-vertical standing leg, without serifs"
selector.R = "standingSerifless"
selector."R/sansSerif" = "standingSerifless"
selector.RRotunda = "standingSerifless"
[prime.capital-r.variants.standing-motion-serifed]
rank = 8
description = "`R` with near-vertical standing leg and motion serifs"
selector.R = "standingMotionSerifed"
selector."R/sansSerif" = "standingSerifless"
selector.RRotunda = "standingSerifless"
[prime.capital-r.variants.standing-serifed]
rank = 9
description = "`R` with near-vertical standing leg and serifs"
selector.R = "standingSerifed"
selector."R/sansSerif" = "standingSerifless"
selector.RRotunda = "standingSerifless"
[prime.capital-r.variants.straight-open-serifless]
rank = 10
description = "Standard, straight-leg `R`, with open contour at bottom, without serifs"
selector.R = "straightOpenSerifless"
selector."R/sansSerif" = "straightOpenSerifless"
selector.RRotunda = "straightSerifless"
[prime.capital-r.variants.straight-open-motion-serifed]
rank = 11
description = "Standard, straight-leg `R`, with open contour at bottom and motion serifs"
selector.R = "straightOpenMotionSerifed"
selector."R/sansSerif" = "straightOpenSerifless"
selector.RRotunda = "straightSerifless"
[prime.capital-r.variants.straight-open-serifed]
rank = 12
description = "Standard, straight-leg `R`, with open contour at bottom and serifs"
selector.R = "straightOpenSerifed"
selector."R/sansSerif" = "straightOpenSerifless"
selector.RRotunda = "straightSerifless"
[prime.capital-r.variants.curly-open-serifless]
rank = 13
description = " Slightly curly-legged `R`, like Iosevka 2.x, with open contour at bottom, without serifs"
selector.R = "curlyOpenSerifless"
selector."R/sansSerif" = "curlyOpenSerifless"
selector.RRotunda = "curlySerifless"
[prime.capital-r.variants.curly-open-motion-serifed]
rank = 14
description = " Slightly curly-legged `R`, like Iosevka 2.x, with open contour at bottom and motion serifs"
selector.R = "curlyOpenMotionSerifed"
selector."R/sansSerif" = "curlyOpenSerifless"
selector.RRotunda = "curlySerifless"
[prime.capital-r.variants.curly-open-serifed]
rank = 15
description = " Slightly curly-legged `R`, like Iosevka 2.x, with open contour at bottom and serifs"
selector.R = "curlyOpenSerifed"
selector."R/sansSerif" = "curlyOpenSerifless"
selector.RRotunda = "curlySerifless"
[prime.capital-r.variants.standing-open-serifless]
rank = 16
description = "`R` with near-vertical standing leg, with open contour at bottom, without serifs"
selector.R = "standingOpenSerifless"
selector."R/sansSerif" = "standingOpenSerifless"
selector.RRotunda = "standingSerifless"
[prime.capital-r.variants.standing-open-motion-serifed]
rank = 17
description = "`R` with near-vertical standing leg, with open contour at bottom and motion serifs"
selector.R = "standingOpenMotionSerifed"
selector."R/sansSerif" = "standingOpenSerifless"
selector.RRotunda = "standingSerifless"
[prime.capital-r.variants.standing-open-serifed]
rank = 18
description = "`R` with near-vertical standing leg, with open contour at bottom and serifs"
selector.R = "standingOpenSerifed"
selector."R/sansSerif" = "standingOpenSerifless"
selector.RRotunda = "standingSerifless"
[prime.capital-s]
sampler = "S"
tag = "cv18"
[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"
tag = "cv19"
[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"
tag = "cv20"
[prime.capital-u.variants.toothed-serifless]
rank = 1
description = "`U` with bottom-right tooth"
selector.U = "toothedSerifless"
selector."U/sansSerif" = "toothedSerifless"
[prime.capital-u.variants.toothed-motion-serifed]
rank = 2
description = "Normal `U` with right bar and motion serifs"
selector.U = "toothedMotionSerifed"
selector."U/sansSerif" = "toothedSerifless"
[prime.capital-u.variants.toothed-serifed]
rank = 3
description = "Normal `U` with right bar and serifs"
selector.U = "toothedSerifed"
selector."U/sansSerif" = "toothedSerifless"
[prime.capital-u.variants.tailed-serifless]
rank = 4
description = "`U` with right bar and a slightly curly tail"
selector.U = "tailedSerifless"
selector."U/sansSerif" = "tailedSerifless"
[prime.capital-u.variants.tailed-motion-serifed]
rank = 5
description = "`U` with right bar, motion serifs and a slightly curly tail"
selector.U = "tailedMotionSerifed"
selector."U/sansSerif" = "tailedSerifless"
[prime.capital-u.variants.tailed-serifed]
rank = 6
description = "`U` with right bar, serifs and a slightly curly tail"
selector.U = "tailedSerifed"
selector."U/sansSerif" = "tailedSerifless"
[prime.capital-u.variants.toothless-corner-serifless]
rank = 7
description = "Toothless (corner bottom-right) `U`"
selector.U = "toothlessCornerSerifless"
selector."U/sansSerif" = "toothlessCornerSerifless"
[prime.capital-u.variants.toothless-corner-unilateral-motion-serifed]
rank = 8
description = "Toothless (corner bottom-right) `U` with motion serifs at left side"
selector.U = "toothlessCornerUnilateralMotionSerifed"
selector."U/sansSerif" = "toothlessCornerSerifless"
[prime.capital-u.variants.toothless-corner-bilateral-motion-serifed]
rank = 9
description = "Toothless (corner bottom-right) `U` with motion serifs at both sides"
selector.U = "toothlessCornerBilateralMotionSerifed"
selector."U/sansSerif" = "toothlessCornerSerifless"
[prime.capital-u.variants.toothless-corner-serifed]
rank = 10
description = "Toothless (corner bottom-right) `U` with serifs"
selector.U = "toothlessCornerSerifed"
selector."U/sansSerif" = "toothlessCornerSerifless"
[prime.capital-u.variants.toothless-rounded-serifless]
rank = 11
description = "Toothless (rounded) `U`"
selector.U = "toothlessRoundedSerifless"
selector."U/sansSerif" = "toothlessRoundedSerifless"
[prime.capital-u.variants.toothless-rounded-unilateral-motion-serifed]
rank = 12
description = "Toothless (rounded) `U` with motion serifs at left side"
selector.U = "toothlessRoundedUnilateralMotionSerifed"
selector."U/sansSerif" = "toothlessRoundedSerifless"
[prime.capital-u.variants.toothless-rounded-bilateral-motion-serifed]
rank = 13
description = "Toothless (rounded) `U` with motion serifs at both sides"
selector.U = "toothlessRoundedBilateralMotionSerifed"
selector."U/sansSerif" = "toothlessRoundedSerifless"
[prime.capital-u.variants.toothless-rounded-serifed]
rank = 14
description = "Toothless (rounded) `U` with serifs"
selector.U = "toothlessRoundedSerifed"
selector."U/sansSerif" = "toothlessRoundedSerifless"
[prime.capital-v]
sampler = "V"
tag = "cv21"
[prime.capital-v.variants.straight-serifless]
rank = 1
description = "Standard, straight `V`, without serifs"
selector.V = "straightSerifless"
selector."V/sansSerif" = "straightSerifless"
selector.VHookTop = "straightSerifless"
[prime.capital-v.variants.straight-motion-serifed]
rank = 2
description = "Standard, straight `V`, and motion serifs"
selector.V = "straightMotionSerifed"
selector."V/sansSerif" = "straightSerifless"
selector.VHookTop = "straightMotionSerifed"
[prime.capital-v.variants.straight-serifed]
rank = 3
description = "Standard, straight `V`, and serifs"
selector.V = "straightSerifed"
selector."V/sansSerif" = "straightSerifless"
selector.VHookTop = "straightSerifed"
[prime.capital-v.variants.curly-serifless]
rank = 4
description = " Slightly curly `V`, like Iosevka 2.x, without serifs"
selector.V = "curlySerifless"
selector."V/sansSerif" = "curlySerifless"
selector.VHookTop = "curlySerifless"
[prime.capital-v.variants.curly-motion-serifed]
rank = 5
description = " Slightly curly `V`, like Iosevka 2.x, and motion serifs"
selector.V = "curlyMotionSerifed"
selector."V/sansSerif" = "curlySerifless"
selector.VHookTop = "curlyMotionSerifed"
[prime.capital-v.variants.curly-serifed]
rank = 6
description = " Slightly curly `V`, like Iosevka 2.x, and serifs"
selector.V = "curlySerifed"
selector."V/sansSerif" = "curlySerifless"
selector.VHookTop = "curlySerifed"
[prime.capital-w]
sampler = "W"
tag = "cv22"
[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
descriptionAffix = "standard, straight body"
selectorAffix.W = "straight"
selectorAffix."W/sansSerif" = "straight"
selectorAffix.WHookTop = "straight"
[prime.capital-w.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly body"
selectorAffix.W = "curly"
selectorAffix."W/sansSerif" = "curly"
selectorAffix.WHookTop = "curly"
[prime.capital-w.variants-buildup.stages.body.straight-flat-top]
rank = 3
descriptionAffix = "straight body shape that the middle is forced to be aligned the top"
selectorAffix.W = "straightFlatTop"
selectorAffix."W/sansSerif" = "straightFlatTop"
selectorAffix.WHookTop = "straightFlatTop"
[prime.capital-w.variants-buildup.stages.body.straight-double-v]
rank = 4
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
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
descriptionAffix = "body shape with vertical sides"
selectorAffix.W = "straightVerticalSides"
selectorAffix."W/sansSerif" = "straightVerticalSides"
selectorAffix.WHookTop = "straightVerticalSides"
[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 = "serifed"
[prime.capital-x]
sampler = "X"
tag = "cv23"
[prime.capital-x.variants.straight-serifless]
rank = 1
description = "Serifless, straight `X`"
selector.X = "straightSerifless"
selector."X/sansSerif" = "straightSerifless"
[prime.capital-x.variants.straight-motion-serifed]
rank = 2
description = "Straight `X` with motion serifs"
selector.X = "straightMotionSerifed"
selector."X/sansSerif" = "straightSerifless"
[prime.capital-x.variants.straight-serifed]
rank = 3
description = "Straight `X` with full serifs"
selector.X = "straightSerifed"
selector."X/sansSerif" = "straightSerifless"
[prime.capital-x.variants.curly-serifless]
rank = 4
description = "Serifless, slightly curly `X`, like Iosevka 2.x"
selector.X = "curlySerifless"
selector."X/sansSerif" = "curlySerifless"
[prime.capital-x.variants.curly-motion-serifed]
rank = 5
description = "Slightly curly `X`, like Iosevka 2.x, with motion serifs"
selector.X = "curlyMotionSerifed"
selector."X/sansSerif" = "curlySerifless"
[prime.capital-x.variants.curly-serifed]
rank = 6
description = "Slightly curly `X`, like Iosevka 2.x, with full serifs"
selector.X = "curlySerifed"
selector."X/sansSerif" = "curlySerifless"
[prime.capital-y]
sampler = "Y"
tag = "cv24"
[prime.capital-y.variants.straight-serifless]
rank = 1
description = "Straight `Y` without serifs"
selector.Y = "straightSerifless"
selector."grek/upsilonHookedSymbolShape" = "straightSerifless"
selector."Y/sansSerif" = "straightSerifless"
[prime.capital-y.variants.straight-base-serifed]
rank = 2
description = "Standard, straight `Y`, with serif at bottom"
selector.Y = "straightBaseSerifed"
selector."grek/upsilonHookedSymbolShape" = "straightBaseSerifed"
selector."Y/sansSerif" = "straightSerifless"
[prime.capital-y.variants.straight-motion-serifed]
rank = 3
description = "Standard, straight `Y`, with motion serifs"
selector.Y = "straightMotionSerifed"
selector."grek/upsilonHookedSymbolShape" = "straightSerifless"
selector."Y/sansSerif" = "straightSerifless"
[prime.capital-y.variants.straight-serifed]
rank = 4
description = "Standard, straight `Y`, with serifs"
selector.Y = "straightSerifed"
selector."grek/upsilonHookedSymbolShape" = "straightBaseSerifed"
selector."Y/sansSerif" = "straightSerifless"
[prime.capital-y.variants.curly-serifless]
rank = 5
description = "Slightly curly `Y`, like Iosevka 2.x, without serifs"
selector.Y = "curlySerifless"
selector."grek/upsilonHookedSymbolShape" = "straightSerifless"
selector."Y/sansSerif" = "curlySerifless"
[prime.capital-y.variants.curly-base-serifed]
rank = 6
description = "Slightly curly `Y`, like Iosevka 2.x, with serif at bottom"
selector.Y = "curlyBaseSerifed"
selector."grek/upsilonHookedSymbolShape" = "straightBaseSerifed"
selector."Y/sansSerif" = "curlySerifless"
[prime.capital-y.variants.curly-motion-serifed]
rank = 7
description = "Slightly curly `Y`, like Iosevka 2.x, with motion serifs"
selector.Y = "curlyMotionSerifed"
selector."grek/upsilonHookedSymbolShape" = "straightSerifless"
selector."Y/sansSerif" = "curlySerifless"
[prime.capital-y.variants.curly-serifed]
rank = 8
description = "Slightly curly `Y`, like Iosevka 2.x, with serifs"
selector.Y = "curlySerifed"
selector."grek/upsilonHookedSymbolShape" = "straightBaseSerifed"
selector."Y/sansSerif" = "curlySerifless"
[prime.capital-z]
sampler = "Z"
tag = "cv25"
[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"
[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"
[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"
[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"
[prime.capital-z.variants-buildup.stages.serifs.serifed]
rank = 2
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"
[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"
[prime.capital-z.variants-buildup.stages.serifs.top-serifed]
rank = 4
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"
[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" = ""
[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" = ""
[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" = ""
[prime.a]
sampler = "a"
tag = "cv26"
[prime.a.variants.double-storey-serifless]
rank = 1
description = "Double-storey `a` without serifs"
selector.a = "doubleStoreySerifless"
selector."a/sansSerif" = "doubleStoreySerifless"
selector."a/rtailBase" = "doubleStoreySerifless"
selector."a/turnABase" = "doubleStoreySerifless"
selector.scripta = "singleStoreySerifless"
[prime.a.variants.double-storey-tailed]
rank = 2
description = "Double-storey `a` with curly tail"
selector.a = "doubleStoreyTailed"
selector."a/sansSerif" = "doubleStoreyTailed"
selector."a/rtailBase" = "doubleStoreySerifless"
selector."a/turnABase" = "doubleStoreyTailed"
selector.scripta = "singleStoreyTailed"
[prime.a.variants.double-storey-toothless-corner]
rank = 3
description = "Toothless (cornered bottom-right) double-storey `a`"
selector.a = "doubleStoreyToothlessCorner"
selector."a/sansSerif" = "doubleStoreyToothlessCorner"
selector."a/rtailBase" = "doubleStoreySerifless"
selector."a/turnABase" = "doubleStoreyToothlessCorner"
selector.scripta = "singleStoreySerifless"
[prime.a.variants.double-storey-toothless-rounded]
rank = 4
description = "Toothless (rounded bottom-right) double-storey `a`"
selector.a = "doubleStoreyToothlessRounded"
selector."a/sansSerif" = "doubleStoreyToothlessRounded"
selector."a/rtailBase" = "doubleStoreySerifless"
selector."a/turnABase" = "doubleStoreyToothlessRounded"
selector.scripta = "singleStoreySerifless"
[prime.a.variants.double-storey-serifed]
rank = 5
description = "Double-storey `a` with serif at bottom right"
selector.a = "doubleStoreySerifed"
selector."a/sansSerif" = "doubleStoreySerifless"
selector."a/rtailBase" = "doubleStoreySerifless"
selector."a/turnABase" = "doubleStoreySerifed"
selector.scripta = "singleStoreySerifed"
[prime.a.variants.single-storey-serifless]
rank = 6
description = "Single-storey `a` without serifs"
selector.a = "singleStoreySerifless"
selector."a/sansSerif" = "singleStoreySerifless"
selector."a/rtailBase" = "singleStoreySerifless"
selector."a/turnABase" = "doubleStoreySerifless"
selector.scripta = "singleStoreySerifless"
[prime.a.variants.single-storey-earless-corner-serifless]
rank = 7
description = "Earless (cornered top-right) single-storey `a` without serifs"
selector.a = "singleStoreyEarlessCornerSerifless"
selector."a/sansSerif" = "singleStoreyEarlessCornerSerifless"
selector."a/rtailBase" = "singleStoreyEarlessCornerSerifless"
selector."a/turnABase" = "doubleStoreySerifless"
selector.scripta = "singleStoreySerifless"
[prime.a.variants.single-storey-earless-rounded-serifless]
rank = 8
description = "Earless (rounded top-right) single-storey `a` without serifs"
selector.a = "singleStoreyEarlessRoundedSerifless"
selector."a/sansSerif" = "singleStoreyEarlessRoundedSerifless"
selector."a/rtailBase" = "singleStoreyEarlessRoundedSerifless"
selector."a/turnABase" = "doubleStoreySerifless"
selector.scripta = "singleStoreySerifless"
[prime.a.variants.single-storey-tailed]
rank = 9
description = "Single-storey `a` with curly tail"
selector.a = "singleStoreyTailed"
selector."a/sansSerif" = "singleStoreyTailed"
selector."a/rtailBase" = "singleStoreySerifless"
selector."a/turnABase" = "doubleStoreyTailed"
selector.scripta = "singleStoreyTailed"
[prime.a.variants.single-storey-earless-corner-tailed]
rank = 10
description = "Earless (cornered top-right) single-storey `a` with curly tail"
selector.a = "singleStoreyEarlessCornerTailed"
selector."a/sansSerif" = "singleStoreyEarlessCornerTailed"
selector."a/rtailBase" = "singleStoreyEarlessCornerSerifless"
selector."a/turnABase" = "doubleStoreyTailed"
selector.scripta = "singleStoreyTailed"
[prime.a.variants.single-storey-earless-rounded-tailed]
rank = 11
description = "Earless (rounded top-right) single-storey `a` with curly tail"
selector.a = "singleStoreyEarlessRoundedTailed"
selector."a/sansSerif" = "singleStoreyEarlessRoundedTailed"
selector."a/rtailBase" = "singleStoreyEarlessRoundedSerifless"
selector."a/turnABase" = "doubleStoreyTailed"
selector.scripta = "singleStoreyTailed"
[prime.a.variants.single-storey-serifed]
rank = 12
description = "Single-storey `a` with serif at bottom right"
selector.a = "singleStoreySerifed"
selector."a/sansSerif" = "singleStoreySerifless"
selector."a/rtailBase" = "singleStoreySerifless"
selector."a/turnABase" = "doubleStoreySerifed"
selector.scripta = "singleStoreySerifed"
[prime.a.variants.single-storey-earless-corner-serifed]
rank = 13
description = "Earless (cornered top-right) single-storey `a` with serif at bottom right"
selector.a = "singleStoreyEarlessCornerSerifed"
selector."a/sansSerif" = "singleStoreyEarlessCornerSerifless"
selector."a/rtailBase" = "singleStoreyEarlessCornerSerifless"
selector."a/turnABase" = "doubleStoreySerifed"
selector.scripta = "singleStoreySerifed"
[prime.a.variants.single-storey-earless-rounded-serifed]
rank = 14
description = "Earless (rounded top-right) single-storey `a` with serif at bottom right"
selector.a = "singleStoreyEarlessRoundedSerifed"
selector."a/sansSerif" = "singleStoreyEarlessRoundedSerifless"
selector."a/rtailBase" = "singleStoreyEarlessRoundedSerifless"
selector."a/turnABase" = "doubleStoreySerifed"
selector.scripta = "singleStoreySerifed"
[prime.b]
sampler = "b"
tag = "cv27"
[prime.b.variants.toothed-serifless]
rank = 1
description = "`b` with bottom-left tooth"
selector.b = "toothedSerifless"
selector."b/sansSerif" = "toothedSerifless"
selector."b/zhuangToneSixBase" = "toothedSerifless"
selector.bHookTop = "toothedSerifless"
[prime.b.variants.toothed-motion-serifed]
rank = 2
description = "`b` with motion serif, and with bottom-left tooth"
selector.b = "toothedMotionSerifed"
selector."b/sansSerif" = "toothedSerifless"
selector."b/zhuangToneSixBase" = "toothedSerifless"
selector.bHookTop = "toothedSerifless"
[prime.b.variants.toothed-serifed]
rank = 3
description = "`b` with motion serif, and with bottom-left tooth"
selector.b = "toothedSerifed"
selector."b/sansSerif" = "toothedSerifless"
selector."b/zhuangToneSixBase" = "toothedSerifless"
selector.bHookTop = "toothedSerifed"
[prime.b.variants.toothless-corner-serifless]
rank = 4
description = "`b` without bottom-left tooth, with a corner transition"
selector.b = "toothlessCornerSerifless"
selector."b/sansSerif" = "toothlessCornerSerifless"
selector."b/zhuangToneSixBase" = "toothlessCornerSerifless"
selector.bHookTop = "toothlessCornerSerifless"
[prime.b.variants.toothless-corner-serifed]
rank = 5
description = "`b` with motion serif, and without bottom-left tooth, with a corner transition"
selector.b = "toothlessCornerSerifed"
selector."b/sansSerif" = "toothlessCornerSerifless"
selector."b/zhuangToneSixBase" = "toothlessCornerSerifless"
selector.bHookTop = "toothlessCornerSerifless"
[prime.b.variants.toothless-rounded-serifless]
rank = 6
description = "`b` without bottom-left tooth, with a rounded transition"
selector.b = "toothlessRoundedSerifless"
selector."b/sansSerif" = "toothlessRoundedSerifless"
selector."b/zhuangToneSixBase" = "toothlessRoundedSerifless"
selector.bHookTop = "toothlessRoundedSerifless"
[prime.b.variants.toothless-rounded-serifed]
rank = 7
description = "`b` with motion serif, and without bottom-left tooth, with a rounded transition"
selector.b = "toothlessRoundedSerifed"
selector."b/sansSerif" = "toothlessRoundedSerifless"
selector."b/zhuangToneSixBase" = "toothlessRoundedSerifless"
selector.bHookTop = "toothlessRoundedSerifless"
[prime.c]
sampler = "c"
tag = "cv28"
[prime.c.variants.serifless]
rank = 1
description = "Serifless `c`"
selector.c = "serifless"
selector."c/sansSerif" = "serifless"
selector."c/descBase" = "serifless"
selector."c/turnDescBase" = "unilateralSerifed"
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."c/turnDescBase" = "unilateralSerifed"
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."c/turnDescBase" = "bilateralSerifed"
selector.cCurlyTail = "unilateralSerifed"
selector.cHookTop = "bilateralSerifed"
selector.cTopSerifOnly = "unilateralSerifed"
selector.cBottomSerifOnly = "bilateralSerifed"
[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."c/turnDescBase" = "unilateralInwardSerifed"
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."c/turnDescBase" = "bilateralInwardSerifed"
selector.cCurlyTail = "unilateralInwardSerifed"
selector.cHookTop = "bilateralInwardSerifed"
selector.cTopSerifOnly = "unilateralInwardSerifed"
selector.cBottomSerifOnly = "bilateralInwardSerifed"
[prime.d]
sampler = "d"
tag = "cv29"
[prime.d.variants.toothed-serifless]
rank = 1
description = "`d` with bottom-right tooth, and without serifs"
selector.d = "toothedSerifless"
selector."d/sansSerif" = "toothedSerifless"
selector."d/phoneticLeft" = "toothedSerifless"
selector."d/hookBottomBase" = "toothedSerifless"
selector.dCurlyTail = "toothedSerifless"
selector.dHookTop = "toothedSerifless"
selector."dHookTop/hookBottomBase" = "toothedSerifless"
selector."cyrl/djeKomi" = "toothedSerifless"
[prime.d.variants.toothed-top-serifed]
rank = 2
description = "`d` with bottom-right tooth and top serif"
selector.d = "toothedTopSerifed"
selector."d/sansSerif" = "toothedSerifless"
selector."d/phoneticLeft" = "toothedTopSerifed"
selector."d/hookBottomBase" = "toothedTopSerifed"
selector.dCurlyTail = "toothedTopSerifed"
selector.dHookTop = "toothedSerifless"
selector."dHookTop/hookBottomBase" = "toothedSerifless"
selector."cyrl/djeKomi" = "toothedTopSerifed"
[prime.d.variants.toothed-serifed]
rank = 3
description = "`d` with serifs"
selector.d = "toothedSerifed"
selector."d/sansSerif" = "toothedSerifless"
selector."d/phoneticLeft" = "toothedTopSerifed"
selector."d/hookBottomBase" = "toothedTopSerifed"
selector.dCurlyTail = "toothedTopSerifed"
selector.dHookTop = "toothedBottomSerifed"
selector."dHookTop/hookBottomBase" = "toothedSerifless"
selector."cyrl/djeKomi" = "toothedSerifed"
[prime.d.variants.toothless-corner-serifless]
rank = 4
description = "`d` without bottom-right tooth, with a corner transition, and without serif"
selector.d = "toothlessCornerSerifless"
selector."d/sansSerif" = "toothlessCornerSerifless"
selector."d/phoneticLeft" = "toothedSerifless"
selector."d/hookBottomBase" = "toothlessCornerSeriflessHBB"
selector.dCurlyTail = "toothedSerifless"
selector.dHookTop = "toothlessCornerSerifless"
selector."dHookTop/hookBottomBase" = "toothlessCornerSeriflessHBB"
selector."cyrl/djeKomi" = "toothlessRoundedSerifless"
[prime.d.variants.toothless-corner-serifed]
rank = 5
description = "`d` without bottom-right tooth, with a corner transition and top serif"
selector.d = "toothlessCornerSerifed"
selector."d/sansSerif" = "toothlessCornerSerifless"
selector."d/phoneticLeft" = "toothedTopSerifed"
selector."d/hookBottomBase" = "toothlessCornerSerifedHBB"
selector.dCurlyTail = "toothedTopSerifed"
selector.dHookTop = "toothlessCornerSerifless"
selector."dHookTop/hookBottomBase" = "toothlessCornerSeriflessHBB"
selector."cyrl/djeKomi" = "toothlessRoundedSerifed"
[prime.d.variants.toothless-rounded-serifless]
rank = 6
description = "`d` without bottom-right tooth, with a rounded transition, and without serif"
selector.d = "toothlessRoundedSerifless"
selector."d/sansSerif" = "toothlessRoundedSerifless"
selector."d/phoneticLeft" = "toothedSerifless"
selector."d/hookBottomBase" = "toothlessRoundedSeriflessHBB"
selector.dCurlyTail = "toothedSerifless"
selector.dHookTop = "toothlessRoundedSerifless"
selector."dHookTop/hookBottomBase" = "toothlessRoundedSeriflessHBB"
selector."cyrl/djeKomi" = "toothlessRoundedSerifless"
[prime.d.variants.toothless-rounded-serifed]
rank = 7
description = "`d` without bottom-right tooth, with a rounded transition and top serif"
selector.d = "toothlessRoundedSerifed"
selector."d/sansSerif" = "toothlessRoundedSerifless"
selector."d/phoneticLeft" = "toothedTopSerifed"
selector."d/hookBottomBase" = "toothlessRoundedSerifedHBB"
selector.dCurlyTail = "toothedTopSerifed"
selector.dHookTop = "toothlessRoundedSerifless"
selector."dHookTop/hookBottomBase" = "toothlessRoundedSeriflessHBB"
selector."cyrl/djeKomi" = "toothlessRoundedSerifed"
[prime.d.variants.tailed-serifless]
rank = 8
description = "`d` with a bottom-right tail, and without serif"
selector.d = "tailedSerifless"
selector."d/sansSerif" = "tailedSerifless"
selector."d/phoneticLeft" = "toothedSerifless"
selector."d/hookBottomBase" = "toothedSerifless"
selector.dCurlyTail = "toothedSerifless"
selector.dHookTop = "tailedSerifless"
selector."dHookTop/hookBottomBase" = "toothedSerifless"
selector."cyrl/djeKomi" = "toothedSerifless"
[prime.d.variants.tailed-serifed]
rank = 9
description = "`d` with a bottom-right tail and top serif"
selector.d = "tailedSerifed"
selector."d/sansSerif" = "tailedSerifless"
selector."d/phoneticLeft" = "toothedTopSerifed"
selector."d/hookBottomBase" = "toothedTopSerifed"
selector.dCurlyTail = "toothedTopSerifed"
selector.dHookTop = "tailedSerifless"
selector."dHookTop/hookBottomBase" = "toothedSerifless"
selector."cyrl/djeKomi" = "toothedSerifed"
[prime.e]
sampler = "e"
tag = "cv30"
[prime.e.variants.flat-crossbar]
rank = 1
description = "`e` with flat crossbar"
selector.e = "flatCrossbar"
selector.Schwa = "flatCrossbar"
selector.schwa = "flatCrossbar"
[prime.e.variants.rounded]
rank = 2
description = "`e` with more rounded shape"
selector.e = "rounded"
selector.Schwa = "rounded"
selector.schwa = "rounded"
[prime.f]
sampler = "f"
tag = "cv31"
[prime.f.variants.serifless]
rank = 1
description = "`f` without bottom serif, hook or extension"
selector.f = "serifless"
selector."f/sansSerif" = "serifless"
selector."f/compLigLeft1" = "flatHookCLC1"
selector."f/compLigLeft2" = "flatHookCLC2"
selector."f/compLigLeft3" = "flatHookCLC3"
selector."f/phoneticLeft" = "seriflessCrossbarAtXHeight"
selector."f/tailless" = "serifless"
selector.fLenis = "serifless"
selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.serifed]
rank = 2
description = "`f` with bottom serif"
selector.f = "serifed"
selector."f/sansSerif" = "serifless"
selector."f/compLigLeft1" = "flatHookSerifedCLC1"
selector."f/compLigLeft2" = "flatHookSerifedCLC2"
selector."f/compLigLeft3" = "flatHookSerifedCLC3"
selector."f/phoneticLeft" = "serifedCrossbarAtXHeight"
selector."f/tailless" = "serifed"
selector.fLenis = "serifless"
selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.tailed]
rank = 3
description = "`f` with bottom hook"
selector.f = "tailed"
selector."f/sansSerif" = "tailed"
selector."f/compLigLeft1" = "flatHookTailedCLC1"
selector."f/compLigLeft2" = "flatHookTailedCLC2"
selector."f/compLigLeft3" = "flatHookTailedCLC3"
selector."f/phoneticLeft" = "tailedCrossbarAtXHeight"
selector."f/tailless" = "serifless"
selector.fLenis = "serifless"
selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.extended]
rank = 4
description = "`f` with bar extended to descender"
selector.f = "extended"
selector."f/sansSerif" = "extended"
selector."f/compLigLeft1" = "flatHookExtendedCLC1"
selector."f/compLigLeft2" = "flatHookExtendedCLC2"
selector."f/compLigLeft3" = "flatHookExtendedCLC3"
selector."f/phoneticLeft" = "extendedCrossbarAtXHeight"
selector."f/tailless" = "serifless"
selector.fLenis = "serifless"
selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.diagonal-tailed]
rank = 5
description = "`f` with bottom diagonal tail"
selector.f = "diagonalTailed"
selector."f/sansSerif" = "diagonalTailed"
selector."f/compLigLeft1" = "flatHookDiagonalTailedCLC1"
selector."f/compLigLeft2" = "flatHookDiagonalTailedCLC2"
selector."f/compLigLeft3" = "flatHookDiagonalTailedCLC3"
selector."f/phoneticLeft" = "diagonalTailedCrossbarAtXHeight"
selector."f/tailless" = "serifless"
selector.fLenis = "serifless"
selector.fLTail = "tailed"
selector.dotlessjWithStrokeAndHook = "tailed"
[prime.f.variants.serifless-crossbar-at-x-height]
rank = 6
description = "`f` without bottom serif, hook or extension; crossbar is placed right at X-height"
selector.f = "seriflessCrossbarAtXHeight"
selector."f/sansSerif" = "seriflessCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookCLC1"
selector."f/compLigLeft2" = "flatHookCLC2"
selector."f/compLigLeft3" = "flatHookCLC3"
selector."f/phoneticLeft" = "seriflessCrossbarAtXHeight"
selector."f/tailless" = "seriflessCrossbarAtXHeight"
selector.fLenis = "seriflessCrossbarAtXHeight"
selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.serifed-crossbar-at-x-height]
rank = 7
description = "`f` with bottom serif; crossbar is placed right at X-height"
selector.f = "serifedCrossbarAtXHeight"
selector."f/sansSerif" = "seriflessCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookSerifedCLC1"
selector."f/compLigLeft2" = "flatHookSerifedCLC2"
selector."f/compLigLeft3" = "flatHookSerifedCLC3"
selector."f/phoneticLeft" = "serifedCrossbarAtXHeight"
selector."f/tailless" = "serifedCrossbarAtXHeight"
selector.fLenis = "seriflessCrossbarAtXHeight"
selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.tailed-crossbar-at-x-height]
rank = 8
description = "`f` with bottom hook; crossbar is placed right at X-height"
selector.f = "tailedCrossbarAtXHeight"
selector."f/sansSerif" = "tailedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookTailedCLC1"
selector."f/compLigLeft2" = "flatHookTailedCLC2"
selector."f/compLigLeft3" = "flatHookTailedCLC3"
selector."f/phoneticLeft" = "tailedCrossbarAtXHeight"
selector."f/tailless" = "seriflessCrossbarAtXHeight"
selector.fLenis = "seriflessCrossbarAtXHeight"
selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.extended-crossbar-at-x-height]
rank = 9
description = "`f` with bar extended to descender; crossbar is placed right at X-height"
selector.f = "extendedCrossbarAtXHeight"
selector."f/sansSerif" = "extendedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookExtendedCLC1"
selector."f/compLigLeft2" = "flatHookExtendedCLC2"
selector."f/compLigLeft3" = "flatHookExtendedCLC3"
selector."f/phoneticLeft" = "extendedCrossbarAtXHeight"
selector."f/tailless" = "seriflessCrossbarAtXHeight"
selector.fLenis = "seriflessCrossbarAtXHeight"
selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.diagonal-tailed-crossbar-at-x-height]
rank = 10
description = "`f` with bottom diagonal tail; crossbar is placed right at X-height"
selector.f = "diagonalTailedCrossbarAtXHeight"
selector."f/sansSerif" = "diagonalTailedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookDiagonalTailedCLC1"
selector."f/compLigLeft2" = "flatHookDiagonalTailedCLC2"
selector."f/compLigLeft3" = "flatHookDiagonalTailedCLC3"
selector."f/phoneticLeft" = "diagonalTailedCrossbarAtXHeight"
selector."f/tailless" = "seriflessCrossbarAtXHeight"
selector.fLenis = "seriflessCrossbarAtXHeight"
selector.fLTail = "tailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "tailedCrossbarAtXHeight"
[prime.f.variants.flat-hook]
rank = 11
description = "`f` with flat top hook, without bottom serif, hook or extension"
selector.f = "flatHook"
selector."f/sansSerif" = "flatHook"
selector."f/compLigLeft1" = "flatHookCLC1"
selector."f/compLigLeft2" = "flatHookCLC2"
selector."f/compLigLeft3" = "flatHookCLC3"
selector."f/phoneticLeft" = "flatHookCrossbarAtXHeight"
selector."f/tailless" = "flatHook"
selector.fLenis = "flatHook"
selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-serifed]
rank = 12
description = "`f` with flat top hook and bottom serif"
selector.f = "flatHookSerifed"
selector."f/sansSerif" = "flatHook"
selector."f/compLigLeft1" = "flatHookSerifedCLC1"
selector."f/compLigLeft2" = "flatHookSerifedCLC2"
selector."f/compLigLeft3" = "flatHookSerifedCLC3"
selector."f/phoneticLeft" = "flatHookSerifedCrossbarAtXHeight"
selector."f/tailless" = "flatHookSerifed"
selector.fLenis = "flatHook"
selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-tailed]
rank = 13
description = "`f` with flat top hook and bottom hook"
selector.f = "flatHookTailed"
selector."f/sansSerif" = "flatHookTailed"
selector."f/compLigLeft1" = "flatHookTailedCLC1"
selector."f/compLigLeft2" = "flatHookTailedCLC2"
selector."f/compLigLeft3" = "flatHookTailedCLC3"
selector."f/phoneticLeft" = "flatHookTailedCrossbarAtXHeight"
selector."f/tailless" = "flatHook"
selector.fLenis = "flatHook"
selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-extended]
rank = 14
description = "`f` with flat top hook and bar extended to descender"
selector.f = "flatHookExtended"
selector."f/sansSerif" = "flatHookExtended"
selector."f/compLigLeft1" = "flatHookExtendedCLC1"
selector."f/compLigLeft2" = "flatHookExtendedCLC2"
selector."f/compLigLeft3" = "flatHookExtendedCLC3"
selector."f/phoneticLeft" = "flatHookExtendedCrossbarAtXHeight"
selector."f/tailless" = "flatHook"
selector.fLenis = "flatHook"
selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-diagonal-tailed]
rank = 15
description = "`f` with flat hook and bottom diagonal tail"
selector.f = "flatHookDiagonalTailed"
selector."f/sansSerif" = "flatHookDiagonalTailed"
selector."f/compLigLeft1" = "flatHookDiagonalTailedCLC1"
selector."f/compLigLeft2" = "flatHookDiagonalTailedCLC2"
selector."f/compLigLeft3" = "flatHookDiagonalTailedCLC3"
selector."f/phoneticLeft" = "flatHookDiagonalTailedCrossbarAtXHeight"
selector."f/tailless" = "flatHook"
selector.fLenis = "flatHook"
selector.fLTail = "flatHookTailed"
selector.dotlessjWithStrokeAndHook = "flatHookTailed"
[prime.f.variants.flat-hook-crossbar-at-x-height]
rank = 16
description = "`f` with flat top hook, without bottom serif, hook or extension; crossbar is placed right at X-height"
selector.f = "flatHookCrossbarAtXHeight"
selector."f/sansSerif" = "flatHookCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookCLC1"
selector."f/compLigLeft2" = "flatHookCLC2"
selector."f/compLigLeft3" = "flatHookCLC3"
selector."f/phoneticLeft" = "flatHookCrossbarAtXHeight"
selector."f/tailless" = "flatHookCrossbarAtXHeight"
selector.fLenis = "flatHookCrossbarAtXHeight"
selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.f.variants.flat-hook-serifed-crossbar-at-x-height]
rank = 17
description = "`f` with flat top hook, bottom serif; crossbar is placed right at X-height"
selector.f = "flatHookSerifedCrossbarAtXHeight"
selector."f/sansSerif" = "flatHookCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookSerifedCLC1"
selector."f/compLigLeft2" = "flatHookSerifedCLC2"
selector."f/compLigLeft3" = "flatHookSerifedCLC3"
selector."f/phoneticLeft" = "flatHookSerifedCrossbarAtXHeight"
selector."f/tailless" = "flatHookSerifedCrossbarAtXHeight"
selector.fLenis = "flatHookCrossbarAtXHeight"
selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.f.variants.flat-hook-tailed-crossbar-at-x-height]
rank = 18
description = "`f` with flat top hook, bottom hook; crossbar is placed right at X-height"
selector.f = "flatHookTailedCrossbarAtXHeight"
selector."f/sansSerif" = "flatHookTailedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookTailedCLC1"
selector."f/compLigLeft2" = "flatHookTailedCLC2"
selector."f/compLigLeft3" = "flatHookTailedCLC3"
selector."f/phoneticLeft" = "flatHookTailedCrossbarAtXHeight"
selector."f/tailless" = "flatHookCrossbarAtXHeight"
selector.fLenis = "flatHookCrossbarAtXHeight"
selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.f.variants.flat-hook-extended-crossbar-at-x-height]
rank = 19
description = "`f` with flat top hook, bar extended to descender; crossbar is placed right at X-height"
selector.f = "flatHookExtendedCrossbarAtXHeight"
selector."f/sansSerif" = "flatHookExtendedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookExtendedCLC1"
selector."f/compLigLeft2" = "flatHookExtendedCLC2"
selector."f/compLigLeft3" = "flatHookExtendedCLC3"
selector."f/phoneticLeft" = "flatHookExtendedCrossbarAtXHeight"
selector."f/tailless" = "flatHookCrossbarAtXHeight"
selector.fLenis = "flatHookCrossbarAtXHeight"
selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.f.variants.flat-hook-diagonal-tailed-crossbar-at-x-height]
rank = 20
description = "`f` with flat hook and bottom diagonal tail; crossbar is placed right at X-height"
selector.f = "flatHookDiagonalTailedCrossbarAtXHeight"
selector."f/sansSerif" = "flatHookDiagonalTailedCrossbarAtXHeight"
selector."f/compLigLeft1" = "flatHookDiagonalTailedCLC1"
selector."f/compLigLeft2" = "flatHookDiagonalTailedCLC2"
selector."f/compLigLeft3" = "flatHookDiagonalTailedCLC3"
selector."f/phoneticLeft" = "flatHookDiagonalTailedCrossbarAtXHeight"
selector."f/tailless" = "flatHookCrossbarAtXHeight"
selector.fLenis = "flatHookCrossbarAtXHeight"
selector.fLTail = "flatHookTailedCrossbarAtXHeight"
selector.dotlessjWithStrokeAndHook = "flatHookTailedCrossbarAtXHeight"
[prime.g]
sampler = "g"
tag = "cv32"
[prime.g.variants.double-storey]
rank = 1
description = "Double-storey `g`"
selector.g = "doubleStorey"
selector."g/sansSerif" = "doubleStorey"
selector."gScript/sansSerif" = "singleStoreySerifless"
selector."gScript/slabSerif" = "singleStoreySerifed"
selector."gScript/hookTopBase" = "singleStoreySerifless"
[prime.g.variants.double-storey-open]
rank = 2
description = "Open Double-storey `g`, like Trebuchet MS or Fira Code"
selector.g = "openDoubleStorey"
selector."g/sansSerif" = "openDoubleStorey"
selector."gScript/sansSerif" = "singleStoreySerifless"
selector."gScript/slabSerif" = "singleStoreySerifed"
selector."gScript/hookTopBase" = "singleStoreySerifless"
[prime.g.variants.single-storey-serifless]
rank = 3
description = "Single-storey `g` without serifs"
selector.g = "singleStoreySerifless"
selector."g/sansSerif" = "singleStoreySerifless"
selector."gScript/sansSerif" = "singleStoreySerifless"
selector."gScript/slabSerif" = "singleStoreySerifless"
selector."gScript/hookTopBase" = "singleStoreySerifless"
[prime.g.variants.single-storey-serifed]
rank = 4
description = "Single-storey `g` with serif at top right"
selector.g = "singleStoreySerifed"
selector."g/sansSerif" = "singleStoreySerifless"
selector."gScript/sansSerif" = "singleStoreySerifed"
selector."gScript/slabSerif" = "singleStoreySerifed"
selector."gScript/hookTopBase" = "singleStoreySerifless"
[prime.g.variants.earless-corner]
rank = 5
description = "Earless (cornered top-right) single-storey `g`"
selector.g = "singleStoreyEarlessCorner"
selector."g/sansSerif" = "singleStoreyEarlessCorner"
selector."gScript/sansSerif" = "singleStoreyEarlessCorner"
selector."gScript/slabSerif" = "singleStoreyEarlessCorner"
selector."gScript/hookTopBase" = "singleStoreyEarlessCornerHTB"
[prime.g.variants.earless-rounded]
rank = 6
description = "Earless (rounded top-right) single-storey `g`"
selector.g = "singleStoreyEarlessRounded"
selector."g/sansSerif" = "singleStoreyEarlessRounded"
selector."gScript/sansSerif" = "singleStoreyEarlessRounded"
selector."gScript/slabSerif" = "singleStoreyEarlessRounded"
selector."gScript/hookTopBase" = "singleStoreyEarlessRoundedHTB"
[prime.g.variants.single-storey-flat-hook-serifless]
rank = 7
description = "Single-storey `g` with flat terminal hook and without serifs"
selector.g = "singleStoreyFlatHookSerifless"
selector."g/sansSerif" = "singleStoreyFlatHookSerifless"
selector."gScript/sansSerif" = "singleStoreyFlatHookSerifless"
selector."gScript/slabSerif" = "singleStoreyFlatHookSerifless"
selector."gScript/hookTopBase" = "singleStoreyFlatHookSerifless"
[prime.g.variants.single-storey-flat-hook-serifed]
rank = 8
description = "Single-storey `g` with top-right serif and flat terminal hook"
selector.g = "singleStoreyFlatHookSerifed"
selector."g/sansSerif" = "singleStoreyFlatHookSerifless"
selector."gScript/sansSerif" = "singleStoreyFlatHookSerifed"
selector."gScript/slabSerif" = "singleStoreyFlatHookSerifed"
selector."gScript/hookTopBase" = "singleStoreyFlatHookSerifless"
[prime.g.variants.single-storey-earless-corner-flat-hook]
rank = 9
description = "Earless (cornered top-right) single-storey `g` with flat terminal hook"
selector.g = "singleStoreyEarlessCornerFlatHook"
selector."g/sansSerif" = "singleStoreyEarlessCornerFlatHook"
selector."gScript/sansSerif" = "singleStoreyEarlessCornerFlatHook"
selector."gScript/slabSerif" = "singleStoreyEarlessCornerFlatHook"
selector."gScript/hookTopBase" = "singleStoreyEarlessCornerFlatHookHTB"
[prime.g.variants.single-storey-earless-rounded-flat-hook]
rank = 10
description = "Earless (rounded top-right) single-storey `g` with flat terminal hook"
selector.g = "singleStoreyEarlessRoundedFlatHook"
selector."g/sansSerif" = "singleStoreyEarlessRoundedFlatHook"
selector."gScript/sansSerif" = "singleStoreyEarlessRoundedFlatHook"
selector."gScript/slabSerif" = "singleStoreyEarlessRoundedFlatHook"
selector."gScript/hookTopBase" = "singleStoreyEarlessRoundedFlatHookHTB"
[prime.h]
sampler = "h"
tag = "cv33"
[prime.h.variants.straight-serifless]
rank = 1
description = "`h` with straight ending"
selector.h = "straightSerifless"
selector."h/descBase" = "straightSerifless"
selector."h/sansSerif" = "straightSerifless"
selector.hHookTop = "straightSerifless"
selector.hHookTopLTail = "straightSerifless"
selector.heng = "straightSerifless"
selector."cyrl/shha" = "straightSerifless"
[prime.h.variants.straight-top-left-serifed]
rank = 2
description = "`h` with straight ending and serif at top left"
selector.h = "straightTopLeftSerifed"
selector."h/descBase" = "straightTopLeftSerifed"
selector."h/sansSerif" = "straightSerifless"
selector.hHookTop = "straightTopLeftSerifed"
selector.hHookTopLTail = "straightTopLeftSerifed"
selector.heng = "straightTopLeftSerifed"
selector."cyrl/shha" = "straightTopLeftSerifed"
[prime.h.variants.straight-motion-serifed]
rank = 3
description = "`h` with straight ending and motion serifs"
selector.h = "straightMotionSerifed"
selector."h/descBase" = "straightTopLeftSerifed"
selector."h/sansSerif" = "straightSerifless"
selector.hHookTop = "straightMotionSerifed"
selector.hHookTopLTail = "straightMotionSerifed"
selector.heng = "straightTopLeftSerifed"
selector."cyrl/shha" = "straightMotionSerifed"
[prime.h.variants.straight-serifed]
rank = 4
description = "`h` with straight ending and motion serifs"
selector.h = "straightSerifed"
selector."h/descBase" = "straightSerifed"
selector."h/sansSerif" = "straightSerifless"
selector.hHookTop = "straightSerifed"
selector.hHookTopLTail = "straightSerifed"
selector.heng = "straightSerifed"
selector."cyrl/shha" = "straightSerifed"
[prime.h.variants.tailed-serifless]
rank = 5
description = "`h` with curly tailed ending"
selector.h = "tailedSerifless"
selector."h/descBase" = "straightSerifless"
selector."h/sansSerif" = "tailedSerifless"
selector.hHookTop = "tailedSerifless"
selector.hHookTopLTail = "straightSerifless"
selector.heng = "straightSerifless"
selector."cyrl/shha" = "tailedSerifless"
[prime.h.variants.tailed-motion-serifed]
rank = 6
description = "`h` with curly tailed ending and motion serifs"
selector.h = "tailedMotionSerifed"
selector."h/descBase" = "straightTopLeftSerifed"
selector."h/sansSerif" = "tailedSerifless"
selector.hHookTop = "tailedMotionSerifed"
selector.heng = "straightTopLeftSerifed"
selector.hengLTail = "straightTopLeftSerifed"
selector."cyrl/shha" = "tailedMotionSerifed"
[prime.h.variants.tailed-serifed]
rank = 7
description = "`h` with curly tailed ending and motion serifs"
selector.h = "tailedSerifed"
selector."h/descBase" = "straightSerifed"
selector."h/sansSerif" = "tailedSerifless"
selector.hHookTop = "tailedSerifed"
selector.heng = "straightSerifed"
selector.hengLTail = "straightSerifed"
selector."cyrl/shha" = "tailedSerifed"
[prime.i]
sampler = "i"
tag = "cv34"
[prime.i.variants.serifed]
rank = 1
description = "Serifed `i`"
selector.dotlessi = "serifed"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "serifed"
selector."dotlessi/ital" = "tailedSerifed"
[prime.i.variants.zshaped]
rank = 2
description = "Z-shaped `i`"
selector.dotlessi = "zshaped"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "zshaped"
selector."dotlessi/ital" = "tailedSerifed"
[prime.i.variants.serifless]
rank = 3
description = "`i` like a straight line"
selector.dotlessi = "serifless"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "hooky"
selector."dotlessi/ital" = "tailed"
[prime.i.variants.hooky]
rank = 4
description = "Hooky `i`"
selector.dotlessi = "hooky"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "hooky"
selector."dotlessi/ital" = "tailedSerifed"
[prime.i.variants.hooky-bottom]
rank = 5
description = "`i` with a sharp-turning horizontal tail"
selector.dotlessi = "hookyBottom"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "zshaped"
selector."dotlessi/ital" = "tailed"
[prime.i.variants.serifed-asymmetric]
rank = 6
description = "`i` with shorter top serif and full bottom serif"
selector.dotlessi = "serifedAsymmetric"
selector."dotlessi/sansSerif" = "serifless"
selector."dotlessi/compLigRight" = "serifed"
selector."dotlessi/ital" = "tailedSerifed"
[prime.i.variants.tailed]
rank = 7
description = "`i` with curly tail"
selector.dotlessi = "tailed"
selector."dotlessi/sansSerif" = "tailed"
selector."dotlessi/compLigRight" = "tailedSerifed"
selector."dotlessi/ital" = "tailed"
[prime.i.variants.tailed-serifed]
rank = 8
description = "`i` with top serif and curly tail"
selector.dotlessi = "tailedSerifed"
selector."dotlessi/sansSerif" = "tailed"
selector."dotlessi/compLigRight" = "tailedSerifed"
selector."dotlessi/ital" = "tailedSerifed"
[prime.i.variants.flat-tailed]
rank = 9
description = "`i` with curly-then-flat tail"
selector.dotlessi = "flatTailed"
selector."dotlessi/sansSerif" = "flatTailed"
selector."dotlessi/compLigRight" = "serifedFlatTailed"
selector."dotlessi/ital" = "flatTailed"
[prime.i.variants.serifed-flat-tailed]
rank = 10
description = "`i` with top serif and curly-then-flat tail"
selector.dotlessi = "serifedFlatTailed"
selector."dotlessi/sansSerif" = "flatTailed"
selector."dotlessi/compLigRight" = "serifedFlatTailed"
selector."dotlessi/ital" = "serifedFlatTailed"
[prime.i.variants.diagonal-tailed]
rank = 11
description = "`i` with diagonal tail"
selector.dotlessi = "diagonalTailed"
selector."dotlessi/sansSerif" = "diagonalTailed"
selector."dotlessi/compLigRight" = "serifedDiagonalTailed"
selector."dotlessi/ital" = "diagonalTailed"
[prime.i.variants.serifed-diagonal-tailed]
rank = 12
description = "`i` with top serif and diagonal tail"
selector.dotlessi = "serifedDiagonalTailed"
selector."dotlessi/sansSerif" = "diagonalTailed"
selector."dotlessi/compLigRight" = "serifedDiagonalTailed"
selector."dotlessi/ital" = "serifedDiagonalTailed"
[prime.j]
sampler = "j"
tag = "cv35"
[prime.j.variants.serifless]
rank = 1
description = "`j` without serif"
selector.dotlessj = "serifless"
selector."dotlessj/sansSerif" = "serifless"
selector.dotlessjCurlyTail = "serifless"
[prime.j.variants.serifed]
rank = 2
description = "`j` with top serif"
selector.dotlessj = "serifed"
selector."dotlessj/sansSerif" = "serifless"
selector.dotlessjCurlyTail = "serifed"
[prime.j.variants.straight-line]
rank = 3
description = "`j` like a straight line"
selector.dotlessj = "straightLine"
selector."dotlessj/sansSerif" = "straightLine"
selector.dotlessjCurlyTail = "serifless"
[prime.j.variants.hooky]
rank = 4
description = "`j` like a straight line with top serif"
selector.dotlessj = "hooky"
selector."dotlessj/sansSerif" = "straightLine"
selector.dotlessjCurlyTail = "serifed"
[prime.j.variants.flat-hook-serifless]
rank = 5
description = "`j` with flat terminal hook"
selector.dotlessj = "flatHookSerifless"
selector."dotlessj/sansSerif" = "flatHookSerifless"
selector.dotlessjCurlyTail = "serifless"
[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.dotlessjCurlyTail = "serifed"
[prime.j.variants.diagonal-tailed-serifless]
rank = 7
description = "`j` with diagonal tail"
selector.dotlessj = "diagonalTailedSerifless"
selector."dotlessj/sansSerif" = "diagonalTailedSerifless"
selector.dotlessjCurlyTail = "serifless"
[prime.j.variants.diagonal-tailed-serifed]
rank = 8
description = "`j` with top serif and diagonal tail"
selector.dotlessj = "diagonalTailedSerifed"
selector."dotlessj/sansSerif" = "diagonalTailedSerifless"
selector.dotlessjCurlyTail = "serifed"
[prime.k]
sampler = "k"
tag = "cv36"
[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.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.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.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.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.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.kHookTop = "cursiveTailed"
selectorAffix.kDescender = "cursiveTailed"
[prime.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.k.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serifs at top left"
selectorAffix.k = "topLeftSerifed"
selectorAffix."k/sansSerif" = "serifless"
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 top left"
selectorAffix.k = "bottomRightSerifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix.kHookTop = "bottomRightSerifed"
selectorAffix.kDescender = "bottomRightSerifed"
[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.kHookTop = "bottomRightSerifed"
selectorAffix.kDescender = "topLeftAndBottomRightSerifed"
[prime.k.variants-buildup.stages.serifs.serifed]
rank = 5
disableIf = [ { body = "diagonal-tailed-cursive" } ]
descriptionAffix = "serifs"
selectorAffix.k = "serifed"
selectorAffix."k/sansSerif" = "serifless"
selectorAffix.kHookTop = "serifed"
selectorAffix.kDescender = "serifed"
[prime.l]
sampler = "l"
tag = "cv37"
[prime.l.variants.serifed]
rank = 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.serifless]
rank = 2
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 = 3
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.zshaped]
rank = 4
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.hooky-bottom]
rank = 5
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.serifed-asymmetric]
rank = 6
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
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
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
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
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
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
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.m]
sampler = "m"
tag = "cv38"
[prime.m.variants-buildup]
entry = "body"
descriptionLeader = "`m`"
[prime.m.variants-buildup.stages.body."*"]
next = "leg"
[prime.m.variants-buildup.stages.body.normal]
rank = 1
keyAffix = ""
descriptionAffix = "eared body shape"
selectorAffix.m = ""
selectorAffix."m/tailless" = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."cyrl/te.italic" = ""
selectorAffix.mLTail = ""
[prime.m.variants-buildup.stages.body.earless-corner-double-arch]
rank = 2
descriptionAffix = "earless (corner top-left) double-arch body shape"
selectorAffix.m = "earlessCornerDoubleArch"
selectorAffix."m/tailless" = "earlessCornerDoubleArch"
selectorAffix."m/sansSerif" = "earlessCornerDoubleArch"
selectorAffix."cyrl/te.italic" = ""
selectorAffix.mLTail = "earlessCornerDoubleArch"
[prime.m.variants-buildup.stages.body.earless-rounded-double-arch]
rank = 3
descriptionAffix = "earless (rounded top-left) double-arch body shape"
selectorAffix.m = "earlessRoundedDoubleArch"
selectorAffix."m/tailless" = "earlessRoundedDoubleArch"
selectorAffix."m/sansSerif" = "earlessRoundedDoubleArch"
selectorAffix."cyrl/te.italic" = ""
selectorAffix.mLTail = "earlessRoundedDoubleArch"
[prime.m.variants-buildup.stages.body.earless-single-arch]
rank = 4
descriptionAffix = "earless (corner top-left) body shape"
selectorAffix.m = "earlessSingleArch"
selectorAffix."m/tailless" = "earlessSingleArch"
selectorAffix."m/sansSerif" = "earlessSingleArch"
selectorAffix."cyrl/te.italic" = ""
selectorAffix.mLTail = "earlessSingleArch"
[prime.m.variants-buildup.stages.leg."*"]
next = "tail"
[prime.m.variants-buildup.stages.leg.normal]
rank = 1
keyAffix = ""
descriptionAffix = "normal middle leg"
selectorAffix.m = ""
selectorAffix."m/tailless" = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."cyrl/te.italic" = ""
selectorAffix.mLTail = ""
[prime.m.variants-buildup.stages.leg.short-leg]
rank = 2
descriptionAffix = "shorter middle leg (like Ubuntu Mono)"
selectorAffix.m = "shortLeg"
selectorAffix."m/tailless" = "shortLeg"
selectorAffix."m/sansSerif" = "shortLeg"
selectorAffix."cyrl/te.italic" = ""
selectorAffix.mLTail = "shortLeg"
[prime.m.variants-buildup.stages.tail."*"]
next = "serifs"
[prime.m.variants-buildup.stages.tail.normal]
rank = 1
keyAffix = ""
selectorAffix.m = ""
selectorAffix."m/tailless" = ""
selectorAffix."m/sansSerif" = ""
selectorAffix."cyrl/te.italic" = ""
selectorAffix.mLTail = ""
[prime.m.variants-buildup.stages.tail.tailed]
rank = 2
descriptionAffix = "tail"
selectorAffix.m = "tailed"
selectorAffix."m/tailless" = ""
selectorAffix."m/sansSerif" = "tailed"
selectorAffix."cyrl/te.italic" = "tailed"
selectorAffix.mLTail = ""
[prime.m.variants-buildup.stages.serifs.serifless]
rank = 1
descriptionJoiner = "without"
descriptionAffix = "serifs"
selectorAffix.m = "serifless"
selectorAffix."m/tailless" = "serifless"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "serifless"
selectorAffix.mLTail = "serifless"
[prime.m.variants-buildup.stages.serifs.top-left-serifed]
rank = 2
descriptionAffix = "serif at top left"
disableIf = [ { body = "NOT normal" } ]
selectorAffix.m = "topLeftSerifed"
selectorAffix."m/tailless" = "topLeftSerifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "topLeftSerifed"
selectorAffix.mLTail = "topLeftSerifed"
[prime.m.variants-buildup.stages.serifs.top-left-and-bottom-right-serifed]
rank = 3
descriptionAffix = "serifs at top left and bottom right"
disableIf = [ { body = "NOT normal" }, { tail = "tailed" } ]
selectorAffix.m = "topLeftAndBottomRightSerifed"
selectorAffix."m/tailless" = "topLeftAndBottomRightSerifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "topLeftAndBottomRightSerifed"
selectorAffix.mLTail = "topLeftSerifed"
[prime.m.variants-buildup.stages.serifs.serifed]
rank = 4
descriptionAffix = "serifs"
selectorAffix.m = "serifed"
selectorAffix."m/tailless" = "serifed"
selectorAffix."m/sansSerif" = "serifless"
selectorAffix."cyrl/te.italic" = "serifed"
selectorAffix.mLTail = "serifed"
[prime.n]
sampler = "n"
tag = "cv39"
[prime.n.variants.straight-serifless]
rank = 1
description = "`n` with straight ending"
selector.n = "straightSerifless"
selector."n/sansSerif" = "straightSerifless"
selector."n/descBase" = "straightSerifless"
selector.eng = "straightSerifless"
selector."eng/phoneticRight" = "straightSerifless"
selector."cyrl/pe.italic" = "straightSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.straight-motion-serifed]
rank = 2
description = "`n` with motion serifs and straight ending"
selector.n = "straightMotionSerifed"
selector."n/sansSerif" = "straightSerifless"
selector."n/descBase" = "straightTopLeftSerifed"
selector.eng = "straightTopLeftSerifed"
selector."eng/phoneticRight" = "straightTopLeftSerifed"
selector."cyrl/pe.italic" = "straightMotionSerifed"
selector."cyrl/peItalicDescBase" = "straightMotionSerifed"
[prime.n.variants.straight-top-left-serifed]
rank = 3
description = "`n` with motion serifs at top left and straight ending"
selector.n = "straightTopLeftSerifed"
selector."n/sansSerif" = "straightSerifless"
selector."n/descBase" = "straightTopLeftSerifed"
selector.eng = "straightTopLeftSerifed"
selector."eng/phoneticRight" = "straightTopLeftSerifed"
selector."cyrl/pe.italic" = "straightTopLeftSerifed"
selector."cyrl/peItalicDescBase" = "straightMotionSerifed"
[prime.n.variants.straight-serifed]
rank = 4
description = "`n` with motion serifs and straight ending"
selector.n = "straightSerifed"
selector."n/sansSerif" = "straightSerifless"
selector."n/descBase" = "straightSerifed"
selector.eng = "straightSerifed"
selector."eng/phoneticRight" = "straightSerifed"
selector."cyrl/pe.italic" = "straightSerifed"
selector."cyrl/peItalicDescBase" = "straightSerifed"
[prime.n.variants.tailed-serifless]
rank = 5
description = "`n` with a curly tail"
selector.n = "tailedSerifless"
selector."n/sansSerif" = "tailedSerifless"
selector."n/descBase" = "straightSerifless"
selector.eng = "straightSerifless"
selector."eng/phoneticRight" = "straightSerifless"
selector."cyrl/pe.italic" = "tailedSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.tailed-motion-serifed]
rank = 6
description = "`n` with motion serifs and a curly tail"
selector.n = "tailedMotionSerifed"
selector."n/sansSerif" = "tailedSerifless"
selector."n/descBase" = "straightTopLeftSerifed"
selector.eng = "straightTopLeftSerifed"
selector."eng/phoneticRight" = "straightTopLeftSerifed"
selector."cyrl/pe.italic" = "tailedMotionSerifed"
selector."cyrl/peItalicDescBase" = "straightMotionSerifed"
[prime.n.variants.tailed-serifed]
rank = 7
description = "`n` with motion serifs and a curly tail"
selector.n = "tailedSerifed"
selector."n/sansSerif" = "tailedSerifless"
selector."n/descBase" = "straightSerifed"
selector.eng = "straightSerifed"
selector."eng/phoneticRight" = "straightSerifed"
selector."cyrl/pe.italic" = "tailedSerifed"
selector."cyrl/peItalicDescBase" = "straightSerifed"
[prime.n.variants.earless-corner-straight-serifless]
rank = 8
description = "Earless (corner top-left) `n` with straight ending"
selector.n = "earlessCornerStraightSerifless"
selector."n/sansSerif" = "earlessCornerStraightSerifless"
selector."n/descBase" = "earlessCornerStraightSerifless"
selector.eng = "earlessCornerStraightSerifless"
selector."eng/phoneticRight" = "earlessCornerStraightHTBSerifless"
selector."cyrl/pe.italic" = "straightSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.earless-corner-straight-serifed]
rank = 9
description = "Earless (corner top-left) `n` with straight ending"
selector.n = "earlessCornerStraightSerifed"
selector."n/sansSerif" = "earlessCornerStraightSerifless"
selector."n/descBase" = "earlessCornerStraightSerifless"
selector.eng = "earlessCornerStraightSerifed"
selector."eng/phoneticRight" = "earlessCornerStraightHTBSerifed"
selector."cyrl/pe.italic" = "straightSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.earless-corner-tailed-serifless]
rank = 10
description = "Earless (corner top-left) `n` with a curly tail"
selector.n = "earlessCornerTailedSerifless"
selector."n/sansSerif" = "earlessCornerTailedSerifless"
selector."n/descBase" = "earlessCornerStraightSerifless"
selector.eng = "earlessCornerStraightSerifless"
selector."eng/phoneticRight" = "earlessCornerStraightHTBSerifless"
selector."cyrl/pe.italic" = "tailedSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.earless-corner-tailed-serifed]
rank = 11
description = "Earless (corner top-left) `n` with a curly tail"
selector.n = "earlessCornerTailedSerifed"
selector."n/sansSerif" = "earlessCornerTailedSerifless"
selector."n/descBase" = "earlessCornerStraightSerifless"
selector.eng = "earlessCornerStraightSerifed"
selector."eng/phoneticRight" = "earlessCornerStraightHTBSerifed"
selector."cyrl/pe.italic" = "tailedSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.earless-rounded-straight-serifless]
rank = 12
description = "Earless (rounded top-left) `n` with straight ending"
selector.n = "earlessRoundedStraightSerifless"
selector."n/sansSerif" = "earlessRoundedStraightSerifless"
selector."n/descBase" = "earlessRoundedStraightSerifless"
selector.eng = "earlessRoundedStraightSerifless"
selector."eng/phoneticRight" = "earlessRoundedStraightHTBSerifless"
selector."cyrl/pe.italic" = "straightSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.earless-rounded-straight-serifed]
rank = 13
description = "Earless (rounded top-left) `n` with straight ending"
selector.n = "earlessRoundedStraightSerifed"
selector."n/sansSerif" = "earlessRoundedStraightSerifless"
selector."n/descBase" = "earlessRoundedStraightSerifless"
selector.eng = "earlessRoundedStraightSerifed"
selector."eng/phoneticRight" = "earlessRoundedStraightHTBSerifed"
selector."cyrl/pe.italic" = "straightSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.earless-rounded-tailed-serifless]
rank = 14
description = "Earless (rounded top-left) `n` with a curly tail"
selector.n = "earlessRoundedTailedSerifless"
selector."n/sansSerif" = "earlessRoundedTailedSerifless"
selector."n/descBase" = "earlessRoundedStraightSerifless"
selector.eng = "earlessRoundedStraightSerifless"
selector."eng/phoneticRight" = "earlessRoundedStraightHTBSerifless"
selector."cyrl/pe.italic" = "tailedSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.n.variants.earless-rounded-tailed-serifed]
rank = 15
description = "Earless (rounded top-left) `n` with a curly tail"
selector.n = "earlessRoundedTailedSerifed"
selector."n/sansSerif" = "earlessRoundedTailedSerifless"
selector."n/descBase" = "earlessRoundedStraightSerifless"
selector.eng = "earlessRoundedStraightSerifed"
selector."eng/phoneticRight" = "earlessRoundedStraightHTBSerifed"
selector."cyrl/pe.italic" = "tailedSerifless"
selector."cyrl/peItalicDescBase" = "straightSerifless"
[prime.p]
sampler = "p"
tag = "cv40"
[prime.p.variants.eared-serifless]
rank = 1
description = "`p` with top-left ear, without serifs"
selector.p = "earedSerifless"
selector."p/sansSerif" = "earedSerifless"
selector."p/hookTopBase" = "earedSerifless"
[prime.p.variants.eared-motion-serifed]
rank = 2
description = "`p` with motion serifs"
selector.p = "earedMotionSerifed"
selector."p/sansSerif" = "earedSerifless"
selector."p/hookTopBase" = "earedSerifless"
[prime.p.variants.eared-serifed]
rank = 3
description = "`p` with serifs"
selector.p = "earedSerifed"
selector."p/sansSerif" = "earedSerifless"
selector."p/hookTopBase" = "earedBottomSerifed"
[prime.p.variants.earless-corner-serifless]
rank = 4
description = "`p` without top-left ear (corner), without serifs"
selector.p = "earlessCornerSerifless"
selector."p/sansSerif" = "earlessCornerSerifless"
selector."p/hookTopBase" = "earlessCornerSerifless"
[prime.p.variants.earless-corner-serifed]
rank = 5
description = "`p` without top-left ear (corner), with serifs"
selector.p = "earlessCornerSerifed"
selector."p/sansSerif" = "earlessCornerSerifless"
selector."p/hookTopBase" = "earlessCornerSerifed"
[prime.p.variants.earless-rounded-serifless]
rank = 6
description = "`p` without top-left ear (rounded), without serifs"
selector.p = "earlessRoundedSerifless"
selector."p/sansSerif" = "earlessRoundedSerifless"
selector."p/hookTopBase" = "earlessRoundedSerifless"
[prime.p.variants.earless-rounded-serifed]
rank = 7
description = "`p` without top-left ear (rounded), with serifs"
selector.p = "earlessRoundedSerifed"
selector."p/sansSerif" = "earlessRoundedSerifless"
selector."p/hookTopBase" = "earlessRoundedSerifed"
[prime.q]
sampler = "q"
tag = "cv41"
[prime.q.variants.straight-serifless]
rank = 1
description = "`q` with straight bar, without serifs"
selector.q = "straightSerifless"
selector."q/sansSerif" = "straightSerifless"
selector.qRTail = "straightSerifless"
selector.qHookTop = "straightSerifless"
[prime.q.variants.straight-motion-serifed]
rank = 2
description = "`q` with straight bar and motion serifs"
selector.q = "straightMotionSerifed"
selector."q/sansSerif" = "straightSerifless"
selector.qRTail = "straightMotionSerifed"
selector.qHookTop = "straightSerifless"
[prime.q.variants.straight-serifed]
rank = 3
description = "`q` with straight bar and serifs"
selector.q = "straightSerifed"
selector."q/sansSerif" = "straightSerifless"
selector.qRTail = "straightMotionSerifed"
selector.qHookTop = "straightBottomSerifed"
[prime.q.variants.tailed]
rank = 4
description = "`q` with tail"
selector.q = "tailed"
selector."q/sansSerif" = "tailed"
selector.qRTail = "straightSerifless"
selector.qHookTop = "tailed"
[prime.q.variants.tailed-serifed]
rank = 5
description = "`q` with tail and motion serifs"
selector.q = "tailedSerifed"
selector."q/sansSerif" = "tailed"
selector.qRTail = "straightMotionSerifed"
selector.qHookTop = "tailed"
[prime.q.variants.diagonal-tailed]
rank = 6
description = "`q` with diagonal tail"
selector.q = "diagonalTailed"
selector."q/sansSerif" = "diagonalTailed"
selector.qRTail = "straightSerifless"
selector.qHookTop = "diagonalTailed"
[prime.q.variants.diagonal-tailed-serifed]
rank = 7
description = "`q` with diagonal tail and motion serifs"
selector.q = "diagonalTailedSerifed"
selector."q/sansSerif" = "diagonalTailed"
selector.qRTail = "straightMotionSerifed"
selector.qHookTop = "diagonalTailed"
[prime.q.variants.earless-corner-serifless]
rank = 8
description = "Earless (cornered top-left) single-storey `q`, without serifs"
selector.q = "earlessCornerSerifless"
selector."q/sansSerif" = "earlessCornerSerifless"
selector.qRTail = "earlessCornerSerifless"
selector.qHookTop = "straightSerifless"
[prime.q.variants.earless-corner-serifed]
rank = 9
description = "Earless (cornered top-left) single-storey `q`, with serifs"
selector.q = "earlessCornerSerifed"
selector."q/sansSerif" = "earlessCornerSerifed"
selector.qRTail = "earlessCornerSerifless"
selector.qHookTop = "straightBottomSerifed"
[prime.q.variants.earless-corner-tailed]
rank = 10
description = "Earless (cornered top-left) single-storey `q` with curly tail"
selector.q = "earlessCornerTailed"
selector."q/sansSerif" = "earlessCornerTailed"
selector.qRTail = "earlessCornerSerifless"
selector.qHookTop = "tailed"
[prime.q.variants.earless-corner-diagonal-tailed]
rank = 11
description = "Earless (cornered top-left) single-storey `q` with curly diagonal tail"
selector.q = "earlessCornerDiagonalTailed"
selector."q/sansSerif" = "earlessCornerDiagonalTailed"
selector.qRTail = "earlessCornerSerifless"
selector.qHookTop = "diagonalTailed"
[prime.q.variants.earless-rounded-serifless]
rank = 12
description = "Earless (rounded top-left) single-storey `q` without serifs"
selector.q = "earlessRoundedSerifless"
selector."q/sansSerif" = "earlessRoundedSerifless"
selector.qRTail = "earlessRoundedSerifless"
selector.qHookTop = "straightSerifless"
[prime.q.variants.earless-rounded-serifed]
rank = 13
description = "Earless (rounded top-left) single-storey `q` with serifs"
selector.q = "earlessRoundedSerifed"
selector."q/sansSerif" = "earlessRoundedSerifed"
selector.qRTail = "earlessRoundedSerifless"
selector.qHookTop = "straightBottomSerifed"
[prime.q.variants.earless-rounded-tailed]
rank = 14
description = "Earless (rounded top-left) single-storey `q` with curly tail"
selector.q = "earlessRoundedTailed"
selector."q/sansSerif" = "earlessRoundedTailed"
selector.qRTail = "earlessRoundedSerifless"
selector.qHookTop = "tailed"
[prime.q.variants.earless-rounded-diagonal-tailed]
rank = 15
description = "Earless (rounded top-left) single-storey `q` with curly diagonal tail"
selector.q = "earlessRoundedDiagonalTailed"
selector."q/sansSerif" = "earlessRoundedDiagonalTailed"
selector.qRTail = "earlessRoundedSerifless"
selector.qHookTop = "diagonalTailed"
[prime.r]
sampler = "r"
tag = "cv42"
[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
descriptionAffix = "earless (corner top-left) body shape"
selectorAffix.r = "earlessCorner"
selectorAffix."r/sansSerif" = "earlessCorner"
selectorAffix.rRTail = "earlessCorner"
selectorAffix."rTurnRTail" = ""
selectorAffix."rFlap" = "earlessCorner"
[prime.r.variants-buildup.stages.body.earless-rounded]
rank = 3
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 = "serifed"
selectorAffix."rTurnRTail" = "serifed"
selectorAffix."rFlap" = "serifed"
[prime.s]
sampler = "s"
tag = "cv43"
[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"
tag = "cv44"
[prime.t.variants-buildup]
entry = "height"
descriptionLeader = "`t`"
[prime.t.variants-buildup.stages.body."*"]
mode = "prepend"
[prime.t.variants-buildup.stages.height."*"]
next = "body"
[prime.t.variants-buildup.stages.body.standard]
rank = 1
descriptionAffix = "standard body shape"
selectorAffix.t = "standard"
selectorAffix."t/phoneticLeft1" = "flatHook"
selectorAffix."t/phoneticLeft2" = "flatHook"
selectorAffix."t/phoneticLeft3" = "standard"
selectorAffix.tHookTop = "standard"
selectorAffix.tRTail = "flatHook"
selectorAffix.tLTail = "standard"
selectorAffix.tCurlyTail = "standard"
selectorAffix."tsLig/upperHalf" = "standard"
[prime.t.variants-buildup.stages.body.flat-hook]
rank = 2
descriptionAffix = "body with flat hook"
selectorAffix.t = "flatHook"
selectorAffix."t/phoneticLeft1" = "flatHook"
selectorAffix."t/phoneticLeft2" = "flatHook"
selectorAffix."t/phoneticLeft3" = "flatHook"
selectorAffix.tHookTop = "flatHook"
selectorAffix.tRTail = "flatHook"
selectorAffix.tLTail = "flatHook"
selectorAffix.tCurlyTail = "flatHook"
selectorAffix."tsLig/upperHalf" = "standard"
[prime.t.variants-buildup.stages.body.diagonal-tailed]
rank = 3
descriptionAffix = "body with diagonal tail"
selectorAffix.t = "diagonalTailed"
selectorAffix."t/phoneticLeft1" = "flatHook"
selectorAffix."t/phoneticLeft2" = "flatHook"
selectorAffix."t/phoneticLeft3" = "diagonalTailed"
selectorAffix.tHookTop = "diagonalTailed"
selectorAffix.tRTail = "flatHook"
selectorAffix.tLTail = "diagonalTailed"
selectorAffix.tCurlyTail = "standard"
selectorAffix."tsLig/upperHalf" = "standard"
[prime.t.variants-buildup.stages.body.cross]
rank = 4
descriptionAffix = "Futura-like body shape"
selectorAffix.t = "cross"
selectorAffix."t/phoneticLeft1" = "cross"
selectorAffix."t/phoneticLeft2" = "cross"
selectorAffix."t/phoneticLeft3" = "cross"
selectorAffix.tHookTop = "cross"
selectorAffix.tRTail = "cross"
selectorAffix.tLTail = "cross"
selectorAffix.tCurlyTail = "cross"
selectorAffix."tsLig/upperHalf" = "standard"
[prime.t.variants-buildup.stages.body.hookless-asymmetric]
rank = 5
descriptionAffix = "hookless asymmetric body shape (only half the cross bar)"
selectorAffix.t = "hooklessAsymmetric"
selectorAffix."t/phoneticLeft1" = "hooklessAsymmetric"
selectorAffix."t/phoneticLeft2" = "hooklessAsymmetric"
selectorAffix."t/phoneticLeft3" = "hooklessAsymmetric"
selectorAffix.tHookTop = "hooklessAsymmetric"
selectorAffix.tRTail = "hooklessAsymmetric"
selectorAffix.tLTail = "hooklessAsymmetric"
selectorAffix.tCurlyTail = "hooklessAsymmetric"
selectorAffix."tsLig/upperHalf" = "standard"
[prime.t.variants-buildup.stages.height.full]
rank = 1
keyAffix = ""
selectorAffix.t = ""
selectorAffix."t/phoneticLeft1" = ""
selectorAffix."t/phoneticLeft2" = ""
selectorAffix."t/phoneticLeft3" = ""
selectorAffix.tHookTop = ""
selectorAffix.tRTail = ""
selectorAffix.tLTail = ""
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/phoneticLeft3" = ""
selectorAffix.tHookTop = ""
selectorAffix.tRTail = "shortNeck"
selectorAffix.tLTail = "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/phoneticLeft3" = ""
selectorAffix.tHookTop = ""
selectorAffix.tRTail = "shortNeck2"
selectorAffix.tLTail = "shortNeck2"
selectorAffix.tCurlyTail = "shortNeck2"
selectorAffix."tsLig/upperHalf" = "shortNeck2"
[prime.u]
sampler = "u"
tag = "cv45"
[prime.u.variants.toothed-serifless]
rank = 1
description = "Normal `u` with bottom-right tooth"
selector.u = "toothedSerifless"
selector."u/sansSerif" = "toothedSerifless"
selector."u/uRTailBase" = "urtBaseSerifless"
selector."cyrl/i.italic" = "toothedSerifless"
selector."cyrl/sha.italic" = "toothedSerifless"
selector."cyrl/shcha.italic" = "toothedSerifless"
selector."cyrl/i.italic.reduced" = "toothedSerifless"
selector."cyrl/dzhe.italic" = "toothedSerifless"
selector."cyrl/tse.italic" = "toothedSerifless"
selector."ue/u" = "serifless"
[prime.u.variants.toothed-motion-serifed]
rank = 2
description = "Normal `u` with right bar and motion serifs"
selector.u = "toothedMotionSerifed"
selector."u/sansSerif" = "toothedSerifless"
selector."u/uRTailBase" = "urtBaseMotionSerifed"
selector."cyrl/i.italic" = "toothedMotionSerifed"
selector."cyrl/sha.italic" = "toothedMotionSerifed"
selector."cyrl/shcha.italic" = "toothedMotionSerifed"
selector."cyrl/i.italic.reduced" = "toothedMotionSerifed"
selector."cyrl/dzhe.italic" = "toothedMotionSerifed"
selector."cyrl/tse.italic" = "toothedMotionSerifed"
selector."ue/u" = "serifed"
[prime.u.variants.toothed-bottom-right-serifed]
rank = 3
description = "`u` with right bar and a bottom-right serif"
selector.u = "toothedBottomRightSerifed"
selector."u/sansSerif" = "toothedSerifless"
selector."u/uRTailBase" = "urtBaseSerifless"
selector."cyrl/i.italic" = "toothedBottomRightSerifed"
selector."cyrl/sha.italic" = "toothedBottomRightSerifed"
selector."cyrl/shcha.italic" = "toothedSerifless"
selector."cyrl/i.italic.reduced" = "toothedSerifless"
selector."cyrl/dzhe.italic" = "toothedBottomRightSerifed"
selector."cyrl/tse.italic" = "toothedSerifless"
selector."ue/u" = "serifless"
[prime.u.variants.toothed-serifed]
rank = 4
description = "Normal `u` with right bar and serifs"
selector.u = "toothedSerifed"
selector."u/sansSerif" = "toothedSerifless"
selector."u/uRTailBase" = "urtBaseSerifed"
selector."cyrl/i.italic" = "toothedSerifed"
selector."cyrl/sha.italic" = "toothedSerifed"
selector."cyrl/shcha.italic" = "toothedSerifed"
selector."cyrl/i.italic.reduced" = "toothedSerifed"
selector."cyrl/dzhe.italic" = "toothedSerifed"
selector."cyrl/tse.italic" = "toothedSerifed"
selector."ue/u" = "serifed"
[prime.u.variants.tailed-serifless]
rank = 5
description = "`u` with right bar and a slightly curly tail"
selector.u = "tailedSerifless"
selector."u/sansSerif" = "tailedSerifless"
selector."u/uRTailBase" = "urtBaseSerifless"
selector."cyrl/i.italic" = "tailedSerifless"
selector."cyrl/sha.italic" = "tailedSerifless"
selector."cyrl/shcha.italic" = "toothedSerifless"
selector."cyrl/i.italic.reduced" = "toothedSerifless"
selector."cyrl/dzhe.italic" = "tailedSerifless"
selector."cyrl/tse.italic" = "toothedSerifless"
selector."ue/u" = "serifless"
[prime.u.variants.tailed-motion-serifed]
rank = 6
description = "`u` with right bar, motion serifs and a slightly curly tail"
selector.u = "tailedMotionSerifed"
selector."u/sansSerif" = "tailedSerifless"
selector."u/uRTailBase" = "urtBaseMotionSerifed"
selector."cyrl/i.italic" = "tailedMotionSerifed"
selector."cyrl/sha.italic" = "tailedMotionSerifed"
selector."cyrl/shcha.italic" = "toothedMotionSerifed"
selector."cyrl/i.italic.reduced" = "toothedMotionSerifed"
selector."cyrl/dzhe.italic" = "tailedMotionSerifed"
selector."cyrl/tse.italic" = "toothedMotionSerifed"
selector."ue/u" = "serifed"
[prime.u.variants.tailed-serifed]
rank = 7
description = "`u` with right bar, serifs and a slightly curly tail"
selector.u = "tailedSerifed"
selector."u/sansSerif" = "tailedSerifless"
selector."u/uRTailBase" = "urtBaseSerifed"
selector."cyrl/i.italic" = "tailedSerifed"
selector."cyrl/sha.italic" = "tailedSerifed"
selector."cyrl/shcha.italic" = "toothedSerifed"
selector."cyrl/i.italic.reduced" = "toothedSerifed"
selector."cyrl/dzhe.italic" = "tailedSerifed"
selector."cyrl/tse.italic" = "toothedSerifed"
selector."ue/u" = "serifed"
[prime.u.variants.toothless-corner-serifless]
rank = 8
description = "Toothless (corner bottom-right) `u`"
selector.u = "toothlessCornerSerifless"
selector."u/sansSerif" = "toothlessCornerSerifless"
selector."u/uRTailBase" = "urtBaseSerifless"
selector."cyrl/i.italic" = "toothedSerifless"
selector."cyrl/sha.italic" = "toothedSerifless"
selector."cyrl/shcha.italic" = "toothedSerifless"
selector."cyrl/i.italic.reduced" = "toothedSerifless"
selector."cyrl/dzhe.italic" = "toothedSerifless"
selector."cyrl/tse.italic" = "toothedSerifless"
selector."ue/u" = "serifless"
[prime.u.variants.toothless-corner-motion-serifed]
rank = 9
description = "Toothless (corner bottom-right) `u` with motion serifs"
selector.u = "toothlessCornerMotionSerifed"
selector."u/sansSerif" = "toothlessCornerSerifless"
selector."u/uRTailBase" = "urtBaseMotionSerifed"
selector."cyrl/i.italic" = "toothedMotionSerifed"
selector."cyrl/sha.italic" = "toothedMotionSerifed"
selector."cyrl/shcha.italic" = "toothedMotionSerifed"
selector."cyrl/i.italic.reduced" = "toothedMotionSerifed"
selector."cyrl/dzhe.italic" = "toothedMotionSerifed"
selector."cyrl/tse.italic" = "toothedMotionSerifed"
selector."ue/u" = "serifed"
[prime.u.variants.toothless-corner-serifed]
rank = 10
description = "Toothless (corner bottom-right) `u` with serifs"
selector.u = "toothlessCornerSerifed"
selector."u/sansSerif" = "toothlessCornerSerifless"
selector."u/uRTailBase" = "urtBaseSerifed"
selector."cyrl/i.italic" = "toothedSerifed"
selector."cyrl/sha.italic" = "toothedSerifed"
selector."cyrl/shcha.italic" = "toothedSerifed"
selector."cyrl/i.italic.reduced" = "toothedSerifed"
selector."cyrl/dzhe.italic" = "toothedSerifed"
selector."cyrl/tse.italic" = "toothedSerifed"
selector."ue/u" = "serifed"
[prime.u.variants.toothless-rounded-serifless]
rank = 11
description = "Toothless (rounded) `u`, like a smaller uppercase `U`"
selector.u = "toothlessRoundedSerifless"
selector."u/sansSerif" = "toothlessRoundedSerifless"
selector."u/uRTailBase" = "urtBaseSerifless"
selector."cyrl/i.italic" = "toothedSerifless"
selector."cyrl/sha.italic" = "toothedSerifless"
selector."cyrl/shcha.italic" = "toothedSerifless"
selector."cyrl/i.italic.reduced" = "toothedSerifless"
selector."cyrl/dzhe.italic" = "toothedSerifless"
selector."cyrl/tse.italic" = "toothedSerifless"
selector."ue/u" = "serifless"
[prime.u.variants.toothless-rounded-motion-serifed]
rank = 12
description = "Toothless (rounded) `u` with motion serifs"
selector.u = "toothlessRoundedMotionSerifed"
selector."u/sansSerif" = "toothlessRoundedSerifless"
selector."u/uRTailBase" = "urtBaseMotionSerifed"
selector."cyrl/i.italic" = "toothedMotionSerifed"
selector."cyrl/sha.italic" = "toothedMotionSerifed"
selector."cyrl/shcha.italic" = "toothedMotionSerifed"
selector."cyrl/i.italic.reduced" = "toothedMotionSerifed"
selector."cyrl/dzhe.italic" = "toothedMotionSerifed"
selector."cyrl/tse.italic" = "toothedMotionSerifed"
selector."ue/u" = "serifed"
[prime.u.variants.toothless-rounded-serifed]
rank = 13
description = "Toothless (rounded) `u` with serifs"
selector.u = "toothlessRoundedSerifed"
selector."u/sansSerif" = "toothlessRoundedSerifless"
selector."u/uRTailBase" = "urtBaseSerifed"
selector."cyrl/i.italic" = "toothedSerifed"
selector."cyrl/sha.italic" = "toothedSerifed"
selector."cyrl/shcha.italic" = "toothedSerifed"
selector."cyrl/i.italic.reduced" = "toothedSerifed"
selector."cyrl/dzhe.italic" = "toothedSerifed"
selector."cyrl/tse.italic" = "toothedSerifed"
selector."ue/u" = "serifed"
[prime.v]
sampler = "v"
tag = "cv46"
[prime.v.variants.straight-serifless]
rank = 1
description = "Standard, straight `v`, without serifs"
selector.v = "straightSerifless"
selector."v/sansSerif" = "straightSerifless"
selector."v/nonCursive" = "straightSerifless"
[prime.v.variants.straight-motion-serifed]
rank = 2
description = "Standard, straight `v`, with motion serifs"
selector.v = "straightMotionSerifed"
selector."v/sansSerif" = "straightSerifless"
selector."v/nonCursive" = "straightMotionSerifed"
[prime.v.variants.straight-serifed]
rank = 3
description = "Standard, straight `v`, with serifs"
selector.v = "straightSerifed"
selector."v/sansSerif" = "straightSerifless"
selector."v/nonCursive" = "straightSerifed"
[prime.v.variants.curly-serifless]
rank = 4
description = "Slightly curly `v`, like Iosevka 2.x, without serifs"
selector.v = "curlySerifless"
selector."v/sansSerif" = "curlySerifless"
selector."v/nonCursive" = "curlySerifless"
[prime.v.variants.curly-motion-serifed]
rank = 5
description = "Slightly curly `v`, like Iosevka 2.x, with motion serifs"
selector.v = "curlyMotionSerifed"
selector."v/sansSerif" = "curlySerifless"
selector."v/nonCursive" = "curlyMotionSerifed"
[prime.v.variants.curly-serifed]
rank = 6
description = "Slightly curly `v`, like Iosevka 2.x, with serifs"
selector.v = "curlySerifed"
selector."v/sansSerif" = "curlySerifless"
selector."v/nonCursive" = "curlySerifed"
[prime.v.variants.cursive-serifless]
rank = 7
description = "Cursive `v`, without serifs"
selector.v = "cursiveSerifless"
selector."v/sansSerif" = "cursiveSerifless"
selector."v/nonCursive" = "straightSerifless"
[prime.v.variants.cursive-serifed]
rank = 8
description = "Cursive `v` with motion serifs"
selector.v = "cursiveSerifed"
selector."v/sansSerif" = "cursiveSerifless"
selector."v/nonCursive" = "straightMotionSerifed"
[prime.w]
sampler = "w"
tag = "cv47"
[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
descriptionAffix = "standard, straight body"
selectorAffix.w = "straight"
selectorAffix."w/sansSerif" = "straight"
selectorAffix.wHookTop = "straight"
[prime.w.variants-buildup.stages.body.curly]
rank = 2
descriptionAffix = "curly body"
selectorAffix.w = "curly"
selectorAffix."w/sansSerif" = "curly"
selectorAffix.wHookTop = "curly"
[prime.w.variants-buildup.stages.body.straight-flat-top]
rank = 3
descriptionAffix = "straight body shape that the middle is forced to be aligned the top"
selectorAffix.w = "straightFlatTop"
selectorAffix."w/sansSerif" = "straightFlatTop"
selectorAffix.wHookTop = "straightFlatTop"
[prime.w.variants-buildup.stages.body.straight-double-v]
rank = 4
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
descriptionAffix = "asymmetric shape"
selectorAffix.w = "straightAsymmetric"
selectorAffix."w/sansSerif" = "straightAsymmetric"
selectorAffix.wHookTop = "straightAsymmetric"
[prime.w.variants-buildup.stages.body.straight-vertical-sides]
rank = 6
descriptionAffix = "body shape with vertical sides"
selectorAffix.w = "straightVerticalSides"
selectorAffix."w/sansSerif" = "straightVerticalSides"
selectorAffix.wHookTop = "straightVerticalSides"
[prime.w.variants-buildup.stages.body.cursive]
rank = 6
descriptionAffix = "body shape with vertical sides"
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 = "serifed"
[prime.x]
sampler = "x"
tag = "cv48"
[prime.x.variants.straight-serifless]
rank = 1
description = "Serifless, straight `x`"
selector.x = "straightSerifless"
selector."x/sansSerif" = "straightSerifless"
selector."cyrl/ha" = "straightSerifless"
selector."grek/chi" = "straightSerifless"
[prime.x.variants.curly-motion-serifed]
rank = 2
description = "Slightly curly `x`, like Iosevka 2.x, with motion serifs"
selector.x = "curlyMotionSerifed"
selector."x/sansSerif" = "curlySerifless"
selector."cyrl/ha" = "curlyMotionSerifed"
selector."grek/chi" = "curlyMotionSerifed"
[prime.x.variants.straight-serifed]
rank = 3
description = "Straight `x` with full serifs"
selector.x = "straightSerifed"
selector."x/sansSerif" = "straightSerifless"
selector."cyrl/ha" = "straightSerifed"
selector."grek/chi" = "straightBilateralMotionSerifed"
[prime.x.variants.curly-serifless]
rank = 4
description = "Serifless, slightly curly `x`, like Iosevka 2.x"
selector.x = "curlySerifless"
selector."x/sansSerif" = "curlySerifless"
selector."cyrl/ha" = "curlySerifless"
selector."grek/chi" = "curlySerifless"
[prime.x.variants.straight-motion-serifed]
rank = 5
description = "Straight `x` with motion serifs"
selector.x = "straightMotionSerifed"
selector."x/sansSerif" = "straightSerifless"
selector."cyrl/ha" = "straightMotionSerifed"
selector."grek/chi" = "straightMotionSerifed"
[prime.x.variants.curly-serifed]
rank = 6
description = "Slightly curly `x`, like Iosevka 2.x, with full serifs"
selector.x = "curlySerifed"
selector."x/sansSerif" = "curlySerifless"
selector."cyrl/ha" = "curlySerifed"
selector."grek/chi" = "curlyBilateralMotionSerifed"
[prime.x.variants.cursive]
rank = 7
description = "Cursive `x`"
selector.x = "cursive"
selector."x/sansSerif" = "cursive"
selector."cyrl/ha" = "cursive"
selector."grek/chi" = "curlySerifless"
[prime.y]
sampler = "y"
tag = "cv49"
[prime.y.variants.straight-serifless]
rank = 1
description = "Letter `y` that is fully straight"
selector.y = "straightSerifless"
selector.yLoop = "straightLoopSerifless"
selector."y/nonCursive" = "straightSerifless"
selector."y/sansSerif" = "straightSerifless"
[prime.y.variants.straight-motion-serifed]
rank = 2
description = "Letter `y` that is fully straight, with motion serifs"
selector.y = "straightMotionSerifed"
selector.yLoop = "straightLoopMotionSerifed"
selector."y/nonCursive" = "straightMotionSerifed"
selector."y/sansSerif" = "straightSerifless"
[prime.y.variants.straight-serifed]
rank = 3
description = "Letter `y` that is fully straight, with serifs"
selector.y = "straightSerifed"
selector.yLoop = "straightLoopSerifed"
selector."y/nonCursive" = "straightSerifed"
selector."y/sansSerif" = "straightSerifless"
[prime.y.variants.straight-turn-serifless]
rank = 4
description = "Letter `y` with straight upper and a tail turns leftward"
selector.y = "straightTurnSerifless"
selector.yLoop = "straightLoopSerifless"
selector."y/nonCursive" = "straightTurnSerifless"
selector."y/sansSerif" = "straightTurnSerifless"
[prime.y.variants.straight-turn-motion-serifed]
rank = 5
description = "Letter `y` with straight upper and a tail turns leftward, and motion serifs"
selector.y = "straightTurnMotionSerifed"
selector.yLoop = "straightLoopMotionSerifed"
selector."y/nonCursive" = "straightTurnMotionSerifed"
selector."y/sansSerif" = "straightTurnSerifless"
[prime.y.variants.straight-turn-serifed]
rank = 6
description = "Letter `y` with straight upper and a tail turns leftward, and serifs"
selector.y = "straightTurnSerifed"
selector.yLoop = "straightLoopSerifed"
selector."y/nonCursive" = "straightTurnSerifed"
selector."y/sansSerif" = "straightTurnSerifless"
[prime.y.variants.curly-serifless]
rank = 7
description = "More curly letter `y`, like Iosevka 2.x"
selector.y = "curlySerifless"
selector.yLoop = "curlyLoopSerifless"
selector."y/nonCursive" = "curlySerifless"
selector."y/sansSerif" = "curlySerifless"
[prime.y.variants.curly-motion-serifed]
rank = 8
description = "More curly letter `y`, like Iosevka 2.x, with motion serifs"
selector.y = "curlyMotionSerifed"
selector.yLoop = "curlyLoopMotionSerifed"
selector."y/nonCursive" = "curlyMotionSerifed"
selector."y/sansSerif" = "curlySerifless"
[prime.y.variants.curly-serifed]
rank = 9
description = "More curly letter `y`, like Iosevka 2.x, with serifs"
selector.y = "curlySerifed"
selector.yLoop = "curlyLoopSerifed"
selector."y/nonCursive" = "curlySerifed"
selector."y/sansSerif" = "curlySerifless"
[prime.y.variants.curly-turn-serifless]
rank = 10
description = "More curly letter `y`, like Iosevka 2.x, with a tail turns leftward"
selector.y = "curlyTurnSerifless"
selector.yLoop = "curlyLoopSerifless"
selector."y/nonCursive" = "curlyTurnSerifless"
selector."y/sansSerif" = "curlyTurnSerifless"
[prime.y.variants.curly-turn-motion-serifed]
rank = 11
description = "More curly letter `y`, like Iosevka 2.x, with a tail turns leftward and motion serifs"
selector.y = "curlyTurnMotionSerifed"
selector.yLoop = "curlyLoopMotionSerifed"
selector."y/nonCursive" = "curlyTurnMotionSerifed"
selector."y/sansSerif" = "curlyTurnSerifless"
[prime.y.variants.curly-turn-serifed]
rank = 12
description = "More curly letter `y`, like Iosevka 2.x, with a tail turns leftward and serifs"
selector.y = "curlyTurnSerifed"
selector.yLoop = "curlyLoopSerifed"
selector."y/nonCursive" = "curlyTurnSerifed"
selector."y/sansSerif" = "curlyTurnSerifless"
[prime.y.variants.cursive-serifless]
rank = 13
description = "Cursive-like `y`"
selector.y = "cursiveSerifless"
selector.yLoop = "straightLoopSerifless"
selector."y/nonCursive" = "straightTurnSerifless"
selector."y/sansSerif" = "cursiveSerifless"
[prime.y.variants.cursive-motion-serifed]
rank = 14
description = "Cursive-like `y`, with motion serifs"
selector.y = "cursiveMotionSerifed"
selector.yLoop = "straightLoopMotionSerifed"
selector."y/nonCursive" = "straightTurnMotionSerifed"
selector."y/sansSerif" = "cursiveSerifless"
[prime.y.variants.cursive-serifed]
rank = 15
description = "Cursive-like `y`, with serifs"
selector.y = "cursiveSerifed"
selector.yLoop = "straightLoopSerifed"
selector."y/nonCursive" = "straightTurnSerifed"
selector."y/sansSerif" = "cursiveSerifless"
[prime.y.variants.cursive-flat-hook-serifless]
rank = 16
description = "Cursive-like `y` with flat terminal hook"
selector.y = "cursiveFlatHookSerifless"
selector.yLoop = "straightLoopSerifless"
selector."y/nonCursive" = "straightTurnSerifless"
selector."y/sansSerif" = "cursiveFlatHookSerifless"
[prime.y.variants.cursive-flat-hook-motion-serifed]
rank = 17
description = "Cursive-like `y` with flat terminal hook, and motion serifs"
selector.y = "cursiveFlatHookMotionSerifed"
selector.yLoop = "straightLoopMotionSerifed"
selector."y/nonCursive" = "straightTurnMotionSerifed"
selector."y/sansSerif" = "cursiveFlatHookSerifless"
[prime.y.variants.cursive-flat-hook-serifed]
rank = 18
description = "Cursive-like `y` with flat terminal hook, and serifs"
selector.y = "cursiveFlatHookSerifed"
selector.yLoop = "straightLoopSerifed"
selector."y/nonCursive" = "straightTurnSerifed"
selector."y/sansSerif" = "cursiveFlatHookSerifless"
[prime.z]
sampler = "z"
tag = "cv50"
[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.zDesc = "straight"
selectorAffix."zDesc/reduced" = "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.zDesc = "curly"
selectorAffix."zDesc/reduced" = "curly"
[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.zDesc = "cursive"
selectorAffix."zDesc/reduced" = "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.zDesc = "serifless"
selectorAffix."zDesc/reduced" = "serifless"
[prime.z.variants-buildup.stages.serifs.serifed]
rank = 2
descriptionAffix = "serifs"
selectorAffix.z = "serifed"
selectorAffix."z/sansSerif" = "serifless"
selectorAffix."z/reduced" = "serifed"
selectorAffix.zDesc = "topSerifed"
selectorAffix."zDesc/reduced" = "topSerifed"
[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.zDesc = "serifless"
selectorAffix."zDesc/reduced" = "serifless"
[prime.z.variants-buildup.stages.serifs.top-serifed]
rank = 4
descriptionAffix = "serifs at top"
selectorAffix.z = "topSerifed"
selectorAffix."z/sansSerif" = "serifless"
selectorAffix."z/reduced" = "topSerifed"
selectorAffix.zDesc = "topSerifed"
selectorAffix."zDesc/reduced" = "topSerifed"
[prime.z.variants-buildup.stages.overlay.no-overlay]
rank = 1
keyAffix = ""
selectorAffix.z = ""
selectorAffix."z/sansSerif" = ""
selectorAffix."z/reduced" = ""
selectorAffix.zDesc = ""
selectorAffix."zDesc/reduced" = ""
[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.zDesc = "withCrossBar"
selectorAffix."zDesc/reduced" = ""
[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.zDesc = "withHorizontalCrossBar"
selectorAffix."zDesc/reduced" = ""
[prime.long-s]
sampler = "ſ"
samplerExplain = "Long-S"
tag = "cv51"
[prime.long-s.variants.bent-hook-serifless]
rank = 1
description = "Long-S with standard bending hook and without serifs"
selector."longs" = "bentHookSerifless"
selector."longs/flatExt" = "flatHookExtSerifless"
[prime.long-s.variants.flat-hook-serifless]
rank = 2
description = "Long-S with flat hook and without serifs"
selector."longs" = "flatHookSerifless"
selector."longs/flatExt" = "flatHookExtSerifless"
[prime.long-s.variants.bent-hook-bottom-serifed]
rank = 3
description = "Long-S with standard bending hook and bottom serif"
selector."longs" = "bentHookBottomSerifed"
selector."longs/flatExt" = "flatHookExtBottomSerifed"
[prime.long-s.variants.flat-hook-bottom-serifed]
rank = 4
description = "Long-S with flat hook and bottom serif"
selector."longs" = "flatHookBottomSerifed"
selector."longs/flatExt" = "flatHookExtBottomSerifed"
[prime.long-s.variants.bent-hook-double-serifed]
rank = 5
description = "Long-S with standard bending hook, bottom and middle serif"
selector."longs" = "bentHookDoubleSerifed"
selector."longs/flatExt" = "flatHookExtDoubleSerifed"
[prime.long-s.variants.flat-hook-double-serifed]
rank = 6
description = "Long-S with flat hook, bottom and middle serif"
selector."longs" = "flatHookDoubleSerifed"
selector."longs/flatExt" = "flatHookExtDoubleSerifed"
[prime.long-s.variants.bent-hook-double-serifed-xh]
rank = 7
description = "Long-S with standard bending hook, bottom serif, and middle serif placed at x-height"
selector."longs" = "bentHookDoubleSerifedXH"
selector."longs/flatExt" = "flatHookExtDoubleSerifedXH"
[prime.long-s.variants.flat-hook-double-serifed-xh]
rank = 8
description = "Long-S with flat hook, bottom serif, and middle serif placed at x-height"
selector."longs" = "flatHookDoubleSerifedXH"
selector."longs/flatExt" = "flatHookExtDoubleSerifedXH"
[prime.long-s.variants.bent-hook-descending]
rank = 9
description = "Long-S with standard bending hook and descends baseline"
selector."longs" = "bentHookDescending"
selector."longs/flatExt" = "flatHookDescendingExt"
[prime.long-s.variants.flat-hook-descending]
rank = 10
description = "Long-S with flat hook and descends baseline"
selector."longs" = "flatHookDescending"
selector."longs/flatExt" = "flatHookDescendingExt"
[prime.long-s.variants.bent-hook-descending-middle-serifed]
rank = 11
description = "Long-S with standard bending hook and middle serif, and descends baseline"
selector."longs" = "bentHookDescendingMiddleSerifed"
selector."longs/flatExt" = "flatHookDescendingExtMiddleSerifed"
[prime.long-s.variants.flat-hook-descending-middle-serifed]
rank = 12
description = "Long-S with flat hook and middle serif, and descends baseline"
selector."longs" = "flatHookDescendingMiddleSerifed"
selector."longs/flatExt" = "flatHookDescendingExtMiddleSerifed"
[prime.long-s.variants.bent-hook-descending-middle-serifed-xh]
rank = 13
description = "Long-S with standard bending hook and middle serif at x-height, and descends baseline"
selector."longs" = "bentHookDescendingMiddleSerifedXH"
selector."longs/flatExt" = "flatHookDescendingExtMiddleSerifedXH"
[prime.long-s.variants.flat-hook-descending-middle-serifed-xh]
rank = 14
description = "Long-S with flat hook and middle serif at x-height, and descends baseline"
selector."longs" = "flatHookDescendingMiddleSerifedXH"
selector."longs/flatExt" = "flatHookDescendingExtMiddleSerifedXH"
[prime.long-s.variants.bent-hook-tailed]
rank = 15
description = "Long-S with standard bending hook and tail"
selector."longs" = "bentHookTailed"
selector."longs/flatExt" = "flatHookTailedExt"
[prime.long-s.variants.flat-hook-tailed]
rank = 16
description = "Long-S with flat hook and tail"
selector."longs" = "flatHookTailed"
selector."longs/flatExt" = "flatHookTailedExt"
[prime.long-s.variants.bent-hook-tailed-middle-serifed]
rank = 17
description = "Long-S with standard bending hook, middle serif, and tail"
selector."longs" = "bentHookTailedMiddleSerifed"
selector."longs/flatExt" = "flatHookTailedExtMiddleSerifed"
[prime.long-s.variants.flat-hook-tailed-middle-serifed]
rank = 18
description = "Long-S with flat hook, middle serif, and tail"
selector."longs" = "flatHookTailedMiddleSerifed"
selector."longs/flatExt" = "flatHookTailedExtMiddleSerifed"
[prime.long-s.variants.bent-hook-tailed-middle-serifed-xh]
rank = 19
description = "Long-S with standard bending hook, middle serif at x-height, and tail"
selector."longs" = "bentHookTailedMiddleSerifedXH"
selector."longs/flatExt" = "flatHookTailedExtMiddleSerifedXH"
[prime.long-s.variants.flat-hook-tailed-middle-serifed-xh]
rank = 20
description = "Long-S with flat hook, middle serif at x-height, and tail"
selector."longs" = "flatHookTailedMiddleSerifedXH"
selector."longs/flatExt" = "flatHookTailedExtMiddleSerifedXH"
[prime.long-s.variants.bent-hook-diagonal-tailed]
rank = 21
description = "Long-S with standard bending hook and diagonal tail"
selector."longs" = "bentHookDiagonalTailed"
selector."longs/flatExt" = "flatHookDiagonalTailedExt"
[prime.long-s.variants.flat-hook-diagonal-tailed]
rank = 22
description = "Long-S with flat hook and diagonal tail"
selector."longs" = "flatHookDiagonalTailed"
selector."longs/flatExt" = "flatHookDiagonalTailedExt"
[prime.long-s.variants.bent-hook-diagonal-tailed-middle-serifed]
rank = 23
description = "Long-S with standard bending hook, middle serif, and diagonal tail"
selector."longs" = "bentHookDiagonalTailedMiddleSerifed"
selector."longs/flatExt" = "flatHookDiagonalTailedExtMiddleSerifed"
[prime.long-s.variants.flat-hook-diagonal-tailed-middle-serifed]
rank = 24
description = "Long-S with flat hook, middle serif, and diagonal tail"
selector."longs" = "flatHookDiagonalTailedMiddleSerifed"
selector."longs/flatExt" = "flatHookDiagonalTailedExtMiddleSerifed"
[prime.long-s.variants.bent-hook-diagonal-tailed-middle-serifed-xh]
rank = 25
description = "Long-S with standard bending hook, middle serif at x-height and diagonal tail"
selector."longs" = "bentHookDiagonalTailedMiddleSerifedXH"
selector."longs/flatExt" = "flatHookDiagonalTailedExtMiddleSerifedXH"
[prime.long-s.variants.flat-hook-diagonal-tailed-middle-serifed-xh]
rank = 26
description = "Long-S with flat hook, middle serif at x-height and diagonal tail"
selector."longs" = "flatHookDiagonalTailedMiddleSerifedXH"
selector."longs/flatExt" = "flatHookDiagonalTailedExtMiddleSerifedXH"
[prime.eszet]
sampler = "ß"
samplerExplain = "Eszet"
tag = "cv52"
[prime.eszet.variants.traditional]
rank = 1
description = "Traditional, Fraktur-like Eszet (`ß`)"
selector.eszet = "traditional"
[prime.eszet.variants.traditional-descending]
rank = 2
description = "Traditional, Fraktur-like Eszet (`ß`) with descending bar"
selector.eszet = "traditionalDescending"
[prime.eszet.variants.traditional-tailed]
rank = 3
description = "Traditional, Fraktur-like Eszet (`ß`) with descending tail"
selector.eszet = "traditionalTailed"
[prime.eszet.variants.traditional-flat-hook]
rank = 4
description = "Traditional, Fraktur-like Eszet (`ß`) with flat hook"
selector.eszet = "traditionalFlatHook"
[prime.eszet.variants.traditional-flat-hook-descending]
rank = 5
description = "Traditional, Fraktur-like Eszet (`ß`) with flat hook and descending bar"
selector.eszet = "traditionalFlatHookDescending"
[prime.eszet.variants.traditional-flat-hook-tailed]
rank = 6
description = "Traditional, Fraktur-like Eszet (`ß`) with flat hook and descending tail"
selector.eszet = "traditionalFlatHookTailed"
[prime.eszet.variants.sulzbacher]
rank = 7
description = "More modern, beta-like Eszet (`ß`)"
selector.eszet = "sulzbacher"
[prime.eszet.variants.sulzbacher-descending]
rank = 8
description = "More modern, beta-like Eszet (`ß`) with descending bar"
selector.eszet = "sulzbacherDescending"
[prime.eszet.variants.sulzbacher-tailed]
rank = 9
description = "More modern, beta-like Eszet (`ß`) with descending tail"
selector.eszet = "sulzbacherTailed"
[prime.eszet.variants.longs-s-lig]
rank = 10
description = "Eszet (`ß`) shown as a ligature of long-S (`ſ`) and `s`"
selector.eszet = "longSSLig"
[prime.eszet.variants.longs-s-lig-descending]
rank = 11
description = "Eszet (`ß`) shown as a ligature of long-S (`ſ`) and `s`, with descending bar"
selector.eszet = "longSSLigDescending"
[prime.eszet.variants.longs-s-lig-tailed]
rank = 12
description = "Eszet (`ß`) shown as a ligature of long-S (`ſ`) and `s`, with descending tail"
selector.eszet = "longSSLigTailed"
[prime.turn-v]
sampler = "ΛΔ"
samplerExplain = "Greek capital Lambda (`Λ`) and Greek capital Delta (`Δ`)"
tag = "cv53"
[prime.turn-v.variants.straight]
rank = 1
description = "Standard, straight Greek capital Lambda (`Λ`) and Greek capital Delta (`Δ`)"
selector."grek/Lambda" = "straight"
selector."grek/Delta" = "straight"
[prime.turn-v.variants.curly]
rank = 2
description = "Slightly curly Greek capital Lambda (`Λ`) and Greek capital Delta (`Δ`), like Iosevka 2.x"
selector."grek/Lambda" = "curly"
selector."grek/Delta" = "curly"
[prime.lower-alpha]
sampler = "α"
samplerExplain = "Greek lower Alpha"
tag = "cv54"
[prime.lower-alpha.variants.crossing]
rank = 1
description = "Greek lower Alpha (`α`) with a cross-like shape at right"
selector."grek/alpha" = "crossing"
[prime.lower-alpha.variants.tailed-barred]
rank = 2
description = "Greek lower Alpha (`α`) with a straight right bar and tail"
selector."grek/alpha" = "tailedBarred"
[prime.lower-delta]
sampler = "δ"
samplerExplain = "Greek lower Delta"
tag = "cv55"
[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.capital-gamma]
sampler = "Γ"
samplerExplain = "Greek capital Gamma"
tag = "cv56"
[prime.capital-gamma.variants.serifless]
rank = 1
description = "Standard capital Gamma (`Γ`) without serifs"
selector."grek/Gamma" = "serifless"
selector."grek/Gamma/sansSerif" = "serifless"
selector."cyrl/Ghe" = "serifless"
selector."cyrl/Ge" = "serifless"
selector."cyrl/ghe.upright" = "serifless"
selector."cyrl/ge.upright" = "serifless"
selector."cyrl/ge.italic" = "serifless"
[prime.capital-gamma.variants.top-right-serifed]
rank = 2
description = "Standard capital Gamma (`Γ`) with serifs at top right"
selector."grek/Gamma" = "topRightSerifed"
selector."grek/Gamma/sansSerif" = "serifless"
selector."cyrl/Ghe" = "topRightSerifed"
selector."cyrl/Ge" = "serifless"
selector."cyrl/ghe.upright" = "topRightSerifed"
selector."cyrl/ge.upright" = "serifless"
selector."cyrl/ge.italic" = "serifless"
[prime.capital-gamma.variants.serifed]
rank = 3
description = "Standard capital Gamma (`Γ`) with motion serifs at top and bottom"
selector."grek/Gamma" = "serifed"
selector."grek/Gamma/sansSerif" = "serifless"
selector."cyrl/Ghe" = "serifed"
selector."cyrl/Ge" = "serifed"
selector."cyrl/ghe.upright" = "serifed"
selector."cyrl/ge.upright" = "serifed"
selector."cyrl/ge.italic" = "topLeftSerifed"
[prime.lower-iota]
sampler = "ι"
samplerExplain = "Greek lower Iota"
tag = "cv57"
[prime.lower-iota.variants.zshaped]
rank = 1
description = "Z-shaped Greek lower Iota (`ι`)"
selector."grek/iota" = "zshaped"
[prime.lower-iota.variants.hooky-bottom]
rank = 2
description = "Greek lower Iota (`ι`) with a sharp-turning horizontal tail"
selector."grek/iota" = "hookyBottom"
[prime.lower-iota.variants.tailed]
rank = 3
description = "Greek lower Iota (`ι`) with curly tail"
selector."grek/iota" = "tailed"
[prime.lower-iota.variants.tailed-serifed]
rank = 4
description = "Greek lower Iota (`ι`) with top serif and curly tail"
selector."grek/iota" = "tailedSerifed"
[prime.lower-iota.variants.flat-tailed]
rank = 5
description = "Greek lower Iota (`ι`) with a curly-then-flat tail"
selector."grek/iota" = "flatTailed"
[prime.lower-iota.variants.serifed-flat-tailed]
rank = 6
description = "Greek lower Iota (`ι`) with top serif and a curly-then-flat tail"
selector."grek/iota" = "serifedFlatTailed"
[prime.lower-iota.variants.diagonal-tailed]
rank = 7
description = "Greek lower Iota (`ι`) with a diagonal tail"
selector."grek/iota" = "diagonalTailed"
[prime.lower-iota.variants.serifed-diagonal-tailed]
rank = 8
description = "Greek lower Iota (`ι`) with top serif and a diagonal tail"
selector."grek/iota" = "serifedDiagonalTailed"
[prime.lower-lambda]
sampler = "λ"
samplerExplain = "Greek small Lambda"
tag = "cv58"
[prime.lower-lambda.variants.straight]
rank = 1
description = "More-straight Greek small Lambda (`λ`)"
selector."grek/lambda" = "straightSerifless"
[prime.lower-lambda.variants.straight-turn]
rank = 2
description = "Greek small Lambda (`λ`) with straight upper and a tail turns leftward"
selector."grek/lambda" = "straightTurnSerifless"
[prime.lower-lambda.variants.curly]
rank = 3
description = "More curly Greek small Lambda (`λ`), like Iosevka 2.x"
selector."grek/lambda" = "curlySerifless"
[prime.lower-lambda.variants.curly-turn]
rank = 4
description = "More curly Greek small Lambda (`λ`), like Iosevka 2.x, with a tail turns leftward"
selector."grek/lambda" = "curlyTurnSerifless"
[prime.lower-mu]
sampler = "μ"
samplerExplain = "Greek small Mu"
tag = "cv59"
[prime.lower-mu.variants.tailless]
rank = 1
description = "Tailless Greek small Mu (`μ`)"
selector."grek/mu" = "tailless"
[prime.lower-mu.variants.tailed]
rank = 2
description = "Tailed Greek small Mu (`μ`)"
selector."grek/mu" = "tailed"
[prime.lower-mu.variants.toothless-corner]
rank = 3
description = "Toothless (corner) Greek small Mu (`μ`)"
selector."grek/mu" = "toothlessCorner"
[prime.lower-mu.variants.toothless-rounded]
rank = 4
description = "Toothless (rounded) Greek small Mu (`μ`)"
selector."grek/mu" = "toothlessRounded"
[prime.lower-xi]
sampler = "ξ"
samplerExplain = "Greek lower Xi"
tag = "cv60"
[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.cyrl-capital-zhe]
sampler = "Ж"
samplerExplain = "Cyrillic Capital Zhe"
tag = "cv61"
[prime.cyrl-capital-zhe.variants.straight]
rank = 1
description = "Cyrillic Capital Lower Zhe (`Ж`) with straight legs"
selector."cyrl/Zhe" = "straight"
[prime.cyrl-capital-zhe.variants.curly]
rank = 2
description = "Cyrillic Capital Lower Zhe (`Ж`) with curly legs"
selector."cyrl/Zhe" = "curly"
[prime.cyrl-capital-zhe.variants.symmetric-touching]
rank = 3
description = "Cyrillic Capital Lower Zhe (`Ж`) with symmetric legs touching the vertical bar"
selector."cyrl/Zhe" = "symmetricTouching"
[prime.cyrl-capital-zhe.variants.symmetric-connected]
rank = 4
description = "Cyrillic Capital Lower Zhe (`Ж`) with symmetric legs connected to the vertical bar"
selector."cyrl/Zhe" = "symmetricConnected"
[prime.cyrl-zhe]
sampler = "ж"
samplerExplain = "Cyrillic Zhe"
tag = "cv62"
[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-capital-ze]
sampler = "З"
samplerExplain = "Cyrillic Capital Ze"
tag = "cv63"
[prime.cyrl-capital-ze.variants.serifless]
rank = 1
description = "Serifless Cyrillic Capital Ze (`З`)"
selector."latn/Epsilon" = "serifless"
selector."cyrl/Ze" = "serifless"
selector."cyrl/Ksi" = "serifless"
[prime.cyrl-capital-ze.variants.unilateral-serifed]
rank = 2
description = "Cyrillic Capital Ze (`З`) with serif"
selector."latn/Epsilon" = "unilateralSerifed"
selector."cyrl/Ze" = "unilateralSerifed"
selector."cyrl/Ksi" = "unilateralSerifed"
[prime.cyrl-capital-ze.variants.bilateral-serifed]
rank = 3
description = "Cyrillic Capital Ze (`З`) with serif"
selector."latn/Epsilon" = "bilateralSerifed"
selector."cyrl/Ze" = "bilateralSerifed"
selector."cyrl/Ksi" = "unilateralSerifed"
[prime.cyrl-capital-ze.variants.unilateral-inward-serifed]
rank = 4
description = "Cyrillic Capital Ze (`З`) with inward serif"
selector."latn/Epsilon" = "unilateralInwardSerifed"
selector."cyrl/Ze" = "unilateralInwardSerifed"
selector."cyrl/Ksi" = "unilateralInwardSerifed"
[prime.cyrl-capital-ze.variants.bilateral-inward-serifed]
rank = 5
description = "Cyrillic Capital Ze (`З`) with inward serif"
selector."latn/Epsilon" = "bilateralInwardSerifed"
selector."cyrl/Ze" = "bilateralInwardSerifed"
selector."cyrl/Ksi" = "unilateralInwardSerifed"
[prime.cyrl-ze]
sampler = "з"
samplerExplain = "Cyrillic Lower Ze"
tag = "cv64"
[prime.cyrl-ze.variants.serifless]
rank = 1
description = "Serifless Cyrillic Lower Ze (`з`)"
selector."latn/epsilon" = "serifless"
selector."latn/epsilon/descBase" = "seriflessDesc"
selector."cyrl/ze" = "serifless"
selector."cyrl/ksi" = "serifless"
[prime.cyrl-ze.variants.unilateral-serifed]
rank = 2
description = "Cyrillic Lower Ze (`з`) with serif"
selector."latn/epsilon" = "unilateralSerifed"
selector."latn/epsilon/descBase" = "bilateralSerifed"
selector."cyrl/ze" = "unilateralSerifed"
selector."cyrl/ksi" = "unilateralSerifed"
[prime.cyrl-ze.variants.bilateral-serifed]
rank = 3
description = "Cyrillic Lower Ze (`з`) with serif"
selector."latn/epsilon" = "bilateralSerifed"
selector."latn/epsilon/descBase" = "bilateralSerifed"
selector."cyrl/ze" = "bilateralSerifed"
selector."cyrl/ksi" = "unilateralSerifed"
[prime.cyrl-ze.variants.unilateral-inward-serifed]
rank = 4
description = "Cyrillic Lower Ze (`з`) with inward serif"
selector."latn/epsilon" = "unilateralInwardSerifed"
selector."latn/epsilon/descBase" = "unilateralInwardSerifedDesc"
selector."cyrl/ze" = "unilateralInwardSerifed"
selector."cyrl/ksi" = "unilateralInwardSerifed"
[prime.cyrl-ze.variants.bilateral-inward-serifed]
rank = 5
description = "Cyrillic Lower Ze (`з`) with inward serif"
selector."latn/epsilon" = "bilateralInwardSerifed"
selector."latn/epsilon/descBase" = "unilateralInwardSerifedDesc"
selector."cyrl/ze" = "bilateralInwardSerifed"
selector."cyrl/ksi" = "unilateralInwardSerifed"
[prime.cyrl-capital-ka]
sampler = "К"
samplerExplain = "Cyrillic Capital Ka"
tag = "cv65"
[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"
[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"
[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"
[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"
[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"
[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"
[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" = "bottomRightSerifed"
selectorAffix."cyrl/KaVBar" = "bottomRightSerifed"
selectorAffix."cyrl/KaHook" = "serifless"
[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" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/KaVBar" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/KaHook" = "topLeftSerifed"
[prime.cyrl-capital-ka.variants-buildup.stages.serifs.serifed]
rank = 5
descriptionAffix = "serifs"
selectorAffix."cyrl/Ka" = "serifed"
selectorAffix."cyrl/KaDescender" = "serifed"
selectorAffix."cyrl/KaVBar" = "serifed"
selectorAffix."cyrl/KaHook" = "serifedKH"
[prime.cyrl-ka]
sampler = "к"
samplerExplain = "Cyrillic Ka"
tag = "cv66"
[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"
[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"
[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"
[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"
[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"
[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"
[prime.cyrl-ka.variants-buildup.stages.serifs.bottom-right-serifed]
rank = 3
descriptionAffix = "serifs at bottom right"
selectorAffix."cyrl/ka" = "bottomRightSerifed"
selectorAffix."cyrl/kaDescender" = "bottomRightSerifed"
selectorAffix."cyrl/kaVBar" = "bottomRightSerifed"
selectorAffix."cyrl/kaHook" = "serifless"
[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" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/kaVBar" = "topLeftAndBottomRightSerifed"
selectorAffix."cyrl/kaHook" = "topLeftSerifed"
[prime.cyrl-ka.variants-buildup.stages.serifs.serifed]
rank = 5
descriptionAffix = "serifs"
selectorAffix."cyrl/ka" = "serifed"
selectorAffix."cyrl/kaDescender" = "serifed"
selectorAffix."cyrl/kaVBar" = "serifed"
selectorAffix."cyrl/kaHook" = "serifedKH"
[prime.cyrl-el]
sampler = "л"
samplerExplain = "Cyrillic Lower El"
tag = "cv67"
[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-en]
sampler = "н"
samplerExplain = "Cyrillic Lower En"
tag = "cv68"
[prime.cyrl-en.variants.serifless]
rank = 1
description = "Cyrillic Lower En (`н`) with standard shape"
selector."cyrl/en" = "serifless"
selector."cyrl/en.BGR" = "serifless"
selector."cyrl/en/descenderBase" = "serifless"
selector."cyrl/nje/leftHalf" = "serifless"
selector."cyrl/nje/leftHalf/reduced" = "serifless"
[prime.cyrl-en.variants.tailed-serifless]
rank = 2
description = "Cyrillic Lower En (`н`) with tail"
selector."cyrl/en" = "tailed"
selector."cyrl/en.BGR" = "tailed"
selector."cyrl/en/descenderBase" = "serifless"
selector."cyrl/nje/leftHalf" = "serifless"
selector."cyrl/nje/leftHalf/reduced" = "serifless"
[prime.cyrl-en.variants.top-left-serifed]
rank = 3
description = "Cyrillic Lower En (`н`) with outward serifs only at top left"
selector."cyrl/en" = "topLeftSerifed"
selector."cyrl/en.BGR" = "topLeftSerifed"
selector."cyrl/en/descenderBase" = "topLeftSerifed"
selector."cyrl/nje/leftHalf" = "topLeftSerifed"
selector."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
[prime.cyrl-en.variants.tailed-top-left-serifed]
rank = 4
description = "Cyrillic Lower En (`н`) with tail and outward serifs only at top left"
selector."cyrl/en" = "tailedTopLeftSerifed"
selector."cyrl/en.BGR" = "tailedTopLeftSerifed"
selector."cyrl/en/descenderBase" = "topLeftSerifed"
selector."cyrl/nje/leftHalf" = "topLeftSerifed"
selector."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
[prime.cyrl-en.variants.top-left-bottom-right-serifed]
rank = 5
description = "Cyrillic Lower En (`н`) with outward serifs only at top left and bottom right"
selector."cyrl/en" = "topLeftBottomRightSerifed"
selector."cyrl/en.BGR" = "topLeftBottomRightSerifed"
selector."cyrl/en/descenderBase" = "topLeftSerifed"
selector."cyrl/nje/leftHalf" = "topLeftSerifed"
selector."cyrl/nje/leftHalf/reduced" = "topLeftSerifed"
[prime.cyrl-en.variants.serifed]
rank = 6
description = "Cyrillic Lower En (`н`) with full serifs"
selector."cyrl/en" = "serifed"
selector."cyrl/en.BGR" = "serifedBGR"
selector."cyrl/en/descenderBase" = "serifed"
selector."cyrl/nje/leftHalf" = "serifed"
selector."cyrl/nje/leftHalf/reduced" = "serifedExceptBottomRight"
[prime.cyrl-en.variants.tailed-serifed]
rank = 7
description = "Cyrillic Lower En (`н`) with tail and full serifs"
selector."cyrl/en" = "tailedSerifed"
selector."cyrl/en.BGR" = "tailedSerifedBGR"
selector."cyrl/en/descenderBase" = "serifed"
selector."cyrl/nje/leftHalf" = "serifed"
selector."cyrl/nje/leftHalf/reduced" = "serifedExceptBottomRight"
[prime.cyrl-ef]
sampler = "ф"
samplerExplain = "Cyrillic Lower Ef"
tag = "cv69"
[prime.cyrl-ef.variants.serifless]
rank = 1
description = "Cyrillic Lower Ef (`ф`) with standard shape and without serifs"
selector."cyrl/ef" = "serifless"
[prime.cyrl-ef.variants.cursive]
rank = 2
description = "Cyrillic Lower Ef (`ф`) with cursive shape"
selector."cyrl/ef" = "cursive"
[prime.cyrl-ef.variants.top-serifed]
rank = 3
description = "Cyrillic Lower Ef (`ф`) with standard shape and serif at top"
selector."cyrl/ef" = "topSerifed"
[prime.cyrl-ef.variants.serifed]
rank = 4
description = "Cyrillic Lower Ef (`ф`) with standard shape and serifs at top and bottom"
selector."cyrl/ef" = "serifed"
[prime.latn-phi]
# Untagged -- shape change only
[prime.latn-phi.variants.serifless]
rank = 1
selector."latn/phi" = "serifless"
[prime.latn-phi.variants.top-serifed]
rank = 2
selector."latn/phi" = "topSerifed"
[prime.latn-phi.variants.serifed]
rank = 3
selector."latn/phi" = "serifed"
[prime.cyrl-che]
sampler = "ч"
samplerExplain = "Cyrillic Lower Che"
tag = "cv70"
[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-u]
sampler = "У"
samplerExplain = "Cyrillic Capital U"
tag = "cv71"
[prime.cyrl-capital-u.variants.straight]
rank = 1
description = "Cyrillic capital U (`У`) that is fully straight"
selector."cyrl/U" = "straight"
[prime.cyrl-capital-u.variants.straight-turn]
rank = 2
description = "Cyrillic capital U (`У`) with straight upper and a tail turns leftward"
selector."cyrl/U" = "straightTurn"
[prime.cyrl-capital-u.variants.curly]
rank = 3
description = "More curly Cyrillic capital U (`У`), like Iosevka 2.x"
selector."cyrl/U" = "curly"
[prime.cyrl-capital-u.variants.curly-turn]
rank = 4
description = "More curly Cyrillic capital U (`У`), like Iosevka 2.x, with a tail turns leftward"
selector."cyrl/U" = "curlyTurn"
[prime.cyrl-capital-u.variants.cursive]
rank = 5
description = "Cursive-like Cyrillic capital U (`У`)"
selector."cyrl/U" = "cursive"
[prime.cyrl-capital-u.variants.cursive-flat-hook]
rank = 6
description = "Cursive-like Cyrillic capital U (`У`) with flat terminal hook"
selector."cyrl/U" = "cursiveFlatHook"
[prime.cyrl-capital-ya]
sampler = "Я"
samplerExplain = "Cyrillic Capital Ya"
tag = "cv72"
[prime.cyrl-capital-ya.variants.straight]
rank = 1
description = "Standard, straight-leg Cyrillic Capital Ya (`Я`)"
selector."cyrl/Ya" = "straight"
[prime.cyrl-capital-ya.variants.curly]
rank = 2
description = "Slightly curly-legged Cyrillic Capital Ya (`Я`), like Iosevka 2.x"
selector."cyrl/Ya" = "curly"
[prime.cyrl-capital-ya.variants.standing]
rank = 3
description = "Cyrillic Capital Ya (`Я`) with near-vertical standing leg"
selector."cyrl/Ya" = "standing"
[prime.cyrl-capital-ya.variants.straight-open]
rank = 4
description = "Standard, straight-leg Cyrillic Capital Ya (`Я`), with open contour at bottom"
selector."cyrl/Ya" = "straightOpen"
[prime.cyrl-capital-ya.variants.curly-open]
rank = 5
description = " Slightly curly-legged Cyrillic Capital Ya (`Я`), like Iosevka 2.x, with open contour at bottom"
selector."cyrl/Ya" = "curlyOpen"
[prime.cyrl-capital-ya.variants.standing-open]
rank = 6
description = "Cyrillic Capital Ya (`Я`) with near-vertical standing leg, with open contour at bottom"
selector."cyrl/Ya" = "standingOpen"
[prime.cyrl-ya]
sampler = "я"
samplerExplain = "Cyrillic Lower Ya"
tag = "cv73"
[prime.cyrl-ya.variants.straight]
rank = 1
description = "Standard, straight-leg Cyrillic Lower Ya (`я`)"
selector."cyrl/ya" = "straightSmallCyrl"
[prime.cyrl-ya.variants.straight-tailed]
rank = 2
description = "Standard, straight-leg Cyrillic Lower Ya (`я`), with tail"
selector."cyrl/ya" = "straightTailed"
[prime.cyrl-ya.variants.curly]
rank = 3
description = "Slightly curly-legged Cyrillic Lower Ya (`я`), like Iosevka 2.x"
selector."cyrl/ya" = "curlySmallCyrl"
[prime.cyrl-ya.variants.curly-tailed]
rank = 4
description = " Slightly curly-legged Cyrillic Lower Ya (`я`), like Iosevka 2.x, with tail"
selector."cyrl/ya" = "curlyTailed"
[prime.cyrl-ya.variants.standing]
rank = 5
description = "Cyrillic Lower Ya (`я`) with near-vertical standing leg"
selector."cyrl/ya" = "standingSmallCyrl"
[prime.cyrl-ya.variants.standing-tailed]
rank = 6
description = "Cyrillic Lower Ya (`я`) with near-vertical standing leg"
selector."cyrl/ya" = "standingTailed"
[prime.cyrl-ya.variants.straight-open]
rank = 7
description = "Standard, straight-leg Cyrillic Lower Ya (`я`), with open contour at bottom"
selector."cyrl/ya" = "straightOpenSmallCyrl"
[prime.cyrl-ya.variants.straight-open-tailed]
rank = 8
description = "Standard, straight-leg Cyrillic Lower Ya (`я`), with open contour at bottom and tail"
selector."cyrl/ya" = "straightOpenTailed"
[prime.cyrl-ya.variants.curly-open]
rank = 9
description = " Slightly curly-legged Cyrillic Lower Ya (`я`), like Iosevka 2.x, with open contour at bottom"
selector."cyrl/ya" = "curlyOpenSmallCyrl"
[prime.cyrl-ya.variants.curly-open-tailed]
rank = 10
description = " Slightly curly-legged Cyrillic Lower Ya (`я`), like Iosevka 2.x, with open contour at bottom and tail"
selector."cyrl/ya" = "curlyOpenTailed"
[prime.cyrl-ya.variants.standing-open]
rank = 11
description = "Cyrillic Lower Ya (`я`) with near-vertical standing leg, with open contour at bottom"
selector."cyrl/ya" = "standingOpenSmallCyrl"
[prime.cyrl-ya.variants.standing-open-tailed]
rank = 12
description = "Cyrillic Lower Ya (`я`) with near-vertical standing leg, with open contour at bottom and tail"
selector."cyrl/ya" = "standingOpenTailed"
[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/YeriBar" = "corner"
selector."cyrl/Yery" = "corner"
selector."cyrl/Nje/rightHalf" = "corner"
selector."cyrl/Lje" = "corner"
[prime.cyrl-capital-yeri.variants.round]
rank = 2
selector."cyrl/Yer" = "round"
selector."cyrl/Yeri" = "round"
selector."cyrl/YeriBar" = "round"
selector."cyrl/Yery" = "round"
selector."cyrl/Nje/rightHalf" = "round"
selector."cyrl/Lje" = "round"
[prime.cyrl-capital-yeri.variants.cursive]
rank = 3
selector."cyrl/Yer" = "cursive"
selector."cyrl/Yeri" = "cursive"
selector."cyrl/YeriBar" = "cursive"
selector."cyrl/Yery" = "cursive"
selector."cyrl/Nje/rightHalf" = "cursive"
selector."cyrl/Lje" = "cursive"
[prime.cyrl-yeri]
sampler = "ь"
samplerExplain = "Cyrillic Lower Yeri and related letters"
tag = "cv74"
[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/yeriBar" = "corner"
selector."cyrl/nje/rightHalf" = "corner"
selector."cyrl/lje" = "corner"
selector."latn/yatSakha.upright" = "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/yeriBar" = "round"
selector."cyrl/nje/rightHalf" = "round"
selector."cyrl/lje" = "round"
selector."latn/yatSakha.upright" = "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/yeriBar" = "cursive"
selector."cyrl/nje/rightHalf" = "cursive"
selector."cyrl/lje" = "cursive"
selector."latn/yatSakha.upright" = "cursive"
[prime.cyrl-yery]
sampler = "ы"
samplerExplain = "Cyrillic Lower Yery"
tag = "cv75"
[prime.cyrl-yery.variants.corner]
rank = 1
description = "Cyrillic Lower Yery (`ы`) with corner at bottom left"
selector."cyrl/yery" = "corner"
[prime.cyrl-yery.variants.corner-tailed]
rank = 2
description = "Cyrillic Lower Yery (`ы`) with corner at bottom left and tail"
selector."cyrl/yery" = "cornerTailed"
[prime.cyrl-yery.variants.round]
rank = 3
description = "Cyrillic Lower Yery (`ы`) with rounded shape"
selector."cyrl/yery" = "round"
[prime.cyrl-yery.variants.round-tailed]
rank = 4
description = "Cyrillic Lower Yery (`ы`) with rounded shape and tail"
selector."cyrl/yery" = "roundTailed"
[prime.cyrl-yery.variants.cursive]
rank = 5
description = "Cyrillic Lower Yery (`ы`) with cursive shape"
selector."cyrl/yery" = "cursive"
[prime.cyrl-yery.variants.cursive-tailed]
rank = 6
description = "Cyrillic Lower Yery (`ы`) with cursive shape and tail"
selector."cyrl/yery" = "cursiveTailed"
[prime.zero]
sampler = "0"
tag = "cv76"
[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 shape"
selectorAffix.zero = ""
selectorAffix."zero/forceSlashed" = ""
selectorAffix."zero/forceUnslashed" = ""
[prime.zero.variants-buildup.stages.body.oval]
rank = 2
keyAffix = "oval"
descriptionAffix = "standard shape"
selectorAffix.zero = "oval"
selectorAffix."zero/forceSlashed" = "oval"
selectorAffix."zero/forceUnslashed" = "oval"
[prime.zero.variants-buildup.stages.overlays.unslashed]
rank = 1
description = "slash"
descriptionJoiner = "without"
selectorAffix.zero = "unslashed"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.zero.variants-buildup.stages.overlays.slashed]
rank = 2
description = "slash"
selectorAffix.zero = "slashed"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.zero.variants-buildup.stages.overlays.reverse-slashed]
rank = 3
description = "revese slash"
selectorAffix.zero = "reverseSlashed"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.zero.variants-buildup.stages.overlays.tall-slashed]
rank = 4
description = "tall slash"
selectorAffix.zero = "tallSlashed"
selectorAffix."zero/forceSlashed" = "tallSlashed"
selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.zero.variants-buildup.stages.overlays.tall-reverse-slashed]
rank = 5
description = "tall reverse slash"
selectorAffix.zero = "tallReverseSlashed"
selectorAffix."zero/forceSlashed" = "tallSlashed"
selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.zero.variants-buildup.stages.overlays.dotted]
rank = 6
description = "center dot"
selectorAffix.zero = "dotted"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.zero.variants-buildup.stages.overlays.long-dotted]
rank = 7
description = "long center dot"
selectorAffix.zero = "longDotted"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.zero.variants-buildup.stages.overlays.slashed-split]
rank = 8
description = "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
description = "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
description = "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
description = "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
description = "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
description = "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
description = "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
description = "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
description = "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
description = "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
description = "the top-right bit cutout"
selectorAffix.zero = "topRightCutout"
selectorAffix."zero/forceSlashed" = "slashed"
selectorAffix."zero/forceUnslashed" = "unslashed"
[prime.one]
sampler = "1"
tag = "cv77"
[prime.one.variants.line]
rank = 1
description = "`1` drawn just like a straight line"
selector.one = "line"
[prime.one.variants.no-base]
rank = 2
description = "`1` without bottom serif"
selector.one = "noBase"
[prime.one.variants.base]
rank = 3
description = "`1` with bottom serif"
selector.one = "base"
[prime.one.variants.no-base-long-top-serif]
rank = 4
description = "`1` without bottom serif and with a long top serif"
selector.one = "noBaseLongTopSerif"
[prime.one.variants.base-long-top-serif]
rank = 5
description = "`1` with bottom serif and a long top serif"
selector.one = "baseLongTopSerif"
[prime.one.variants.no-base-flat-top-serif]
rank = 6
description = "`1` without bottom serif and with a flat top serif"
selector.one = "noBaseFlatTopSerif"
[prime.one.variants.base-flat-top-serif]
rank = 7
description = "`1` with bottom serif and a flat top serif"
selector.one = "baseFlatTopSerif"
[prime.one.variants.no-base-top-cut]
rank = 8
description = "`1` without bottom serif and with a diagonal cut at top"
selector.one = "noBaseTopCut"
[prime.one.variants.base-top-cut]
rank = 9
description = "`1` with bottom serif and a diagonal cut at top"
selector.one = "baseTopCut"
[prime.two]
sampler = "2"
tag = "cv78"
[prime.two.variants.straight-neck]
rank = 1
description = "`2` with straight neck"
selector.two = "straightNeck"
[prime.two.variants.curly-neck]
rank = 2
description = "`2` with curly neck"
selector.two = "curlyNeck"
[prime.three]
sampler = "3"
tag = "cv79"
[prime.three.variants.flat-top]
rank = 1
description = "Flat top `3` (Like Museo Sans / Montserrat)"
selector.three = "flatTop"
[prime.three.variants.two-arcs]
rank = 2
description = "Arched top `3`"
selector.three = "twoArcs"
[prime.four]
sampler = "4"
tag = "cv80"
[prime.four.variants.closed]
rank = 1
description = "`4` with closed contour"
selector.four = "closed"
[prime.four.variants.closed-non-crossing]
rank = 2
description = "`4` with closed contour but the horizontal bar does not overflow the vertical bar"
selector.four = "closedNonCrossing"
[prime.four.variants.semi-open]
rank = 3
description = "`4` with semi-open contour"
selector.four = "semiOpen"
[prime.four.variants.semi-open-non-crossing]
rank = 4
description = "`4` with semi-open contour but the horizontal bar does not overflow the vertical bar"
selector.four = "semiOpenNonCrossing"
[prime.four.variants.open]
rank = 5
description = "`4` with open contour"
selector.four = "open"
[prime.four.variants.open-non-crossing]
rank = 6
description = "`4` with open contour but the horizontal bar does not overflow the vertical bar"
selector.four = "openNonCrossing"
[prime.five]
sampler = "5"
tag = "cv81"
[prime.five.variants.vertical-upper-left-bar]
rank = 1
description = "`5` with a vertical upper-left bar"
selector.five = "verticalUpperLeftBar"
[prime.five.variants.oblique-upper-left-bar]
rank = 2
description = "`5` with an oblique upper-left bar"
selector.five = "obliqueUpperLeftBar"
[prime.six]
sampler = "6"
tag = "cv82"
[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"
tag = "cv83"
[prime.seven.variants.straight-serifless]
rank = 1
description = "`7` with straight stem and without serif"
selector.seven = "straightSerfless"
[prime.seven.variants.straight-serifed]
rank = 2
description = "`7` with straight stem and initial serif"
selector.seven = "straightSerifed"
[prime.seven.variants.bend-serifless]
rank = 3
description = "`7` with bend stem and without serif"
selector.seven = "bendSerfless"
[prime.seven.variants.bend-serifed]
rank = 4
description = "`7` with bend stem and initial serif"
selector.seven = "bendSerifed"
[prime.seven.variants.curly-serifless]
rank = 5
description = "`7` with curly stem and without serif"
selector.seven = "curlySerfless"
[prime.seven.variants.curly-serifed]
rank = 6
description = "`7` with curly stem and initial serif"
selector.seven = "curlySerifed"
[prime.seven.variants.straight-crossbar]
rank = 7
description = "`7` with straight stem and crossbar"
selector.seven = "straightCrossbar"
[prime.seven.variants.straight-crossbar-serifed]
rank = 8
description = "`7` with straight stem, crossbar and initial serif"
selector.seven = "straightCrossbarSerifed"
[prime.seven.variants.bend-crossbar]
rank = 9
description = "`7` with bend stem and crossbar"
selector.seven = "bendCrossbar"
[prime.seven.variants.bend-crossbar-serifed]
rank = 10
description = "`7` with bend stem, crossbar and initial serif"
selector.seven = "bendCrossbarSerifed"
[prime.seven.variants.curly-crossbar]
rank = 11
description = "`7` with curly stem and crossbar"
selector.seven = "curlyCrossbar"
[prime.seven.variants.curly-crossbar-serifed]
rank = 12
description = "`7` with curly stem, crossbar and initial serif"
selector.seven = "curlyCrossbarSerifed"
[prime.eight]
sampler = "8"
tag = "cv84"
[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"
tag = "cv85"
[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.diacritic-dot]
sampler = "öẋ ij"
hotChars = "ijäöü"
samplerExplain = "Dot and Comma shape in diacritics"
tag = "cv86"
[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"
tag = "cv87"
[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.tilde]
sampler = "~"
tag = "cv88"
[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 = "*"
tag = "cv89"
[prime.asterisk.variants.penta-high]
rank = 1
description = "High five-pointed asterisk `*`"
selector.asterisk = "pentaHigh"
selector.flower = "high"
selector."asterisk/slashTop" = "pentaST"
selector."asterisk/sMid" = "pentaSMid"
selector."asterisk/slashBot" = "pentaSB"
[prime.asterisk.variants.penta-mid]
rank = 2
description = "Medium-height five-pointed asterisk `*`"
selector.asterisk = "pentaST"
selector.flower = "ST"
selector."asterisk/slashTop" = "pentaST"
selector."asterisk/sMid" = "pentaSMid"
selector."asterisk/slashBot" = "pentaSB"
[prime.asterisk.variants.penta-low]
rank = 3
description = "Low five-pointed asterisk `*`"
selector.asterisk = "pentaSMid"
selector.flower = "sMid"
selector."asterisk/slashTop" = "pentaST"
selector."asterisk/sMid" = "pentaSMid"
selector."asterisk/slashBot" = "pentaSB"
[prime.asterisk.variants.flip-penta-high]
rank = 4
description = "High five-pointed and turned asterisk `*`"
selector.asterisk = "turnPentaHigh"
selector.flower = "high"
selector."asterisk/slashTop" = "turnPentaST"
selector."asterisk/sMid" = "turnPentaSMid"
selector."asterisk/slashBot" = "turnPentaSB"
[prime.asterisk.variants.flip-penta-mid]
rank = 5
description = "Medium-height five-pointed and turned asterisk `*`"
selector.asterisk = "turnPentaST"
selector.flower = "ST"
selector."asterisk/slashTop" = "turnPentaST"
selector."asterisk/sMid" = "turnPentaSMid"
selector."asterisk/slashBot" = "turnPentaSB"
[prime.asterisk.variants.flip-penta-low]
rank = 6
description = "Low five-pointed and turned asterisk `*`"
selector.asterisk = "turnPentaSMid"
selector.flower = "sMid"
selector."asterisk/slashTop" = "turnPentaST"
selector."asterisk/sMid" = "turnPentaSMid"
selector."asterisk/slashBot" = "turnPentaSB"
[prime.asterisk.variants.hex-high]
rank = 7
description = "High six-pointed asterisk `*`"
selector.asterisk = "hexHigh"
selector.flower = "high"
selector."asterisk/slashTop" = "hexST"
selector."asterisk/sMid" = "hexSMid"
selector."asterisk/slashBot" = "hexSB"
[prime.asterisk.variants.hex-mid]
rank = 8
description = "Medium-height six-pointed asterisk `*`"
selector.asterisk = "hexST"
selector.flower = "ST"
selector."asterisk/slashTop" = "hexST"
selector."asterisk/sMid" = "hexSMid"
selector."asterisk/slashBot" = "hexSB"
[prime.asterisk.variants.hex-low]
rank = 9
description = "Low six-pointed asterisk `*`"
selector.asterisk = "hexSMid"
selector.flower = "sMid"
selector."asterisk/slashTop" = "hexST"
selector."asterisk/sMid" = "hexSMid"
selector."asterisk/slashBot" = "hexSB"
[prime.asterisk.variants.turn-hex-high]
rank = 10
description = "High turned six-pointed asterisk `*`"
selector.asterisk = "turnHexHigh"
selector.flower = "high"
selector."asterisk/slashTop" = "turnHexST"
selector."asterisk/sMid" = "turnHexSMid"
selector."asterisk/slashBot" = "turnHexSB"
[prime.asterisk.variants.turn-hex-mid]
rank = 11
description = "Medium-height turned six-pointed asterisk `*`"
selector.asterisk = "turnHexST"
selector.flower = "ST"
selector."asterisk/slashTop" = "turnHexST"
selector."asterisk/sMid" = "turnHexSMid"
selector."asterisk/slashBot" = "turnHexSB"
[prime.asterisk.variants.turn-hex-low]
rank = 12
description = "Low turned six-pointed asterisk `*`"
selector.asterisk = "turnHexSMid"
selector.flower = "sMid"
selector."asterisk/slashTop" = "turnHexST"
selector."asterisk/sMid" = "turnHexSMid"
selector."asterisk/slashBot" = "turnHexSB"
[prime.underscore]
sampler = "_"
tag = "cv90"
[prime.underscore.variants.above-baseline]
rank = 1
description = "Extra-high `_`, placed right below 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 = "^"
tag = "cv91"
[prime.caret.variants.high]
rank = 1
description = "Higher circumflex `^`"
selector.asciiCaret = "high"
[prime.caret.variants.medium]
rank = 2
description = "Lower circumflex `^`"
selector.asciiCaret = "medium"
[prime.caret.variants.low]
rank = 3
description = "Lower circumflex `^`"
selector.asciiCaret = "low"
[prime.paren]
sampler = "( )"
tag = "cv92"
[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 = "{ }"
tag = "cv93"
[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.number-sign]
sampler = "#"
tag = "cv94"
[prime.number-sign.variants.upright]
rank = 1
description = "Number sign with vertical bars"
selector.numberSign = "upright"
[prime.number-sign.variants.slanted]
rank = 2
description = "Number sign with slanted bars"
selector.numberSign = "slanted"
[prime.number-sign.variants.upright-open]
rank = 3
description = "Number sign with vertical bars and open inner"
selector.numberSign = "uprightOpen"
[prime.number-sign.variants.slanted-open]
rank = 4
description = "Number sign with slanted bars and open inner"
selector.numberSign = "slantedOpen"
[prime.number-sign.variants.upright-tall]
rank = 5
description = "Number sign with vertical bars and taller than digits"
selector.numberSign = "uprightTall"
[prime.number-sign.variants.slanted-tall]
rank = 6
description = "Number sign with slanted bars and taller than digits"
selector.numberSign = "slantedTall"
[prime.number-sign.variants.upright-open-tall]
rank = 7
description = "Number sign with vertical bars, open inner, and taller than digits"
selector.numberSign = "uprightOpenTall"
[prime.number-sign.variants.slanted-open-tall]
rank = 8
description = "Number sign with slanted bars, open inner, and taller than digits"
selector.numberSign = "slantedOpenTall"
[prime.ampersand]
sampler = "&"
tag = "cv95"
[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 = "@"
tag = "cv96"
[prime.at.variants.threefold]
rank = 1
description = "The three-fold At symbol (`@`)"
selector.at = "threefold"
[prime.at.variants.fourfold]
rank = 2
description = "The traditional, four-fold At symbol (`@`)"
selector.at = "fourfold"
[prime.at.variants.fourfold-solid-inner]
rank = 3
description = "The four-fold At symbol (`@`) with inner loop being solid"
selector.at = "fourfoldSolidInner"
[prime.at.variants.threefold-tall]
rank = 4
description = "The three-fold At symbol (`@`) with taller outline"
selector.at = "threefoldTall"
[prime.at.variants.fourfold-tall]
rank = 5
description = "The traditional, four-fold At symbol (`@`) with taller outline"
selector.at = "fourfoldTall"
[prime.at.variants.fourfold-solid-inner-tall]
rank = 6
description = "The four-fold At symbol (`@`) with inner loop being solid and taller outline"
selector.at = "fourfoldSolidInnerTall"
[prime.at.variants.short]
rank = 7
description = "The shorter, Fira-like At symbol (`@`)"
selector.at = "short"
[prime.dollar]
sampler = "$"
tag = "cv97"
[prime.dollar.variants.open]
rank = 1
description = "Dollar symbol with open contour"
selector.dollar = "open"
[prime.dollar.variants.through]
rank = 2
description = "Dollar symbol with strike-through vertical bar"
selector.dollar = "through"
[prime.dollar.variants.interrupted]
rank = 3
description = "Dollar symbol with strike-through vertical bar"
selector.dollar = "interrupted"
[prime.dollar.variants.open-cap]
rank = 4
description = "Dollar symbol with open contour, not exceeding baseline and ascender"
selector.dollar = "openCap"
[prime.dollar.variants.through-cap]
rank = 5
description = "Dollar symbol with strike-through vertical bar, not exceeding baseline and ascender"
selector.dollar = "throughCap"
[prime.dollar.variants.interrupted-cap]
rank = 6
description = "Dollar symbol with strike-through vertical bar, not exceeding baseline and ascender"
selector.dollar = "interruptedCap"
[prime.percent]
sampler = "%"
tag = "cv98"
[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 = "| ¦"
tag = "cv99"
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.ascii-single-quote]
sampler = "'"
tag = "VXSA"
[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.ascii-grave]
sampler = "`"
tag = "VXSB"
[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.question]
sampler = "?"
tag = "VXSC"
[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 = "¶"
tag = "VXSD"
[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.cent]
sampler = "¢"
tag = "VXSE"
[prime.cent.variants.open]
rank = 1
description = "Cent sign (`¢`) with open contour"
selector.cent = "open"
[prime.cent.variants.through]
rank = 2
description = "Cent sign (`¢`) with vertical bar all through the `c` part"
selector.cent = "through"
[prime.cent.variants.bar-interrupted]
rank = 3
description = "Cent sign (`¢`) with vertical bar breaks at center"
selector.cent = "barInterrupted"
[prime.partial-derivative]
sampler = "∂ ð"
samplerExplain = "Partial derivative symbol and Lowercase Eth"
tag = "VXSF"
[prime.partial-derivative.variants.straight-bar]
rank = 1
description = "The upper bar of the partial derivative symbol is straight"
selector."eth" = "straight-bar"
selector."partial" = "straight-bar"
[prime.partial-derivative.variants.curly-bar]
rank = 2
description = "The upper bar of the partial derivative symbol is curly"
selector."eth" = "curly-bar"
selector."partial" = "curly-bar"
[prime.micro-sign]
sampler = "µ"
samplerExplain = "Micro sign"
tag = "VXSG"
[prime.micro-sign.variants.tailless]
rank = 1
description = "Tailless Micro sign (`µ`)"
selector."micro" = "tailless"
[prime.micro-sign.variants.tailed]
rank = 2
description = "Tailed Micro sign (`µ`)"
selector."micro" = "tailed"
[prime.micro-sign.variants.toothless-corner]
rank = 3
description = "Toothless (corner) Micro sign (`µ`)"
selector."micro" = "toothlessCorner"
[prime.micro-sign.variants.toothless-rounded]
rank = 4
description = "Toothless (rounded) Micro sign (`µ`)"
selector."micro" = "toothlessRounded"
[prime.lig-ltgteq]
sampler = "<= >="
samplerExplain = "Less-equal and Greater-equal ligations"
tag = "VXLA"
[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"
tag = "VXLB"
[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"
tag = "VXLC"
[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"
tag = "VXLD"
[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-double-arrow-bar]
sampler = "=> "
samplerExplain = "Double arrow ligation"
tag = "VXLE"
[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"
tag = "VXLF"
[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
b = "toothed-serifless"
c = "serifless"
g = "single-storey-serifless"
p = "eared-serifless"
q = "straight-serifless"
r = "serifless"
s = "serifless"
t = "standard"
v = "straight-serifless"
w = "straight-serifless"
x = "straight-serifless"
z = "straight-serifless"
# Non-latin
long-s = "bent-hook-serifless"
turn-v = "straight"
latn-phi = "serifless"
lower-alpha = "crossing"
lower-delta = "rounded"
capital-gamma = "serifless"
lower-mu = "tailed"
lower-iota = "serifed-flat-tailed"
lower-lambda = "straight"
lower-xi = "flat-top"
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-en = "serifless"
cyrl-che = "standard"
cyrl-capital-u = "straight"
cyrl-capital-ya = "straight"
cyrl-ya = "straight"
cyrl-ef = "serifless"
cyrl-capital-yeri = "corner"
cyrl-yeri = "corner"
cyrl-yery = "corner"
# Digits
zero = "slashed"
two = "curly-neck"
one = "no-base"
three = "two-arcs"
four = "semi-open"
five = "vertical-upper-left-bar"
six = "straight-bar"
seven = "straight-serifless"
eight = "crossing"
nine = "straight-bar"
# Symbols
tilde = "low"
asterisk = "penta-high"
pilcrow = "high"
caret = "medium"
underscore = "high"
at = "threefold"
paren = "normal"
brace = "curly"
dollar = "through"
cent = "through"
number-sign = "upright"
percent = "rings-segmented-slash"
lig-ltgteq = "flat"
ampersand = "closed"
bar = "natural-slope"
ascii-single-quote = "straight"
ascii-grave = "straight"
question = "smooth"
punctuation-dot = "round"
diacritic-dot = "round"
partial-derivative = "straight-bar"
micro-sign = "tailless"
lig-neq = "slightly-slanted"
lig-equal-chain = "with-notch"
lig-hyphen-chain = "with-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.upright-oblique]
a = "double-storey-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless"
i = "serifed"
j = "serifed"
k = "straight-serifless"
l = "serifed"
u = "toothed-serifless"
y = "straight-serifless"
eszet = "sulzbacher"
[default.italic]
a = "single-storey-tailed"
d = "tailed-serifless"
e = "rounded"
f = "flat-hook-tailed"
i = "tailed-serifed"
j = "serifed"
k = "cursive-serifless"
l = "tailed-serifed"
u = "tailed-serifless"
y = "cursive-serifless"
eszet = "sulzbacher-tailed"
long-s = "flat-hook-tailed"
cyrl-ef = "cursive"
cyrl-yeri = "round"
cyrl-yery = "round"
###################################################################################################
[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"
g = "single-storey-serifed"
p = "eared-serifed"
q = "straight-serifed"
s = "bilateral-serifed"
v = "straight-serifed"
w = "straight-serifed"
x = "straight-serifed"
z = "straight-serifed"
one = "base"
seven = "straight-serifed"
latn-phi = "serifed"
long-s = "bent-hook-bottom-serifed"
capital-gamma = "serifed"
cyrl-capital-ze = "unilateral-serifed"
cyrl-ze = "unilateral-serifed"
cyrl-en = "serifed"
cyrl-ef = "serifed"
cyrl-capital-ka = "symmetric-connected-serifed"
cyrl-ka = "symmetric-connected-serifed"
cyrl-capital-u = "straight-turn"
[composite.slab.upright-oblique]
d = "toothed-serifed"
f = "serifed"
h = "straight-serifed"
k = "straight-serifed"
m = "serifed"
n = "straight-serifed"
r = "serifed"
u = "toothed-serifed"
y = "straight-turn-serifed"
lower-lambda = "straight-turn"
[composite.slab.italic]
a = "single-storey-tailed"
d = "tailed-serifed"
c = "unilateral-inward-serifed"
f = "flat-hook-tailed"
h = "straight-motion-serifed"
k = "diagonal-tailed-cursive-top-left-serifed"
m = "top-left-and-bottom-right-serifed"
n = "straight-motion-serifed"
r = "top-serifed"
s = "bilateral-inward-serifed"
u = "tailed-serifed"
v = "straight-motion-serifed"
w = "straight-motion-serifed"
x = "cursive"
y = "cursive-motion-serifed"
z = "cursive"
latn-phi = "serifed"
long-s = "flat-hook-tailed"
cyrl-en = "top-left-bottom-right-serifed"
cyrl-ef = "cursive"
cyrl-ka = "symmetric-connected-top-left-serifed"
cyrl-yeri = "cursive"
cyrl-yery = "cursive"
[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-k = "straight-serifless"
a = "double-storey-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "flat-hook"
g = "double-storey"
i = "hooky"
j = "serifed"
k = "straight-serifless"
l = "zshaped"
y = "straight-turn-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig"
lower-lambda = "straight-turn"
lower-iota = "flat-tailed"
cyrl-capital-ka = "straight-serifless"
cyrl-ka = "straight-serifless"
cyrl-capital-u = "straight-turn"
zero = "dotted"
one = "base"
two = "straight-neck"
four = "closed"
six = "closed-contour"
seven = "straight-serifless"
eight = "two-circles"
nine = "closed-contour"
asterisk = "hex-mid"
underscore = "low"
pilcrow = "low"
brace = "straight"
number-sign = "slanted"
at = "fourfold"
percent = "rings-continuous-slash"
[composite.ss01.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-k = "straight-serifed"
capital-g = "toothless-corner-serifed-hooked"
a = "double-storey-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed"
k = "straight-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
cyrl-capital-ka = "straight-serifed"
cyrl-ka = "straight-serifed"
seven = "straight-serifed"
[composite.ss02]
tag = "ss02"
description = "Anonymous Pro Style"
[composite.ss02.design]
capital-c = "unilateral-serifed"
capital-g = "toothless-rounded-serifed-hooked"
capital-i = "short-serifed"
capital-j = "serifless"
capital-k = "straight-serifless"
capital-s = "bilateral-serifed"
capital-t = "serifed"
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"
i = "serifed"
j = "serifed"
k = "straight-serifless"
l = "serifed"
r = "serifed"
w = "straight-flat-top-serifless"
x = "straight-serifed"
y = "straight-turn-serifless"
z = "straight-serifed"
long-s = "flat-hook-double-serifed"
eszet = "longs-s-lig"
lower-lambda = "straight-turn"
cyrl-capital-ze = "unilateral-serifed"
cyrl-capital-ka = "straight-serifless"
cyrl-ka = "straight-serifless"
cyrl-capital-u = "straight-turn"
one = "base"
two = "straight-neck"
four = "closed"
six = "closed-contour"
seven = "bend-serifed"
eight = "two-circles"
nine = "closed-contour"
asterisk = "hex-low"
brace = "straight"
at = "fourfold"
percent = "rings-continuous-slash"
punctuation-dot = "square"
diacritic-dot = "square"
[composite.ss02.slab-override.design]
capital-k = "straight-serifed"
a = "double-storey-serifed"
k = "straight-serifed"
w = "straight-flat-top-serifed"
y = "straight-turn-serifed"
cyrl-capital-ka = "straight-serifed"
cyrl-ka = "straight-serifed"
[composite.ss03]
tag = "ss03"
description = "Consolas Style"
[composite.ss03.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-k = "symmetric-touching-serifless"
capital-m = "slanted-sides-hanging-serifless"
a = "double-storey-serifless"
b = "toothless-corner-serifless"
d = "toothed-serifless"
f = "flat-hook"
g = "double-storey"
i = "serifed"
j = "serifed"
k = "symmetric-touching-serifless"
l = "serifed"
y = "straight-turn-serifless"
eszet = "longs-s-lig"
long-s = "flat-hook-serifless"
lower-alpha = "tailed-barred"
lower-lambda = "straight-turn"
cyrl-capital-ka = "symmetric-touching-serifless"
cyrl-ka = "symmetric-touching-serifless"
cyrl-capital-u = "straight-turn"
one = "base"
two = "straight-neck"
four = "closed"
six = "closed-contour"
eight = "crossing"
nine = "closed-contour"
asterisk = "hex-mid"
underscore = "low"
brace = "straight"
number-sign = "slanted"
at = "fourfold"
question = "corner-flat-hooked"
[composite.ss03.italic]
a = "single-storey-serifless"
f = "flat-hook-tailed"
g = "single-storey-serifless"
i = "tailed-serifed"
k = "cursive-serifless"
l = "tailed"
eszet = "longs-s-lig-descending"
long-s = "flat-hook-descending"
lower-iota = "tailed-serifed"
[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"
a = "double-storey-serifed"
b = "toothless-corner-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed"
k = "symmetric-touching-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
cyrl-capital-ka = "symmetric-touching-serifed"
cyrl-ka = "symmetric-touching-serifed"
[composite.ss03.slab-override.italic]
a = "single-storey-serifed"
f = "flat-hook-tailed"
g = "single-storey-serifed"
k = "cursive-serifed"
[composite.ss04]
tag = "ss04"
description = "Menlo Style"
[composite.ss04.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-k = "straight-serifless"
capital-q = "straight"
a = "double-storey-serifless"
d = "toothed-serifless"
f = "flat-hook"
i = "serifed"
j = "flat-hook-serifed"
k = "straight-serifless"
l = "serifed-flat-tailed"
t = "flat-hook"
y = "straight-turn-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig"
lower-lambda = "straight-turn"
cyrl-capital-ka = "straight-serifless"
cyrl-ka = "straight-serifless"
cyrl-capital-u = "straight-turn"
one = "base"
two = "straight-neck"
four = "closed"
six = "closed-contour"
eight = "two-circles"
nine = "closed-contour"
asterisk = "hex-low"
underscore = "low"
brace = "straight"
number-sign = "slanted"
ampersand = "upper-open"
percent = "rings-continuous-slash"
bar = "force-upright"
punctuation-dot = "square"
diacritic-dot = "square"
[composite.ss04.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-k = "straight-serifed"
a = "double-storey-serifed"
d = "toothed-serifed"
f = "flat-hook-serifed"
k = "straight-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
cyrl-capital-ka = "straight-serifed"
cyrl-ka = "straight-serifed"
[composite.ss05]
tag = "ss05"
description = "Fira Mono Style"
[composite.ss05.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-k = "symmetric-touching-serifless"
capital-m = "slanted-sides-hanging-serifless"
a = "double-storey-tailed"
e = "flat-crossbar"
f = "serifless"
g = "double-storey-open"
i = "serifed"
j = "serifed"
k = "symmetric-touching-serifless"
l = "tailed-serifed"
r = "corner-hooked-serifed"
y = "straight-turn-serifless"
long-s = "bent-hook-serifless"
eszet = "longs-s-lig"
lower-iota = "tailed-serifed"
lower-lambda = "straight-turn"
lower-mu = "tailless"
cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-serifless"
cyrl-capital-u = "straight-turn"
zero = "oval-dotted"
one = "base"
two = "straight-neck"
six = "closed-contour"
eight = "crossing-asymmetric"
nine = "open-contour"
asterisk = "penta-low"
underscore = "low"
pilcrow = "low"
caret = "high"
number-sign = "slanted"
ampersand = "et-toothless-corner"
at = "short"
cent = "open"
percent = "rings-continuous-slash"
lig-ltgteq = "slanted"
lig-equal-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"
f = "serifed"
k = "symmetric-touching-serifed"
y = "straight-turn-serifed"
long-s = "bent-hook-bottom-serifed"
cyrl-capital-ka = "symmetric-connected-serifed"
cyrl-ka = "symmetric-connected-serifed"
[composite.ss06]
tag = "ss06"
description = "Liberation Mono Style"
[composite.ss06.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
a = "double-storey-tailed"
e = "flat-crossbar"
f = "flat-hook"
i = "serifed"
j = "serifed"
k = "straight-serifless"
l = "serifed-flat-tailed"
r = "hookless-serifless"
y = "straight-turn-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig"
lower-iota = "tailed-serifed"
lower-lambda = "straight-turn"
cyrl-capital-u = "straight-turn"
zero = "dotted"
one = "base"
four = "closed"
five = "oblique-upper-left-bar"
six = "closed-contour"
seven = "bend-serifless"
eight = "two-circles"
nine = "closed-contour"
pilcrow = "low"
number-sign = "slanted"
at = "fourfold"
percent = "rings-continuous-slash"
bar = "force-upright"
punctuation-dot = "square"
diacritic-dot = "square"
[composite.ss06.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
f = "flat-hook-serifed"
k = "straight-serifed"
r = "hookless-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
seven = "bend-serifed"
[composite.ss07]
tag = "ss07"
description = "Monaco Style"
[composite.ss07.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-k = "symmetric-touching-serifless"
a = "single-storey-earless-corner-tailed"
b = "toothless-corner-serifless"
e = "flat-crossbar"
g = "earless-corner"
i = "zshaped"
j = "serifed"
k = "symmetric-touching-serifless"
l = "serifed-flat-tailed"
q = "earless-corner-serifless"
r = "corner-hooked-serifless"
y = "straight-turn-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig"
lower-lambda = "straight-turn"
cyrl-capital-u = "straight-turn"
zero = "slashed"
one = "base"
four = "closed"
six = "closed-contour"
seven = "curly-serifless"
eight = "crossing-asymmetric"
nine = "closed-contour"
asterisk = "hex-mid"
paren = "large-contour"
pilcrow = "low"
number-sign = "slanted"
at = "fourfold"
percent = "rings-continuous-slash"
[composite.ss07.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-k = "symmetric-touching-serifed"
b = "toothless-corner-serifed"
k = "symmetric-touching-serifed"
q = "earless-corner-serifed"
r = "corner-hooked-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
seven = "curly-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-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"
k = "curly-serifless"
l = "zshaped"
v = "curly-serifless"
w = "curly-serifless"
x = "curly-serifless"
y = "curly-serifless"
z = "curly-serifless"
eszet = "longs-s-lig"
lower-lambda = "curly"
cyrl-capital-ka = "curly-serifless"
cyrl-ka = "curly-serifless"
cyrl-capital-ya = "curly"
cyrl-ya = "curly"
zero = "oval-reverse-slashed-split"
four = "closed"
six = "closed-contour"
seven = "curly-serifless"
nine = "closed-contour"
asterisk = "penta-low"
underscore = "high"
brace = "straight"
number-sign = "slanted"
ampersand = "upper-open"
at = "threefold"
dollar = "open"
cent = "open"
percent = "dots"
paren = "large-contour"
lig-ltgteq = "slanted"
lig-neq = "slightly-slanted-dotted"
lig-equal-chain = "with-notch"
lig-hyphen-chain = "with-notch"
[composite.ss08.italic]
g = "single-storey-serifless"
[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"
capital-k = "curly-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"
a = "double-storey-serifed"
d = "toothed-serifed"
f = "serifed"
k = "curly-serifed"
v = "curly-serifed"
w = "curly-serifed"
x = "curly-serifed"
y = "curly-serifed"
cyrl-capital-ka = "curly-serifed"
cyrl-ka = "curly-serifed"
seven = "bend-serifed"
[composite.ss08.slab-override.italic]
g = "single-storey-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-k = "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 = "tailed-serifed"
r = "hookless-serifless"
w = "straight-flat-top-serifless"
y = "straight-turn-serifless"
eszet = "longs-s-lig"
long-s = "flat-hook-serifless"
lower-alpha = "tailed-barred"
lower-lambda = "straight-turn"
cyrl-capital-u = "straight-turn"
zero = "oval-dotted"
one = "base-flat-top-serif"
two = "straight-neck"
four = "closed"
five = "oblique-upper-left-bar"
six = "closed-contour"
seven = "bend-serifless"
eight = "crossing-asymmetric"
nine = "closed-contour"
asterisk = "penta-low"
pilcrow = "low"
number-sign = "slanted"
dollar = "open"
lig-neq = "more-slanted"
[composite.ss09.italic]
a = "single-storey-serifless"
g = "single-storey-serifless"
i = "tailed-serifed"
[composite.ss09.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-k = "straight-serifed"
a = "double-storey-serifed"
d = "toothed-serifed"
f = "serifed"
k = "straight-serifed"
w = "straight-flat-top-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
[composite.ss09.slab-override.italic]
a = "single-storey-serifed"
g = "single-storey-serifed"
[composite.ss10]
tag = "ss10"
description = "Envy Code R Style"
[composite.ss10.design]
capital-j = "serifless"
capital-k = "symmetric-touching-serifless"
capital-q = "crossing"
capital-w = "straight-vertical-sides-serifless"
f = "flat-hook"
g = "single-storey-flat-hook-serifless"
i = "hooky"
j = "flat-hook-serifed"
k = "symmetric-connected-serifless"
l = "hooky"
t = "flat-hook"
y = "cursive-flat-hook-serifless"
long-s = "flat-hook-serifless"
eszet = "sulzbacher"
lower-mu = "toothless-rounded"
micro-sign = "toothless-rounded"
cyrl-capital-u = "cursive-flat-hook"
one = "base"
four = "closed"
eight = "two-circles"
underscore = "low"
pilcrow = "low"
percent = "rings-continuous-slash"
[composite.ss10.italic]
i = "serifed-flat-tailed"
j = "serifed"
l = "serifed-flat-tailed"
u = "tailed-serifless"
[composite.ss10.slab-override.design]
capital-j = "serifed"
capital-k = "symmetric-touching-serifed"
capital-w = "straight-vertical-sides-serifed"
f = "flat-hook-serifed"
g = "single-storey-flat-hook-serifed"
k = "symmetric-connected-serifed"
y = "cursive-flat-hook-serifed"
long-s = "flat-hook-bottom-serifed"
[composite.ss11]
tag = "ss11"
description = "X Window Style"
[composite.ss11.design]
zero = "unslashed"
tilde = "high"
brace = "straight"
dollar = "through"
three = "flat-top"
at = "threefold"
one = "base"
two = "straight-neck"
six = "closed-contour"
eight = "two-circles"
nine = "closed-contour"
[composite.ss12]
tag = "ss12"
description = "Ubuntu Mono Style"
[composite.ss12.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hookless"
capital-k = "symmetric-touching-serifless"
capital-m = "slanted-sides-hanging-serifless"
a = "double-storey-toothless-corner"
b = "toothless-corner-serifless"
d = "toothless-corner-serifless"
g = "earless-corner"
i = "tailed-serifed"
k = "symmetric-touching-serifless"
l = "tailed-serifed"
m = "earless-corner-double-arch-short-leg-serifless"
n = "earless-corner-straight-serifless"
p = "earless-corner-serifless"
q = "earless-corner-serifless"
r = "earless-corner-serifless"
u = "toothless-corner-serifless"
y = "straight-turn-serifless"
eszet = "longs-s-lig"
lower-alpha = "tailed-barred"
lower-iota = "tailed-serifed"
lower-lambda = "straight-turn"
lower-mu = "toothless-corner"
micro-sign = "toothless-corner"
cyrl-capital-ka = "symmetric-touching-serifless"
cyrl-ka = "symmetric-touching-serifless"
cyrl-capital-u = "straight-turn"
zero = "oval-dotted"
one = "base"
four = "closed"
five = "oblique-upper-left-bar"
six = "open-contour"
seven = "bend-serifless"
eight = "crossing-asymmetric"
nine = "open-contour"
underscore = "low"
pilcrow = "low"
brace = "straight"
number-sign = "slanted"
dollar = "open"
cent = "open"
percent = "rings-continuous-slash"
[composite.ss12.italic]
a = "single-storey-earless-corner-tailed"
d = "tailed-serifless"
f = "tailed"
p = "earless-corner-serifed"
u = "tailed-serifless"
long-s = "bent-hook-tailed"
eszet = "longs-s-lig-tailed"
lower-mu = "tailed"
micro-sign = "tailed"
[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"
b = "toothless-corner-serifed"
d = "toothless-corner-serifed"
k = "symmetric-touching-serifed"
n = "earless-corner-straight-serifed"
q = "earless-corner-serifed"
u = "toothless-corner-serifed"
y = "straight-turn-serifed"
cyrl-capital-ka = "symmetric-touching-serifed"
cyrl-ka = "symmetric-touching-serifed"
[composite.ss12.slab-override.italic]
d = "tailed-serifed"
u = "tailed-serifed"
[composite.ss13]
tag = "ss13"
description = "Lucida Style"
[composite.ss13.design]
capital-d = "more-rounded-serifless"
capital-g = "toothless-corner-serifless-hooked"
capital-k = "symmetric-touching-serifless"
a = "double-storey-tailed"
d = "toothed-serifless"
e = "flat-crossbar"
f = "serifless"
g = "single-storey-serifless"
i = "hooky"
k = "symmetric-touching-serifless"
l = "hooky"
y = "straight-turn-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig"
lower-iota = "tailed"
cyrl-capital-u = "straight-turn"
zero = "oval-slashed"
one = "base"
four = "closed"
six = "closed-contour"
seven = "bend-serifless"
eight = "crossing-asymmetric"
nine = "closed-contour"
pilcrow = "low"
number-sign = "slanted"
percent = "rings-continuous-slash"
punctuation-dot = "square"
diacritic-dot = "square"
[composite.ss13.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-g = "toothless-corner-serifed-hooked"
capital-k = "symmetric-touching-serifed"
a = "single-storey-earless-corner-serifed"
d = "toothed-serifed"
f = "serifed"
g = "single-storey-serifed"
k = "symmetric-touching-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
seven = "bend-serifed"
[composite.ss14]
tag = "ss14"
description = "JetBrains Mono Style"
[composite.ss14.design]
capital-g = "toothless-rounded-serifless-hooked"
capital-k = "symmetric-connected-serifless"
capital-q = "straight"
capital-w = "straight-flat-top-serifless"
a = "double-storey-serifless"
d = "toothed-serifless"
e = "flat-crossbar"
f = "flat-hook"
g = "single-storey-flat-hook-serifless"
i = "serifed"
j = "flat-hook-serifed"
k = "symmetric-connected-serifless"
l = "serifed-flat-tailed"
t = "flat-hook"
u = "toothless-rounded-serifless"
w = "straight-flat-top-serifless"
y = "straight-serifless"
long-s = "flat-hook-serifless"
lower-alpha = "tailed-barred"
lower-delta = "flat-top"
lower-xi = "rounded"
cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-serifless"
cyrl-capital-u = "straight"
zero = "dotted"
one = "base"
two = "straight-neck"
three = "flat-top"
four = "semi-open-non-crossing"
seven = "straight-serifed"
paren = "flat-arc"
asterisk = "penta-low"
pilcrow = "low"
number-sign = "slanted"
ampersand = "upper-open"
percent = "rings-continuous-slash"
lig-ltgteq = "slanted"
question = "corner-flat-hooked"
lig-neq = "more-slanted"
lig-equal-chain = "without-notch"
[composite.ss14.italic]
a = "single-storey-serifless"
f = "flat-hook-tailed"
y = "cursive-flat-hook-serifless"
long-s = "flat-hook-tailed"
[composite.ss14.slab-override.design]
capital-g = "toothless-rounded-serifed-hooked"
capital-k = "symmetric-connected-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"
u = "toothless-rounded-serifed"
w = "straight-flat-top-serifed"
y = "straight-serifed"
long-s = "flat-hook-bottom-serifed"
cyrl-capital-ka = "symmetric-connected-serifed"
cyrl-ka = "symmetric-connected-serifed"
[composite.ss14.slab-override.italic]
a = "single-storey-serifed"
f = "flat-hook-tailed"
y = "cursive-flat-hook-serifed"
long-s = "flat-hook-tailed"
[composite.ss15]
tag = "ss15"
description = "IBM Plex Mono Style"
[composite.ss15.design]
a = "double-storey-tailed"
d = "toothed-serifless"
f = "flat-hook-serifed"
g = "double-storey"
i = "serifed"
j = "flat-hook-serifed"
k = "straight-serifless"
l = "serifed"
r = "hookless-serifed"
t = "flat-hook"
w = "straight-flat-top-serifless"
y = "straight-turn-serifless"
eszet = "traditional-flat-hook"
long-s = "flat-hook-double-serifed"
lower-lambda = "straight-turn"
cyrl-capital-u = "straight-turn"
zero = "dotted"
one = "base"
two = "straight-neck"
four = "closed"
five = "oblique-upper-left-bar"
six = "open-contour"
seven = "straight-serifed"
eight = "two-circles"
nine = "open-contour"
asterisk = "penta-low"
underscore = "low"
pilcrow = "low"
number-sign = "slanted-open"
ampersand = "upper-open"
question = "corner"
brace = "curly-flat-boundary"
[composite.ss15.italic]
a = "single-storey-serifless"
f = "flat-hook-diagonal-tailed"
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"
v = "cursive-serifed"
w = "cursive-serifless"
x = "cursive"
y = "cursive-serifless"
z = "cursive"
long-s = "flat-hook-diagonal-tailed-middle-serifed"
ampersand = "closed"
[composite.ss15.slab-override.design]
d = "toothed-serifed"
k = "straight-serifed"
w = "straight-flat-top-serifless"
y = "straight-turn-serifed"
[composite.ss15.slab-override.italic]
a = "single-storey-serifed"
g = "single-storey-serifed"
k = "diagonal-tailed-cursive-top-left-serifed"
w = "cursive-serifed"
y = "cursive-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-k = "symmetric-connected-serifless"
capital-l = "motion-serifed"
capital-s = "bilateral-inward-serifed"
capital-t = "serifed"
a = "double-storey-serifed"
b = "toothless-corner-serifed"
c = "unilateral-inward-serifed"
d = "toothed-serifed"
e = "flat-crossbar"
f = "serifed"
g = "earless-corner"
h = "straight-top-left-serifed"
i = "serifed"
j = "serifed"
k = "straight-top-left-and-bottom-right-serifed"
l = "tailed-serifed"
n = "straight-top-left-serifed"
p = "eared-motion-serifed"
q = "earless-corner-serifless"
r = "serifed"
t = "standard-short-neck2"
u = "toothed-motion-serifed"
y = "straight-turn-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig"
capital-gamma = "serifed"
cyrl-capital-ze = "bilateral-inward-serifed"
cyrl-ze = "unilateral-inward-serifed"
cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-bottom-right-serifed"
cyrl-ef = "top-serifed"
cyrl-capital-u = "straight-turn"
zero = "slashed"
one = "base"
two = "straight-neck"
three = "flat-top"
four = "closed"
six = "open-contour"
eight = "crossing-asymmetric"
nine = "open-contour"
asterisk = "turn-hex-high"
underscore = "low"
pilcrow = "low"
paren = "large-contour"
brace = "straight"
number-sign = "slanted"
percent = "rings-continuous-slash"
[composite.ss16.slab-override.design]
capital-d = "more-rounded-bilateral-serifed"
capital-k = "symmetric-connected-serifed"
q = "earless-corner-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
cyrl-capital-ka = "symmetric-connected-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-k = "straight-bottom-right-serifed"
capital-l = "motion-serifed"
capital-p = "closed-motion-serifed"
capital-r = "straight-motion-serifed"
capital-s = "unilateral-inward-serifed"
capital-u = "toothed-serifless"
capital-z = "straight-top-serifed"
a = "double-storey-tailed"
e = "flat-crossbar"
f = "serifed"
g = "double-storey"
r = "hookless-serifed"
t = "flat-hook"
y = "straight-turn-serifless"
eszet = "longs-s-lig"
lower-lambda = "straight-turn"
cyrl-capital-u = "straight-turn"
one = "base"
four = "semi-open"
five = "oblique-upper-left-bar"
six = "closed-contour"
seven = "straight-serifed"
nine = "closed-contour"
asterisk = "hex-low"
underscore = "low"
pilcrow = "low"
number-sign = "slanted"
ampersand = "upper-open"
at = "fourfold"
dollar = "interrupted"
cent = "bar-interrupted"
punctuation-dot = "square"
diacritic-dot = "square"
brace = "curly-flat-boundary"
[composite.ss17.italic]
a = "single-storey-tailed"
e = "rounded"
f = "tailed"
g = "single-storey-serifless"
i = "serifed-flat-tailed"
l = "serifed-flat-tailed"
m = "tailed-serifless"
n = "tailed-serifless"
r = "corner-hooked-top-serifed"
s = "unilateral-inward-serifed"
v = "cursive-serifed"
w = "cursive-serifless"
x = "cursive"
y = "cursive-serifless"
z = "cursive"
long-s = "bent-hook-descending"
eszet = "longs-s-lig-descending"
[composite.ss17.slab-override.design]
capital-u = "toothed-serifed"
y = "straight-turn-serifed"
[composite.ss17.slab-override.italic]
g = "single-storey-serifed"
w = "cursive-serifed"
m = "tailed-top-left-serifed"
n = "tailed-motion-serifed"
[composite.ss18]
tag = "ss18"
description = "Input Mono Style"
[composite.ss18.design]
capital-g = "toothless-rounded-serifless-hooked"
capital-k = "symmetric-connected-serifless"
a = "double-storey-tailed"
b = "toothless-corner-serifless"
d = "toothed-serifless"
f = "serifless-crossbar-at-x-height"
g = "double-storey"
i = "serifed"
k = "symmetric-connected-serifless"
l = "serifed"
q = "earless-corner-serifless"
y = "straight-turn-serifless"
long-s = "flat-hook-serifless"
eszet = "longs-s-lig"
lower-alpha = "tailed-barred"
lower-lambda = "straight-turn"
cyrl-capital-u = "straight-turn"
zero = "dotted"
one = "base"
four = "closed"
six = "closed-contour"
seven = "bend-serifless"
eight = "two-circles"
nine = "closed-contour"
asterisk = "hex-mid"
underscore = "low"
question = "corner"
number-sign = "slanted"
percent = "rings-continuous-slash"
[composite.ss18.italic]
f = "extended-crossbar-at-x-height"
long-s = "flat-hook-descending"
eszet = "longs-s-lig-descending"
[composite.ss18.slab-override.design]
capital-g = "toothless-rounded-serifed-hooked"
capital-k = "symmetric-connected-serifed"
b = "toothless-corner-serifed"
d = "toothed-serifed"
f = "serifed-crossbar-at-x-height"
k = "symmetric-connected-serifed"
q = "earless-corner-serifed"
y = "straight-turn-serifed"
long-s = "flat-hook-bottom-serifed"
seven = "bend-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"
turn-v = "curly"
lower-lambda = "curly"
cyrl-capital-u = "curly"
six = "open-contour"
nine = "open-contour"
[composite.ss20.italic]
k = "cursive-serifless"
y = "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-serifed"
z = "curly-serifed"
[composite.ss20.slab-override.italic]
k = "cursive-serifed"
y = "cursive-serifed"