|
1 | 1 | import fs from "fs";
|
2 |
| -import path from "path"; |
3 | 2 | import zlib from "zlib";
|
4 | 3 |
|
5 |
| -import * as Toml from "@iarna/toml"; |
6 | 4 | import * as Caching from "@iosevka/geometry-cache";
|
7 | 5 | import { createGrDisplaySheet } from "@iosevka/glyph/relation";
|
8 |
| -import * as Parameters from "@iosevka/param"; |
9 |
| -import { applyLigationData } from "@iosevka/param/ligation"; |
10 |
| -import { applyMetricOverride } from "@iosevka/param/metric-override"; |
11 |
| -import * as VariantData from "@iosevka/param/variant"; |
12 | 6 | import { encode } from "@msgpack/msgpack";
|
13 | 7 |
|
14 | 8 | import { buildFont } from "./build-font/index.mjs";
|
15 | 9 | import { saveTTF } from "./font-io/index.mjs";
|
16 |
| -import { createNamingDictFromArgv } from "./naming/index.mjs"; |
| 10 | +import { getParametersT } from "./param/index.mjs"; |
17 | 11 |
|
18 | 12 | export default main;
|
19 | 13 | async function main(argv) {
|
@@ -42,61 +36,6 @@ async function main(argv) {
|
42 | 36 | return { cacheUpdated };
|
43 | 37 | }
|
44 | 38 |
|
45 |
| -/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 |
| - |
47 |
| -// Parameter preparation |
48 |
| -async function getParametersT(argv) { |
49 |
| - const PARAMETERS_TOML = path.resolve(argv.paramsDir, "./parameters.toml"); |
50 |
| - const WEIGHTS_TOML = path.resolve(argv.paramsDir, "./shape-weight.toml"); |
51 |
| - const WIDTHS_TOML = path.resolve(argv.paramsDir, "./shape-width.toml"); |
52 |
| - const SLOPES_TOML = path.resolve(argv.paramsDir, "./shape-slope.toml"); |
53 |
| - const PRIVATE_TOML = path.resolve(argv.paramsDir, "./private-parameters.toml"); |
54 |
| - const VARIANTS_TOML = path.resolve(argv.paramsDir, "./variants.toml"); |
55 |
| - const LIGATIONS_TOML = path.resolve(argv.paramsDir, "./ligation-set.toml"); |
56 |
| - const parametersData = Object.assign( |
57 |
| - {}, |
58 |
| - await tryParseToml(PARAMETERS_TOML), |
59 |
| - await tryParseToml(WEIGHTS_TOML), |
60 |
| - await tryParseToml(WIDTHS_TOML), |
61 |
| - await tryParseToml(SLOPES_TOML), |
62 |
| - fs.existsSync(PRIVATE_TOML) ? await tryParseToml(PRIVATE_TOML) : {}, |
63 |
| - ); |
64 |
| - const rawVariantsData = await tryParseToml(VARIANTS_TOML); |
65 |
| - const rawLigationData = await tryParseToml(LIGATIONS_TOML); |
66 |
| - function createParaImpl(argv) { |
67 |
| - let para = Parameters.init(deepClone(parametersData), argv); |
68 |
| - VariantData.apply(deepClone(rawVariantsData), para, argv); |
69 |
| - applyLigationData(deepClone(rawLigationData), para, argv); |
70 |
| - if (argv.excludedCharRanges) para.excludedCharRanges = argv.excludedCharRanges; |
71 |
| - if (argv.compatibilityLigatures) para.compatibilityLigatures = argv.compatibilityLigatures; |
72 |
| - if (argv.metricOverride) applyMetricOverride(para, argv.metricOverride, argv); |
73 |
| - para.naming = { ...para.naming, ...createNamingDictFromArgv(argv) }; |
74 |
| - return para; |
75 |
| - } |
76 |
| - function paraT(argv) { |
77 |
| - const para = createParaImpl(argv); |
78 |
| - para.createFork = function (tf) { |
79 |
| - const argv1 = deepClone(argv); |
80 |
| - tf(argv1, argv); |
81 |
| - return paraT(argv1); |
82 |
| - }; |
83 |
| - return para; |
84 |
| - } |
85 |
| - return paraT; |
86 |
| -} |
87 |
| -async function tryParseToml(str) { |
88 |
| - try { |
89 |
| - return Toml.parse(await fs.promises.readFile(str, "utf-8")); |
90 |
| - } catch (e) { |
91 |
| - throw new Error( |
92 |
| - `Failed to parse configuration file ${str}.\nPlease validate whether there's syntax error.\n${e}`, |
93 |
| - ); |
94 |
| - } |
95 |
| -} |
96 |
| -function deepClone(pod) { |
97 |
| - return JSON.parse(JSON.stringify(pod)); |
98 |
| -} |
99 |
| - |
100 | 39 | // Save character map file
|
101 | 40 | async function saveCharMap(argv, glyphStore) {
|
102 | 41 | let charMap = [];
|
|
0 commit comments