Start detaching style selectors
This commit is contained in:
parent
4b04f952d1
commit
bbf73e9748
9 changed files with 288 additions and 291 deletions
|
@ -20,6 +20,8 @@ module.exports = async function main(argv) {
|
|||
// Parameter preparation
|
||||
async function getParameters(argv) {
|
||||
const PARAMETERS_TOML = path.resolve(__dirname, "../params/parameters.toml");
|
||||
const WEIGHTS_TOML = path.resolve(__dirname, "../params/shape-weight.toml");
|
||||
const WIDTHS_TOML = path.resolve(__dirname, "../params/shape-width.toml");
|
||||
const PRIVATE_TOML = path.resolve(__dirname, "../params/private-parameters.toml");
|
||||
const VARIANTS_TOML = path.resolve(__dirname, "../params/variants.toml");
|
||||
const LIGATIONS_TOML = path.resolve(__dirname, "../params/ligation-set.toml");
|
||||
|
@ -27,37 +29,44 @@ async function getParameters(argv) {
|
|||
const parametersData = Object.assign(
|
||||
{},
|
||||
await tryParseToml(PARAMETERS_TOML),
|
||||
(await fs.exists(PRIVATE_TOML)) ? await tryParseToml(PRIVATE_TOML) : []
|
||||
await tryParseToml(WEIGHTS_TOML),
|
||||
await tryParseToml(WIDTHS_TOML),
|
||||
(await fs.exists(PRIVATE_TOML)) ? await tryParseToml(PRIVATE_TOML) : {}
|
||||
);
|
||||
const rawVariantsData = await tryParseToml(VARIANTS_TOML);
|
||||
const rawLigationData = await tryParseToml(LIGATIONS_TOML);
|
||||
|
||||
const para = Parameters.build(parametersData, argv.hives, {
|
||||
shapeWeight: argv.shape.weight,
|
||||
shapeWidth: argv.shape.width
|
||||
});
|
||||
let para = {};
|
||||
Parameters.apply(para, parametersData, ["iosevka"]);
|
||||
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, [`diversity-${argv.shape.quasiProportionalDiversity}`]);
|
||||
|
||||
const variantsData = FormVariantData(rawVariantsData, para);
|
||||
para.variants = variantsData;
|
||||
para.variantSelector = Parameters.build(variantsData, ["default", ...argv.hives]);
|
||||
para.variantSelector = {};
|
||||
Parameters.apply(para.variantSelector, variantsData, ["default", ...argv.preHives]);
|
||||
para.defaultVariant = variantsData.default;
|
||||
|
||||
const ligationData = FormLigationData(rawLigationData, para);
|
||||
para.defaultBuildup = ligationData.defaultBuildup;
|
||||
para.ligation = Parameters.build(ligationData.hives, ["default", ...argv.hives]);
|
||||
para.defaultBuildup = { ...ligationData.defaultBuildup };
|
||||
para.ligation = {};
|
||||
Parameters.apply(para.ligation, ligationData.hives, ["default", ...argv.preHives]);
|
||||
|
||||
if (argv.excludedCharRanges) para.excludedCharRanges = argv.excludedCharRanges;
|
||||
if (argv.compatibilityLigatures) para.compLig = argv.compatibilityLigatures;
|
||||
if (argv.metricOverride) Parameters.applyMetricOverride(para, argv.metricOverride);
|
||||
|
||||
para.naming = {
|
||||
...para.naming,
|
||||
family: argv.menu.family,
|
||||
version: argv.menu.version,
|
||||
weight: argv.menu.weight - 0,
|
||||
width: argv.menu.width - 0,
|
||||
slant: argv.menu.slant
|
||||
};
|
||||
|
||||
return para;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue