Change configuration properties to camelCase

This commit is contained in:
be5invis 2023-11-12 01:44:32 -08:00
parent d47bf92b9a
commit b261aab1ee
11 changed files with 224 additions and 175 deletions

View file

@ -10,21 +10,21 @@ desc = "Default"
buildCharMap = true
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 0}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaTerm]
family = "Iosevka Term"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaFixed]
family = "Iosevka Fixed"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1}
export-glyph-names = true
exportGlyphNames = true
# Slab
[buildPlans.IosevkaSlab]
@ -33,7 +33,7 @@ desc = "Slab-serif"
serifs = "slab"
snapshotFamily = 'Iosevka Slab'
snapshotFeature = {"NWID" = 0}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaTermSlab]
family = "Iosevka Term Slab"
@ -41,7 +41,7 @@ serifs = "slab"
spacing = "term"
snapshotFamily = 'Iosevka Slab'
snapshotFeature = {"NWID" = 1}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaFixedSlab]
family = "Iosevka Fixed Slab"
@ -49,7 +49,7 @@ serifs = "slab"
spacing = "fixed"
snapshotFamily = 'Iosevka Slab'
snapshotFeature = {"NWID" = 1}
export-glyph-names = true
exportGlyphNames = true
# Curly
[buildPlans.IosevkaCurly]
@ -57,7 +57,7 @@ family = "Iosevka Curly"
desc = "Curly Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss20" = 1}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaCurly.variants]
inherits = "ss20"
@ -66,7 +66,7 @@ family = "Iosevka Term Curly"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss20" = 1}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaTermCurly.variants]
inherits = "ss20"
@ -75,7 +75,7 @@ family = "Iosevka Fixed Curly"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss20" = 1}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaFixedCurly.variants]
inherits = "ss20"
@ -86,7 +86,7 @@ desc = "Curly Style, Slab-serif"
serifs = "slab"
snapshotFamily = 'Iosevka Slab'
snapshotFeature = {"ss20" = 1}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaCurlySlab.variants]
inherits = "ss20"
@ -96,7 +96,7 @@ serifs = "slab"
spacing = "term"
snapshotFamily = 'Iosevka Slab'
snapshotFeature = {"NWID" = 1, "ss20" = 1}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaTermCurlySlab.variants]
inherits = "ss20"
@ -106,7 +106,7 @@ serifs = "slab"
spacing = "fixed"
snapshotFamily = 'Iosevka Slab'
snapshotFeature = {"NWID" = 1, "ss20" = 1}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaFixedCurlySlab.variants]
inherits = "ss20"
@ -117,8 +117,8 @@ family = "Iosevka SS01"
desc = "Andale Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss01" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS01.variants]
inherits = "ss01"
@ -127,8 +127,8 @@ family = "Iosevka Term SS01"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss01" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS01.variants]
inherits = "ss01"
@ -137,8 +137,8 @@ family = "Iosevka Fixed SS01"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss01" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS01.variants]
inherits = "ss01"
@ -148,8 +148,8 @@ family = "Iosevka SS02"
desc = "Anonymous Pro Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss02" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS02.variants]
inherits = "ss02"
@ -158,8 +158,8 @@ family = "Iosevka Term SS02"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss02" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS02.variants]
inherits = "ss02"
@ -168,8 +168,8 @@ family = "Iosevka Fixed SS02"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss02" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS02.variants]
inherits = "ss02"
@ -179,8 +179,8 @@ family = "Iosevka SS03"
desc = "Consolas Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss03" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS03.variants]
inherits = "ss03"
@ -189,8 +189,8 @@ family = "Iosevka Term SS03"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss03" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS03.variants]
inherits = "ss03"
@ -199,8 +199,8 @@ family = "Iosevka Fixed SS03"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss03" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS03.variants]
inherits = "ss03"
@ -210,8 +210,8 @@ family = "Iosevka SS04"
desc = "Menlo Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss04" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS04.variants]
inherits = "ss04"
@ -220,8 +220,8 @@ family = "Iosevka Term SS04"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss04" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS04.variants]
inherits = "ss04"
@ -230,8 +230,8 @@ family = "Iosevka Fixed SS04"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss04" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS04.variants]
inherits = "ss04"
@ -241,8 +241,8 @@ family = "Iosevka SS05"
desc = "Fira Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss05" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS05.variants]
inherits = "ss05"
@ -251,8 +251,8 @@ family = "Iosevka Term SS05"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss05" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS05.variants]
inherits = "ss05"
@ -261,8 +261,8 @@ family = "Iosevka Fixed SS05"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss05" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS05.variants]
inherits = "ss05"
@ -272,8 +272,8 @@ family = "Iosevka SS06"
desc = "Liberation Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss06" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS06.variants]
inherits = "ss06"
@ -282,8 +282,8 @@ family = "Iosevka Term SS06"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss06" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS06.variants]
inherits = "ss06"
@ -292,8 +292,8 @@ family = "Iosevka Fixed SS06"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss06" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS06.variants]
inherits = "ss06"
@ -303,8 +303,8 @@ family = "Iosevka SS07"
desc = "Monaco Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss07" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS07.variants]
inherits = "ss07"
@ -313,8 +313,8 @@ family = "Iosevka Term SS07"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss07" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS07.variants]
inherits = "ss07"
@ -323,8 +323,8 @@ family = "Iosevka Fixed SS07"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss07" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS07.variants]
inherits = "ss07"
@ -334,8 +334,8 @@ family = "Iosevka SS08"
desc = "Pragmata Pro Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss08" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS08.variants]
inherits = "ss08"
@ -344,8 +344,8 @@ family = "Iosevka Term SS08"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss08" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS08.variants]
inherits = "ss08"
@ -354,8 +354,8 @@ family = "Iosevka Fixed SS08"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss08" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS08.variants]
inherits = "ss08"
@ -365,8 +365,8 @@ family = "Iosevka SS09"
desc = "Source Code Pro Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss09" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS09.variants]
inherits = "ss09"
@ -375,8 +375,8 @@ family = "Iosevka Term SS09"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss09" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS09.variants]
inherits = "ss09"
@ -385,8 +385,8 @@ family = "Iosevka Fixed SS09"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss09" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS09.variants]
inherits = "ss09"
@ -396,8 +396,8 @@ family = "Iosevka SS10"
desc = "Envy Code R Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss10" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS10.variants]
inherits = "ss10"
@ -406,8 +406,8 @@ family = "Iosevka Term SS10"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss10" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS10.variants]
inherits = "ss10"
@ -416,8 +416,8 @@ family = "Iosevka Fixed SS10"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss10" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS10.variants]
inherits = "ss10"
@ -427,8 +427,8 @@ family = "Iosevka SS11"
desc = "X Windows Fixed Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss11" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS11.variants]
inherits = "ss11"
@ -437,8 +437,8 @@ family = "Iosevka Term SS11"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss11" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS11.variants]
inherits = "ss11"
@ -447,8 +447,8 @@ family = "Iosevka Fixed SS11"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss11" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS11.variants]
inherits = "ss11"
@ -458,8 +458,8 @@ family = "Iosevka SS12"
desc = "Ubuntu Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss12" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS12.variants]
inherits = "ss12"
@ -468,8 +468,8 @@ family = "Iosevka Term SS12"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss12" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS12.variants]
inherits = "ss12"
@ -478,8 +478,8 @@ family = "Iosevka Fixed SS12"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss12" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS12.variants]
inherits = "ss12"
@ -489,8 +489,8 @@ family = "Iosevka SS13"
desc = "Lucida Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss13" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS13.variants]
inherits = "ss13"
@ -499,8 +499,8 @@ family = "Iosevka Term SS13"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss13" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS13.variants]
inherits = "ss13"
@ -509,8 +509,8 @@ family = "Iosevka Fixed SS13"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss13" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS13.variants]
inherits = "ss13"
@ -520,8 +520,8 @@ family = "Iosevka SS14"
desc = "JetBrains Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss14" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS14.variants]
inherits = "ss14"
@ -530,8 +530,8 @@ family = "Iosevka Term SS14"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss14" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS14.variants]
inherits = "ss14"
@ -540,8 +540,8 @@ family = "Iosevka Fixed SS14"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss14" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS14.variants]
inherits = "ss14"
@ -551,8 +551,8 @@ family = "Iosevka SS15"
desc = "IBM Plex Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss15" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS15.variants]
inherits = "ss15"
@ -561,8 +561,8 @@ family = "Iosevka Term SS15"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss15" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS15.variants]
inherits = "ss15"
@ -571,8 +571,8 @@ family = "Iosevka Fixed SS15"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss15" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS15.variants]
inherits = "ss15"
@ -582,8 +582,8 @@ family = "Iosevka SS16"
desc = "PT Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss16" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS16.variants]
inherits = "ss16"
@ -592,8 +592,8 @@ family = "Iosevka Term SS16"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss16" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS16.variants]
inherits = "ss16"
@ -602,8 +602,8 @@ family = "Iosevka Fixed SS16"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss16" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS16.variants]
inherits = "ss16"
@ -613,8 +613,8 @@ family = "Iosevka SS17"
desc = "Recursive Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss17" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS17.variants]
inherits = "ss17"
@ -623,8 +623,8 @@ family = "Iosevka Term SS17"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss17" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS17.variants]
inherits = "ss17"
@ -633,8 +633,8 @@ family = "Iosevka Fixed SS17"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss17" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS17.variants]
inherits = "ss17"
@ -644,8 +644,8 @@ family = "Iosevka SS18"
desc = "Input Mono Style"
snapshotFamily = 'Iosevka'
snapshotFeature = {"ss18" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaSS18.variants]
inherits = "ss18"
@ -654,8 +654,8 @@ family = "Iosevka Term SS18"
spacing = "term"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss18" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaTermSS18.variants]
inherits = "ss18"
@ -664,8 +664,8 @@ family = "Iosevka Fixed SS18"
spacing = "fixed"
snapshotFamily = 'Iosevka'
snapshotFeature = {"NWID" = 1, "ss18" = 1}
export-glyph-names = true
no-cv-ss = true
exportGlyphNames = true
noCvSs = true
[buildPlans.IosevkaFixedSS18.variants]
inherits = "ss18"
@ -679,7 +679,7 @@ desc = "Sans-serif"
spacing = "quasi-proportional"
snapshotFamily = 'Iosevka Aile'
snapshotFeature = {"NWID" = 0}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaAile.variants.design]
capital-i = "serifless"
@ -770,7 +770,7 @@ spacing = "quasi-proportional"
serifs = 'slab'
snapshotFamily = 'Iosevka Etoile'
snapshotFeature = {"NWID" = 0}
export-glyph-names = true
exportGlyphNames = true
[buildPlans.IosevkaEtoile.variants.design]
capital-m = "flat-bottom-serifed"
@ -808,7 +808,7 @@ css = "normal"
family = "Iosevka QP"
desc = "Customizer Preview Only Quasi-proportional Sans"
spacing = "quasi-proportional"
export-glyph-names = false
exportGlyphNames = false
[buildPlans.IosevkaQp.weights.regular]
shape = 400
@ -825,7 +825,7 @@ family = "Iosevka QP Slab"
desc = "Customizer Preview Only Quasi-proportional Slab"
serifs = 'slab'
spacing = "quasi-proportional"
export-glyph-names = false
exportGlyphNames = false
[buildPlans.IosevkaQpSlab.weights.regular]
shape = 400
@ -841,7 +841,7 @@ css = 700
family = "Iosevka QPE"
desc = "Customizer Preview Only Quasi-proportional-extension-only Sans"
spacing = "quasi-proportional-extension-only"
export-glyph-names = false
exportGlyphNames = false
[buildPlans.IosevkaQpe.weights.regular]
shape = 400
@ -858,7 +858,7 @@ family = "Iosevka QPE Slab"
desc = "Customizer Preview Only Quasi-proportional-extension-only Slab"
serifs = 'slab'
spacing = "quasi-proportional-extension-only"
export-glyph-names = false
exportGlyphNames = false
[buildPlans.IosevkaQpeSlab.weights.regular]
shape = 400

View file

@ -1,6 +1,15 @@
* \[**BREAKING**\] The filenames and package filenames are changed.
- They will now use PascalCase instead of kebab-case.
- To package manager maintainers: Please upgrade your script to make it capable to download and install the fonts under new names, and properly uninstall the fonts under old names.
* \[**BREAKING**\] Certain properties in the build plans are changed to camelCase. Using them will trigger a build failure.
- `no-cv-ss``noCvSs`
- `no-ligation``noLigation`
- `export-glyph-names``exportGlyphNames`
- `build-texture-feature``buildTextureFeature`
- `metric-override``metricOverride`
- `compatibility-ligatures``compatibilityLigatures`
- `exclude-chars``excludeChars`
- `webfont-formats``webfontFormats`
* \[**BREAKING**\] The "SGr" TTC packages for Iosevka Aile and Etoile will no longer be generated, as they are duplicates to the non-SGr TTC packages.
* \[**BREAKING**\] Reorder of glyph variants:
- Influenced characters: `M`, `R`, `f`, `t`, `x`, Long S (`ſ`), Lower Chi (`χ`), Cyrillic Lower Em (`м`), Cyrillic Ya (`Я`, `я`), `5`.

View file

@ -4,6 +4,6 @@
* Improve crossbar position of GREEK SMALL LETTER DIGAMMA (`U+03DD`) and add a middle serif under slab.
* Refine Greek Capital Sho (U+03F7) glyph (#2079).
* \[Experimental\] Add a font feature for texture control (#2081).
- Currently only available through custom builds with `build-texture-feature = true`.
- Currently only available through custom builds with `buildTextureFeature = true`.
* Make SYMBOL FOR DELETE FORM TWO (`U+2425`) narrow by default, align with other Control Pictures characters (#2084).
* Make APL FUNCTIONAL SYMBOL CIRCLE STAR (`U+235F`) always be five-pointed and upright, to align its pentagram history (#2083).

View file

@ -38,7 +38,7 @@
* Add reverse-slashed zero (#438).
* Add U+1F8B0 and U+1F8B1 (#459).
* Fixed broken shape around `srtail`, `Sswash` and `sswash`.
* Fix `no-cv-ss` building (#460).
* Fix `noCvSs` building (#460).
* Retrocomputing symbols are now defaults to half-width.
* Made variant selectors work for turned letters.
* Make `ligset-dlig` usable from custom build (#463).

View file

@ -1,4 +1,4 @@
* \[**Breaking**\]: Add support for expression-style metric override. The old `[metric-override.multiplies]` and `[metric-override.adds]` are no longer supported (#1181).
* \[**Breaking**\]: Add support for expression-style metric override. The old `[metricOverride.multiplies]` and `[metricOverride.adds]` are no longer supported (#1181).
* Fix motion-serifed N's broken shape (#1170).
* Fix bar-serif overlapping in Latin Small H-bar (`U+0127`) and Cyrillic Small Dje (`U+0452`) in Sans subfamily's with-serif variants (#1171).
* Add flat-boundary brace shape (#1172).
@ -6,4 +6,4 @@
* Make dot size, period size and accent size / placement configurable (#1169, #1176).
* Make variants of `0` apply to APL Functional Symbol Zilde (`U+236C`) and Circled Zero with Slash (`U+1F10D`) (#1178).
* Add enclosed sans-serif digits.
* Fix italic derived letters regression in 8.0.
* Fix italic derived letters regression in 8.0.

View file

@ -85,13 +85,21 @@ Inside the plan, top-level properties include:
* `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](https://sw.kovidgoyal.net/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-texture-feature`: Optional, Boolean, whether to build the `TXTR` feature for cross-letter texture adjustments. Defaults to false.
* `noCvSs`: Optional, Boolean, disables `cv##` and `ss##` OpenType features.
* `noLigation`: Optional, Boolean, disables ligations.
* `exportGlyphNames`: 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](https://sw.kovidgoyal.net/kitty/).
* `webfontFormats`: Optional, Array of String. Controls the formats needed to be exported into the webfont CSS. Valid options are `'ttf'` and `'woff2'`, or including both.
* `buildTextureFeature`: Optional, Boolean, whether to build the `TXTR` feature for cross-letter texture adjustments. Defaults to false.
Build plan could have 5 optional subsections: `ligations`, `variants`, `weights`, `widths` and `slopes`.
Build plan could have 8 optional subsections:
* `ligations`
* `variants`
* `weights`
* `widths`
* `slopes`
* `compatibilityLigatures`
* `excludeChars`
* `metricOverride`
#### Configuring Ligations
@ -521,7 +529,7 @@ Subsection `slopes` is used to change the slope angles and grades that the custo
#### Compatibility Ligatures
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:
Certain software, notably Emacs, relies on pre-encoded ligatures instead of OpenType to provide ligations. Iosevka could be configured with additional subsection `compatibilityLigatures`, being an array of records with following fields:
* `unicode`: The PUA code point being assigned to.
* `featureTag`: The feature tag to compute ligations.
@ -530,15 +538,24 @@ Certain software, notably Emacs, relies on pre-encoded ligatures instead of Open
A sample of compatibility ligature config is:
```toml
[[buildPlans.IosevkaCustom.compatibility-ligatures]]
[[buildPlans.IosevkaCustom.compatibilityLigatures]]
unicode = 57600 # 0xE100
featureTag = 'calt'
sequence = '<*>'
```
#### Excluding Characters
Use the `excludeChars` configuration to exclude character ranges from the font.
```toml
[buildPlans.iosevkaCustom.excludeChars]
ranges = [[10003, 10008]]
```
#### Metric Override
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.
Subsection `metricOverride` 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 |
|----------|------|---------|----------|
@ -597,7 +614,7 @@ Valid functions include:
For example, the following configuration:
```toml
[buildPlans.IosevkaCustom.metric-override]
[buildPlans.IosevkaCustom.metricOverride]
leading = 1500
sb = 'default_sb * 1.0625 + 15'
dotSize = 'blend(weight, [100, 50], [400, 125], [900, 180])'

View file

@ -694,7 +694,7 @@ glyph-block Autobuild-Transformed : begin
link-relations relSets
glyph-block Autobuild-Transformed-Texture : begin
if (!(para.buildTexture && !para.isQuasiProportional)) : return nothing
if (!(para.buildTextureFeature && !para.isQuasiProportional)) : return nothing
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives

View file

@ -73,7 +73,7 @@ define [buildGSUB para glyphStore markGlyphs] : begin
buildLOCL gsub para glyphStore
# TXTR, "texture" feature
if (para.buildTexture && !para.isQuasiProportional) : begin
if (para.buildTextureFeature && !para.isQuasiProportional) : begin
buildGsubTexture gsub glyphStore markGlyphs cvs
gsub.finalize

View file

@ -11,7 +11,7 @@ export function init(data, argv) {
applyAlternatesParam(argv, para, data, "slope", "slope");
if (argv.featureControl.noCvSs) para.enableCvSs = false;
if (argv.featureControl.noLigation) para.enableLigation = false;
if (argv.featureControl.buildTexture) para.buildTexture = true;
if (argv.featureControl.buildTextureFeature) para.buildTextureFeature = true;
return para;
}
function applyBlendingParam(argv, para, data, key, keyArgv) {

View file

@ -1,32 +1,32 @@
### See https://github.com/be5invis/Iosevka/blob/master/doc/custom-build.md for comprehensive
### documentation of the options in this file
[buildPlans.iosevka-custom] # <iosevka-custom> is your plan name
[buildPlans.IosevkaCustom] # <IosevkaCustom> is your plan name
family = "Iosevka Custom" # Font menu family name
spacing = "normal" # Optional; Values: `normal`, `term`, `fontconfig-mono`, or `fixed`
serifs = "sans" # Optional; Values: `sans` or `slab`
export-glyph-names = false # Set this to true for ligature support in Kitty (increased file size)
exportGlyphNames = false # Set this to true for ligature support in Kitty (increased file size)
webfont-formats = ['ttf', 'woff2']
webfontFormats = ['ttf', 'woff2']
###################################################################################################
# Configure variants
# Optional; Whether to inherit a `ss##` variant
[buildPlans.iosevka-custom.variants]
[buildPlans.IosevkaCustom.variants]
inherits = "ss01"
# Optional; Configure single character's variant
[buildPlans.iosevka-custom.variants.design]
[buildPlans.IosevkaCustom.variants.design]
g = 'single-storey-serifless'
# Optional; Configure single character's variant for Upright and Oblique; Overrides [design]
[buildPlans.iosevka-custom.variants.upright]
[buildPlans.IosevkaCustom.variants.upright]
i = 'zshaped'
l = 'zshaped'
# Optional; Configure single character's variant for Italic only; Overrides [design]
[buildPlans.iosevka-custom.variants.italic]
[buildPlans.IosevkaCustom.variants.italic]
i = 'tailed-serifed'
l = 'tailed-serifed'
@ -36,7 +36,7 @@ l = 'tailed-serifed'
###################################################################################################
# Configure ligations
[buildPlans.iosevka-custom.ligations]
[buildPlans.IosevkaCustom.ligations]
inherits = "default-calt" # Optional; inherits an existing ligation set
disables = [] # Optional; disable specific ligation groups, overrides inherited ligation set
enables = [] # Optional; enable specific ligation groups, overrides inherited ligation set
@ -53,17 +53,17 @@ enables = [] # Optional; enable specific ligation groups, overrid
# and "shape" properly only supports number between 100 and 900 (inclusive).
# If you decide to use custom weights you have to define all the weights you
# plan to use otherwise they will not be built.
[buildPlans.iosevka-custom.weights.Regular]
[buildPlans.IosevkaCustom.weights.Regular]
shape = 400 # Weight for glyph shapes.
menu = 400 # Weight for the font's names.
css = 400 # Weight for webfont CSS.
[buildPlans.iosevka-custom.weights.Book]
[buildPlans.IosevkaCustom.weights.Book]
shape = 450
menu = 450 # Use 450 here to name the font's weight "Book"
css = 450
[buildPlans.iosevka-custom.weights.Bold]
[buildPlans.IosevkaCustom.weights.Bold]
shape = 700
menu = 700
css = 700
@ -75,19 +75,19 @@ css = 700
# Override default building slope sets
# When this section is absent, all slopes would be built.
[buildPlans.iosevka-custom.slopes.Upright]
[buildPlans.IosevkaCustom.slopes.Upright]
angle = 0 # Angle in degrees. Valid range [0, 15]
shape = "upright" # Slope grade used for shape selection. `upright` | `oblique` | `italic`
menu = "upright" # Slope grade used for naming. `upright` | `oblique` | `italic`
css = "normal" # Slope grade used for webfont CSS. `normal` | `oblique` | `italic`
[buildPlans.iosevka-custom.slopes.Oblique]
[buildPlans.IosevkaCustom.slopes.Oblique]
angle = 9.4
shape = "oblique"
menu = "oblique"
css = "oblique"
[buildPlans.iosevka-custom.slopes.Italic]
[buildPlans.IosevkaCustom.slopes.Italic]
angle = 9.4
shape = "italic"
menu = "italic"
@ -106,12 +106,12 @@ css = "italic"
# If you decide to use custom widths you have to define all the widths you plan to use,
# otherwise they will not be built.
[buildPlans.iosevka-custom.widths.Normal]
[buildPlans.IosevkaCustom.widths.Normal]
shape = 500 # Unit Width, measured in 1/1000 em.
menu = 5 # Width grade for the font's names.
css = "normal" # "font-stretch' property of webfont CSS.
[buildPlans.iosevka-custom.widths.Extended]
[buildPlans.IosevkaCustom.widths.Extended]
shape = 600
menu = 7
css = "expanded"
@ -124,7 +124,7 @@ css = "expanded"
# Specify character ranges in the section below to exclude certain characters from the font being
# built. Remove this section when this feature is not needed.
[buildPlans.iosevka-custom.exclude-chars]
[buildPlans.IosevkaCustom.excludeChars]
ranges = [[10003, 10008]]
# End character exclusion
@ -137,7 +137,7 @@ ranges = [[10003, 10008]]
# following section to build PUA characters that are generated from the OpenType ligatures.
# Remove this section when compatibility ligatures are not needed.
[[buildPlans.iosevka-custom.compatibility-ligatures]]
[[buildPlans.IosevkaCustom.compatibilityLigatures]]
unicode = 57600 # 0xE100
featureTag = 'calt'
sequence = '<*>'
@ -150,7 +150,7 @@ sequence = '<*>'
# Certain metrics like line height (leading) could be overridden in your build plan file.
# Edit the values to change the metrics. Remove this section when overriding is not needed.
[buildPlans.iosevka-custom.metric-override]
[buildPlans.IosevkaCustom.metricOverride]
leading = 1250
winMetricAscenderPad = 0
winMetricDescenderPad = 0

View file

@ -134,8 +134,8 @@ const BuildPlans = computed("metadata:build-plans", async target => {
const returnBuildPlans = {};
for (const prefix in rawBuildPlans) {
const bp = { ...rawBuildPlans[prefix] };
if (!bp.family) fail(`Build plan for ${prefix} does not have a family name. Exit.`);
bp.webfontFormats = bp["webfont-formats"] || defaultWebFontFormats;
validateBuildPlan(prefix, bp);
bp.webfontFormats = bp.webfontFormats || defaultWebFontFormats;
bp.targets = [];
returnBuildPlans[prefix] = bp;
}
@ -170,7 +170,7 @@ const BuildPlans = computed("metadata:build-plans", async target => {
function linkSpacingDerivableBuildPlans(bps) {
for (const pfxTo in bps) {
const bpTo = bps[pfxTo];
if (blockSpacingDerivation(bpTo)) continue;
if (blockSpacingDerivationTo(bpTo)) continue;
if (!isDeriveToSpacing(bpTo.spacing)) continue;
for (const pfxFrom in bps) {
const bpFrom = bps[pfxFrom];
@ -180,8 +180,8 @@ function linkSpacingDerivableBuildPlans(bps) {
}
}
}
function blockSpacingDerivation(bp) {
return !!bp["compatibility-ligatures"];
function blockSpacingDerivationTo(bp) {
return !!bp.compatibilityLigatures;
}
function isDeriveToSpacing(spacing) {
return spacing === "term" || spacing === "fontconfig-mono" || spacing === "fixed";
@ -260,10 +260,10 @@ const FontInfoOf = computed.group("metadata:font-info-of", async (target, fileNa
derivingVariants: bp.derivingVariants,
buildCharMap: bp.buildCharMap,
featureControl: {
noCvSs: bp["no-cv-ss"] || false,
noLigation: bp["no-ligation"] || false,
exportGlyphNames: bp["export-glyph-names"] || false,
buildTexture: bp["build-texture-feature"] || false
noCvSs: bp.noCvSs || false,
noLigation: bp.noLigation || false,
exportGlyphNames: bp.exportGlyphNames || false,
buildTextureFeature: bp.buildTextureFeature || false
},
// Ligations
ligations: bp.ligations || null,
@ -290,14 +290,17 @@ const FontInfoOf = computed.group("metadata:font-info-of", async (target, fileNa
stretch: sfi.cssStretch,
style: sfi.cssStyle
},
// Hinting
hintParams: bp.hintParams || [],
hintReference:
!bp["metric-override"] && hintReferenceSuffix !== fi0.suffix
!bp.metricOverride && hintReferenceSuffix !== fi0.suffix
? makeFileName(fi0.prefix, hintReferenceSuffix)
: null,
compatibilityLigatures: bp["compatibility-ligatures"] || null,
metricOverride: bp["metric-override"] || null,
excludedCharRanges: bp["exclude-chars"]?.ranges,
// Other parameters
compatibilityLigatures: bp.compatibilityLigatures || null,
metricOverride: bp.metricOverride || null,
excludedCharRanges: bp.excludeChars?.ranges,
// Spacing derivation -- creating faster build for spacing variants
spacingDerive
@ -1198,6 +1201,26 @@ const Parameters = task(`meta:parameters`, async target => {
// Build plan validation
function validateBuildPlan(prefix, bp) {
if (!bp.family) fail(`Build plan for ${prefix} does not have a family name. Exit.`);
failWithLegacyParamName(prefix, bp, `no-cv-ss`, `noCvSs`);
failWithLegacyParamName(prefix, bp, `no-ligation`, `noLigation`);
failWithLegacyParamName(prefix, bp, `export-glyph-names`, `exportGlyphNames`);
failWithLegacyParamName(prefix, bp, `build-texture-feature`, `buildTextureFeature`);
failWithLegacyParamName(prefix, bp, `metric-override`, `metricOverride`);
failWithLegacyParamName(prefix, bp, `compatibility-ligatures`, `compatibilityLigatures`);
failWithLegacyParamName(prefix, bp, `exclude-chars`, `excludeChars`);
}
function failWithLegacyParamName(prefix, bp, legacy, expected) {
if (bp[legacy]) {
fail(
`Build plan for '${prefix}' contains legacy build parameter '${legacy}'. ` +
`Please use '${expected}' instead.`
);
}
}
function resolveWws(bpName, buildPlans, defaultConfig) {
const bp = buildPlans[bpName];
if (!bp) fail(`Build plan ${bpName} not found.`);