diff --git a/build-plans.toml b/build-plans.toml index 089cea54f..d08a79f6c 100644 --- a/build-plans.toml +++ b/build-plans.toml @@ -454,10 +454,10 @@ inherits = "ss14" [buildPlans.iosevka-aile] family = "Iosevka Aile" desc = "Sans-serif" +spacing = "quasi-proportional" no-cv-ss = true no-ligation = true snapshotFamily = 'iosevka-aile' -quasiProportionalDiversity = 2 [buildPlans.iosevka-aile.variants.design] at = 'fourfold' @@ -512,11 +512,11 @@ css = "normal" [buildPlans.iosevka-etoile] family = "Iosevka Etoile" desc = "Slab-serif" +spacing = "quasi-proportional" serifs = 'slab' no-cv-ss = true no-ligation = true snapshotFamily = 'iosevka-etoile' -quasiProportionalDiversity = 1 [buildPlans.iosevka-etoile.variants.design] at = 'fourfold' @@ -537,10 +537,10 @@ css = "normal" [buildPlans.iosevka-sparkle] family = "Iosevka Sparkle" desc = "Hybrid, like iA Writer’s Duo" +spacing = "quasi-proportional" no-cv-ss = true no-ligation = true snapshotFamily = 'iosevka-sparkle' -quasiProportionalDiversity = 1 [buildPlans.iosevka-sparkle.variants.design] at = 'fourfold' diff --git a/font-src/glyphs/auto-build/transformed.ptl b/font-src/glyphs/auto-build/transformed.ptl index ab5048984..d3adafca5 100644 --- a/font-src/glyphs/auto-build/transformed.ptl +++ b/font-src/glyphs/auto-build/transformed.ptl @@ -497,7 +497,7 @@ glyph-block Autobuild-Transformed-Mathematical : begin define [tfSansItalic a] : begin [tfSans a] [tfItalic a] define [tfSansBoldItalic a] : begin [tfSans a] [tfBold a] [tfItalic a] define [tfTypeWriter a] : begin - set a.shape.quasiProportionalDiversity 0 + set a.shape.isQuasiProportional false if (a.derivingVariants && a.derivingVariants.mathtt) set a.variants a.derivingVariants.mathtt @@ -581,7 +581,7 @@ glyph-block Autobuild-Transformed-Mathematical : begin CreateMathAliasable SLAB 'mathsz' 'mathbi' tfSansBoldItalic 0x1D7AA LowerGreek # Math Typewriter - local doTypewriter : para.quasiProportionalDiversity > 0 + local doTypewriter : not para.isQuasiProportional CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D670 UpperLatin CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D68A LowerLatin CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D7F6 Digits diff --git a/font-src/meta/aesthetics.ptl b/font-src/meta/aesthetics.ptl index fa2025895..75eedacf8 100644 --- a/font-src/meta/aesthetics.ptl +++ b/font-src/meta/aesthetics.ptl @@ -122,7 +122,7 @@ export : define [calculateMetrics para] : begin define OneBalance : fallback para.onebalance 0 # derived metrics - define WideWidth0 : if (para.quasiProportionalDiversity === 0) (Width * 2) UPM + define WideWidth0 : if para.isQuasiProportional (Width * 2) UPM define WideWidth1 : if (para.spacing >= 1) WideWidth0 Width define WideWidth2 : if (para.spacing >= 2) WideWidth0 Width diff --git a/font-src/meta/naming.ptl b/font-src/meta/naming.ptl index 4a5263b04..d1d7f0f3c 100644 --- a/font-src/meta/naming.ptl +++ b/font-src/meta/naming.ptl @@ -192,7 +192,7 @@ export : define [assignFontNames para metrics font] : begin if (minorVersion > 99 || patchVersion > 9) : throw : new Error "Version number overflow" set font.head.fontRevision : majorVersion + (minorVersion * 10 + patchVersion) / 1000 - if (para.quasiProportionalDiversity === 0) : begin + if [not para.isQuasiProportional] : begin set font.OS_2.panose.bProportion 9 # Monospaced set font.post.isFixedPitch true : else : begin diff --git a/font-src/support/parameters.js b/font-src/support/parameters.js index adc0bd692..b6df1f913 100644 --- a/font-src/support/parameters.js +++ b/font-src/support/parameters.js @@ -11,8 +11,6 @@ function initPara(data, argv) { apply(para, data, ["shapeWeight"], { shapeWeight: argv.shape.weight }); apply(para, data, ["shapeWidth"], { shapeWidth: argv.shape.width }); apply(para, data, [`s-${argv.shape.slope}`]); - apply(para, data, [`diversity-${argv.shape.quasiProportionalDiversity}`]); - para.quasiProportionalDiversity = argv.shape.quasiProportionalDiversity || 0; if (argv.featureControl.noCvSs) para.enableCvSs = false; if (argv.featureControl.noLigation) para.enableLigation = false; return para; diff --git a/params/parameters.toml b/params/parameters.toml index fdad1a058..87e00510e 100644 --- a/params/parameters.toml +++ b/params/parameters.toml @@ -67,6 +67,12 @@ slab = 0 # Old style number height onumZeroHeightRatio = 1.145 +# Reset diversity +diversityM = 1 +diversityF = 1 +diversityI = 1 +diversityII = 1 + [verbose] verbose = true @@ -90,6 +96,15 @@ spacing = 0 enableLigation = false forceMonospace = true +# Quasi-proportional +[spacing-quasi-proportional] +spacing = 3 +isQuasiProportional = true +diversityM = 1.25 +diversityF = 0.75 +diversityI = 0.75 +diversityII = 0.50 + ###### Slopes [s-italic] isItalic = true @@ -98,23 +113,3 @@ slopeAngle = 9.4 [s-oblique] isOblique = true slopeAngle = 9.4 - -###### Diversity -[diversity-0] -diversityM = 1 -diversityF = 1 -diversityI = 1 -diversityII = 1 - -[diversity-1] -diversityM = 1.25 -diversityF = 1.00 -diversityI = 0.75 -diversityII = 0.75 - -[diversity-2] -diversityM = 1.25 -diversityF = 0.75 -diversityI = 0.75 -diversityII = 0.5 - diff --git a/verdafile.js b/verdafile.js index 49adfb96b..ee27f2096 100644 --- a/verdafile.js +++ b/verdafile.js @@ -158,8 +158,7 @@ const FontInfoOf = computed.group("metadata:font-info-of", async (target, fileNa spacing: bp.spacing || null, weight: sfi.shapeWeight, slope: sfi.slope, - width: sfi.shapeWidth, - quasiProportionalDiversity: bp["quasiProportionalDiversity"] || 0 + width: sfi.shapeWidth }, // Menu menu: { @@ -689,7 +688,7 @@ const ReleaseNotePackagesFile = file(`${BUILD}/release-packages.json`, async (t, releaseNoteGroups[k] = { subGroups, slab: primePlan.serifs === "slab", - quasiProportional: primePlan.quasiProportionalDiversity > 0 + quasiProportional: primePlan.spacing === "quasi-proportional" }; } await fs.promises.writeFile(out.full, JSON.stringify(releaseNoteGroups, null, " "));