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

View file

@ -1,6 +1,15 @@
* \[**BREAKING**\] The filenames and package filenames are changed. * \[**BREAKING**\] The filenames and package filenames are changed.
- They will now use PascalCase instead of kebab-case. - 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. - 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**\] 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: * \[**BREAKING**\] Reorder of glyph variants:
- Influenced characters: `M`, `R`, `f`, `t`, `x`, Long S (`ſ`), Lower Chi (`χ`), Cyrillic Lower Em (`м`), Cyrillic Ya (`Я`, `я`), `5`. - 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. * 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). * Refine Greek Capital Sho (U+03F7) glyph (#2079).
* \[Experimental\] Add a font feature for texture control (#2081). * \[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 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). * 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 reverse-slashed zero (#438).
* Add U+1F8B0 and U+1F8B1 (#459). * Add U+1F8B0 and U+1F8B1 (#459).
* Fixed broken shape around `srtail`, `Sswash` and `sswash`. * 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. * Retrocomputing symbols are now defaults to half-width.
* Made variant selectors work for turned letters. * Made variant selectors work for turned letters.
* Make `ligset-dlig` usable from custom build (#463). * 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 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). * 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). * Add flat-boundary brace shape (#1172).
@ -6,4 +6,4 @@
* Make dot size, period size and accent size / placement configurable (#1169, #1176). * 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). * 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. * 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. * `serifs`: Optional, String, configures style of serifs.
- When set to `slab`, the font will be converted into slab-serif. - When set to `slab`, the font will be converted into slab-serif.
- Otherwise the font will be sans-serif. - Otherwise the font will be sans-serif.
* `no-cv-ss`: Optional, Boolean, disables `cv##` and `ss##` OpenType features. * `noCvSs`: Optional, Boolean, disables `cv##` and `ss##` OpenType features.
* `no-ligation`: Optional, Boolean, disables ligations. * `noLigation`: 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/). * `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/).
* `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. * `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.
* `build-texture-feature`: Optional, Boolean, whether to build the `TXTR` feature for cross-letter texture adjustments. Defaults to false. * `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 #### Configuring Ligations
@ -521,7 +529,7 @@ Subsection `slopes` is used to change the slope angles and grades that the custo
#### Compatibility Ligatures #### 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. * `unicode`: The PUA code point being assigned to.
* `featureTag`: The feature tag to compute ligations. * `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: A sample of compatibility ligature config is:
```toml ```toml
[[buildPlans.IosevkaCustom.compatibility-ligatures]] [[buildPlans.IosevkaCustom.compatibilityLigatures]]
unicode = 57600 # 0xE100 unicode = 57600 # 0xE100
featureTag = 'calt' featureTag = 'calt'
sequence = '<*>' sequence = '<*>'
``` ```
#### Excluding Characters
Use the `excludeChars` configuration to exclude character ranges from the font.
```toml
[buildPlans.iosevkaCustom.excludeChars]
ranges = [[10003, 10008]]
```
#### Metric Override #### 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 | | Property | Unit | Default Value | Meaning |
|----------|------|---------|----------| |----------|------|---------|----------|
@ -597,7 +614,7 @@ Valid functions include:
For example, the following configuration: For example, the following configuration:
```toml ```toml
[buildPlans.IosevkaCustom.metric-override] [buildPlans.IosevkaCustom.metricOverride]
leading = 1500 leading = 1500
sb = 'default_sb * 1.0625 + 15' sb = 'default_sb * 1.0625 + 15'
dotSize = 'blend(weight, [100, 50], [400, 125], [900, 180])' dotSize = 'blend(weight, [100, 50], [400, 125], [900, 180])'

View file

@ -694,7 +694,7 @@ glyph-block Autobuild-Transformed : begin
link-relations relSets link-relations relSets
glyph-block Autobuild-Transformed-Texture : begin 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 CommonShapes
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives

View file

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

View file

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

View file

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