Remove concept "quasi-proportional grade"; Change QP into a spacing grade.

This commit is contained in:
be5invis 2020-12-27 15:07:03 -08:00
parent abed5aba95
commit 5b02c9e02c
7 changed files with 24 additions and 32 deletions

View file

@ -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 Writers Duo"
spacing = "quasi-proportional"
no-cv-ss = true
no-ligation = true
snapshotFamily = 'iosevka-sparkle'
quasiProportionalDiversity = 1
[buildPlans.iosevka-sparkle.variants.design]
at = 'fourfold'

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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, " "));