Code cleanup: slant → slope
This commit is contained in:
parent
bbf73e9748
commit
3389ad5d66
14 changed files with 99 additions and 86 deletions
|
@ -114,16 +114,16 @@ Since version 2.0, Iosevka would no longer support building via `makefile`. To i
|
|||
###################################################################################################
|
||||
|
||||
###################################################################################################
|
||||
# Override default building slant sets
|
||||
# Override default building slope sets
|
||||
# Format: <upright|italic|oblique> = <"normal"|"italic"|"oblique">
|
||||
# When this section is absent, all slants would be built.
|
||||
# When this section is absent, all slopes would be built.
|
||||
|
||||
[buildPlans.iosevka-custom.slants]
|
||||
[buildPlans.iosevka-custom.slopes]
|
||||
upright = "normal"
|
||||
italic = "italic"
|
||||
oblique = "oblique"
|
||||
|
||||
# End slant section
|
||||
# End slope section
|
||||
###################################################################################################
|
||||
|
||||
###################################################################################################
|
||||
|
|
|
@ -536,7 +536,7 @@ from = ["iosevka-sparkle"]
|
|||
[collectConfig]
|
||||
distinguishWeights = true
|
||||
distinguishWidths = false
|
||||
distinguishSlant = false
|
||||
distinguishSlope = false
|
||||
|
||||
###################################################################################################
|
||||
# Weight mappings (style => shape weight, menu weight, CSS weight)
|
||||
|
@ -591,10 +591,10 @@ shape = 900
|
|||
menu = 900
|
||||
css = 900
|
||||
|
||||
# Slant mappings (style => CSS)
|
||||
# slope mappings (style => CSS)
|
||||
# NOTE: This mapping does NOT affect the font's metadata, only affects
|
||||
# the webfont CSS. Change `params/parameters.toml` instead.
|
||||
[slants]
|
||||
[slopes]
|
||||
upright = "normal"
|
||||
oblique = "oblique"
|
||||
italic = "italic"
|
||||
|
|
|
@ -43,7 +43,7 @@ function extractGlyfCmap(glyphList, font) {
|
|||
}
|
||||
|
||||
function regulateGlyphList(para, gs) {
|
||||
const skew = Math.tan(((para.slantAngle || 0) / 180) * Math.PI);
|
||||
const skew = Math.tan(((para.slopeAngle || 0) / 180) * Math.PI);
|
||||
|
||||
const excludeUnicode = new Set();
|
||||
excludeUnicode.add(0x80);
|
||||
|
|
|
@ -773,14 +773,14 @@ glyph-block CommonShapes : begin
|
|||
local gs : buildGlyphs p shouldBuildList shouldBuildUnicodes
|
||||
return gs.glyphs
|
||||
|
||||
define [Miniature] : params [glyphs crowd scale [slantAngle para.slantAngle] [sbscale (Width / UPM)] [mono false]] : begin
|
||||
define [Miniature] : params [glyphs crowd scale [slopeAngle para.slopeAngle] [sbscale (Width / UPM)] [mono false]] : begin
|
||||
local forkedPara : Object.create para
|
||||
forkedPara.stroke = [adviceBlackness crowd : Math.pow [clamp 0 1 (HalfUPM / Width)] 0.5] / scale
|
||||
forkedPara.ess = para.ess * forkedPara.stroke / para.stroke
|
||||
forkedPara.dotsize = para.dotsize * forkedPara.stroke / para.stroke
|
||||
forkedPara.periodsize = para.periodsize * forkedPara.stroke / para.stroke
|
||||
forkedPara.sb = SB * sbscale
|
||||
forkedPara.slantAngle = slantAngle
|
||||
forkedPara.slopeAngle = slopeAngle
|
||||
if mono : begin
|
||||
forkedPara.diversityM = 1
|
||||
return : Fork glyphs forkedPara
|
||||
|
|
|
@ -1651,9 +1651,9 @@ glyph-block Letter-Latin-Lower-Y : begin
|
|||
include : yBaseSerif top bottom
|
||||
|
||||
define [SmallLambdaShape top bottom] : ReverseContours : glyph-construction
|
||||
set currentGlyph.gizmo : Italify (-para.slantAngle)
|
||||
set currentGlyph.gizmo : Italify (-para.slopeAngle)
|
||||
include : SmallYShape top bottom
|
||||
set currentGlyph.gizmo : Italify (+para.slantAngle)
|
||||
set currentGlyph.gizmo : Italify (+para.slopeAngle)
|
||||
# apply-transform : Upright
|
||||
apply-transform : Translate 0 (-[mix bottom top 0.5])
|
||||
apply-transform : Scale 1 (-1)
|
||||
|
@ -4593,7 +4593,7 @@ glyph-block Letter-Latin-Lower-F : begin
|
|||
do "f ligatures"
|
||||
local shift (-(Width * 0.055 + SB * 0.5))
|
||||
local barr RightSB
|
||||
local hbarleft (SB + shift + Stroke * [if para.slantAngle 0.5 0.25])
|
||||
local hbarleft (SB + shift + Stroke * [if para.slopeAngle 0.5 0.25])
|
||||
|
||||
sketch # f_i
|
||||
include MarkSet.b
|
||||
|
|
|
@ -86,7 +86,7 @@ glyph-block Symbol-Math-Letter-Like : begin
|
|||
glyphs -- {'eight.lnum' 'rotetedpropto'}
|
||||
crowd -- 4
|
||||
scale -- s
|
||||
slantAngle -- 0
|
||||
slopeAngle -- 0
|
||||
|
||||
sketch # infty
|
||||
set-width MosaicWidth
|
||||
|
@ -694,13 +694,13 @@ glyph-block Symbol-Math-Logicals : begin
|
|||
glyph-block Symbol-Math-Relation : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks : TildeShape
|
||||
glyph-block-export dH lessSlantness
|
||||
glyph-block-export dH LessSlope
|
||||
glyph-block-export LessShape GreaterShape LigationLessShape LigationGreaterShape
|
||||
glyph-block-export EqualShape EqualHole IdentShape IdentHole EqualHalfSpace
|
||||
|
||||
define EqualHalfSpace : (operTop - operBot) * 2 * designParameters.equal_wideness
|
||||
define lessSlantness : (4 / 13) * (operTop - operBot) / (RightSB - SB)
|
||||
define dH : lessSlantness * (RightSB - SB)
|
||||
define LessSlope : (4 / 13) * (operTop - operBot) / (RightSB - SB)
|
||||
define dH : LessSlope * (RightSB - SB)
|
||||
define lessEqDist : Math.max [adviceBlackness 4] (XH * 0.16)
|
||||
|
||||
define [EqualShape left right] : union
|
||||
|
|
|
@ -1307,11 +1307,11 @@ glyph-block Symbol-Other-I-Ching : begin
|
|||
|
||||
glyph-block Symbol-Other-Ligation : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Symbol-Math-Relation : lessSlantness
|
||||
glyph-block-import Symbol-Math-Relation : LessSlope
|
||||
|
||||
local arrowheadsKern : (2 / 3) * [clamp 0 (Width * 0.4) (Width - OperatorStroke * 3)]
|
||||
|
||||
define arrowheadSlope : 1 / lessSlantness
|
||||
define arrowheadSlope : 1 / LessSlope
|
||||
define [ArrowBarConfig extend kern join doubleBar] : begin
|
||||
define cleft O
|
||||
define cright (Width - O)
|
||||
|
@ -1600,7 +1600,7 @@ glyph-block Symbol-Other-Ligation : begin
|
|||
|
||||
local trigLeft : mix SB RightSB (1/6)
|
||||
local trigRight : Width * 1.5 - OperatorStroke * 1.5 * HVContrast
|
||||
local dHTriangle : lessSlantness * (trigRight - trigLeft)
|
||||
local dHTriangle : LessSlope * (trigRight - trigLeft)
|
||||
|
||||
define [TrigLeftShape shift] : LessShape (symbolMid + dHTriangle) (symbolMid - dHTriangle) (trigLeft + shift) (trigRight + shift)
|
||||
define [TrigRightShape shift] : GreaterShape (symbolMid + dHTriangle) (symbolMid - dHTriangle) (Width - trigRight + shift) (Width - trigLeft + shift)
|
||||
|
|
|
@ -41,7 +41,7 @@ async function getParameters(argv) {
|
|||
Parameters.apply(para, parametersData, argv.preHives);
|
||||
Parameters.apply(para, parametersData, ["shapeWeight"], { shapeWeight: argv.shape.weight });
|
||||
Parameters.apply(para, parametersData, ["shapeWidth"], { shapeWidth: argv.shape.width });
|
||||
Parameters.apply(para, parametersData, [`s-${argv.shape.slant}`]);
|
||||
Parameters.apply(para, parametersData, [`s-${argv.shape.slope}`]);
|
||||
Parameters.apply(para, parametersData, [`diversity-${argv.shape.quasiProportionalDiversity}`]);
|
||||
|
||||
const variantsData = FormVariantData(rawVariantsData, para);
|
||||
|
@ -65,7 +65,7 @@ async function getParameters(argv) {
|
|||
version: argv.menu.version,
|
||||
weight: argv.menu.weight - 0,
|
||||
width: argv.menu.width - 0,
|
||||
slant: argv.menu.slant
|
||||
slope: argv.menu.slope
|
||||
};
|
||||
return para;
|
||||
}
|
||||
|
|
|
@ -34,18 +34,18 @@ export : define [calculateMetrics para] : begin
|
|||
|
||||
# Transform constructors
|
||||
define [Italify angle shift] : begin
|
||||
local slope [Math.tan ([fallback angle para.slantAngle] / 180 * Math.PI)]
|
||||
local slope [Math.tan ([fallback angle para.slopeAngle] / 180 * Math.PI)]
|
||||
return : new Transform 1 slope 0 1 [fallback shift : -slope * symbolMid] 0
|
||||
define [Upright angle shift] [Italify angle shift :.inverse]
|
||||
define [Scale sx sy] : new Transform sx 0 0 [fallback sy sx] 0 0
|
||||
define [Translate x y] : new Transform 1 0 0 1 x y
|
||||
define [Rotate angle] : new Transform [Math.cos angle] (-[Math.sin angle]) [Math.sin angle] [Math.cos angle] 0 0
|
||||
|
||||
define globalTransform : Italify para.slantAngle
|
||||
define globalTransform : Italify para.slopeAngle
|
||||
define TanSlope globalTransform.yx
|
||||
define SINSLANT : Math.sin (para.slantAngle / 180 * Math.PI)
|
||||
define COSSLANT : Math.cos (para.slantAngle / 180 * Math.PI)
|
||||
define HVContrast : Contrast * COSSLANT + SINSLANT * TanSlope
|
||||
define SinSlope : Math.sin (para.slopeAngle / 180 * Math.PI)
|
||||
define CosSlope : Math.cos (para.slopeAngle / 180 * Math.PI)
|
||||
define HVContrast : Contrast * CosSlope + SinSlope * TanSlope
|
||||
|
||||
# Orient parameters
|
||||
define Upward : new Point (-HVContrast) 0
|
||||
|
@ -213,7 +213,7 @@ export : define [setFontMetrics para metrics fm] : begin
|
|||
|
||||
set fm.OS_2.sxHeight XH
|
||||
set fm.OS_2.sCapHeight CAP
|
||||
set fm.post.italicAngle (0 - para.slantAngle)
|
||||
set fm.post.italicAngle (0 - para.slopeAngle)
|
||||
|
||||
|
||||
export : define [compositeBaseAnchors] : begin
|
||||
|
|
|
@ -53,7 +53,7 @@ define widthToMenuStyleMap : object
|
|||
7 "Extended"
|
||||
8 "Extra-Extended"
|
||||
9 "Ultra-Extended"
|
||||
define slantToMenuStyleMap : object
|
||||
define slopeToMenuStyleMap : object
|
||||
normal ""
|
||||
italic "Italic"
|
||||
oblique "Oblique"
|
||||
|
@ -79,33 +79,33 @@ define widthToMenuStyleMapShort : object
|
|||
7 "Ex"
|
||||
8 "XEx"
|
||||
9 "UltEx"
|
||||
define slantToMenuStyleMapShort : object
|
||||
define slopeToMenuStyleMapShort : object
|
||||
normal ""
|
||||
italic "It"
|
||||
oblique "Obl"
|
||||
|
||||
define [getStyle weight width slant] : begin
|
||||
define [getStyle weight width slope] : begin
|
||||
define weightPart : fallback weightToMenuStyleMap.(weight) ('W' + weight)
|
||||
define widthPart widthToMenuStyleMap.(width)
|
||||
define slantPart slantToMenuStyleMap.(slant)
|
||||
define rawName : weightPart + ' ' + widthPart + ' ' + slantPart
|
||||
define slopePart slopeToMenuStyleMap.(slope)
|
||||
define rawName : weightPart + ' ' + widthPart + ' ' + slopePart
|
||||
return : [[rawName.replace [regex ' +' 'g'] ' '].trim] || "Regular"
|
||||
|
||||
define [getShortStyle weight width slant] : begin
|
||||
define [getShortStyle weight width slope] : begin
|
||||
define weightPart : fallback weightToMenuStyleMapShort.(weight) ('W' + weight)
|
||||
define widthPart widthToMenuStyleMapShort.(width)
|
||||
define slantPart slantToMenuStyleMapShort.(slant)
|
||||
define rawName : weightPart + ' ' + widthPart + ' ' + slantPart
|
||||
define slopePart slopeToMenuStyleMapShort.(slope)
|
||||
define rawName : weightPart + ' ' + widthPart + ' ' + slopePart
|
||||
return : [rawName.replace [regex ' ' 'g'] ''] || "Regular"
|
||||
|
||||
define [isRBIBI weight slant] : (weight == 400 || weight == 700) && (slant == "normal" || slant == "italic")
|
||||
define [isRBIBI weight slope] : (weight == 400 || weight == 700) && (slope == "normal" || slope == "italic")
|
||||
|
||||
define [getStyleLinkedStyles weight width slant] : begin
|
||||
define [getStyleLinkedStyles weight width slope] : begin
|
||||
local linkWeight weight
|
||||
local linkSlant slant
|
||||
local linkSlope slope
|
||||
local nameSuffixWeight 400
|
||||
local nameSuffixWidth width
|
||||
local nameSuffixSlant "normal"
|
||||
local nameSuffixSlope "normal"
|
||||
|
||||
# Not regular or bold
|
||||
if (linkWeight != 400 && linkWeight != 700) : begin
|
||||
|
@ -113,14 +113,14 @@ define [getStyleLinkedStyles weight width slant] : begin
|
|||
linkWeight = 400
|
||||
|
||||
# Not "normal" or italic
|
||||
if (linkSlant != "normal" && linkSlant != "italic") : begin
|
||||
nameSuffixSlant = linkSlant
|
||||
linkSlant = "normal"
|
||||
if (linkSlope != "normal" && linkSlope != "italic") : begin
|
||||
nameSuffixSlope = linkSlope
|
||||
linkSlope = "normal"
|
||||
|
||||
return : list
|
||||
getStyle linkWeight 5 linkSlant
|
||||
getStyle nameSuffixWeight nameSuffixWidth nameSuffixSlant
|
||||
getShortStyle nameSuffixWeight nameSuffixWidth nameSuffixSlant
|
||||
getStyle linkWeight 5 linkSlope
|
||||
getStyle nameSuffixWeight nameSuffixWidth nameSuffixSlope
|
||||
getShortStyle nameSuffixWeight nameSuffixWidth nameSuffixSlope
|
||||
|
||||
|
||||
|
||||
|
@ -128,11 +128,11 @@ export : define [assignFontNames para metrics font] : begin
|
|||
set font.name {}
|
||||
|
||||
define family : para.naming.family.trim
|
||||
define style : getStyle para.naming.weight para.naming.width para.naming.slant
|
||||
define style : getStyle para.naming.weight para.naming.width para.naming.slope
|
||||
define version : "Version " + para.naming.version
|
||||
|
||||
define isItalic : para.naming.slant == "italic"
|
||||
define isOblique : para.naming.slant == "oblique"
|
||||
define isItalic : para.naming.slope == "italic"
|
||||
define isOblique : para.naming.slope == "oblique"
|
||||
define isBold : para.naming.weight > 650
|
||||
|
||||
nameFont font PREFERRED_FAMILY family # Preferred Family
|
||||
|
@ -143,7 +143,7 @@ export : define [assignFontNames para metrics font] : begin
|
|||
set font.name.preferredFamily family
|
||||
set font.name.preferredSubFamily style
|
||||
|
||||
local {compatStyle compatFamilySuffix shortCompatFamilySuffix} : getStyleLinkedStyles para.naming.weight para.naming.width para.naming.slant
|
||||
local {compatStyle compatFamilySuffix shortCompatFamilySuffix} : getStyleLinkedStyles para.naming.weight para.naming.width para.naming.slope
|
||||
local compatFamily family
|
||||
if (compatFamilySuffix != "Regular") : set compatFamily : family + ' ' + compatFamilySuffix
|
||||
if (compatFamily.length >= 31) : set compatFamily : family + ' ' + shortCompatFamilySuffix
|
||||
|
@ -171,7 +171,7 @@ export : define [assignFontNames para metrics font] : begin
|
|||
if (a.languageID != b.languageID) : return : a.languageID - b.languageID
|
||||
return : a.nameID - b.nameID
|
||||
|
||||
# Weight, width and slantness
|
||||
# Weight, width and slope
|
||||
set font.OS_2.usWeightClass para.naming.weight
|
||||
set font.OS_2.usWidthClass para.naming.width
|
||||
set font.OS_2.panose.2 : 1 + para.naming.weight / 100
|
||||
|
|
|
@ -29,7 +29,7 @@ arrowHeight = 1.50 # Height of arrows
|
|||
|
||||
contrast = 1.11111 # Stroke width contrast.
|
||||
|
||||
slantAngle = 0 # Slant angle, in degrees.
|
||||
slopeAngle = 0 # slope angle, in degrees.
|
||||
|
||||
accent = 155 # Height of accent marks.
|
||||
accentx = 200 # Width of accent marks.
|
||||
|
@ -97,15 +97,15 @@ enableLigation = false
|
|||
[no-cv-ss]
|
||||
enableCvSs = false
|
||||
|
||||
###### Slantness
|
||||
###### Slopes
|
||||
[s-italic]
|
||||
isItalic = true
|
||||
slantAngle = 10
|
||||
slopeAngle = 10
|
||||
jhook = 120
|
||||
|
||||
[s-oblique]
|
||||
isOblique = true
|
||||
slantAngle = 10
|
||||
slopeAngle = 10
|
||||
jhook = 120
|
||||
|
||||
###### Diversity
|
||||
|
|
|
@ -33,16 +33,16 @@ css = 700
|
|||
###################################################################################################
|
||||
|
||||
###################################################################################################
|
||||
# Override default building slant sets
|
||||
# Override default building slope sets
|
||||
# Format: <upright|italic|oblique> = <"normal"|"italic"|"oblique">
|
||||
# When this section is absent, all slants would be built.
|
||||
# When this section is absent, all slopes would be built.
|
||||
|
||||
[buildPlans.iosevka-custom.slants]
|
||||
[buildPlans.iosevka-custom.slopes]
|
||||
upright = "normal"
|
||||
italic = "italic"
|
||||
oblique = "oblique"
|
||||
|
||||
# End slant section
|
||||
# End slope section
|
||||
###################################################################################################
|
||||
|
||||
###################################################################################################
|
||||
|
|
63
verdafile.js
63
verdafile.js
|
@ -121,14 +121,17 @@ const BuildPlans = computed("metadata:build-plans", async target => {
|
|||
const fileNameToBpMap = {};
|
||||
for (const prefix in rawBuildPlans) {
|
||||
const bp = { ...rawBuildPlans[prefix] };
|
||||
shimBuildPlans(bp, rp.weights, rp.slants, rp.widths);
|
||||
validateAndShimBuildPlans(prefix, bp, rp.weights, rp.slopes, rp.widths);
|
||||
|
||||
bp.targets = [];
|
||||
const suffixMapping = getSuffixMapping(bp.weights, bp.slants, bp.widths);
|
||||
const weights = bp.weights,
|
||||
slopes = bp.slopes,
|
||||
widths = bp.widths;
|
||||
const suffixMapping = getSuffixMapping(weights, slopes, widths);
|
||||
for (const suffix in suffixMapping) {
|
||||
const sfi = suffixMapping[suffix];
|
||||
if (bp.weights && !bp.weights[sfi.weight]) continue;
|
||||
if (bp.slants && !bp.slants[sfi.slant]) continue;
|
||||
if (weights && !weights[sfi.weight]) continue;
|
||||
if (slopes && !slopes[sfi.slope]) continue;
|
||||
const fileName = [prefix, suffix].join("-");
|
||||
bp.targets.push(fileName);
|
||||
fileNameToBpMap[fileName] = { prefix, suffix };
|
||||
|
@ -138,7 +141,17 @@ const BuildPlans = computed("metadata:build-plans", async target => {
|
|||
return { fileNameToBpMap, buildPlans: returnBuildPlans };
|
||||
});
|
||||
|
||||
function shimBuildPlans(bp, dWeights, dSlants, dWidths) {
|
||||
function validateAndShimBuildPlans(prefix, bp, dWeights, dSlopes, dWidths) {
|
||||
if (!bp.family) {
|
||||
fail(`Build plan for ${prefix} does not have a family name. Exit.`);
|
||||
}
|
||||
if (!bp.slopes && bp.slants) {
|
||||
echo.warn(
|
||||
`Build plan for ${prefix} uses legacy "slants" to define slopes. ` +
|
||||
`Use "slopes" instead.`
|
||||
);
|
||||
}
|
||||
|
||||
if (!bp.pre) bp.pre = {};
|
||||
if (!bp.post) bp.post = {};
|
||||
|
||||
|
@ -153,7 +166,7 @@ function shimBuildPlans(bp, dWeights, dSlants, dWidths) {
|
|||
if (!bp.post.italic) bp.post.italic = [];
|
||||
|
||||
bp.weights = bp.weights || dWeights;
|
||||
bp.slants = bp.slants || dSlants;
|
||||
bp.slopes = bp.slopes || bp.slants || dSlopes;
|
||||
bp.widths = bp.widths || dWidths;
|
||||
}
|
||||
|
||||
|
@ -179,9 +192,9 @@ const FontInfoOf = computed.group("metadata:font-info-of", async (target, fileNa
|
|||
const bp = buildPlans[fi0.prefix];
|
||||
if (!bp) fail(`Build plan for '${fileName}' not found.` + whyBuildPlanIsnNotThere(fileName));
|
||||
|
||||
const sfi = getSuffixMapping(bp.weights, bp.slants, bp.widths)[fi0.suffix];
|
||||
const preHives = [...bp.pre.design, ...bp.pre[sfi.slant]];
|
||||
const postHives = [...bp.post.design, ...bp.post[sfi.slant]];
|
||||
const sfi = getSuffixMapping(bp.weights, bp.slopes, bp.widths)[fi0.suffix];
|
||||
const preHives = [...bp.pre.design, ...bp.pre[sfi.slope]];
|
||||
|
||||
return {
|
||||
name: fileName,
|
||||
// Hives
|
||||
|
@ -189,7 +202,7 @@ const FontInfoOf = computed.group("metadata:font-info-of", async (target, fileNa
|
|||
// Shape
|
||||
shape: {
|
||||
weight: sfi.shapeWeight,
|
||||
slant: sfi.slant,
|
||||
slope: sfi.slope,
|
||||
width: sfi.shapeWidth,
|
||||
quasiProportionalDiversity: bp["quasiProportionalDiversity"] || 0
|
||||
},
|
||||
|
@ -198,7 +211,7 @@ const FontInfoOf = computed.group("metadata:font-info-of", async (target, fileNa
|
|||
family: bp.family,
|
||||
version: version,
|
||||
width: sfi.menuWidth,
|
||||
slant: sfi.menuSlant,
|
||||
slope: sfi.menuSlope,
|
||||
weight: sfi.menuWeight
|
||||
},
|
||||
// CSS
|
||||
|
@ -214,12 +227,12 @@ const FontInfoOf = computed.group("metadata:font-info-of", async (target, fileNa
|
|||
};
|
||||
});
|
||||
|
||||
function getSuffixMapping(weights, slants, widths) {
|
||||
function getSuffixMapping(weights, slopes, widths) {
|
||||
const mapping = {};
|
||||
for (const w in weights) {
|
||||
validateRecommendedWeight(w, weights[w].menu, "Menu");
|
||||
validateRecommendedWeight(w, weights[w].css, "CSS");
|
||||
for (const s in slants) {
|
||||
for (const s in slopes) {
|
||||
for (const wd in widths) {
|
||||
const suffix = makeSuffix(w, wd, s, "regular");
|
||||
mapping[suffix] = {
|
||||
|
@ -236,9 +249,9 @@ function getSuffixMapping(weights, slants, widths) {
|
|||
),
|
||||
cssStretch: widths[wd].css || wd,
|
||||
menuWidth: nValidate("Menu width of " + wd, widths[wd].menu, vlMenuWidth),
|
||||
slant: s,
|
||||
cssStyle: slants[s] || s,
|
||||
menuSlant: slants[s] || s
|
||||
slope: s,
|
||||
cssStyle: slopes[s] || s,
|
||||
menuSlope: slopes[s] || s
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -335,7 +348,7 @@ const CollectPlans = computed(`metadata:collect-plans`, async target => {
|
|||
|
||||
const StandardSuffixes = computed(`metadata:standard-suffixes`, async target => {
|
||||
const [rp] = await target.need(RawPlans);
|
||||
return getSuffixMapping(rp.weights, rp.slants, rp.widths);
|
||||
return getSuffixMapping(rp.weights, rp.slopes, rp.widths);
|
||||
});
|
||||
|
||||
async function getCollectPlans(target, rawCollectPlans, suffixMapping, config, fnFileName) {
|
||||
|
@ -352,20 +365,20 @@ async function getCollectPlans(target, rawCollectPlans, suffixMapping, config, f
|
|||
const [gri] = await target.need(BuildPlanOf(prefix));
|
||||
const ttfFileNameSet = new Set(gri.targets);
|
||||
for (const suffix in suffixMapping) {
|
||||
const gr = suffixMapping[suffix];
|
||||
const sfi = suffixMapping[suffix];
|
||||
const ttcFileName = fnFileName(
|
||||
config,
|
||||
collectPrefix,
|
||||
gr.weight,
|
||||
gr.width,
|
||||
gr.slant
|
||||
sfi.weight,
|
||||
sfi.width,
|
||||
sfi.slope
|
||||
);
|
||||
const glyfTtcFileName = fnFileName(
|
||||
{ ...config, distinguishWidths: true },
|
||||
collectPrefix,
|
||||
gr.weight,
|
||||
gr.width,
|
||||
gr.slant
|
||||
sfi.weight,
|
||||
sfi.width,
|
||||
sfi.slope
|
||||
);
|
||||
|
||||
const ttfTargetName = `${prefix}-${suffix}`;
|
||||
|
@ -388,7 +401,7 @@ function fnStandardTtc(collectConfig, prefix, w, wd, s) {
|
|||
const ttcSuffix = makeSuffix(
|
||||
collectConfig.distinguishWeights ? w : "regular",
|
||||
collectConfig.distinguishWidths ? wd : "normal",
|
||||
collectConfig.distinguishSlant ? s : "upright",
|
||||
collectConfig.distinguishSlope ? s : "upright",
|
||||
"regular"
|
||||
);
|
||||
return `${prefix}-${ttcSuffix}`;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue