Iosevka

Iosevka isn’t something you find. Iosevka is something that finds you.

Iosevka is great, and you can personalize it by building it yourself and changing some variants.

This is my private-build-plans.toml that I used to generate my variant (generated fonts are available on GitHub, naturally patched with Nerd Fonts):

[buildPlans.IosevkaTreeLig]
family = "Iosevka Tree Lig"
spacing = "term"
serifs = "sans"
noCvSs = false
exportGlyphNames = true
[buildPlans.IosevkaTreeLig.variants.design]
capital-g = "toothless-rounded-inward-serifed-hooked"
b = "toothless-corner-serifless"
d = "toothless-rounded-serifed"
g = "double-storey"
i = "hooky"
l = "tailed-serifed"
m = "earless-single-arch-short-leg-serifless"
n = "earless-rounded-straight-serifless"
p = "earless-corner-serifless"
q = "earless-corner-straight-serifless"
u = "toothless-corner-serifless"
y = "straight-turn-serifless"
one = "base"
six = "open-contour"
asterisk = "hex-low"
ampersand = "upper-open"
dollar = "open"
percent = "dots"
lig-ltgteq = "slanted"
[buildPlans.IosevkaTreeLig.ligations]
inherits = "default-calt"
enables = [
"tildeeq",
"minus-minus",
"plus-plus",
"underscore-underscore"
]
disables = [
"llggeq"
]

And then build with:

npm run build -- ttf::IosevkaTreeLig --jCmd=12

Patching them with Nerd Fonts was surprisingly a pain as the provided font patcher didn’t seem to accept a directory as input arguments. No big deal, this is how I did it using fish (adjust paths as necessary):

for x in ls ~/src/Iosevka/dist/IosevkaTree/TTF/IosevkaTree-*;
./font-patcher -c $x --out ~/iosevka-tree/;
end