Building Iosevka from Source
To build Iosevka you should:
Ensure that nodejs
(≥ 12.16.0) and ttfautohint
are present, and accessible from PATH
.
Run npm install
. This command will install all the NPM dependencies, and will also validate whether external dependencies are present.
npm run build -- contents::iosevka
.
You will find TTFs, as well as WOFF(2) web fonts and one Webfont CSS in the dist/
directory.
A Docker container handling the build environment for you can be found here .
To pull it from Docker Hub and start a standard build of the latest released version, run
docker run -it -v $(pwd):/build avivace/iosevka-build
If you are using Powershell, run
docker run -it -v ${pwd}:/build avivace/iosevka-build
Fonts files will be placed in the dist
folder.
You can provide private-build.plans.toml
for a customized build and/or specify the desired release appending -e FONT_VERSION=X.X.X
. to the Docker command.
To create a custom build, you need:
Create private-build-plans.toml
file if absent.
Add a build plan into private-build-plans.toml
. The configurable properties are described in the following sections.
Run npm run build -- contents::<your plan name>
and the built fonts would be available in dist/
. Aside from contents::<plan>
, other options are:
contents::<plan>
: TTF (Hinted and Unhinted), WOFF(2) and Web font CSS;
ttf::<plan>
: TTF;
ttf-unhinted::<plan>
: Unhinted TTF only;
webfont::<plan>
: Web fonts only (CSS + WOFF2);
woff2::<plan>
: WOFF2 only.
Configuration of build plans are organized under [buildPlans.<plan name>]
sections in the private-build-plans.toml
. You can use the Customizer to create the build plan, and/or manually edit them, following the instructions below.
Inside the plan, top-level properties include:
family
: String, defines the family name of your custom variant.
spacing
: Optional, String, denotes the spacing of the custom variant. Valid values include:
normal
: The normal monospace font.
quasi-proportional
: The font will become quasi-proportional.
quasi-proportional-extension-only
: The font will become quasi-proportional, but will not shrink narrow letters (like i
). Only wide letters (like M
) will get expanded.
term
: Make the symbols' width suitable for terminal emulators. Arrows and geometric symbols will become narrower.
fontconfig-mono
: Apply term
spacing changes and further apply changes to be compatible with FontConfig's Mono spacing, which recognizes a font as monospace if and only if its every non-combining characters having the same width. The changes include:
Completely remove wide glyphs. All non-combining glyphs will be exactly the same width.
As a consequence, the following characters will be removed :
U+27F5
LONG LEFTWARDS ARROW
U+27F6
LONG RIGHTWARDS ARROW
U+27FB
LONG LEFTWARDS ARROW FROM BAR
U+27FC
LONG RIGHTWARDS ARROW FROM BAR
fixed
: Apply fontconfig-mono
changes and further remove ligations.
serifs
: Optional, String, configures style of serifs.
When set to slab
, the font will be converted into slab-serif.
Otherwise the font will be sans-serif.
no-cv-ss
: Optional, Boolean, disables cv##
and ss##
OpenType features.
no-ligation
: Optional, Boolean, disables ligations.
export-glyph-names
: Optional, Boolean, whether to export glyph names into the fonts. Setting this to true
will increase file footprint, however this is necessary for ligature support in Kitty .
webfont-formats
: Optional, Array of String. Controls the formats needed to be exported into the webfont CSS. Valid options are 'ttf'
and 'woff2'
, or including both.
Build plan could have 5 optional subsections: ligations
, variants
, weights
, widths
and slopes
.
Subsection ligations
is used to customize the ligation set assigned to calt
OpenType feature. Properties include:
inherits
: Optional, String, defines the inherited ligation set. When absent, the ligation set will not inherit any other sets. Valid values are:
default-calt
: Inherit default ligation set.
dlig
: Default ligation set would be assigned to Discretionary ligatures.
clike
: Default ligation set would be assigned to C-Like.
javascript
: Default ligation set would be assigned to JavaScript.
php
: Default ligation set would be assigned to PHP.
ml
: Default ligation set would be assigned to ML.
fsharp
: Default ligation set would be assigned to F#.
fstar
: Default ligation set would be assigned to F*.
haskell
: Default ligation set would be assigned to Haskell.
idris
: Default ligation set would be assigned to Idris.
elm
: Default ligation set would be assigned to Elm.
purescript
: Default ligation set would be assigned to PureScript.
swift
: Default ligation set would be assigned to Swift.
dafny
: Default ligation set would be assigned to Dafny.
coq
: Default ligation set would be assigned to Coq.
matlab
: Default ligation set would be assigned to Matlab.
verilog
: Default ligation set would be assigned to Verilog.
wolfram
: Default ligation set would be assigned to Wolfram Language (Mathematica).
Configuring Character Variants
Subsection variants
is used to configure character variants in the font. Properties include:
design
, upright
, italic
, and oblique
: Optional, Dictionary, defines styles for individual characters. The choices are organized in key-value pairs, assigning a variant to a character group. Alternatively, you could assign numbers to cv##
tags, like what you did when using OpenType in CSS. Assignments under design
will be applied to all the slopes, and upright
, italic
, and oblique
will apply to corresponded slopes.
In addition, style selector for default digit form also uses these dictionaries.
The valid combinations include:
Default digit form:
digit-form = 'lining'
Lining (default) digit-form = 'old-style'
Old-style
APL form:
apl-form = 'none'
Disable APL-specific forms (default) apl-form = 'enable'
Enable harmonized alternate forms APL operators
Styles for A
:
capital-a = 'straight-serifless'
, cv01 = 1
Standard, straight A
, without serifs (default for Sans) capital-a = 'curly-serifless'
, cv01 = 2
Slightly curly A
, like Iosevka 2.x, without serifs capital-a = 'straight-top-serifed'
, cv01 = 3
Straight A
with serif at top capital-a = 'curly-top-serifed'
, cv01 = 4
Slightly curly A
, like Iosevka 2.x, with serif at top capital-a = 'straight-base-serifed'
, cv01 = 5
Straight A
with serif at both top and bottom (default for Slab) capital-a = 'curly-base-serifed'
, cv01 = 6
Slightly curly A
, like Iosevka 2.x, with serif at both top and bottom capital-a = 'straight-tri-serifed'
, cv01 = 7
Straight A
with serif at both top and bottom capital-a = 'curly-tri-serifed'
, cv01 = 8
Slightly curly A
, like Iosevka 2.x, with serif at both top and bottom
Styles for B
:
capital-b = 'standard-serifless'
, cv02 = 1
B
in near-symmetric proportion, without serifs (default for Sans)capital-b = 'more-asymmetric-serifless'
, cv02 = 2
B
in more asymmetric proportion to differentiate with 8
, without serifscapital-b = 'standard-unilateral-serifed'
, cv02 = 3
B
in near-symmetric proportion with motion serifs at topcapital-b = 'more-asymmetric-unilateral-serifed'
, cv02 = 4
B
in more asymmetric proportion with motion serifs at topcapital-b = 'standard-bilateral-serifed'
, cv02 = 5
B
in near-symmetric proportion with motion serifs at both top and bottom (default for Slab)capital-b = 'more-asymmetric-bilateral-serifed'
, cv02 = 6
B
in more asymmetric proportion with motion serifs at both top and bottomcapital-b = 'standard-interrupted-serifless'
, cv02 = 7
B
in near-symmetric proportion with interrupted middle bar, without serifscapital-b = 'more-asymmetric-interrupted-serifless'
, cv02 = 8
B
in more asymmetric proportion to differentiate with 8
, with interrupted middle bar, without serifscapital-b = 'standard-interrupted-unilateral-serifed'
, cv02 = 9
B
in near-symmetric proportion with interrupted middle bar and motion serifs at topcapital-b = 'more-asymmetric-interrupted-unilateral-serifed'
, cv02 = 10
B
in more asymmetric proportion with interrupted middle bar and 8
with motion serifs at topcapital-b = 'standard-interrupted-bilateral-serifed'
, cv02 = 11
B
in near-symmetric proportion with interrupted middle bar and motion serifs at both top and bottomcapital-b = 'more-asymmetric-interrupted-bilateral-serifed'
, cv02 = 12
B
in more asymmetric proportion with interrupted middle bar and 8
with motion serifs at both top and bottom
Styles for C
:
capital-c = 'serifless'
, cv03 = 1
Serifless C
(default for Sans) capital-c = 'unilateral-serifed'
, cv03 = 2
C
with serif at top (default for Slab)capital-c = 'bilateral-serifed'
, cv03 = 3
C
with serifs at both top and bottomcapital-c = 'unilateral-inward-serifed'
, cv03 = 4
C
with inward serif at topcapital-c = 'bilateral-inward-serifed'
, cv03 = 5
C
with inward serif at both top and bottom
Styles for D
:
capital-d = 'standard-serifless'
, cv04 = 1
Standard D
without serifs (default for Sans) capital-d = 'more-rounded-serifless'
, cv04 = 2
More rounded D
to differentiate with O
, without serifs capital-d = 'standard-unilateral-serifed'
, cv04 = 3
Standard D
with serifs at top capital-d = 'more-rounded-unilateral-serifed'
, cv04 = 4
More rounded D
to differentiate with O
with motion serifs at top capital-d = 'standard-bilateral-serifed'
, cv04 = 5
Standard D
with serifs at both top and bottom (default for Slab) capital-d = 'more-rounded-bilateral-serifed'
, cv04 = 6
More rounded D
to differentiate with O
with serifs at both top and bottom
Styles for E
:
capital-e = 'serifless'
, cv05 = 1
E without serifs (default for Sans) capital-e = 'top-left-serifed'
, cv05 = 2
E with serif only at top left capital-e = 'serifed'
, cv05 = 3
E with serifs (default for Slab)
Styles for F
:
capital-f = 'serifless'
, cv06 = 1
F without serifs (default for Sans) capital-f = 'top-left-serifed'
, cv06 = 2
F with serif only at top left capital-f = 'serifed'
, cv06 = 3
F with serifs (default for Slab)
Styles for G
:
capital-g = 'toothed-serifless-hookless'
, cv07 = 1
Toothed G capital-g = 'toothless-corner-serifless-hookless'
, cv07 = 2
Corner toothless G capital-g = 'toothless-rounded-serifless-hookless'
, cv07 = 3
Round toothless G capital-g = 'toothed-serifless-hooked'
, cv07 = 4
Toothed G with inward hook at terminal (default for Sans) capital-g = 'toothless-corner-serifless-hooked'
, cv07 = 5
Corner toothless G with inward hook at terminal capital-g = 'toothless-rounded-serifless-hooked'
, cv07 = 6
Round toothless G with inward hook at terminal capital-g = 'toothed-serifless-capped'
, cv07 = 7
Toothed G with a cap terminal capital-g = 'toothless-corner-serifless-capped'
, cv07 = 8
Corner toothless G with a cap terminal capital-g = 'toothless-rounded-serifless-capped'
, cv07 = 9
Round toothless G with a cap terminal capital-g = 'toothed-serifed-hookless'
, cv07 = 10
Toothed G with top serif capital-g = 'toothless-corner-serifed-hookless'
, cv07 = 11
Corner toothless G with top serif capital-g = 'toothless-rounded-serifed-hookless'
, cv07 = 12
Round toothless G with top serif capital-g = 'toothed-serifed-hooked'
, cv07 = 13
Toothed G with inward hook at terminal and top serif (default for Slab) capital-g = 'toothless-corner-serifed-hooked'
, cv07 = 14
Corner toothless G with inward hook at terminal and top serif capital-g = 'toothless-rounded-serifed-hooked'
, cv07 = 15
Round toothless G with inward hook at terminal and top serif capital-g = 'toothed-serifed-capped'
, cv07 = 16
Toothed G with a cap terminal and top serif capital-g = 'toothless-corner-serifed-capped'
, cv07 = 17
Corner toothless G with a cap terminal and top serif capital-g = 'toothless-rounded-serifed-capped'
, cv07 = 18
Round toothless G with a cap terminal and top serif capital-g = 'toothed-inward-serifed-hookless'
, cv07 = 19
Toothed G with inward top serif capital-g = 'toothless-corner-inward-serifed-hookless'
, cv07 = 20
Corner toothless G with inward top serif capital-g = 'toothless-rounded-inward-serifed-hookless'
, cv07 = 21
Round toothless G with inward top serif capital-g = 'toothed-inward-serifed-hooked'
, cv07 = 22
Toothed G with inward hook at terminal and inward top serif capital-g = 'toothless-corner-inward-serifed-hooked'
, cv07 = 23
Corner toothless G with inward hook at terminal and inward top serif capital-g = 'toothless-rounded-inward-serifed-hooked'
, cv07 = 24
Round toothless G with inward hook at terminal and inward top serif capital-g = 'toothed-inward-serifed-capped'
, cv07 = 25
Toothed G with a cap terminal and inward top serif capital-g = 'toothless-corner-inward-serifed-capped'
, cv07 = 26
Corner toothless G with a cap terminal and inward top serif capital-g = 'toothless-rounded-inward-serifed-capped'
, cv07 = 27
Round toothless G with a cap terminal and inward top serif
Styles for H
:
capital-h = 'serifless'
, cv08 = 1
H without serifs (default for Sans) capital-h = 'top-left-serifed'
, cv08 = 2
H with serif only at top left capital-h = 'top-left-bottom-right-serifed'
, cv08 = 3
H with serif only at top left and bottom right capital-h = 'serifed'
, cv08 = 4
H with serifs (default for Slab)
Styles for I
:
capital-i = 'serifed'
, cv09 = 1
I with standard (long) serifs (default) capital-i = 'serifless'
, cv09 = 2
I without serifs, like a straight bar capital-i = 'short-serifed'
, cv09 = 3
I with short serifs
Styles for J
:
capital-j = 'serifless'
, cv10 = 1
J without top serif capital-j = 'serifed'
, cv10 = 2
J with top serif at left side (default) capital-j = 'serifed-both-sides'
, cv10 = 3
J with top serif at both sides (asymmetric) capital-j = 'serifed-symmetric'
, cv10 = 4
J with top serif at both sides (symmetric) capital-j = 'flat-hook-serifless'
, cv10 = 5
J with flat hook and without top serif capital-j = 'flat-hook-serifed'
, cv10 = 6
J with flat hook and top serif at left side capital-j = 'flat-hook-serifed-both-sides'
, cv10 = 7
J with flat hook and top serif at both sides (asymmetric) capital-j = 'flat-hook-serifed-symmetric'
, cv10 = 8
J with flat hook and top serif at both sides (symmetric) capital-j = 'descending-serifless'
, cv10 = 9
J with hook goes below descender and without serif capital-j = 'descending-serifed'
, cv10 = 10
J with hook goes below descender and top serif at left side capital-j = 'descending-serifed-both-sides'
, cv10 = 11
J with hook goes below descender and top serif at both sides (asymmetric) capital-j = 'descending-serifed-symmetric'
, cv10 = 12
J with hook goes below descender and top serif at both sides (symmetric) capital-j = 'descending-flat-hook-serifless'
, cv10 = 13
J with flat hook goes below descender and without serif capital-j = 'descending-flat-hook-serifed'
, cv10 = 14
J with flat hook goes below descender and top serif at left side
Styles for K
:
capital-k = 'straight-serifless'
, cv11 = 1
K
with standard shape, without serifs (default for Sans)capital-k = 'curly-serifless'
, cv11 = 2
Slightly curly K
, like Iosevka 2.x, without serifs capital-k = 'symmetric-touching-serifless'
, cv11 = 3
K
with symmetric legs disconnected to the vertical bar, without serifscapital-k = 'symmetric-connected-serifless'
, cv11 = 4
K
with symmetric legs connected to the vertical bar, without serifscapital-k = 'straight-top-left-serifed'
, cv11 = 5
K
with standard shape and serifs at top leftcapital-k = 'curly-top-left-serifed'
, cv11 = 6
Slightly curly K
, like Iosevka 2.x, with serifs at top left capital-k = 'symmetric-touching-top-left-serifed'
, cv11 = 7
K
with symmetric legs disconnected to the vertical bar, and serifs at top leftcapital-k = 'symmetric-connected-top-left-serifed'
, cv11 = 8
K
with symmetric legs connected to the vertical bar, and serifs at top leftcapital-k = 'straight-bottom-right-serifed'
, cv11 = 9
K
with standard shape and serifs at bottom rightcapital-k = 'curly-bottom-right-serifed'
, cv11 = 10
Slightly curly K
, like Iosevka 2.x, with serifs at bottom right capital-k = 'symmetric-touching-bottom-right-serifed'
, cv11 = 11
K
with symmetric legs disconnected to the vertical bar, and serifs at bottom rightcapital-k = 'symmetric-connected-bottom-right-serifed'
, cv11 = 12
K
with symmetric legs connected to the vertical bar, and serifs at bottom rightcapital-k = 'straight-serifed'
, cv11 = 13
K
with standard shape, and serifs (default for Slab)capital-k = 'curly-serifed'
, cv11 = 14
Slightly curly K
, like Iosevka 2.x, and with serifs capital-k = 'symmetric-touching-serifed'
, cv11 = 15
K
with symmetric legs disconnected to the vertical bar, and serifscapital-k = 'symmetric-connected-serifed'
, cv11 = 16
K
with symmetric legs connected to the vertical bar, and serifscapital-k = 'straight-top-left-and-bottom-right-serifed'
, cv11 = 17
K
with standard shape and serifs at top left and bottom rightcapital-k = 'curly-top-left-and-bottom-right-serifed'
, cv11 = 18
Slightly curly K
, like Iosevka 2.x, with serifs at top left and bottom right capital-k = 'symmetric-touching-top-left-and-bottom-right-serifed'
, cv11 = 19
K
with symmetric legs disconnected to the vertical bar, and serifs at top left and bottom rightcapital-k = 'symmetric-connected-top-left-and-bottom-right-serifed'
, cv11 = 20
K
with symmetric legs connected to the vertical bar, and serifs at top left and bottom right
Styles for L
:
capital-l = 'serifless'
, cv12 = 1
Serifless L
(default for Sans) capital-l = 'motion-serifed'
, cv12 = 2
Standard L
with motion serif at bottom right capital-l = 'serifed'
, cv12 = 3
L
with serifs (default for Slab)
Styles for M
:
capital-m = 'hanging'
, cv13 = 1
M
with middle being hanging off baseline (default)capital-m = 'flat-bottom'
, cv13 = 2
M
with middle aligned to baselinecapital-m = 'slanted-sides-hanging'
, cv13 = 3
M
with slanted sides and middle being hanging off baselinecapital-m = 'slanted-sides-flat-bottom'
, cv13 = 4
M
with slanted sides and middle aligned to baselinecapital-m = 'hanging-motion-serifed'
, cv13 = 5
M
with middle being hanging off baseline and motion serifscapital-m = 'flat-bottom-motion-serifed'
, cv13 = 6
M
with middle aligned to baseline and motion serifscapital-m = 'slanted-sides-hanging-motion-serifed'
, cv13 = 7
M
with slanted sides, middle being hanging off baseline, and motion serifscapital-m = 'slanted-sides-flat-bottom-motion-serifed'
, cv13 = 8
M
with slanted sides, middle aligned to baseline, and motion serifs
Styles for N
:
capital-n = 'standard'
, cv14 = 1
Standard N (default) capital-n = 'asymmetric'
, cv14 = 2
More asymmetric N, with the diagonal bar stops at middle of right stem capital-n = 'motion-serifed'
, cv14 = 3
Standard N with motion serifs capital-n = 'asymmetric-motion-serifed'
, cv14 = 4
More asymmetric N, with the diagonal bar stops at middle of right stem and motion serifs
Styles for P
:
capital-p = 'closed'
, cv15 = 1
Closed P
(default) capital-p = 'open'
, cv15 = 2
P with open contour at bottom capital-p = 'closed-motion-serifed'
, cv15 = 3
Closed P
with motion serifs capital-p = 'open-motion-serifed'
, cv15 = 4
P with open contour at bottom and motion serifs
Styles for Q
:
capital-q = 'curly-tailed'
, cv16 = 1
Q
with a curly tail (default)capital-q = 'crossing-curly-tailed'
, cv16 = 2
Q
with a curly tailcapital-q = 'straight'
, cv16 = 3
Q
with a straight tail like in the old versionscapital-q = 'crossing'
, cv16 = 4
Q
with a tail crossing the ringcapital-q = 'vertical-crossing'
, cv16 = 5
Q
with a vertical tail crossing the ringcapital-q = 'horizontal-tailed'
, cv16 = 6
Q
with a horizontal tail, like Universcapital-q = 'detached-tailed'
, cv16 = 7
Q
with a oblique tail detachedcapital-q = 'detached-bend-tailed'
, cv16 = 8
Q
with a bend tail detachedcapital-q = 'open-swash'
, cv16 = 9
Q
with open contour and swash-y shape
Styles for R
:
capital-r = 'straight'
, cv17 = 1
Standard, straight-leg R
(default) capital-r = 'curly'
, cv17 = 2
Slightly curly-legged R
, like Iosevka 2.x capital-r = 'standing'
, cv17 = 3
R
with near-vertical standing legcapital-r = 'straight-open'
, cv17 = 4
Standard, straight-leg R
, with open contour at bottom capital-r = 'curly-open'
, cv17 = 5
Slightly curly-legged R
, like Iosevka 2.x, with open contour at bottom capital-r = 'standing-open'
, cv17 = 6
R
with near-vertical standing leg, with open contour at bottomcapital-r = 'straight-motion-serifed'
, cv17 = 7
Standard, straight-leg R
, with motion serifs capital-r = 'curly-motion-serifed'
, cv17 = 8
Slightly curly-legged R
, like Iosevka 2.x, with motion serifs capital-r = 'standing-motion-serifed'
, cv17 = 9
R
with near-vertical standing legcapital-r = 'straight-open-motion-serifed'
, cv17 = 10
Standard, straight-leg R
, with open contour at bottom and motion serifs capital-r = 'curly-open-motion-serifed'
, cv17 = 11
Slightly curly-legged R
, like Iosevka 2.x, with open contour at bottom and motion serifs capital-r = 'standing-open-motion-serifed'
, cv17 = 12
R
with near-vertical standing leg, with open contour at bottom and motion serifs
Styles for S
:
capital-s = 'serifless'
, cv18 = 1
Serifless S
(default for Sans) capital-s = 'unilateral-serifed'
, cv18 = 2
S
with single serif at topcapital-s = 'bilateral-serifed'
, cv18 = 3
S
with serifs at both end (default for Slab)capital-s = 'unilateral-inward-serifed'
, cv18 = 4
S
with single inward serif at topcapital-s = 'bilateral-inward-serifed'
, cv18 = 5
S
with inward serifs at both end
Styles for T
:
capital-t = 'serifless'
, cv19 = 1
Serifless T (default for Sans) capital-t = 'motion-serifed'
, cv19 = 2
Motion-Serifed T capital-t = 'serifed'
, cv19 = 3
Serifed T (default for Slab)
Styles for U
:
capital-u = 'toothed'
, cv20 = 1
U
with bottom-right toothcapital-u = 'toothless-corner'
, cv20 = 2
Toothless (corner bottom-right) U
capital-u = 'toothless-rounded'
, cv20 = 3
Toothless (rounded) U
(default) capital-u = 'tailed'
, cv20 = 4
U
with right bar and a slightly curly tailcapital-u = 'motion-serifed'
, cv20 = 5
Normal U
with right bar and motion serifs capital-u = 'tailed-motion-serifed'
, cv20 = 6
U
with right bar, motion serifs and a slightly curly tailcapital-u = 'toothless-corner-unilateral-motion-serifed'
, cv20 = 7
Toothless (corner bottom-right) U
with motion serifs, like Museo capital-u = 'toothless-rounded-unilateral-motion-serifed'
, cv20 = 8
Toothless (rounded) U
with motion serifs, like Museo capital-u = 'toothless-corner-bilateral-motion-serifed'
, cv20 = 9
Toothless (corner bottom-right) U
with motion serifs, like Museo capital-u = 'toothless-rounded-bilateral-motion-serifed'
, cv20 = 10
Toothless (rounded) U
with motion serifs, like Museo
Styles for V
:
capital-v = 'straight'
, cv21 = 1
Standard, straight V
(default) capital-v = 'curly'
, cv21 = 2
Slightly curly V
, like Iosevka 2.x capital-v = 'straight-motion-serifed'
, cv21 = 3
Standard, straight V
, and motion serifs capital-v = 'curly-motion-serifed'
, cv21 = 4
Slightly curly V
, like Iosevka 2.x, and motion serifs
Styles for W
:
capital-w = 'straight'
, cv22 = 1
Standard, straight W
(default) capital-w = 'curly'
, cv22 = 2
Slightly curly W
, like Iosevka 2.x capital-w = 'straight-flat-top'
, cv22 = 3
Standard, straight W
, and the middle is forced to be aligned the top capital-w = 'straight-double-v'
, cv22 = 4
Straight W
looks like double V capital-w = 'straight-asymmetric'
, cv22 = 5
Straight W
looks asymmetric capital-w = 'straight-vertical-sides'
, cv22 = 6
Straight W
with vertical sides capital-w = 'straight-motion-serifed'
, cv22 = 7
Standard, straight W
, with motion serifs capital-w = 'curly-motion-serifed'
, cv22 = 8
Slightly curly W
, like Iosevka 2.x, with motion serifs capital-w = 'straight-flat-top-motion-serifed'
, cv22 = 9
Standard, straight W
, and the middle is forced to be aligned the top, with motion serifs capital-w = 'straight-double-v-motion-serifed'
, cv22 = 10
Straight W
looks like double V, with motion serifs capital-w = 'straight-asymmetric-motion-serifed'
, cv22 = 11
Straight W
looks asymmetric, with motion serifs capital-w = 'straight-vertical-sides-motion-serifed'
, cv22 = 12
Straight W
with vertical sides and motion serifs
Styles for X
:
capital-x = 'straight-serifless'
, cv23 = 1
Serifless, straight X
(default for Sans) capital-x = 'curly-serifless'
, cv23 = 2
Serifless, slightly curly X
, like Iosevka 2.x capital-x = 'straight-motion-serifed'
, cv23 = 3
Straight X
with motion serifs capital-x = 'curly-motion-serifed'
, cv23 = 4
Slightly curly X
, like Iosevka 2.x, with motion serifs capital-x = 'straight-serifed'
, cv23 = 5
Straight X
with full serifs (default for Slab) capital-x = 'curly-serifed'
, cv23 = 6
Slightly curly X
, like Iosevka 2.x, with full serifs
Styles for Y
:
capital-y = 'straight-serifless'
, cv24 = 1
Straight Y
without serifs (default for Sans) capital-y = 'curly-serifless'
, cv24 = 2
Slightly curly Y
, like Iosevka 2.x, without serifs capital-y = 'straight-base-serifed'
, cv24 = 3
Standard, straight Y
, with serif at bottom capital-y = 'curly-base-serifed'
, cv24 = 4
Slightly curly Y
, like Iosevka 2.x, with serif at bottom capital-y = 'straight-motion-serifed'
, cv24 = 5
Standard, straight Y
, with motion serifs capital-y = 'curly-motion-serifed'
, cv24 = 6
Slightly curly Y
, like Iosevka 2.x, with motion serifs capital-y = 'straight-serifed'
, cv24 = 7
Standard, straight Y
, with serifs (default for Slab) capital-y = 'curly-serifed'
, cv24 = 8
Slightly curly Y
, like Iosevka 2.x, with serifs
Styles for Z
:
capital-z = 'straight-serifless'
, cv25 = 1
Straight Z
without serifs (default for Sans) capital-z = 'straight-serifless-with-crossbar'
, cv25 = 2
Straight Z
with a diagonal crossbar, and without serifs capital-z = 'straight-serifless-with-horizontal-crossbar'
, cv25 = 3
Straight Z
with a horizontal crossbar, and without serifs capital-z = 'curly-serifless'
, cv25 = 4
Curly Z
without serifs capital-z = 'curly-serifless-with-crossbar'
, cv25 = 5
Curly Z
with a diagonal crossbar, and without serifs capital-z = 'curly-serifless-with-horizontal-crossbar'
, cv25 = 6
Curly Z
with a horizontal crossbar, and without serifs capital-z = 'straight-serifed'
, cv25 = 7
Straight Z
with top and bottom serifs (default for Slab) capital-z = 'straight-serifed-with-crossbar'
, cv25 = 8
Straight Z
with a diagonal crossbar and serifs capital-z = 'straight-serifed-with-horizontal-crossbar'
, cv25 = 9
Straight Z
with a horizontal crossbar and serifs capital-z = 'curly-serifed'
, cv25 = 10
Curly Z
with top and bottom serifs capital-z = 'curly-serifed-with-crossbar'
, cv25 = 11
Curly Z
with a diagonal crossbar and serifs capital-z = 'curly-serifed-with-horizontal-crossbar'
, cv25 = 12
Curly Z
with a horizontal crossbar and serifs capital-z = 'straight-bottom-serifed'
, cv25 = 13
Standard Z
with serif at bottom capital-z = 'straight-bottom-serifed-with-crossbar'
, cv25 = 14
Standard Z
with a diagonal crossbar and serif at bottom capital-z = 'straight-bottom-serifed-with-horizontal-crossbar'
, cv25 = 15
Standard Z
with a horizontal crossbar and serif at bottom capital-z = 'curly-bottom-serifed-with-crossbar'
, cv25 = 16
Curly Z
with serif at bottom capital-z = 'curly-bottom-serifed-with-horizontal-crossbar'
, cv25 = 17
Curly Z
with a diagonal crossbar and serif at bottom capital-z = 'curly-bottom-serifed'
, cv25 = 18
Curly Z
with a horizontal crossbar and serif at bottom capital-z = 'straight-top-serifed'
, cv25 = 19
Standard Z
with serif at top capital-z = 'straight-top-serifed-with-crossbar'
, cv25 = 20
Standard Z
with a diagonal crossbar and serif at top capital-z = 'straight-top-serifed-with-horizontal-crossbar'
, cv25 = 21
Standard Z
with a horizontal crossbar and serif at top capital-z = 'curly-top-serifed'
, cv25 = 22
Curly Z
with serif at top capital-z = 'curly-top-serifed-with-crossbar'
, cv25 = 23
Curly Z
with a diagonal crossbar and serif at top capital-z = 'curly-top-serifed-with-horizontal-crossbar'
, cv25 = 24
Curly Z
with a horizontal crossbar and serif at top capital-z = 'cursive'
, cv25 = 25
Cursive Z
capital-z = 'cursive-with-crossbar'
, cv25 = 26
Cursive Z
with a diagonal cross bar capital-z = 'cursive-with-horizontal-crossbar'
, cv25 = 27
Cursive Z
with a horizontal cross bar
Styles for a
:
a = 'double-storey-serifless'
, cv26 = 1
Double-storey a
without serifs (default for Sans Upright) a = 'double-storey-tailed'
, cv26 = 2
Double-storey a
with curly tail a = 'double-storey-toothless-corner'
, cv26 = 3
Toothless (cornered bottom-right) double-storey a
a = 'double-storey-toothless-rounded'
, cv26 = 4
Toothless (rounded bottom-right) double-storey a
a = 'double-storey-serifed'
, cv26 = 5
Double-storey a
with serif at bottom right (default for Slab Upright) a = 'single-storey-serifless'
, cv26 = 6
Single-storey a
without serifs a = 'single-storey-earless-corner-serifless'
, cv26 = 7
Earless (cornered top-right) single-storey a
without serifs a = 'single-storey-earless-rounded-serifless'
, cv26 = 8
Earless (rounded top-right) single-storey a
without serifs a = 'single-storey-tailed'
, cv26 = 9
Single-storey a
with curly tail (default for Italic) a = 'single-storey-earless-corner-tailed'
, cv26 = 10
Earless (cornered top-right) single-storey a
with curly tail a = 'single-storey-earless-rounded-tailed'
, cv26 = 11
Earless (rounded top-right) single-storey a
with curly tail a = 'single-storey-serifed'
, cv26 = 12
Single-storey a
with serif at bottom right a = 'single-storey-earless-corner-serifed'
, cv26 = 13
Earless (cornered top-right) single-storey a
with serif at bottom right a = 'single-storey-earless-rounded-serifed'
, cv26 = 14
Earless (rounded top-right) single-storey a
with serif at bottom right
Styles for b
:
b = 'toothed'
, cv27 = 1
b
with bottom-left tooth (default)b = 'toothless-corner'
, cv27 = 2
b
without bottom-left tooth, with a corner transitionb = 'toothless-rounded'
, cv27 = 3
b
without bottom-left tooth, with a rounded transitionb = 'toothed-motion-serifed'
, cv27 = 4
b
with motion serif, and with bottom-left toothb = 'toothless-corner-motion-serifed'
, cv27 = 5
b
with motion serif, and without bottom-left tooth, with a corner transitionb = 'toothless-rounded-motion-serifed'
, cv27 = 6
b
with motion serif, and without bottom-left tooth, with a rounded transition
Styles for c
:
c = 'serifless'
, cv28 = 1
Serifless c
(default for Sans) c = 'unilateral-serifed'
, cv28 = 2
c
with serif at top (default for Slab Upright)c = 'bilateral-serifed'
, cv28 = 3
c
with serifs at both top and bottomc = 'unilateral-inward-serifed'
, cv28 = 4
c
with inward serif at top (default for Slab Italic)c = 'bilateral-inward-serifed'
, cv28 = 5
c
with inward serif at both top and bottom
Styles for d
:
d = 'toothed-serifless'
, cv29 = 1
d
with bottom-right tooth, and without serifs (default for Sans Upright)d = 'toothless-corner-serifless'
, cv29 = 2
d
without bottom-right tooth, with a corner transition, and without serifd = 'toothless-rounded-serifless'
, cv29 = 3
d
without bottom-right tooth, with a rounded transition, and without serifd = 'tailed-serifless'
, cv29 = 4
d
with a bottom-right tail, and without serif (default for Sans Italic)d = 'toothed-top-serifed'
, cv29 = 5
d
with bottom-right tooth and top serifd = 'toothed-serifed'
, cv29 = 6
d
with serifs (default for Slab Upright)d = 'toothless-corner-serifed'
, cv29 = 7
d
without bottom-right tooth, with a corner transition and top serifd = 'toothless-rounded-serifed'
, cv29 = 8
d
without bottom-right tooth, with a rounded transition and top serifd = 'tailed-serifed'
, cv29 = 9
d
with a bottom-right tail and top serif (default for Slab Italic)
Styles for e
:
e = 'flat-crossbar'
, cv30 = 1
e
with flat crossbar (default for Upright)e = 'rounded'
, cv30 = 2
e
with more rounded shape (default for Italic)
Styles for f
:
f = 'serifless'
, cv31 = 1
f
without bottom serif, hook or extension (default for Sans Upright)f = 'serifed'
, cv31 = 2
f
with bottom serif (default for Slab Upright)f = 'tailed'
, cv31 = 3
f
with bottom hookf = 'extended'
, cv31 = 4
f
with bar extended to descenderf = 'diagonal-tailed'
, cv31 = 5
f
with bottom diagonal tailf = 'serifless-crossbar-at-x-height'
, cv31 = 6
f
without bottom serif, hook or extension; crossbar is placed right at X-heightf = 'serifed-crossbar-at-x-height'
, cv31 = 7
f
with bottom serif; crossbar is placed right at X-heightf = 'tailed-crossbar-at-x-height'
, cv31 = 8
f
with bottom hook; crossbar is placed right at X-heightf = 'extended-crossbar-at-x-height'
, cv31 = 9
f
with bar extended to descender; crossbar is placed right at X-heightf = 'diagonal-tailed-crossbar-at-x-height'
, cv31 = 10
f
with bottom diagonal tail; crossbar is placed right at X-heightf = 'flat-hook'
, cv31 = 11
f
with flat top hook, without bottom serif, hook or extensionf = 'flat-hook-serifed'
, cv31 = 12
f
with flat top hook and bottom seriff = 'flat-hook-tailed'
, cv31 = 13
f
with flat top hook and bottom hook (default for Italic)f = 'flat-hook-extended'
, cv31 = 14
f
with flat top hook and bar extended to descenderf = 'flat-hook-diagonal-tailed'
, cv31 = 15
f
with flat hook and bottom diagonal tailf = 'flat-hook-crossbar-at-x-height'
, cv31 = 16
f
with flat top hook, without bottom serif, hook or extension; crossbar is placed right at X-heightf = 'flat-hook-serifed-crossbar-at-x-height'
, cv31 = 17
f
with flat top hook, bottom serif; crossbar is placed right at X-heightf = 'flat-hook-tailed-crossbar-at-x-height'
, cv31 = 18
f
with flat top hook, bottom hook; crossbar is placed right at X-heightf = 'flat-hook-extended-crossbar-at-x-height'
, cv31 = 19
f
with flat top hook, bar extended to descender; crossbar is placed right at X-heightf = 'flat-hook-diagonal-tailed-crossbar-at-x-height'
, cv31 = 20
f
with flat hook and bottom diagonal tail; crossbar is placed right at X-height
Styles for g
:
g = 'double-storey'
, cv32 = 1
Double-storey g
g = 'double-storey-open'
, cv32 = 2
Open Double-storey g
, like Trebuchet MS or Fira Code g = 'single-storey-serifless'
, cv32 = 3
Single-storey g
without serifs (default for Sans) g = 'single-storey-serifed'
, cv32 = 4
Single-storey g
with serif at top right (default for Slab) g = 'earless-corner'
, cv32 = 5
Earless (cornered top-right) single-storey g
g = 'earless-rounded'
, cv32 = 6
Earless (rounded top-right) single-storey g
g = 'single-storey-flat-hook-serifless'
, cv32 = 7
Single-storey g
with flat terminal hook and without serifs g = 'single-storey-flat-hook-serifed'
, cv32 = 8
Single-storey g
with top-right serif and flat terminal hook g = 'single-storey-earless-corner-flat-hook'
, cv32 = 9
Earless (cornered top-right) single-storey g
with flat terminal hook g = 'single-storey-earless-rounded-flat-hook'
, cv32 = 10
Earless (rounded top-right) single-storey g
with flat terminal hook
Styles for h
:
h = 'straight'
, cv33 = 1
h
with straight ending (default)h = 'tailed'
, cv33 = 2
h
with curly tailed endingh = 'straight-motion-serifed'
, cv33 = 3
h
with straight ending and motion serifsh = 'tailed-motion-serifed'
, cv33 = 4
h
with curly tailed ending and motion serifsh = 'straight-top-left-serifed'
, cv33 = 5
h
with straight ending and serif at top left
Styles for i
:
i = 'serifed'
, cv34 = 1
Serifed i
(default for Upright) i = 'zshaped'
, cv34 = 2
Z-shaped i
i = 'serifless'
, cv34 = 3
i
like a straight linei = 'hooky'
, cv34 = 4
Hooky i
i = 'hooky-bottom'
, cv34 = 5
i
with a sharp-turning horizontal taili = 'serifed-asymmetric'
, cv34 = 6
i
with shorter top serif and full bottom serifi = 'tailed'
, cv34 = 7
i
with curly taili = 'tailed-serifed'
, cv34 = 8
i
with top serif and curly tail (default for Italic)i = 'flat-tailed'
, cv34 = 9
i
with curly-then-flat taili = 'serifed-flat-tailed'
, cv34 = 10
i
with top serif and curly-then-flat taili = 'diagonal-tailed'
, cv34 = 11
i
with diagonal taili = 'serifed-diagonal-tailed'
, cv34 = 12
i
with top serif and diagonal tail
Styles for j
:
j = 'serifless'
, cv35 = 1
j
without serifj = 'serifed'
, cv35 = 2
j
with top serif (default)j = 'straight-line'
, cv35 = 3
j
like a straight linej = 'hooky'
, cv35 = 4
j
like a straight line with top serifj = 'flat-hook-serifless'
, cv35 = 5
j
with flat terminal hookj = 'flat-hook-serifed'
, cv35 = 6
j
with flat terminal hook and top serifj = 'diagonal-tailed-serifless'
, cv35 = 7
j
with diagonal tailj = 'diagonal-tailed-serifed'
, cv35 = 8
j
with top serif and diagonal tail
Styles for k
:
k = 'straight-serifless'
, cv36 = 1
k
with standard shape, and without serifs (default for Sans Upright)k = 'curly-serifless'
, cv36 = 2
Slightly curly k
, like Iosevka 2.x, and without serifs k = 'cursive-serifless'
, cv36 = 3
k
with a cursive loop, and without serifs (default for Sans Italic)k = 'diagonal-tailed-cursive-serifless'
, cv36 = 4
k
with a cursive loop and diagonal tail, and without serifsk = 'symmetric-touching-serifless'
, cv36 = 5
k
with symmetric legs disconnected to the vertical bar, and without serifsk = 'symmetric-connected-serifless'
, cv36 = 6
k
with symmetric legs connected to the vertical bar, and without serifsk = 'straight-top-left-serifed'
, cv36 = 7
k
with serifs at top leftk = 'curly-top-left-serifed'
, cv36 = 8
Slightly curly k
, like Iosevka 2.x, with serifs at top left k = 'cursive-top-left-serifed'
, cv36 = 9
k
with a cursive loop and serifs at top leftk = 'diagonal-tailed-cursive-top-left-serifed'
, cv36 = 10
k
with a cursive loop, diagonal tail and serifs at top left (default for Slab Italic)k = 'symmetric-touching-top-left-serifed'
, cv36 = 11
k
with symmetric legs disconnected to the vertical bar and serifs at top leftk = 'symmetric-connected-top-left-serifed'
, cv36 = 12
k
with symmetric legs connected to the vertical bar and serifs at top leftk = 'straight-bottom-right-serifed'
, cv36 = 13
k
with serifs at bottom rightk = 'curly-bottom-right-serifed'
, cv36 = 14
Slightly curly k
, like Iosevka 2.x, with serifs at bottom right k = 'cursive-bottom-right-serifed'
, cv36 = 15
k
with a cursive loop and serifs at bottom rightk = 'symmetric-touching-bottom-right-serifed'
, cv36 = 16
k
with symmetric legs disconnected to the vertical bar and serifs at bottom rightk = 'symmetric-connected-bottom-right-serifed'
, cv36 = 17
k
with symmetric legs connected to the vertical bar and serifs at bottom rightk = 'straight-top-left-and-bottom-right-serifed'
, cv36 = 18
k
with serifs at top left and bottom rightk = 'curly-top-left-and-bottom-right-serifed'
, cv36 = 19
Slightly curly k
, like Iosevka 2.x, with serifs at top left and bottom right k = 'cursive-top-left-and-bottom-right-serifed'
, cv36 = 20
k
with a cursive loop and serifs at top left and bottom rightk = 'symmetric-touching-top-left-and-bottom-right-serifed'
, cv36 = 21
k
with symmetric legs disconnected to the vertical bar and serifs at top left and bottom rightk = 'symmetric-connected-top-left-and-bottom-right-serifed'
, cv36 = 22
k
with symmetric legs connected to the vertical bar and serifs at top left and bottom rightk = 'straight-serifed'
, cv36 = 23
k
with serifs (default for Slab Upright)k = 'curly-serifed'
, cv36 = 24
Slightly curly k
, like Iosevka 2.x, with serifs k = 'cursive-serifed'
, cv36 = 25
k
with a cursive loop and serifsk = 'symmetric-touching-serifed'
, cv36 = 26
k
with symmetric legs disconnected to the vertical bar and serifsk = 'symmetric-connected-serifed'
, cv36 = 27
k
with symmetric legs connected to the vertical bar and serifs
Styles for l
:
l = 'serifed'
, cv37 = 1
Serifed l
(default for Upright) l = 'serifless'
, cv37 = 2
l
like a straight linel = 'hooky'
, cv37 = 3
Hooky l
l = 'zshaped'
, cv37 = 4
Z-shaped l
l = 'hooky-bottom'
, cv37 = 5
l
with a straight sharp-turning horizontal taill = 'serifed-asymmetric'
, cv37 = 6
l
with shorter top serif and full bottom serifl = 'tailed'
, cv37 = 7
l
with curly taill = 'tailed-serifed'
, cv37 = 8
l
with top serif and curly tail (default for Italic)l = 'flat-tailed'
, cv37 = 9
l
with curly-then-flat taill = 'serifed-flat-tailed'
, cv37 = 10
l
with top serif and curly-then-flat taill = 'diagonal-tailed'
, cv37 = 11
l
with diagonal taill = 'serifed-diagonal-tailed'
, cv37 = 12
l
with top serif and diagonal tail
Styles for m
:
m = 'normal'
, cv38 = 1
m
with normal middle leg, touching the baseline (default)m = 'short-leg'
, cv38 = 2
m
with shorter middle leg, like Ubuntu Monom = 'tailed'
, cv38 = 3
m
with normal middle leg, touching the baseline, and a curly tailm = 'short-leg-tailed'
, cv38 = 4
m
with shorter middle leg, like Ubuntu Mono, and a curly tailm = 'earless-corner-double-arch'
, cv38 = 5
Earless (corner top-left) m
with normal middle leg touching baseline m = 'earless-corner-double-arch-short-leg'
, cv38 = 6
Earless (corner top-left) m
with a shorter middle leg like Ubuntu Mono m = 'earless-corner-double-arch-tailed'
, cv38 = 7
Earless (corner top-left) m
with normal middle leg touching baseline, and a curly tail m = 'earless-corner-double-arch-short-leg-tailed'
, cv38 = 8
Earless (corner top-left) m
with a shorter middle leg like Ubuntu Mono, and a curly tail m = 'earless-rounded-double-arch'
, cv38 = 9
Earless (rounded top-left) m
with normal middle leg touching baseline m = 'earless-rounded-double-arch-short-leg'
, cv38 = 10
Earless (rounded top-left) m
with a shorter middle leg like Ubuntu Mono m = 'earless-rounded-double-arch-tailed'
, cv38 = 11
Earless (rounded top-left) m
with normal middle leg touching baseline, and a curly tail m = 'earless-rounded-double-arch-short-leg-tailed'
, cv38 = 12
Earless (rounded top-left) m
with a shorter middle leg like Ubuntu Mono, and a curly tail m = 'earless-single-arch'
, cv38 = 13
Earless (single-arch) m
with normal middle leg touching baseline m = 'earless-single-arch-short-leg'
, cv38 = 14
Earless (single-arch) m
with a shorter middle leg like Ubuntu Mono m = 'earless-single-arch-tailed'
, cv38 = 15
Earless (single-arch) m
with normal middle leg touching baseline, and a curly tail m = 'earless-single-arch-short-leg-tailed'
, cv38 = 16
Earless (single-arch) m
with a shorter middle leg like Ubuntu Mono, and a curly tail m = 'top-left-serifed'
, cv38 = 17
m
with serif at top left, normal middle leg touching baselinem = 'short-leg-top-left-serifed'
, cv38 = 18
m
with serif at top left, a shorter middle leg like Ubuntu Monom = 'tailed-top-left-serifed'
, cv38 = 19
m
with serif at top left, normal middle leg touching baseline, and a curly tailm = 'short-leg-tailed-top-left-serifed'
, cv38 = 20
m
with serif at top left, a shorter middle leg like Ubuntu Mono, and a curly tailm = 'top-left-and-bottom-right-serifed'
, cv38 = 21
m
with serifs at top left and bottom right, normal middle leg touching baselinem = 'short-leg-top-left-and-bottom-right-serifed'
, cv38 = 22
m
with serifs at top left and bottom right, a shorter middle leg like Ubuntu Mono
Styles for n
:
n = 'straight'
, cv39 = 1
n
with straight ending (default)n = 'tailed'
, cv39 = 2
n
with a curly tailn = 'earless-corner-straight'
, cv39 = 3
Earless (corner top-left) n
with straight ending n = 'earless-corner-tailed'
, cv39 = 4
Earless (corner top-left) n
with a curly tail n = 'earless-rounded-straight'
, cv39 = 5
Earless (rounded top-left) n
with straight ending n = 'earless-rounded-tailed'
, cv39 = 6
Earless (rounded top-left) n
with a curly tail n = 'straight-motion-serifed'
, cv39 = 7
n
with motion serifs and straight endingn = 'tailed-motion-serifed'
, cv39 = 8
n
with motion serifs and a curly tailn = 'straight-top-left-serifed'
, cv39 = 9
n
with motion serifs at top left and straight ending
Styles for p
:
p = 'eared'
, cv40 = 1
p
with top-left ear (default)p = 'earless-corner'
, cv40 = 2
p
without top-left ear (corner)p = 'earless-rounded'
, cv40 = 3
p
without top-left ear (rounded)p = 'motion-serifed'
, cv40 = 4
p
with motion serifs
Styles for q
:
q = 'straight'
, cv41 = 1
q
with straight bar (default)q = 'earless-corner'
, cv41 = 2
Earless (cornered top-left) single-storey q
q = 'earless-rounded'
, cv41 = 3
Earless (rounded top-left) single-storey q
q = 'straight-motion-serifed'
, cv41 = 4
q
with straight bar and motion serifsq = 'tailed'
, cv41 = 5
q
with tailq = 'earless-corner-tailed'
, cv41 = 6
Earless (cornered top-left) single-storey q
with curly tail q = 'earless-rounded-tailed'
, cv41 = 7
Earless (rounded top-left) single-storey q
with curly tail q = 'tailed-motion-serifed'
, cv41 = 8
q
with tail and motion serifsq = 'diagonal-tailed'
, cv41 = 9
q
with diagonal tailq = 'earless-corner-diagonal-tailed'
, cv41 = 10
Earless (cornered top-left) single-storey q
with curly diagonal tail q = 'earless-rounded-diagonal-tailed'
, cv41 = 11
Earless (rounded top-left) single-storey q
with curly diagonal tail q = 'diagonal-tailed-motion-serifed'
, cv41 = 12
q
with diagonal tail and motion serifs
Styles for r
:
r = 'serifless'
, cv42 = 1
Straight, serif-less r
(default for Sans) r = 'serifed'
, cv42 = 2
r
with serif at both top and bottom (default for Slab Upright)r = 'top-serifed'
, cv42 = 3
r
with serifs at top-left only (default for Slab Italic)r = 'base-serifed'
, cv42 = 4
r
with serifs at top-left onlyr = 'earless-corner'
, cv42 = 5
Earless (corner top-left), serif-less r
r = 'earless-corner-serifed'
, cv42 = 6
Earless (corner top-left), serifed r
r = 'earless-rounded'
, cv42 = 7
Earless (rounded top-left), serif-less r
r = 'earless-rounded-serifed'
, cv42 = 8
Earless (rounded top-left), serifed r
r = 'hookless'
, cv42 = 9
Hookless, serifless r
r = 'hookless-serifed'
, cv42 = 10
Hookless r
with top and bottom serifs r = 'hookless-top-serifed'
, cv42 = 11
Hookless r
with top serif r = 'hookless-base-serifed'
, cv42 = 12
Hookless r
with bottom serif r = 'corner-hooked'
, cv42 = 13
r
with vertical corner hook downwardsr = 'corner-hooked-serifed'
, cv42 = 14
r
with vertical corner hook downwards, top and bottom serifsr = 'corner-hooked-top-serifed'
, cv42 = 15
r
with vertical corner hook downwards and top serifr = 'corner-hooked-base-serifed'
, cv42 = 16
r
with vertical corner hook downwards and bottom serifr = 'compact'
, cv42 = 17
Hookless and compact, serifless r
. Identical to compact
for monospace fonts r = 'compact-serifed'
, cv42 = 18
Hookless and compact r
with top and bottom serifs. Identical to compact-serifed
for monospace fonts r = 'compact-top-serifed'
, cv42 = 19
Hookless and compact r
with top serif. Identical to compact-top-serifed
for monospace fonts r = 'compact-base-serifed'
, cv42 = 20
Hookless and compact r
with bottom serif. Identical to compact-base-serifed
for monospace fonts
Styles for s
:
s = 'serifless'
, cv43 = 1
Serifless s
(default for Sans) s = 'unilateral-serifed'
, cv43 = 2
s
with single serif at tops = 'bilateral-serifed'
, cv43 = 3
s
with serifs at both end (default for Slab Upright)s = 'unilateral-inward-serifed'
, cv43 = 4
s
with single inward serif at tops = 'bilateral-inward-serifed'
, cv43 = 5
s
with inward serifs at both end (default for Slab Italic)
Styles for t
:
t = 'standard'
, cv44 = 1
Standard t
shape (default) t = 'flat-hook'
, cv44 = 2
t
with flat hookt = 'diagonal-tailed'
, cv44 = 3
t
with diagonal tailt = 'cross'
, cv44 = 4
Futura-like t
shape t = 'hookless-asymmetric'
, cv44 = 5
t
without hook and with ony half the cross bart = 'standard-short-neck'
, cv44 = 6
Standard t
shape with a shorter neck t = 'flat-hook-short-neck'
, cv44 = 7
t
with flat hook and a slightly shorter neckt = 'diagonal-tailed-short-neck'
, cv44 = 8
t
with diagonal tail and a shorter neckt = 'cross-short-neck'
, cv44 = 9
Futura-like t
shape with a shorter neck t = 'hookless-asymmetric-short-neck'
, cv44 = 10
t
without hook, with ony half the cross bar and a shorter neckt = 'standard-short-neck2'
, cv44 = 11
Standard t
shape with a more shorter neck t = 'flat-hook-short-neck2'
, cv44 = 12
t
with flat hook and a more shorter neckt = 'diagonal-tailed-short-neck2'
, cv44 = 13
t
with diagonal tail and a more shorter neckt = 'cross-short-neck2'
, cv44 = 14
Futura-like t
shape with a more shorter neck t = 'hookless-asymmetric-short-neck2'
, cv44 = 15
t
without hook, with ony half the cross bar and a more shorter neck
Styles for u
:
u = 'toothed'
, cv45 = 1
Normal u
with bottom-right tooth (default for Upright) u = 'toothless-corner'
, cv45 = 2
Toothless (corner bottom-right) u
u = 'toothless-rounded'
, cv45 = 3
Toothless (rounded) u
, like a smaller uppercase U
u = 'tailed'
, cv45 = 4
u
with right bar and a slightly curly tail (default for Italic)u = 'motion-serifed'
, cv45 = 5
Normal u
with right bar and motion serifs u = 'tailed-motion-serifed'
, cv45 = 6
u
with right bar, motion serifs and a slightly curly tailu = 'toothless-corner-motion-serifed'
, cv45 = 7
Toothless (corner bottom-right) u
with motion serifs u = 'toothless-rounded-motion-serifed'
, cv45 = 8
Toothless (rounded) u
with motion serifs u = 'bottom-right-serifed'
, cv45 = 9
u
with right bar and a slightly curly tail
Styles for v
:
v = 'straight'
, cv46 = 1
Standard, straight v
(default for Sans Upright, Sans Italic, Slab Upright) v = 'curly'
, cv46 = 2
Slightly curly v
, like Iosevka 2.x v = 'cursive'
, cv46 = 3
Cursive v
v = 'straight-motion-serifed'
, cv46 = 4
Standard, straight v
, with motion serifs (default for Slab Italic) v = 'curly-motion-serifed'
, cv46 = 5
Slightly curly v
, like Iosevka 2.x, with motion serifs v = 'cursive-serifed'
, cv46 = 6
Cursive v
with motion serifs
Styles for w
:
w = 'straight'
, cv47 = 1
Standard, straight w
(default for Sans Upright, Sans Italic, Slab Upright) w = 'curly'
, cv47 = 2
Slightly curly w
, like Iosevka 2.x w = 'straight-flat-top'
, cv47 = 3
Standard, straight w
, and the middle is forced to be aligned the top w = 'straight-double-v'
, cv47 = 4
Straight w
looks like double V w = 'straight-asymmetric'
, cv47 = 5
Straight w
looks asymmetric w = 'straight-vertical-sides'
, cv47 = 6
Straight w
with vertical sides w = 'cursive'
, cv47 = 7
Cursive w
w = 'straight-motion-serifed'
, cv47 = 8
Standard, straight w
, with motion serifs (default for Slab Italic) w = 'curly-motion-serifed'
, cv47 = 9
Slightly curly w
, like Iosevka 2.x, with motion serifs w = 'straight-flat-top-motion-serifed'
, cv47 = 10
Standard, straight w
, and the middle is forced to be aligned the top, with motion serifs w = 'straight-double-v-motion-serifed'
, cv47 = 11
Straight w
looks like double V, with motion serifs w = 'straight-asymmetric-motion-serifed'
, cv47 = 12
Straight w
looks asymmetric, with motion serifs w = 'straight-vertical-sides-motion-serifed'
, cv47 = 13
Straight w
with vertical sides and motion serifs w = 'cursive-motion-serifed'
, cv47 = 14
Cursive w
with motion serifs
Styles for x
:
x = 'straight-serifless'
, cv48 = 1
Serifless, straight x
(default for Sans) x = 'curly-serifless'
, cv48 = 2
Serifless, slightly curly x
, like Iosevka 2.x x = 'straight-motion-serifed'
, cv48 = 3
Straight x
with motion serifs x = 'curly-motion-serifed'
, cv48 = 4
Slightly curly x
, like Iosevka 2.x, with motion serifs x = 'straight-serifed'
, cv48 = 5
Straight x
with full serifs (default for Slab Upright) x = 'curly-serifed'
, cv48 = 6
Slightly curly x
, like Iosevka 2.x, with full serifs x = 'cursive'
, cv48 = 7
Cursive x
(default for Slab Italic)
Styles for y
:
y = 'straight'
, cv49 = 1
Letter y
that is fully straight (default for Sans Upright) y = 'straight-turn'
, cv49 = 2
Letter y
with straight upper and a tail turns leftward (default for Slab Upright) y = 'curly'
, cv49 = 3
More curly letter y
, like Iosevka 2.x y = 'curly-turn'
, cv49 = 4
More curly letter y
, like Iosevka 2.x, with a tail turns leftward y = 'cursive'
, cv49 = 5
Cursive-like y
(default for Italic) y = 'cursive-flat-hook'
, cv49 = 6
Cursive-like y
with flat terminal hook y = 'straight-motion-serifed'
, cv49 = 7
Letter y
that is fully straight, with motion serifs y = 'straight-turn-motion-serifed'
, cv49 = 8
Letter y
with straight upper and a tail turns leftward, and motion serifs y = 'curly-motion-serifed'
, cv49 = 9
More curly letter y
, like Iosevka 2.x, with motion serifs y = 'curly-turn-motion-serifed'
, cv49 = 10
More curly letter y
, like Iosevka 2.x, with a tail turns leftward and motion serifs y = 'cursive-motion-serifed'
, cv49 = 11
Cursive-like y
, with motion serifs y = 'cursive-flat-hook-motion-serifed'
, cv49 = 12
Cursive-like y
with flat terminal hook, and motion serifs
Styles for z
:
z = 'straight-serifless'
, cv50 = 1
Straight z
without serifs (default for Sans) z = 'straight-serifless-with-crossbar'
, cv50 = 2
Straight z
with a diagonal crossbar, and without serifs z = 'straight-serifless-with-horizontal-crossbar'
, cv50 = 3
Straight z
with a horizontal crossbar, and without serifs z = 'curly-serifless'
, cv50 = 4
Curly z
without serifs z = 'curly-serifless-with-crossbar'
, cv50 = 5
Curly z
with a diagonal crossbar, and without serifs z = 'curly-serifless-with-horizontal-crossbar'
, cv50 = 6
Curly z
with a horizontal crossbar, and without serifs z = 'straight-serifed'
, cv50 = 7
Straight z
with top and bottom serifs (default for Slab Upright) z = 'straight-serifed-with-crossbar'
, cv50 = 8
Straight z
with a diagonal crossbar and serifs z = 'straight-serifed-with-horizontal-crossbar'
, cv50 = 9
Straight z
with a horizontal crossbar and serifs z = 'curly-serifed'
, cv50 = 10
Curly z
with top and bottom serifs z = 'curly-serifed-with-crossbar'
, cv50 = 11
Curly z
with a diagonal crossbar and serifs z = 'curly-serifed-with-horizontal-crossbar'
, cv50 = 12
Curly z
with a horizontal crossbar and serifs z = 'straight-bottom-serifed'
, cv50 = 13
Standard z
with serif at bottom z = 'straight-bottom-serifed-with-crossbar'
, cv50 = 14
Standard z
with a diagonal crossbar and serif at bottom z = 'straight-bottom-serifed-with-horizontal-crossbar'
, cv50 = 15
Standard z
with a horizontal crossbar and serif at bottom z = 'curly-bottom-serifed-with-crossbar'
, cv50 = 16
Curly z
with serif at bottom z = 'curly-bottom-serifed-with-horizontal-crossbar'
, cv50 = 17
Curly z
with a diagonal crossbar and serif at bottom z = 'curly-bottom-serifed'
, cv50 = 18
Curly z
with a horizontal crossbar and serif at bottom z = 'straight-top-serifed'
, cv50 = 19
Standard z
with serif at top z = 'straight-top-serifed-with-crossbar'
, cv50 = 20
Standard z
with a diagonal crossbar and serif at top z = 'straight-top-serifed-with-horizontal-crossbar'
, cv50 = 21
Standard z
with a horizontal crossbar and serif at top z = 'curly-top-serifed'
, cv50 = 22
Curly z
with serif at top z = 'curly-top-serifed-with-crossbar'
, cv50 = 23
Curly z
with a diagonal crossbar and serif at top z = 'curly-top-serifed-with-horizontal-crossbar'
, cv50 = 24
Curly z
with a horizontal crossbar and serif at top z = 'cursive'
, cv50 = 25
Cursive z
(default for Slab Italic) z = 'cursive-with-crossbar'
, cv50 = 26
Cursive z
with a diagonal cross bar z = 'cursive-with-horizontal-crossbar'
, cv50 = 27
Cursive z
with a horizontal cross bar
Styles for ſ
(Long-S):
long-s = 'bent-hook'
, cv51 = 1
Long-S with standard bending hook (default for Upright) long-s = 'flat-hook'
, cv51 = 2
Long-S with flat hook long-s = 'bent-hook-descending'
, cv51 = 3
Long-S with standard bending hook and descends baseline long-s = 'flat-hook-descending'
, cv51 = 4
Long-S with flat hook and descends baseline long-s = 'bent-hook-tailed'
, cv51 = 5
Long-S with standard bending hook and tail long-s = 'flat-hook-tailed'
, cv51 = 6
Long-S with flat hook and tail (default for Italic)
Styles for ß
(Eszet):
eszet = 'traditional'
, cv52 = 1
Traditional, Fraktur-like Eszet (ß
) eszet = 'traditional-descending'
, cv52 = 2
Traditional, Fraktur-like Eszet (ß
) with descending bar eszet = 'traditional-tailed'
, cv52 = 3
Traditional, Fraktur-like Eszet (ß
) with descending tail eszet = 'traditional-flat-hook'
, cv52 = 4
Traditional, Fraktur-like Eszet (ß
) with flat hook eszet = 'traditional-flat-hook-descending'
, cv52 = 5
Traditional, Fraktur-like Eszet (ß
) with flat hook and descending bar eszet = 'traditional-flat-hook-tailed'
, cv52 = 6
Traditional, Fraktur-like Eszet (ß
) with flat hook and descending tail eszet = 'sulzbacher'
, cv52 = 7
More modern, beta-like Eszet (ß
) (default for Upright) eszet = 'sulzbacher-descending'
, cv52 = 8
More modern, beta-like Eszet (ß
) with descending bar eszet = 'sulzbacher-tailed'
, cv52 = 9
More modern, beta-like Eszet (ß
) with descending tail (default for Italic) eszet = 'longs-s-lig'
, cv52 = 10
Eszet (ß
) shown as a ligature of long-S (ſ
) and s
eszet = 'longs-s-lig-descending'
, cv52 = 11
Eszet (ß
) shown as a ligature of long-S (ſ
) and s
, with descending bar eszet = 'longs-s-lig-tailed'
, cv52 = 12
Eszet (ß
) shown as a ligature of long-S (ſ
) and s
, with descending tail
Styles for Λ
, Δ
(Greek capital Lambda (Λ
) and Greek capital Delta (Δ
)):
turn-v = 'straight'
, cv53 = 1
Standard, straight Greek capital Lambda (Λ
) and Greek capital Delta (Δ
) (default) turn-v = 'curly'
, cv53 = 2
Slightly curly Greek capital Lambda (Λ
) and Greek capital Delta (Δ
), like Iosevka 2.x
Styles for α
(Greek lower Alpha):
lower-alpha = 'crossing'
, cv54 = 1
Greek lower Alpha (α
) with a cross-like shape at right (default) lower-alpha = 'tailed-barred'
, cv54 = 2
Greek lower Alpha (α
) with a straight right bar and tail
Styles for δ
(Greek lower Delta):
lower-delta = 'rounded'
, VXAA = 1
Greek lower Delta (δ
) with rounded top (default) lower-delta = 'flat-top'
, VXAA = 2
Greek lower Delta (δ
) with flat top
Styles for Γ
(Greek capital Gamma):
capital-gamma = 'serifless'
, cv55 = 1
Standard capital Gamma (Γ
) without serifs (default for Sans) capital-gamma = 'top-right-serifed'
, cv55 = 2
Standard capital Gamma (Γ
) with serifs at top right capital-gamma = 'serifed'
, cv55 = 3
Standard capital Gamma (Γ
) with motion serifs at top and bottom (default for Slab)
Styles for ι
(Greek lower Iota):
lower-iota = 'zshaped'
, cv56 = 1
Z-shaped Greek lower Iota (ι
) lower-iota = 'hooky-bottom'
, cv56 = 2
Greek lower Iota (ι
) with a sharp-turning horizontal tail lower-iota = 'tailed'
, cv56 = 3
Greek lower Iota (ι
) with curly tail lower-iota = 'tailed-serifed'
, cv56 = 4
Greek lower Iota (ι
) with top serif and curly tail lower-iota = 'flat-tailed'
, cv56 = 5
Greek lower Iota (ι
) with a curly-then-flat tail lower-iota = 'serifed-flat-tailed'
, cv56 = 6
Greek lower Iota (ι
) with top serif and a curly-then-flat tail (default)
Styles for λ
(Greek small Lambda):
lower-lambda = 'straight'
, cv57 = 1
More-straight Greek small Lambda (λ
) (default for Sans Upright, Sans Italic, Slab Italic) lower-lambda = 'straight-turn'
, cv57 = 2
Greek small Lambda (λ
) with straight upper and a tail turns leftward (default for Slab Upright) lower-lambda = 'curly'
, cv57 = 3
More curly Greek small Lambda (λ
), like Iosevka 2.x lower-lambda = 'curly-turn'
, cv57 = 4
More curly Greek small Lambda (λ
), like Iosevka 2.x, with a tail turns leftward
Styles for μ
(Greek small Mu):
lower-mu = 'tailless'
, VXAC = 1
Tailless Greek small Mu (μ
) lower-mu = 'tailed'
, VXAC = 2
Tailed Greek small Mu (μ
) (default)
Styles for ξ
(Greek lower Xi):
lower-xi = 'rounded'
, VXAB = 1
Greek lower Xi (ξ
) with rounded top lower-xi = 'flat-top'
, VXAB = 2
Greek lower Xi (ξ
) with flat top (default)
Styles for З
(Cyrillic Capital Ze):
cyrl-capital-ze = 'serifless'
, cv58 = 1
Serifless Cyrillic Capital Ze (З
) (default for Sans) cyrl-capital-ze = 'unilateral-serifed'
, cv58 = 2
Cyrillic Capital Ze (З
) with serif (default for Slab) cyrl-capital-ze = 'bilateral-serifed'
, cv58 = 3
Cyrillic Capital Ze (З
) with serif cyrl-capital-ze = 'unilateral-inward-serifed'
, cv58 = 4
Cyrillic Capital Ze (З
) with inward serif cyrl-capital-ze = 'bilateral-inward-serifed'
, cv58 = 5
Cyrillic Capital Ze (З
) with inward serif
Styles for з
(Cyrillic Lower Ze):
cyrl-ze = 'serifless'
, cv59 = 1
Serifless Cyrillic Lower Ze (з
) (default for Sans) cyrl-ze = 'unilateral-serifed'
, cv59 = 2
Cyrillic Lower Ze (з
) with serif (default for Slab) cyrl-ze = 'bilateral-serifed'
, cv59 = 3
Cyrillic Lower Ze (з
) with serif cyrl-ze = 'unilateral-inward-serifed'
, cv59 = 4
Cyrillic Lower Ze (з
) with inward serif cyrl-ze = 'bilateral-inward-serifed'
, cv59 = 5
Cyrillic Lower Ze (з
) with inward serif
Styles for К
(Cyrillic Capital Ka):
cyrl-capital-ka = 'straight-serifless'
, cv60 = 1
Cyrillic Capital Ka (К
) with standard shape cyrl-capital-ka = 'curly-serifless'
, cv60 = 2
Slightly curly Cyrillic Capital Ka (К
) , like Iosevka 2.x cyrl-capital-ka = 'symmetric-touching-serifless'
, cv60 = 3
Cyrillic Capital Ka (К
) with symmetric legs disconnected to the vertical bar cyrl-capital-ka = 'symmetric-connected-serifless'
, cv60 = 4
Cyrillic Capital Ka (К
) with symmetric legs connected to the vertical bar (default for Sans) cyrl-capital-ka = 'straight-top-left-serifed'
, cv60 = 5
Cyrillic Capital Ka (К
) with standard shape and serifs at top left cyrl-capital-ka = 'curly-top-left-serifed'
, cv60 = 6
Slightly curly Cyrillic Capital Ka (К
) , like Iosevka 2.x, with serifs at top left cyrl-capital-ka = 'symmetric-touching-top-left-serifed'
, cv60 = 7
Cyrillic Capital Ka (К
) with symmetric legs disconnected to the vertical bar, and serifs at top left cyrl-capital-ka = 'symmetric-connected-top-left-serifed'
, cv60 = 8
Cyrillic Capital Ka (К
) with symmetric legs connected to the vertical bar, and serifs at top left cyrl-capital-ka = 'straight-bottom-right-serifed'
, cv60 = 9
Cyrillic Capital Ka (К
) with standard shape and serifs at bottom right cyrl-capital-ka = 'curly-bottom-right-serifed'
, cv60 = 10
Slightly curly Cyrillic Capital Ka (К
) , like Iosevka 2.x, with serifs at bottom right cyrl-capital-ka = 'symmetric-touching-bottom-right-serifed'
, cv60 = 11
Cyrillic Capital Ka (К
) with symmetric legs disconnected to the vertical bar, and serifs at bottom right cyrl-capital-ka = 'symmetric-connected-bottom-right-serifed'
, cv60 = 12
Cyrillic Capital Ka (К
) with symmetric legs connected to the vertical bar, and serifs at bottom right cyrl-capital-ka = 'straight-serifed'
, cv60 = 13
Cyrillic Capital Ka (К
) with standard shape and serifs cyrl-capital-ka = 'curly-serifed'
, cv60 = 14
Slightly curly Cyrillic Capital Ka (К
) , like Iosevka 2.x, with serifs cyrl-capital-ka = 'symmetric-touching-serifed'
, cv60 = 15
Cyrillic Capital Ka (К
) with symmetric legs disconnected to the vertical bar, and serifs cyrl-capital-ka = 'symmetric-connected-serifed'
, cv60 = 16
Cyrillic Capital Ka (К
) with symmetric legs connected to the vertical bar, and serifs (default for Slab) cyrl-capital-ka = 'straight-top-left-and-bottom-right-serifed'
, cv60 = 17
Cyrillic Capital Ka (К
) with standard shape and serifs at top left and bottom right cyrl-capital-ka = 'curly-top-left-and-bottom-right-serifed'
, cv60 = 18
Slightly curly Cyrillic Capital Ka (К
) , like Iosevka 2.x, with serifs at top left and bottom right cyrl-capital-ka = 'symmetric-touching-top-left-and-bottom-right-serifed'
, cv60 = 19
Cyrillic Capital Ka (К
) with symmetric legs disconnected to the vertical bar, and serifs at top left and bottom right cyrl-capital-ka = 'symmetric-connected-top-left-and-bottom-right-serifed'
, cv60 = 20
Cyrillic Capital Ka (К
) with symmetric legs connected to the vertical bar, and serifs at top left and bottom right
Styles for к
(Cyrillic Ka):
cyrl-ka = 'straight-serifless'
, cv61 = 1
Cyrillic Lower Ka (к
) with standard shape, and without serifs cyrl-ka = 'curly-serifless'
, cv61 = 2
Slightly curly Cyrillic Lower Ka (к
) , like Iosevka 2.x, and without serifs cyrl-ka = 'symmetric-touching-serifless'
, cv61 = 3
Cyrillic Lower Ka (к
) with symmetric legs disconnected to the vertical bar, and without serifs cyrl-ka = 'symmetric-connected-serifless'
, cv61 = 4
Cyrillic Lower Ka (к
) with symmetric legs connected to the vertical bar, and without serifs (default for Sans) cyrl-ka = 'straight-top-left-serifed'
, cv61 = 5
Cyrillic Lower Ka (к
) with standard shape and serifs at top left cyrl-ka = 'curly-top-left-serifed'
, cv61 = 6
Slightly curly Cyrillic Lower Ka (к
) , like Iosevka 2.x, with serifs at top left cyrl-ka = 'symmetric-touching-top-left-serifed'
, cv61 = 7
Cyrillic Lower Ka (к
) with symmetric legs disconnected to the vertical bar, and serifs at top left cyrl-ka = 'symmetric-connected-top-left-serifed'
, cv61 = 8
Cyrillic Lower Ka (к
) with symmetric legs connected to the vertical bar, and serifs at top left (default for Slab Italic) cyrl-ka = 'straight-bottom-right-serifed'
, cv61 = 9
Cyrillic Lower Ka (к
) with standard shape and serifs at bottom right cyrl-ka = 'curly-bottom-right-serifed'
, cv61 = 10
Slightly curly Cyrillic Lower Ka (к
) , like Iosevka 2.x, with serifs at bottom right cyrl-ka = 'symmetric-touching-bottom-right-serifed'
, cv61 = 11
Cyrillic Lower Ka (к
) with symmetric legs disconnected to the vertical bar, and serifs at bottom right cyrl-ka = 'symmetric-connected-bottom-right-serifed'
, cv61 = 12
Cyrillic Lower Ka (к
) with symmetric legs connected to the vertical bar, and serifs at bottom right cyrl-ka = 'straight-serifed'
, cv61 = 13
Cyrillic Lower Ka (к
) with standard shape and serifs cyrl-ka = 'curly-serifed'
, cv61 = 14
Slightly curly Cyrillic Lower Ka (к
) , like Iosevka 2.x, with serifs cyrl-ka = 'symmetric-touching-serifed'
, cv61 = 15
Cyrillic Lower Ka (к
) with symmetric legs disconnected to the vertical bar, and serifs cyrl-ka = 'symmetric-connected-serifed'
, cv61 = 16
Cyrillic Lower Ka (к
) with symmetric legs connected to the vertical bar, and serifs (default for Slab Upright) cyrl-ka = 'straight-top-left-and-bottom-right-serifed'
, cv61 = 17
Cyrillic Lower Ka (к
) with standard shape and serifs at top left and bottom right cyrl-ka = 'curly-top-left-and-bottom-right-serifed'
, cv61 = 18
Slightly curly Cyrillic Lower Ka (к
) , like Iosevka 2.x, with serifs at top left and bottom right cyrl-ka = 'symmetric-touching-top-left-and-bottom-right-serifed'
, cv61 = 19
Cyrillic Lower Ka (к
) with symmetric legs disconnected to the vertical bar, and serifs at top left and bottom right cyrl-ka = 'symmetric-connected-top-left-and-bottom-right-serifed'
, cv61 = 20
Cyrillic Lower Ka (к
) with symmetric legs connected to the vertical bar, and serifs at top left and bottom right
Styles for л
(Cyrillic Lower El):
cyrl-el = 'straight'
, cv62 = 1
Cyrillic Lower El (л
) with standard shape (default) cyrl-el = 'tailed'
, cv62 = 2
Cyrillic Lower El (л
) with tail shape
Styles for н
(Cyrillic Lower En):
cyrl-en = 'serifless'
, cv63 = 1
Cyrillic Lower En (н
) with standard shape (default for Sans) cyrl-en = 'tailed-serifless'
, cv63 = 2
Cyrillic Lower En (н
) with tail cyrl-en = 'top-left-serifed'
, cv63 = 3
Cyrillic Lower En (н
) with outward serifs only at top left cyrl-en = 'tailed-top-left-serifed'
, cv63 = 4
Cyrillic Lower En (н
) with tail and outward serifs only at top left cyrl-en = 'top-left-bottom-right-serifed'
, cv63 = 5
Cyrillic Lower En (н
) with outward serifs only at top left and bottom right (default for Slab Italic) cyrl-en = 'serifed'
, cv63 = 6
Cyrillic Lower En (н
) with full serifs (default for Slab Upright) cyrl-en = 'tailed-serifed'
, cv63 = 7
Cyrillic Lower En (н
) with tail and full serifs
Styles for ф
(Cyrillic Lower Ef):
cyrl-ef = 'serifless'
, cv64 = 1
Cyrillic Lower Ef (ф
) with standard shape and without serifs (default for Sans Upright) cyrl-ef = 'cursive'
, cv64 = 2
Cyrillic Lower Ef (ф
) with cursive shape (default for Italic) cyrl-ef = 'top-serifed'
, cv64 = 3
Cyrillic Lower Ef (ф
) with standard shape and serif at top cyrl-ef = 'serifed'
, cv64 = 4
Cyrillic Lower Ef (ф
) with standard shape and serifs at top and bottom (default for Slab Upright)
Styles for ч
(Cyrillic Lower Che):
cyrl-che = 'standard'
, cv65 = 1
Cyrillic Lower Che (ч
) with standard shape (default) cyrl-che = 'tailed'
, cv65 = 2
Cyrillic Lower Che (ч
) with tail
Styles for У
(Cyrillic Capital U):
cyrl-capital-u = 'straight'
, cv66 = 1
Cyrillic capital U (У
) that is fully straight (default for Sans) cyrl-capital-u = 'straight-turn'
, cv66 = 2
Cyrillic capital U (У
) with straight upper and a tail turns leftward (default for Slab) cyrl-capital-u = 'curly'
, cv66 = 3
More curly Cyrillic capital U (У
), like Iosevka 2.x cyrl-capital-u = 'curly-turn'
, cv66 = 4
More curly Cyrillic capital U (У
), like Iosevka 2.x, with a tail turns leftward cyrl-capital-u = 'cursive'
, cv66 = 5
Cursive-like Cyrillic capital U (У
) cyrl-capital-u = 'cursive-flat-hook'
, cv66 = 6
Cursive-like Cyrillic capital U (У
) with flat terminal hook
Styles for Я
(Cyrillic Capital Ya):
cyrl-capital-ya = 'straight'
, cv67 = 1
Standard, straight-leg Cyrillic Capital Ya (Я
) (default) cyrl-capital-ya = 'curly'
, cv67 = 2
Slightly curly-legged Cyrillic Capital Ya (Я
), like Iosevka 2.x cyrl-capital-ya = 'standing'
, cv67 = 3
Cyrillic Capital Ya (Я
) with near-vertical standing leg cyrl-capital-ya = 'straight-open'
, cv67 = 4
Standard, straight-leg Cyrillic Capital Ya (Я
), with open contour at bottom cyrl-capital-ya = 'curly-open'
, cv67 = 5
Slightly curly-legged Cyrillic Capital Ya (Я
), like Iosevka 2.x, with open contour at bottom cyrl-capital-ya = 'standing-open'
, cv67 = 6
Cyrillic Capital Ya (Я
) with near-vertical standing leg, with open contour at bottom
Styles for я
(Cyrillic Lower Ya):
cyrl-ya = 'straight'
, cv68 = 1
Standard, straight-leg Cyrillic Lower Ya (я
) (default) cyrl-ya = 'curly'
, cv68 = 2
Slightly curly-legged Cyrillic Lower Ya (я
), like Iosevka 2.x cyrl-ya = 'standing'
, cv68 = 3
Cyrillic Lower Ya (я
) with near-vertical standing leg cyrl-ya = 'straight-open'
, cv68 = 4
Standard, straight-leg Cyrillic Lower Ya (я
), with open contour at bottom cyrl-ya = 'curly-open'
, cv68 = 5
Slightly curly-legged Cyrillic Lower Ya (я
), like Iosevka 2.x, with open contour at bottom cyrl-ya = 'standing-open'
, cv68 = 6
Cyrillic Lower Ya (я
) with near-vertical standing leg, with open contour at bottom cyrl-ya = 'straight-tailed'
, cv68 = 7
Standard, straight-leg Cyrillic Lower Ya (я
), with tail cyrl-ya = 'curly-tailed'
, cv68 = 8
Slightly curly-legged Cyrillic Lower Ya (я
), like Iosevka 2.x, with tail cyrl-ya = 'standing-tailed'
, cv68 = 9
Cyrillic Lower Ya (я
) with near-vertical standing leg cyrl-ya = 'straight-open-tailed'
, cv68 = 10
Standard, straight-leg Cyrillic Lower Ya (я
), with open contour at bottom and tail cyrl-ya = 'curly-open-tailed'
, cv68 = 11
Slightly curly-legged Cyrillic Lower Ya (я
), like Iosevka 2.x, with open contour at bottom and tail cyrl-ya = 'standing-open-tailed'
, cv68 = 12
Cyrillic Lower Ya (я
) with near-vertical standing leg, with open contour at bottom and tail
Styles for ь
(Cyrillic Lower Yeri and related letters):
cyrl-yeri = 'corner'
, cv69 = 1
Cyrillic Lower Yeri (ь
) with corner at bottom left (default for Upright) cyrl-yeri = 'round'
, cv69 = 2
Cyrillic Lower Yeri (ь
) with rounded shape (default for Sans Italic) cyrl-yeri = 'cursive'
, cv69 = 3
Cyrillic Lower Yeri (ь
) with cursive shape (default for Slab Italic)
Styles for ы
(Cyrillic Lower Yery):
cyrl-yery = 'corner'
, cv70 = 1
Cyrillic Lower Yery (ы
) with corner at bottom left (default for Upright) cyrl-yery = 'round'
, cv70 = 2
Cyrillic Lower Yery (ы
) with rounded shape (default for Sans Italic) cyrl-yery = 'cursive'
, cv70 = 3
Cyrillic Lower Yery (ы
) with cursive shape (default for Slab Italic) cyrl-yery = 'corner-tailed'
, cv70 = 4
Cyrillic Lower Yery (ы
) with corner at bottom left and tail cyrl-yery = 'round-tailed'
, cv70 = 5
Cyrillic Lower Yery (ы
) with rounded shape and tail cyrl-yery = 'cursive-tailed'
, cv70 = 6
Cyrillic Lower Yery (ы
) with cursive shape and tail
Styles for 0
:
zero = 'unslashed'
, cv71 = 1
O-like Zero (0
) zero = 'slashed'
, cv71 = 2
Slashed Zero (0
) (default) zero = 'reverse-slashed'
, cv71 = 3
Reverse-slashed Zero (0
) zero = 'dotted'
, cv71 = 4
Dotted Zero (0
) zero = 'long-dotted'
, cv71 = 5
Long-dotted Zero (0
) like Hack zero = 'slashed-split'
, cv71 = 6
Slashed Zero (0
) with slash separated from the outline zero = 'reverse-slashed-split'
, cv71 = 7
Reverse-slashed Zero (0
) with slash separated from the outline zero = 'unslashed-oval'
, cv71 = 8
O-like Zero (0
) but more round zero = 'slashed-oval'
, cv71 = 9
Slashed Zero (0
) but more round zero = 'reverse-slashed-oval'
, cv71 = 10
Reverse-slashed Zero (0
) but more round zero = 'dotted-oval'
, cv71 = 11
Dotted Zero (0
) but more round zero = 'long-dotted-oval'
, cv71 = 12
Long-dotted Zero (0
) like Hack but more round zero = 'slashed-split-oval'
, cv71 = 13
Slashed Zero (0
) with slash separated from the outline and more round zero = 'reverse-slashed-split-oval'
, cv71 = 14
Reverse-slashed Zero (0
) with slash separated from the outline and more round
Styles for 1
:
one = 'line'
, cv72 = 1
1
drawn just like a straight lineone = 'no-base'
, cv72 = 2
1
without bottom serif (default for Sans)one = 'base'
, cv72 = 3
1
with bottom serif (default for Slab)one = 'no-base-long-top-serif'
, cv72 = 4
1
without bottom serif and with a long top serifone = 'base-long-top-serif'
, cv72 = 5
1
with bottom serif and a long top serifone = 'no-base-flat-top-serif'
, cv72 = 6
1
without bottom serif and with a flat top serifone = 'base-flat-top-serif'
, cv72 = 7
1
with bottom serif and a flat top serif
Styles for 2
:
two = 'straight-neck'
, cv73 = 1
2
with straight necktwo = 'curly-neck'
, cv73 = 2
2
with curly neck (default)
Styles for 3
:
three = 'flat-top'
, cv74 = 1
Flat top 3
(Like Museo Sans / Montserrat) three = 'two-arcs'
, cv74 = 2
Arched top 3
(default)
Styles for 4
:
four = 'closed'
, cv75 = 1
4
with closed contourfour = 'closed-non-crossing'
, cv75 = 2
4
with closed contour but the horizontal bar does not overflow the vertical barfour = 'semi-open'
, cv75 = 3
4
with semi-open contour (default)four = 'semi-open-non-crossing'
, cv75 = 4
4
with semi-open contour but the horizontal bar does not overflow the vertical barfour = 'open'
, cv75 = 5
4
with open contourfour = 'open-non-crossing'
, cv75 = 6
4
with open contour but the horizontal bar does not overflow the vertical bar
Styles for 5
:
five = 'vertical-upper-left-bar'
, cv76 = 1
5
with a vertical upper-left bar (default)five = 'oblique-upper-left-bar'
, cv76 = 2
5
with an oblique upper-left bar
Styles for 6
:
six = 'closed-contour'
, cv77 = 1
6
with a more closed contoursix = 'open-contour'
, cv77 = 2
6
with a more open contoursix = 'straight-bar'
, cv77 = 3
6
with a straight bar (default)
Styles for 7
:
seven = 'straight-serifless'
, cv78 = 1
7
with straight stem and without serif (default for Sans)seven = 'straight-serifed'
, cv78 = 2
7
with straight stem and initial serif (default for Slab)seven = 'bend-serifless'
, cv78 = 3
7
with bend stem and without serifseven = 'bend-serifed'
, cv78 = 4
7
with bend stem and initial serifseven = 'curly-serifless'
, cv78 = 5
7
with curly stem and without serifseven = 'curly-serifed'
, cv78 = 6
7
with curly stem and initial serifseven = 'straight-crossbar'
, cv78 = 7
7
with straight stem and crossbarseven = 'straight-crossbar-serifed'
, cv78 = 8
7
with straight stem, crossbar and initial serifseven = 'bend-crossbar'
, cv78 = 9
7
with bend stem and crossbarseven = 'bend-crossbar-serifed'
, cv78 = 10
7
with bend stem, crossbar and initial serifseven = 'curly-crossbar'
, cv78 = 11
7
with curly stem and crossbarseven = 'curly-crossbar-serifed'
, cv78 = 12
7
with curly stem, crossbar and initial serif
Styles for 8
:
eight = 'crossing'
, cv79 = 1
8
with crossing middle part (default)eight = 'two-circles'
, cv79 = 2
8
looks like two circles joined togethereight = 'crossing-asymmetric'
, cv79 = 3
8
looks asymmetric crossing middle part
Styles for 9
:
nine = 'closed-contour'
, cv80 = 1
9
with a more closed contournine = 'open-contour'
, cv80 = 2
9
with a more open contournine = 'straight-bar'
, cv80 = 3
9
with a straight bar (default)
Styles for ~
:
tilde = 'high'
, cv81 = 1
Higher tilde ~
tilde = 'low'
, cv81 = 2
Lower tilde ~
(default)
Styles for *
:
asterisk = 'penta-high'
, cv82 = 1
Higher five-pointed asterisk *
(default) asterisk = 'penta-low'
, cv82 = 2
Lower five-pointed asterisk *
asterisk = 'flip-penta-high'
, cv82 = 3
Higher five-pointed and turned asterisk *
asterisk = 'flip-penta-low'
, cv82 = 4
Lower five-pointed and turned asterisk *
asterisk = 'hex-high'
, cv82 = 5
Higher six-pointed asterisk *
asterisk = 'hex-low'
, cv82 = 6
Lower six-pointed asterisk *
asterisk = 'turn-hex-high'
, cv82 = 7
Higher turned six-pointed asterisk *
asterisk = 'turn-hex-low'
, cv82 = 8
Lower turned six-pointed asterisk *
Styles for _
:
underscore = 'above-baseline'
, cv83 = 1
Extra-high _
, placed right below baseline underscore = 'high'
, cv83 = 2
Higher underscore _
, placed right below baseline (default) underscore = 'low'
, cv83 = 3
Lower underscore _
, placed right above descender line
Styles for ¶
:
pilcrow = 'high'
, cv84 = 1
Higher pilcrow sign ¶
(default) pilcrow = 'low'
, cv84 = 2
Lower pilcrow sign ¶
Styles for ^
:
caret = 'high'
, cv85 = 1
Higher circumflex ^
caret = 'medium'
, cv85 = 2
Lower circumflex ^
(default) caret = 'low'
, cv85 = 3
Lower circumflex ^
Styles for (
, )
:
paren = 'normal'
, cv86 = 1
Parenthesis with normal contour (default) paren = 'large-contour'
, cv86 = 2
Parenthesis with larger contour, like that in Monaco paren = 'flat-arc'
, cv86 = 3
Parenthesis with flat arc, like that in JetBrains Mono
Styles for {
, }
:
brace = 'straight'
, cv87 = 1
More straight braces brace = 'curly'
, cv87 = 2
More curly braces (default) brace = 'curly-flat-boundary'
, cv87 = 3
Curly braces with flat boundary shape
Styles for #
:
number-sign = 'upright'
, cv88 = 1
Number sign with vertical bars (default) number-sign = 'slanted'
, cv88 = 2
Number sign with slanted bars number-sign = 'upright-open'
, cv88 = 3
Number sign with vertical bars and open inner number-sign = 'slanted-open'
, cv88 = 4
Number sign with slanted bars and open inner number-sign = 'upright-tall'
, cv88 = 5
Number sign with vertical bars and taller than digits number-sign = 'slanted-tall'
, cv88 = 6
Number sign with slanted bars and taller than digits number-sign = 'upright-open-tall'
, cv88 = 7
Number sign with vertical bars, open inner, and taller than digits number-sign = 'slanted-open-tall'
, cv88 = 8
Number sign with slanted bars, open inner, and taller than digits
Styles for &
:
ampersand = 'closed'
, cv89 = 1
Ampersand (&
) with a closed contour (default) ampersand = 'upper-open'
, cv89 = 2
Ampersand (&
) with an open contour at upper half ampersand = 'lower-open'
, cv89 = 3
Ampersand (&
) with an open contour at lower half ampersand = 'et-toothed'
, cv89 = 4
Ampersand (&
) drawn like a ligature of Ɛ and t with tooth ampersand = 'et-toothless-corner'
, cv89 = 5
Ampersand (&
) drawn like a ligature of Ɛ and t without tooth (corner) ampersand = 'et-toothless-rounded'
, cv89 = 6
Ampersand (&
) drawn like a ligature of Ɛ and t without tooth (rounded) ampersand = 'flat-top'
, cv89 = 7
Ampersand (&
) drawn with a flat top
Styles for @
:
at = 'threefold'
, cv90 = 1
The three-fold At symbol (@
) (default) at = 'fourfold'
, cv90 = 2
The traditional, four-fold At symbol (@
) at = 'fourfold-solid-inner'
, cv90 = 3
The four-fold At symbol (@
) with inner loop being solid at = 'threefold-tall'
, cv90 = 4
The three-fold At symbol (@
) with taller outline at = 'fourfold-tall'
, cv90 = 5
The traditional, four-fold At symbol (@
) with taller outline at = 'fourfold-solid-inner-tall'
, cv90 = 6
The four-fold At symbol (@
) with inner loop being solid and taller outline at = 'short'
, cv90 = 7
The shorter, Fira-like At symbol (@
)
Styles for $
:
dollar = 'open'
, cv91 = 1
Dollar symbol with open contour dollar = 'through'
, cv91 = 2
Dollar symbol with strike-through vertical bar (default) dollar = 'interrupted'
, cv91 = 3
Dollar symbol with strike-through vertical bar dollar = 'open-cap'
, cv91 = 4
Dollar symbol with open contour, not exceeding baseline and ascender dollar = 'through-cap'
, cv91 = 5
Dollar symbol with strike-through vertical bar, not exceeding baseline and ascender dollar = 'interrupted-cap'
, cv91 = 6
Dollar symbol with strike-through vertical bar, not exceeding baseline and ascender
Styles for ¢
:
cent = 'open'
, cv92 = 1
Cent sign (¢
) with open contour cent = 'through'
, cv92 = 2
Cent sign (¢
) with vertical bar all through the c
part (default) cent = 'bar-interrupted'
, cv92 = 3
Cent sign (¢
) with vertical bar breaks at center
Styles for %
:
percent = 'dots'
, cv93 = 1
Percent %
with rectangular dots percent = 'rings-segmented-slash'
, cv93 = 2
Percent %
with rings and segmented slash (default) percent = 'rings-continuous-slash'
, cv93 = 3
Percent %
with rings and continuous bar percent = 'rings-continuous-slash-also-connected'
, cv93 = 4
Percent %
with rings and continuous bar and the slash in %
is also connected to the top-left ring
Styles for |
:
bar = 'natural-slope'
, cv94 = 1
Bar punctuations (|
) has a natural slope under italics and oblique (default) bar = 'force-upright'
, cv94 = 2
Bar punctuations (|
) is forced upright under italics and oblique
Styles for <=
, >=
:
lig-ltgteq = 'flat'
, cv95 = 1
The lower bar of <=
and >=
ligation is flat (default) lig-ltgteq = 'slanted'
, cv95 = 2
The lower bar of <=
and >=
ligation is slanted
Styles for '
:
ascii-single-quote = 'straight'
, cv96 = 1
Show ASCII quote ("
) as short vertical straight bar. (default) ascii-single-quote = 'raised-comma'
, cv96 = 2
Show ASCII quote ("
) as raised comma.
Styles for `
:
ascii-grave = 'straight'
, cv97 = 1
Show ASCII grave (`
) as short diagonal straight bar. (default) ascii-grave = 'raised-inverse-comma'
, cv97 = 2
Show ASCII grave (`
) as raised comma. ascii-grave = 'raised-turn-comma'
, cv97 = 3
Show ASCII grave (`
) as raised turned comma, identical to curly open single quote symbols (U+2018).
Styles for ?
:
question = 'smooth'
, cv98 = 1
Smooth question mark (?
) (default) question = 'corner'
, cv98 = 2
Question mark (?
) with a corner at middle question = 'corner-flat-hooked'
, cv98 = 3
Question mark (?
) with a corner at middle and flat hook
Styles for .,
, :;
(Dot and Comma shape in punctuations and symbols):
punctuation-dot = 'round'
, cv99 = 1
Small punctuations (like .
, ,
) use round dots (default) punctuation-dot = 'square'
, cv99 = 2
Small punctuations (like .
, ,
) use square dots
Configuring Weights, Widths and Slopes
Subsection weights
is used to change the weight grades that the custom family needs. It is a dictionary of either strings formatted in default.<weight>
format, meaning reusing a default weight grade, or sub-objects with properties:
shape
: Number, configures the weight grade of the glyphs' shapes.
menu
: Integer, configures the weight grade used when naming fonts.
css
: Integer, configures the weight grade used in web font CSS.
Subsection widths
is used to change the width grades that the custom family needs. It is a dictionary of either strings formatted in default.<width>
format, meaning reusing a default width grade, or sub-objects with properties:
shape
: Number, configures the width of the glyphs' shapes, measured in 1/1000 em.
menu
: Integer, configures the width grade used when naming fonts. The valid values are 1
to 9
, inclusive.
css
: String, configures the font-stretch value used in web font CSS.
Subsection slopes
is used to change the slope angles and grades that the custom family needs. It is a dictionary of either strings formatted in default.<slope>
format, meaning reusing a default slope grade, or sub-objects with properties:
angle
: Number, configures the slope angle in degrees. The valid vales are 0
to 15
, inclusive.
shape
: String from upright
, italic
or oblique
. Configures the slope used for variant selection.
menu
: String from upright
, italic
or oblique
. Configures the slope grade used when naming fonts.
css
: String from normal
, italic
or oblique
. Configures the CSS font-style value.
Subsection slopes
is a simple string-to-string dictionary maps slopes (upright
, italic
or oblique
) to CSS font-style values, represented in string.
Certain software, notably Emacs, relies on pre-encoded ligatures instead of OpenType to provide ligations. Iosevka could be configured with additional subsection compatibility-ligatures
, being an array of records with following fields:
unicode
: The PUA code point being assigned to.
featureTag
: The feature tag to compute ligations.
sequence
: The source character sequence.
A sample of compatibility ligature config is:
[[buildPlans .iosevka-custom .compatibility-ligatures ]]
unicode = 57600 # 0xE100
featureTag = ' calt'
sequence = ' <*>'
Subsection metric-override
provides ability to override certain metric values, if you reallly want to. Adding this section is strongly discouraged as it may introduce broken geometry or broken shapes.
Property
Unit
Default Value
Meaning
cap
emu
735
Height of H
.
xheight
emu
520
Height of x
.
sb
emu
(varies, 60 for Regular )
Width of common side-bearings.
accentWidth
emu
200
Width of accent marks.
accentClearance
emu
72
Vertical clearance of accent marks to the base.
accentHeight
emu
176
Height of accent marks.
accentStackOffset
emu
220
Offset height of accent mark stack.
dotSize
emu
(varies, 125 for regular )
Size of dots in diacritic marks.
periodSize
emu
(varies, 140 for regular )
Size of dots in period.
leading
emu
1250
Built-in line height.
symbolMid
emu
340
Height of the center of hyphen (-
).
parenSize
emu
966
Height of Parentheses.
winMetricAscenderPad
emu
0
Additional pad for Win metrics’ ascender to avoid clipping in legacy Windows applications.
winMetricDescenderPad
emu
0
Additional pad for Win metrics’ descender to avoid clipping in legacy Windows applications.
powerlineScaleX
, powerlineScaleY
(ratio )
1
X and Y scale of Powerline glyphs.
powerlineShiftX
, powerlineShiftY
emu
0
X and Y shift of Powerline glyphs.
onumZeroHeightRatio
(ratio )
1.145
Ratio of height of 0
under onum
feature, to the height of x
.
essRatio
(ratio )
(varies, 1.12 for Regular )
Ratio of the thickness of the neck of S
/s
/?
, to the normal stroke width. essRatioUpper
, essRatioLower
and rssRatioQuestion
will override this value for corresponded glyph categories when set.
essRatioUpper
(ratio )
(varies, 1.12 for Regular )
Ratio of the thickness of the neck of S
, to the normal stroke width.
essRatioLower
(ratio )
(varies, 1.12 for Regular )
Ratio of the thickness of the neck of s
, to the normal stroke width.
essRatioQuestion
(ratio )
(varies, 1.12 for Regular )
Ratio of the thickness of the neck of ?
, to the normal stroke width.
The values of each item could be either a number, or a string representing an expression so that it could be different for different instance fonts, or depending on default values. The syntax of valid expressions are:
Expression -> Term (('+' | '-') Term)*
Term -> Factor (('*' | '/') Factor)*
Factor -> ('+' | '-')* Primitive
Primitive -> Literal
| Call
| Binding
| Group
| List
Literal -> ['0'..'9']+ ('.' ['0'..'9']+)?
Identifier -> ['A'..'Z', 'a'..'z', '_']+
Call -> Identifier '(' Expression (',' Expression)* ')'
List -> Identifier '[' Expression (',' Expression)* ']'
Binding -> Identifier
Valid identifiers include:
weight
: being the weight grade;
width
: being the characters' unit width, measured in em-units;
slopeAngle
: being the slope angle in degrees;
Default value of all overridable metrics, prefixed with default_
, i.e., default cap
value will be accessable thorugh default_cap
.
Valid functions include:
blend
(x , [x1 , y1 ], [x2 , y2 ], ...): Perform a smooth interpolation through data pairs [x1 , y1 ], [x2 , y2 ], ..., against parameter x .
For example, the following configuration:
[buildPlans .iosevka-custom .metric-override ]
leading = 1500
sb = ' default_sb * 1.0625 + 15'
dotSize = ' blend(weight, [100, 50], [400, 125], [900, 180])'
will:
Override line height to 1500
em-unit;
Override the sidebearing value by its value multiplied by 1.0625
then added with 15
.
Override the dot size by a interpolation against weight: at thin (100
) being 50
, at regular (400
) being 125
, and at heavy (900
) being 180
.
A sample configuration could be found at private-build-plans.sample.toml .
It is possible to create a customized TTC build by using the following method:
Add a collect plan into private-build-plans.toml
, with a from
field containing all the TTF groups it needs:
[collectPlans .iosevka-custom ]
from = [" iosevka-custom1" , " iosevka-custom-2" ]
Run build with the following command:
npm run build -- ttc::iosevka-custom
: Create TTCs from collection iosevka-custom
; The file will be saved into dist/.ttc
.
npm run build -- super-ttc::iosevka-custom
: Create a single-file TTC from collection iosevka-custom
; The file will be saved into dist/.super-ttc
.