* Refine the width of A and V.

* Changed the layout of character variants sample image for better clarity.
This commit is contained in:
Belleve Invis 2020-05-21 19:22:23 -07:00
parent 38160e1084
commit 4f286a42f8
73 changed files with 725 additions and 551 deletions

View file

@ -189,7 +189,7 @@ Since version 2.0, Iosevka would no longer support building via `makefile`. To i
<!-- END Section-Private-Build-Plan-Sample -->
3. Run `npm run build -- contents::<your plan name>` and the built fonts would be avaliable in `dist/`. Aside from `contents::<plan>`, other options are:
@ -320,10 +320,15 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `v-i-zshaped`, `cv06`: Z-shaped `i`.
* `v-i-line`, `cv56`: `i` like a straight line.
* `v-i-tailed`, `cv88`: Tailed `i`.
* `v-i-hookybottom`, `CVAA`: `i` with a straight tail.
* Styles for `j`:
* `v-j-line`, `cv57`: `j` like a straight line.
* `v-j-serifed`, `cv58`: `j` with top serif (default).
* `v-j-straight`, `cv98`: `j` without serif.
* Styles for `k`, `K`:
* `v-k-straight`, `cv68`: `k` with standard shape (default for Upright).
* `v-k-curly`, `cv69`: Slightly curly `k`, like Iosevka 2.x.
* `v-k-cursive`, `cv70`: `k` with a cursive loop (default for Italic).
* Styles for `l`:
* `v-l-serifed`, `cv07`: Serifed `l` (default for Upright).
* `v-l-italic`, `cv08`: Italic, cursive `l` (default for Italic).
@ -332,10 +337,6 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `v-l-tailed`, `cv27`: `l` with a curved tail.
* `v-l-hookybottom`, `cv28`: `l` with a straight tail.
* `v-l-line`, `cv59`: `l` like a straight line.
* Styles for `k`, `K`:
* `v-k-straight`, `cv68`: `k` with standard shape (default for Upright).
* `v-k-curly`, `cv69`: Slightly curly `k`, like Iosevka 2.x.
* `v-k-cursive`, `cv70`: `k` with a cursive loop (default for Italic).
* Styles for `m`:
* `v-m-normal`, `cv25`: `m` with normal middle leg, touching the baseline (default).
* `v-m-shortleg`, `cv26`: `m` with shorter middle leg, like Ubuntu Mono.
@ -409,8 +410,9 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* `v-asterisk-hexhigh`, `cv60`: Higher six-pointed asterisk `*`.
* `v-asterisk-hexlow`, `cv61`: Lower six-pointed asterisk `*`.
* Styles for `_`:
* `v-underscore-high`, `cv20`: Higher underscore `_`, at baseline (default).
* `v-underscore-low`, `cv21`: Lower underscore `_`, below baseline.
* `v-underscore-high`, `cv20`: Higher underscore `_`, placed right below baseline (default).
* `v-underscore-low`, `cv21`: Lower underscore `_`, placed right above descender line.
* `v-underscore-above-baseline`, `cv99`: Extra-high `_`, placed right below baseline.
* Styles for `¶`:
* `v-paragraph-high`, `cv22`: Higher paragraph symbol `¶` (default).
* `v-paragraph-low`, `cv23`: Lower paragraph symbol `¶`.

View file

@ -4,4 +4,6 @@
* Add support for WHITE SUN WITH RAYS (U+263C, ☼, #521).
* Add preview image building in release notes.
* Added `v-underscore-above-baseline` (`cv99`) and redefined the `v-underscore-high` to the right-below-baseline variant (#515).
* Match styles of `1` and `7` in `ss##` variants (#539).
* Match styles of `1` and `7` in `ss##` variants (#539).
* Refine the width of `A` and `V`.
* Changed the layout of character variants sample image for better clarity.

View file

@ -187,10 +187,18 @@ glyph-block LetterUnified-Basic : begin
sketch # dotlessi.tailed
local df : DivFrame para.diversityI
set-width df.width
include df.markSet.b
include df.markSet.e
include : TailedIShape df XH
save 'dotlessi.tailed'
sketch # dotlessi.tailed
local df : DivFrame para.diversityI
set-width df.width
include df.markSet.e
include : VBar (df.middle) 0 XH
include : RightwardBottomSerif df.middle 0 (LONGJUT * df.div)
save 'dotlessi.hookybottom'
select-variant 'dotlessi' 0x131
sketch # iogonek.dotless
include [refer-glyph 'dotlessi'] AS_BASE
@ -636,17 +644,18 @@ glyph-block LetterUnified-Basic : begin
define VShapeMiddleWidth : adviceBlackness 3
define pInktrap 0.5
define StraightSbShrink : mix 1 designParameters.straightVShapeSbShrink : if SLAB 0.75 1
define [VShapeOutline] : params [top [sw STROKE] barStraight div] : glyph-construction
local df : DivFrame div
local fine : [if barStraight VShapeFineStraight VShapeFine] * sw / STROKE
local sbCor : (CAP / top) * OX
local dgCor : diagCor top (WIDTH / 2) 0 (sw * 2)
local clearance : 0 - OX
if barStraight : begin
local vxStartL : df.leftSB + sbCor + clearance
local vxStartL : df.leftSB * StraightSbShrink + clearance
local vxEndL : df.middle - cornerdist + clearance
local vxStartR : df.rightSB - sbCor - clearance
local vxStartR : df.width - df.leftSB * StraightSbShrink - clearance
local vxEndR : df.middle + cornerdist - clearance
include : spiro-outline
flat [mix vxStartL vxEndL 0] [mix top 0 0]
@ -658,7 +667,7 @@ glyph-block LetterUnified-Basic : begin
: else : begin
local vxStartL : df.leftSB + clearance
local vxEndL : df.middle - cornerdist + clearance
local vxStartR : df.rightSB - clearance
local vxStartR : df.width - df.leftSB - clearance
local vxEndR : df.middle + cornerdist - clearance
include : spiro-outline
flat vxStartL top
@ -673,12 +682,11 @@ glyph-block LetterUnified-Basic : begin
define [VShape] : params [top [sw STROKE] barStraight div] : glyph-construction
local df : DivFrame div
local fine : Math.min sw : if barStraight VShapeFineStraight VShapeFine
local sbCor : (CAP / top) * OX
local dgCor : diagCor (2 * top) WIDTH 0 (2 * sw)
if barStraight : begin
local vxStartL : SB + sbCor
local vxStartL : df.leftSB * StraightSbShrink
local vxEndL : df.middle - cornerdist
local vxStartR : df.rightSB - sbCor
local vxStartR : df.width - df.leftSB * StraightSbShrink
local vxEndR : df.middle + cornerdist
local midSW : VShapeMiddleWidth / STROKE * sw
include : dispiro
@ -1363,9 +1371,7 @@ glyph-block LetterUnified-Basic : begin
local dpy2 : (1 - [linreg (1 - px1) (1 - py1) px2 py2 1]) / (1 - py2)
local yrstrokel0 : MIDDLE - WIDTH * 0.1
local yrstrokel : MIDDLE - WIDTH * 0.1 + (STROKE * HVCONTRAST * [if (useStraightBottom || useCurlyBottom) (2 / 3) (1 / 3)])
local ySbCor : (XH / CAP) * (OX * [if slab 1 4])
local sbScalar : if (straightBar && SLAB && !slab) 1.5 1
local yrstroker : WIDTH - SB * sbScalar - [if straightBar ySbCor 0]
local yrstroker : WIDTH - SB * [if (straightBar && SLAB && !slab) 1.5 1] * [if (straightBar && !slab) designParameters.straightSmallYShapeSbShrink 1]
local yshrink : [linreg 18 1 126 0.85 STROKE] * [if straightBar ([adviceBlackness 3.25] / STROKE) 1]
local yBottomJut : JUT * 1.25
local slabysize : JUT * 1.0625 * (WIDTH / UPM) + STROKE

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 399 KiB

After

Width:  |  Height:  |  Size: 398 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 346 KiB

After

Width:  |  Height:  |  Size: 346 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 338 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 KiB

After

Width:  |  Height:  |  Size: 960 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 KiB

After

Width:  |  Height:  |  Size: 319 KiB

Before After
Before After

View file

@ -261,6 +261,10 @@ export : define [MarksetDiv p me] : begin
if : buildStandardMarkSet markAboveCap markBelowLower markToprightCap markBottomrightLower
export : define designParameters : object
# V shape
straightVShapeSbShrink 0.8
straightSmallYShapeSbShrink 0.7
#
equal_wideness 0.075
logic_narrow_shrink 0.75
GeometricLargeX : lambda [mw uw] : (mw + uw / 2) / mw

File diff suppressed because it is too large Load diff

View file

@ -169,9 +169,11 @@ section.opentype
> div.hr
font-size: 80%;
font-stretch: expanded;
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.2em;
margin: 3rem auto;
margin: 0 auto 3rem;
text-align: center;
display: block;
@ -184,7 +186,8 @@ section.opentype
vertical-align: 0.3em;
> ol.narrow
width: 40em;
font-size: 0.75em;
width: 48em;
list-style: none;
margin: 0 -5em;
padding: 0;
@ -195,57 +198,85 @@ section.opentype
> li
flex: none;
border-left: 1px solid #ddd;
margin-left: -1px;
margin-bottom: 1em;
ol.group
list-style: none;
margin: 0;
padding: 0;
display: flex;
width: 24em;
box-sizing: border-box;
ol.group > li
margin: 0 0.5em;
padding: 0;
border: none;
width: 4em;
flex: none;
display: flex;
justify-content: center;
position: relative;
> div.desc-group
flex: none;
width: 5em;
padding: 0 1em 0 0;
justify-content: flex-end;
> .tag
font-size: 0.75em;
display: block;
position: absolute;
width: auto;
left: 50%;
top: 0;
margin-left: calc(-1em);
&:before, &:after
> .triangle
font-feature-settings: 'NWID' on;
display: inline-block;
font-weight: 300;
font-size: 2em;
margin-top: 0.5em;
width: 0.5em;
text-align: center;
position: absolute;
content: '';
right: 0;
margin-right: -0.125em;
opacity: 0.75;
> ol.group
list-style: none;
margin: 0;
padding: 0;
flex: none;
display: flex;
.desc-group
border: none;
margin: 0;
padding: 0 0.5em;
width: 2.5em;
box-sizing: border-box;
flex: none;
display: flex;
justify-content: center;
position: relative;
&.ligature
width: 5em;
> .label
font-size: 0.75em;
display: block;
width: 0.75em;
border-bottom: 1px solid #ddd;
top: 0.6em;
position: absolute;
width: auto;
left: 50%;
top: 0.4375em;
margin-left: -1em;
font-weight: 400;
opacity: 0.75;
&:before
right: 100%;
margin-right: 0.25em;
&.ligature > .label.tag
&:before, &:after
position: absolute;
content: '';
display: block;
width: 0.75em;
border-bottom: 1px solid #ddd;
top: 0.6em;
&:after
left: 100%;
margin-left: 0.25em;
&:before
right: 100%;
margin-right: 0.25em;
> .sample
display: inline-block;
font-size: 2em;
margin-top: 0.5em;
width: 1em;
text-align: center;
&:after
left: 100%;
margin-left: 0.25em;
> .sample
display: inline-block;
font-weight: 300;
font-size: 2em;
margin-top: 0.5em;
width: 1em;
text-align: center;
> ol.wide
list-style: none;

View file

@ -41,7 +41,13 @@ function getCvData(variants) {
for (const [sampler, gr] of samplerGroups) {
gr.ligatureSampler = / /.test(sampler);
gr.descSampleText = gr.ligatureSampler ? sampler.split(" ") : [...sampler];
gr.configs.sort((a, b) => (a.tag < b.tag ? -1 : a.tag > b.tag ? 1 : 0));
gr.configs.sort((a, b) => {
const ta = (a.tag || a.tagUpright || a.tagItalic || "").toLowerCase();
const tb = (b.tag || b.tagUpright || b.tagItalic || "").toLowerCase();
if (ta < tb) return -1;
if (ta > tb) return 1;
return 0;
});
gr.rank = rankOf(gr.descSampleText[0][0]);
}
return [...samplerGroups.values()].sort((a, b) => b.rank - a.rank);

View file

@ -2,20 +2,30 @@
<div class="hr">Character Variants</div>
<ol class="narrow">
<%_ for(const group of cvData) { _%>
<li><ol class="group">
<%_ for(const config of group.configs) { _%>
<li>
<span class="tag"><%= config.tag || config.tagItalic %></span>
<li>
<div class="desc-group <%= group.ligatureSampler ? 'ligature' : 'char' %>">
<%_ if(group.ligatureSampler) { _%>
<%_ for(const text of group.descSampleText) { _%>
<span class="sample" style="font-feature-settings:'<%= config.tag %>'"><%= text %></span>
<div class="sample"><%= text %></div>
<%_ } _%>
<%_ } else { _%>
<div class="sample"><%= group.descSampleText[0] %></div>
<%_ } _%>
<div class="triangle">▶</div>
</div>
<ol class="group">
<%_ for(const config of group.configs) { _%>
<li class="desc-group <%= group.ligatureSampler ? 'ligature' : 'char' %>">
<div class="label tag"><%= config.tag || config.tagItalic %></div>
<%_ if(group.ligatureSampler) { _%>
<%_ for(const text of group.descSampleText) { _%>
<div class="sample" style="font-feature-settings:'<%= config.tag %>'"><%= text %></div>
<%_ } _%>
<%_ } else { _%>
<%_ if(config.tag) { _%>
<span class="sample" style="font-feature-settings:'<%= config.tag %>'"><%= group.descSampleText[0] %></span>
<span class="sample italic" style="font-feature-settings:'<%= config.tag %>'"><%= group.descSampleText[0] %></span>
<div class="sample" style="font-feature-settings:'<%= config.tag %>'"><%= group.descSampleText[0] %></div>
<%_ } else if(config.tagItalic) { _%>
<span class="sample italic" style="font-feature-settings:'<%= config.tagItalic %>'"><%= group.descSampleText[0] %></span>
<div class="sample italic" style="font-feature-settings:'<%= config.tagItalic %>'"><%= group.descSampleText[0] %></div>
<%_ } _%>
<%_ } _%>
</li>

View file

@ -147,6 +147,12 @@ sampler = 'i'
description = "Tailed `i`"
dotlessi = 'tailed'
[simple.v-i-hookybottom]
tag = "CVAA"
sampler = 'i'
description = "`i` with a straight tail"
dotlessi = 'hookybottom'
[simple.v-j-line]
tag = "cv57"
sampler = 'j'
@ -165,6 +171,27 @@ sampler = 'j'
description = '`j` without serif'
dotlessj = "straight"
[simple.v-k-straight]
tag = "cv68"
sampler = 'kK'
description = '`k` with standard shape'
k = 'straight'
K = 'straight'
[simple.v-k-curly]
tag = "cv69"
sampler = 'kK'
description = 'Slightly curly `k`, like Iosevka 2.x'
k = 'curly'
K = 'curly'
[simple.v-k-cursive]
tagItalic = "cv70"
sampler = 'kK'
description = '`k` with a cursive loop'
k = 'cursive'
K = 'straight'
[simple.v-l-hooky]
tag = 'cv09'
sampler = 'l'
@ -207,27 +234,6 @@ sampler = 'l'
description = '`l` with a straight tail'
l = 'hookybottom'
[simple.v-k-straight]
tag = "cv68"
sampler = 'kK'
description = '`k` with standard shape'
k = 'straight'
K = 'straight'
[simple.v-k-curly]
tag = "cv69"
sampler = 'kK'
description = 'Slightly curly `k`, like Iosevka 2.x'
k = 'curly'
K = 'curly'
[simple.v-k-cursive]
tagItalic = "cv70"
sampler = 'kK'
description = '`k` with a cursive loop'
k = 'cursive'
K = 'straight'
[simple.v-m-normal]
tag = 'cv25'
sampler = 'm'