Create separate variant selector for Cyrillic capital U (#773).

This commit is contained in:
be5invis 2020-12-18 17:07:02 -08:00
parent f27c779e64
commit c2e93e4e5b
6 changed files with 160 additions and 68 deletions

View file

@ -508,6 +508,9 @@ Subsection `variants` is used to configure character variants in the font. Prope
+ `d = 'toothless-corner'`, `cv14 = 2`: `d` without bottom-right tooth, with a corner transition.
+ `d = 'toothless-rounded'`, `cv14 = 3`: `d` without bottom-right tooth, with a rounded transition.
+ `d = 'tailed'`, `cv14 = 4`: `d` with a slightly tail bottom-right tail (default for Italic).
- Styles for `e`:
+ `e = 'flat-crossbar'`, `cv59 = 1`: `e` with flat crossbar (default for Upright).
+ `e = 'rounded'`, `cv59 = 2`: `e` with more rounded shape (default for Italic).
- Styles for `f`:
+ `f = 'serifless'`, `cv15 = 1`: `f` without bottom serif, hook or exension (default for Sans Upright).
+ `f = 'serifed'`, `cv15 = 2`: `f` with bottom serif (default for Slab Upright).
@ -531,6 +534,9 @@ Subsection `variants` is used to configure character variants in the font. Prope
+ `g = 'opendoublestorey'`, `cv16 = 3`: Open Double-storey `g`, like Trebuchet MS or Fira Code.
+ `g = 'earless-corner'`, `cv16 = 4`: Earless (cornered top-right) single-storey `g`.
+ `g = 'earless-rounded'`, `cv16 = 5`: Earless (rounded top-right) single-storey `g`.
+ `g = 'singlestorey-flat-hook'`, `cv16 = 6`: Single-storey `g` with flat terminal hook.
+ `g = 'singlestorey-earless-corner-flat-hook'`, `cv16 = 7`: Earless (cornered top-right) single-storey `g` with flat terminal hook.
+ `g = 'singlestorey-earless-rounded-flat-hook'`, `cv16 = 8`: Earless (rounded top-right) single-storey `g` with flat terminal hook.
- Styles for `h`:
+ `h = 'straight'`, `cv17 = 1`: `h` with straight ending (default).
+ `h = 'tailed'`, `cv17 = 2`: `h` with curly tailed ending.
@ -647,6 +653,7 @@ Subsection `variants` is used to configure character variants in the font. Prope
+ `y = 'straight-turn'`, `cv32 = 2`: Letter `y` with straight upper and a tail turns leftward (default for Slab Upright).
+ `y = 'curly'`, `cv32 = 3`: More curly letter `y`, like Iosevka 2.x.
+ `y = 'cursive'`, `cv32 = 4`: Cursive-like `y` (default for Italic).
+ `y = 'cursive-flat-hook'`, `cv32 = 5`: Cursive-like `y` with flat terminal hook.
- Styles for `z`, `Z`:
+ `z = 'standard'`, `cv33 = 1`: Standard `Z` and `z` (default).
+ `z = 'with-crossbar'`, `cv33 = 2`: Standard `Z` and `z` with a diagonal cross bar for better dsitinction with `2`.
@ -654,13 +661,19 @@ Subsection `variants` is used to configure character variants in the font. Prope
+ `z = 'curly'`, `cv33 = 4`: Curly `Z` and `z`.
+ `z = 'curly-with-crossbar'`, `cv33 = 5`: Curly `Z` and `z` with a diagonal cross bar for better dsitinction with `2`.
+ `z = 'curly-with-horizontal-crossbar'`, `cv33 = 6`: Curly `Z` and `z` with a horizontal cross bar for better dsitinction with `2`.
- Styles for `ß`:
+ `eszet = 'traditional'`, `cv34 = 1`: Traditional, Fraktur-like Eszet.
+ `eszet = 'sulzbacher'`, `cv34 = 2`: A more modern, beta-like Eszet (default).
+ `eszet = 'longs-s-lig'`, `cv34 = 3`: An Eszet shown as a ligature of long-S (`ſ`) and `s`.
- Styles for `λ`:
+ `lambda = 'straight'`, `cv35 = 1`: More-straight letter `λ` (default).
+ `lambda = 'curly'`, `cv35 = 2`: More curly letter `λ`, like Iosevka 2.x.
- Styles for `ß` (Eszet):
+ `eszet = 'traditional'`, `cv34 = 1`: Traditional, Fraktur-like Eszet (`ß`).
+ `eszet = 'sulzbacher'`, `cv34 = 2`: More modern, beta-like Eszet (`ß`) (default).
+ `eszet = 'longs-s-lig'`, `cv34 = 3`: Eszet (`ß`) shown as a ligature of long-S (`ſ`) and `s`.
- Styles for `λ` (Greek small Lambda):
+ `lambda = 'straight'`, `cv35 = 1`: More-straight Greek small Lambda (`λ`) (default).
+ `lambda = 'curly'`, `cv35 = 2`: More curly Greek small Lambda (`λ`), like Iosevka 2.x.
- Styles for `У` (Cyrillic Capital U):
+ `cyrl-capital-u = 'straight'`, `cv60 = 1`: Cyrillic capital U (`У`) that is fully straight (default).
+ `cyrl-capital-u = 'straight-turn'`, `cv60 = 2`: Cyrillic capital U (`У`) with straight upper and a tail turns leftward.
+ `cyrl-capital-u = 'curly'`, `cv60 = 3`: More curly cyrillic capital U (`У`), like Iosevka 2.x.
+ `cyrl-capital-u = 'cursive'`, `cv60 = 4`: Cursive-like Cyrillic capital U (`У`).
+ `cyrl-capital-u = 'cursive-flat-hook'`, `cv60 = 5`: Cursive-like Cyrillic capital U (`У`) with flat terminal hook.
- Styles for `0`:
+ `zero = 'slashed'`, `cv36 = 1`: Slashed Zero `0` (default).
+ `zero = 'dotted'`, `cv36 = 2`: Dotted Zero `0`.

View file

@ -1,2 +1,3 @@
* Add rounded variant of `e` (#771).
* Add flat-hook single-storey variants for `g` and `y` (#772).
* Add flat-hook single-storey variants for `g` and `y` (#772).
* Create separate variant selector for Cyrillic capital U (#773).

View file

@ -2022,45 +2022,45 @@ glyph-block Letter-Latin-Lower-Y : begin
include : [GenSmallYShape false SLAB].SmallYShape XH Descender
set-base-anchor 'overlay' Middle (XH / 2)
define [SmallYCursiveArc] : new-glyph : glyph-proc
define [SmallYCursiveArc top bottom] : new-glyph : glyph-proc
include : nShoulder
top -- top
bottom -- bottom
left -- (SB + Stroke * HVContrast)
right -- RightSB
fine -- ShoulderFine
include : FlipAround Middle (XH / 2)
include : FlipAround Middle [mix bottom top 0.5]
define [SmallYCusriveHook y0] : dispiro
define [SmallYCusriveHook y0 bottom] : dispiro
widths.rhs
flat RightSB y0 [heading Downward]
curl RightSB (Descender + SmallSmoothA)
hookend (Descender + O)
g4 SB (Descender + SHook)
curl RightSB (bottom + SmallSmoothA)
hookend (bottom + O)
g4 SB (bottom + SHook)
define [SmallYFlatHookCusriveHook y0] : begin
define [SmallYFlatHookCusriveHook y0 bottom] : begin
local hd : FlatHookDepth [DivFrame 1] (9 / 8)
local xTerminal : Math.min (RightSB - hd.x - 0.1) : mix SB RightSB (1 / 5)
return : dispiro
widths.rhs
flat RightSB y0 [heading Downward]
curl RightSB (Descender + hd.y)
curl RightSB (bottom + hd.y)
arcvh
flat (RightSB - hd.x) Descender
curl xTerminal Descender [heading Leftward]
flat (RightSB - hd.x) bottom
curl xTerminal bottom [heading Leftward]
create-glyph 'y.cursive' : glyph-proc
include : MarkSet.p
include : SmallYCursiveArc
include : SmallYCusriveHook XH
if SLAB : begin
include : LeftwardTopSerif SB XH SideJut
include : SmallYCursiveArc XH 0
include : SmallYCusriveHook XH Descender
if SLAB : include : LeftwardTopSerif SB XH SideJut
set-base-anchor 'overlay' Middle (XH / 2)
create-glyph 'y.cursiveFlatHook' : glyph-proc
include : MarkSet.p
include : SmallYCursiveArc
include : SmallYFlatHookCusriveHook XH
if SLAB : begin
include : LeftwardTopSerif SB XH SideJut
include : SmallYCursiveArc XH 0
include : SmallYFlatHookCusriveHook XH Descender
if SLAB : include : LeftwardTopSerif SB XH SideJut
set-base-anchor 'overlay' Middle (XH / 2)
select-variant 'y' 'y'
@ -2081,33 +2081,39 @@ glyph-block Letter-Latin-Lower-Y : begin
create-glyph 'yhooktop.cursive' : glyph-proc
include : MarkSet.p
include : SmallYCursiveArc
include : SmallYCusriveHook (XH - Hook - HalfStroke)
include : SmallYCursiveArc XH 0
include : SmallYCusriveHook (XH - Hook - HalfStroke) Descender
include : VerticalHook (RightSB - HalfStroke * HVContrast) (XH - Hook - HalfStroke) HookX (-Hook)
if SLAB : begin
include : LeftwardTopSerif SB XH SideJut
if SLAB : include : LeftwardTopSerif SB XH SideJut
set-base-anchor 'overlay' Middle (XH / 2)
create-glyph 'yhooktop.cursiveFlatHook' : glyph-proc
include : MarkSet.p
include : SmallYCursiveArc
include : SmallYFlatHookCusriveHook (XH - Hook - HalfStroke)
include : SmallYCursiveArc XH 0
include : SmallYFlatHookCusriveHook (XH - Hook - HalfStroke) Descender
include : VerticalHook (RightSB - HalfStroke * HVContrast) (XH - Hook - HalfStroke) HookX (-Hook)
if SLAB : begin
include : LeftwardTopSerif SB XH SideJut
if SLAB : include : LeftwardTopSerif SB XH SideJut
set-base-anchor 'overlay' Middle (XH / 2)
create-glyph : glyph-proc
include : MarkSet.capital
set-base-anchor 'overlay' Middle (XH / 2 - Descender)
create-derived 'cyrl/U.straight' : glyph-proc
include : [GenSmallYShape true false].SmallYShape CAP 0
set-base-anchor 'overlay' Middle (XH / 2 - Descender)
create-derived 'cyrl/U.straightTurn' : glyph-proc
include : [GenSmallYShape true true].SmallYShape CAP 0
set-base-anchor 'overlay' Middle (XH / 2 - Descender)
create-derived 'cyrl/U.curly' : glyph-proc
include : [GenSmallYShape false SLAB].SmallYShape CAP 0
set-base-anchor 'overlay' Middle (XH / 2 - Descender)
create-derived 'cyrl/U.cursive' : glyph-proc
include : SmallYCursiveArc CAP (CAP - XH)
include : SmallYCusriveHook CAP 0
if SLAB : include : CenterTopSerif (SB + HalfStroke * HVContrast) CAP Jut
if SLAB : include : CenterTopSerif (RightSB - HalfStroke * HVContrast) CAP Jut
create-derived 'cyrl/U.cursiveFlatHook' : glyph-proc
include : SmallYCursiveArc CAP (CAP - XH)
include : SmallYFlatHookCusriveHook CAP 0
if SLAB : include : CenterTopSerif (SB + HalfStroke * HVContrast) CAP Jut
if SLAB : include : CenterTopSerif (RightSB - HalfStroke * HVContrast) CAP Jut
select-variant 'yhooktop' 0x1B4 (follow -- 'y')
select-variant 'cyrl/U' 0x423
@ -6278,17 +6284,21 @@ glyph-block Letter-Latin-Lower-E : begin
include : MarkSet.e
include : SmallEShape XH [AdviceStroke2 2 3 XH]
define [SmallERoundedShape] : params [top stroke barpos curly [bbd 0]] : glyph-proc
local barbottom : top * [fallback barpos DesignParameters.eBarPos] - (stroke / 2)
define [SmallERoundedShape] : params [top stroke barpos] : glyph-proc
local barbottom : top * [fallback barpos : if para.isItalic 0.500 0.475] - (stroke / 2)
local hook : Math.min AHook : if para.isItalic top (stroke / 2 + (top - stroke * 3) / 4)
local pBarRight : 0.5 - TanSlope * 0.5
local pBarRight : 0.475 - TanSlope * 0.5
local pArcRight : 0.425 - TanSlope * 0.25
local xStart : SB + (0.5 * stroke * HVContrast)
local pfIt : if para.isItalic 1 0
include : dispiro
widths.lhs stroke
flat (SB + (stroke / 2) + OX + bbd) barbottom [heading Rightward]
curl [mix SB RightSB pBarRight] barbottom [heading Rightward]
g4 (RightSB - OX) [mix barbottom top pArcRight]
[if para.isItalic g4 flat] xStart (barbottom - pfIt * [StrokeWidthBlend 2 3] * O)
if para.isItalic [alsoThru.g2 0.5 0.8] [list]
[if para.isItalic g4 curl] [mix xStart RightSB pBarRight] (barbottom + pfIt * [StrokeWidthBlend 0.25 1] * O)
g4 (RightSB - OX) [mix barbottom top pArcRight]
arcvh
g4 (Middle - CorrectionOMidS) (top - O)
archv
flat (SB + OX) (top - SmallSmoothA)

View file

@ -75,6 +75,7 @@ class Prime {
this.descSampleText = this.ligatureSampler
? cfg.sampler.split(" ")
: [...(cfg.sampler || "")];
this.samplerExplain = cfg.samplerExplain;
this.tag = cfg.tag;
this.slopeDependent = !!cfg.slopeDependent;
this.variants = new Map();
@ -94,6 +95,7 @@ class Prime {
const gr = {
key: this.key,
sampler: this.sampler,
samplerExplain: this.samplerExplain,
tag: this.tag,
slopeDependent: this.slopeDependent,
ligatureSampler: this.ligatureSampler,

View file

@ -1131,31 +1131,26 @@ tag = 'cv32'
rank = 1
description = 'Letter `y` that is fully straight'
selector.y = "straight"
selector."cyrl/U" = "straight"
[prime.y.variants.straight-turn]
rank = 2
description = 'Letter `y` with straight upper and a tail turns leftward'
selector.y = "straightTurn"
selector."cyrl/U" = "straightTurn"
[prime.y.variants.curly]
rank = 3
description = 'More curly letter `y`, like Iosevka 2.x'
selector.y = "curly"
selector."cyrl/U" = "curly"
[prime.y.variants.cursive]
rank = 4
description = 'Cursive-like `y`'
selector.y = "cursive"
selector."cyrl/U" = "straight"
[prime.y.variants.cursive-flat-hook]
rank = 5
description = 'Cursive-like `y` with flat terminal hook'
selector.y = "cursiveFlatHook"
selector."cyrl/U" = "straight"
@ -1203,41 +1198,75 @@ selector.Z = 'curlyWithHorizontalCrossBar'
[prime.eszet]
sampler = 'ß'
samplerExplain = 'Eszet'
tag = 'cv34'
[prime.eszet.variants.traditional]
rank = 1
description = 'Traditional, Fraktur-like Eszet'
description = 'Traditional, Fraktur-like Eszet (`ß`)'
selector.eszet = 'traditional'
[prime.eszet.variants.sulzbacher]
rank = 2
description = 'A more modern, beta-like Eszet'
description = 'More modern, beta-like Eszet (`ß`)'
selector.eszet = 'sulzbacher'
[prime.eszet.variants.longs-s-lig]
rank = 3
description = 'An Eszet shown as a ligature of long-S (`ſ`) and `s`'
description = 'Eszet (`ß`) shown as a ligature of long-S (`ſ`) and `s`'
selector.eszet = 'longsslig'
[prime.lambda]
sampler = 'λ'
samplerExplain = 'Greek small Lambda'
tag = 'cv35'
[prime.lambda.variants.straight]
rank = 1
description = 'More-straight letter `λ`'
description = 'More-straight Greek small Lambda (`λ`)'
selector."grek/lambda" = "straight"
[prime.lambda.variants.curly]
rank = 2
description = 'More curly letter `λ`, like Iosevka 2.x'
description = 'More curly Greek small Lambda (`λ`), like Iosevka 2.x'
selector."grek/lambda" = "curly"
[prime.cyrl-capital-u]
sampler = 'У'
samplerExplain = 'Cyrillic Capital U'
tag = 'cv60'
[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.cursive]
rank = 4
description = 'Cursive-like Cyrillic capital U (`У`)'
selector."cyrl/U" = "cursive"
[prime.cyrl-capital-u.variants.cursive-flat-hook]
rank = 5
description = 'Cursive-like Cyrillic capital U (`У`) with flat terminal hook'
selector."cyrl/U" = "cursiveFlatHook"
[prime.zero]
sampler = '0'
tag = 'cv36'
@ -1796,7 +1825,6 @@ capital-r = 'straight'
capital-y = 'straight'
# Lowers
b = 'toothed'
e = 'flat-crossbar'
g = 'singlestorey'
p = 'eared'
q = 'straight'
@ -1810,6 +1838,7 @@ z = 'standard'
turn-v = 'straight'
eszet = 'sulzbacher'
lambda = 'straight'
cyrl-capital-u = 'straight'
# Digits
zero = 'slashed'
one = 'nobase'
@ -1846,6 +1875,7 @@ digit-form = 'lining'
[default.upright-oblique]
a = 'doublestorey'
d = 'toothed'
e = 'flat-crossbar'
f = 'serifless'
i = 'serifed'
j = 'serifed'
@ -1857,6 +1887,7 @@ y = 'straight'
[default.italic]
a = 'singlestorey-tailed'
d = 'tailed'
e = 'rounded'
f = 'flat-hook-tailed'
i = 'serifed-tailed'
j = 'serifed'
@ -1871,6 +1902,9 @@ y = 'cursive'
one = 'base'
seven = 'serifed'
[composite.slab.design]
cyrl-capital-u = 'straight-turn'
[composite.slab.upright-oblique]
f = 'serifed'
r = 'serifed'
@ -1888,12 +1922,14 @@ tag = 'ss01'
description = "Andale Mono Style"
[composite.ss01.design]
i = 'hooky'
a = 'doublestorey'
e = 'flat-crossbar'
g = 'doublestorey'
i = 'hooky'
k = 'straight'
l = 'zshaped'
y = 'straight-turn'
cyrl-capital-u = 'straight-turn'
at = 'fourfold'
zero = 'dotted'
brace = 'straight'
@ -1915,12 +1951,14 @@ description = "Anonymous Pro Style"
capital-g = "toothless-rounded"
capital-j = "serifless"
a = "doublestorey"
e = 'flat-crossbar'
d = "toothed"
i = "serifed"
k = "straight"
l = "serifed"
y = "straight-turn"
eszet = "longs-s-lig"
cyrl-capital-u = 'straight-turn'
one = "base"
six = "closed-contour"
nine = "closed-contour"
@ -1934,6 +1972,7 @@ tag = 'ss03'
description = 'Consolas Style'
[composite.ss03.design]
cyrl-capital-u = 'straight-turn'
at = 'fourfold'
underscore = 'low'
brace = 'straight'
@ -1961,11 +2000,12 @@ description = 'Menlo Style'
[composite.ss04.design]
at = 'threefold'
a = 'doublestorey'
underscore = 'low'
e = 'flat-crossbar'
i = 'serifed'
k = 'straight'
l = 'serifed-flat-tailed'
y = 'straight-turn'
cyrl-capital-u = 'straight-turn'
brace = 'straight'
number-sign = 'slanted'
asterisk = 'hexlow'
@ -1974,6 +2014,7 @@ ampersand = 'upper-open'
six = 'closed-contour'
nine = 'closed-contour'
percent = "rings-connected"
underscore = 'low'
@ -1984,11 +2025,13 @@ description = 'Fira Mono Style'
[composite.ss05.design]
capital-g = "toothless-corner"
a = "doublestorey-tailed"
e = 'flat-crossbar'
g = "opendoublestorey"
i = "serifed"
l = "serifed-tailed"
r = "serifed"
y = "straight-turn"
cyrl-capital-u = 'straight-turn'
one = "base"
six = "closed-contour"
nine = "open-contour"
@ -2010,10 +2053,12 @@ description = 'Liberation Mono Style'
[composite.ss06.design]
at = 'fourfold'
a = 'doublestorey'
e = 'flat-crossbar'
i = 'serifed'
k = 'straight'
l = 'serifed'
y = 'straight-turn'
cyrl-capital-u = 'straight-turn'
brace = 'straight'
zero = 'dotted'
number-sign = 'slanted'
@ -2031,10 +2076,12 @@ description = 'Monaco Style'
[composite.ss07.design]
at = 'fourfold'
a = 'singlestorey'
e = 'flat-crossbar'
i = 'zshaped'
k = 'straight'
l = 'zshaped'
y = 'straight-turn'
cyrl-capital-u = 'straight-turn'
brace = 'straight'
number-sign = 'slanted'
asterisk = 'hexhigh'
@ -2053,6 +2100,7 @@ description = 'Pragmata Pro Style'
[composite.ss08.design]
at = 'threefold'
a = 'doublestorey'
e = 'flat-crossbar'
l = 'serifed'
i = 'serifed'
asterisk = 'low'
@ -2072,6 +2120,7 @@ capital-k = 'curly'
k = 'curly'
y = 'curly'
lambda = 'curly'
cyrl-capital-u = 'curly'
ampersand = 'upper-open'
six = 'closed-contour'
nine = 'closed-contour'
@ -2090,9 +2139,11 @@ description = 'Source Code Pro Style'
[composite.ss09.design]
capital-g = "toothless-corner"
e = 'flat-crossbar'
k = "straight"
l = "serifed-tailed"
y = "straight-turn"
cyrl-capital-u = 'straight-turn'
zero = "dotted"
one = "base"
six = "closed-contour"
@ -2122,19 +2173,25 @@ tag = 'ss10'
description = 'Envy Code R Style'
[composite.ss10.design]
at = 'threefold'
a = 'doublestorey'
underscore = 'low'
i = 'hooky'
k = 'straight'
l = 'hooky'
y = 'cursive'
asterisk = 'low'
one = 'base'
nine = 'straight-bar'
six = 'straight-bar'
capital-j = "serifless"
capital-q = "crossing"
f = "flat-hook"
g = "singlestorey-flat-hook"
i = "hooky"
j = "flat-hook-serifed"
k = "straight"
l = "hooky"
t = "flat-hook"
y = "cursive-flat-hook"
one = "base"
underscore = "low"
percent = "rings-connected"
[composite.ss10.italic]
i = "serifed-flat-tailed"
j = "serifed"
l = "serifed-flat-tailed"
[composite.ss11]
@ -2162,6 +2219,7 @@ description = 'Ubuntu Mono Style'
capital-g = "toothless-corner"
a = "doublestorey-toothless-corner"
b = "toothless-corner"
e = 'flat-crossbar'
g = "earless-corner"
i = "serifed-tailed"
k = "straight"
@ -2173,6 +2231,7 @@ q = "earless-corner"
r = "earless-corner"
y = "straight-turn"
eszet = "longs-s-lig"
cyrl-capital-u = 'straight-turn'
zero = "dotted"
one = "base"
six = "open-contour"
@ -2198,10 +2257,12 @@ tag = 'ss13'
description = 'Lucida Style'
[composite.ss13.design]
e = 'flat-crossbar'
i = 'hooky'
k = 'straight'
l = 'hooky'
y = 'straight-turn'
cyrl-capital-u = 'straight-turn'
zero = 'dotted'
underscore = 'low'
caret = 'low'
@ -2220,7 +2281,9 @@ description = 'JetBrains Mono Style'
[composite.ss14.design]
capital-q = "straight"
capital-g = "toothless-rounded"
e = 'flat-crossbar'
f = "flat-hook-crossbar-at-x-height"
g = "singlestorey-flat-hook"
i = "serifed"
l = "serifed-flat-tailed"
u = "toothless-rounded"
@ -2238,6 +2301,7 @@ number-sign = "slanted"
[composite.ss14.italic]
f = "flat-hook-tailed-crossbar-at-x-height"
y = "cursive-flat-hook"
@ -2255,6 +2319,7 @@ capital-y = 'curly'
capital-r = 'curly'
capital-k = 'curly'
lambda = 'curly'
cyrl-capital-u = 'curly'
six = 'open-contour'
nine = 'open-contour'

View file

@ -78,7 +78,8 @@ async function processCv() {
const sampleText = gr.descSampleText
.map(c => (c === "`" ? "`` ` ``" : `\`${c}\``))
.join(", ");
md.log(` - Styles for ${sampleText}:`);
const explainText = gr.samplerExplain ? ` (${gr.samplerExplain})` : ``;
md.log(` - Styles for ${sampleText}${explainText}:`);
const defaults = figureOutDefaults(variantsData, gr);
for (const config of gr.variants) {
if (!config.rank) continue;