More cleanup and optimization

This commit is contained in:
be5invis 2023-10-29 00:14:50 -07:00
parent 437442a12e
commit 47ee4b42f6
3 changed files with 62 additions and 45 deletions

View file

@ -20,15 +20,13 @@ export async function buildFont(argv, para) {
// Build OTL // Build OTL
const otl = buildOtl(para, gs.glyphStore); const otl = buildOtl(para, gs.glyphStore);
// Regulate // Regulate (like geometry conversion)
const excludeChars = new Set(); const excludeChars = new Set();
if (para.excludedCharRanges) { if (para.excludedCharRanges) {
for (const [start, end] of para.excludedCharRanges) { for (const [start, end] of para.excludedCharRanges) {
for (let p = start; p <= end; p++) excludeChars.add(p); for (let p = start; p <= end; p++) excludeChars.add(p);
} }
} }
// Finalize (like geometry conversion)
const cache = await Caching.load(argv.iCache, argv.menu.version, argv.cacheFreshAgeKey); const cache = await Caching.load(argv.iCache, argv.menu.version, argv.cacheFreshAgeKey);
const finalGs = finalizeFont(cache, para, gs.glyphStore, excludeChars, otl); const finalGs = finalizeFont(cache, para, gs.glyphStore, excludeChars, otl);
if (cache.isUpdated()) await Caching.save(argv.oCache, argv.menu.version, cache, true); if (cache.isUpdated()) await Caching.save(argv.oCache, argv.menu.version, cache, true);

97
package-lock.json generated
View file

@ -17,16 +17,16 @@
"semver": "^7.5.4", "semver": "^7.5.4",
"spiro": "^3.0.0", "spiro": "^3.0.0",
"toposort": "^2.0.2", "toposort": "^2.0.2",
"typo-geom": "^0.13.0", "typo-geom": "^0.13.1",
"uuid": "^9.0.1", "uuid": "^9.0.1",
"wawoff2": "^2.0.1" "wawoff2": "^2.0.1"
}, },
"devDependencies": { "devDependencies": {
"@unicode/unicode-15.0.0": "^1.5.2", "@unicode/unicode-15.0.0": "^1.5.2",
"cldr": "^7.4.1", "cldr": "^7.4.1",
"eslint": "^8.51.0", "eslint": "^8.52.0",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"eslint-plugin-import": "^2.28.1", "eslint-plugin-import": "^2.29.0",
"patel": "^0.39.0", "patel": "^0.39.0",
"prettier": "^3.0.3", "prettier": "^3.0.3",
"verda": "^1.11.0", "verda": "^1.11.0",
@ -99,21 +99,21 @@
} }
}, },
"node_modules/@eslint/js": { "node_modules/@eslint/js": {
"version": "8.51.0", "version": "8.52.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz",
"integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
} }
}, },
"node_modules/@humanwhocodes/config-array": { "node_modules/@humanwhocodes/config-array": {
"version": "0.11.11", "version": "0.11.13",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
"integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@humanwhocodes/object-schema": "^1.2.1", "@humanwhocodes/object-schema": "^2.0.1",
"debug": "^4.1.1", "debug": "^4.1.1",
"minimatch": "^3.0.5" "minimatch": "^3.0.5"
}, },
@ -135,9 +135,9 @@
} }
}, },
"node_modules/@humanwhocodes/object-schema": { "node_modules/@humanwhocodes/object-schema": {
"version": "1.2.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
"dev": true "dev": true
}, },
"node_modules/@iarna/toml": { "node_modules/@iarna/toml": {
@ -705,6 +705,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true "dev": true
}, },
"node_modules/@ungap/structured-clone": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
"dev": true
},
"node_modules/@unicode/unicode-15.0.0": { "node_modules/@unicode/unicode-15.0.0": {
"version": "1.5.2", "version": "1.5.2",
"resolved": "https://registry.npmjs.org/@unicode/unicode-15.0.0/-/unicode-15.0.0-1.5.2.tgz", "resolved": "https://registry.npmjs.org/@unicode/unicode-15.0.0/-/unicode-15.0.0-1.5.2.tgz",
@ -1377,18 +1383,19 @@
} }
}, },
"node_modules/eslint": { "node_modules/eslint": {
"version": "8.51.0", "version": "8.52.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz",
"integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1", "@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.2", "@eslint/eslintrc": "^2.1.2",
"@eslint/js": "8.51.0", "@eslint/js": "8.52.0",
"@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/config-array": "^0.11.13",
"@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8", "@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4", "ajv": "^6.12.4",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"cross-spawn": "^7.0.2", "cross-spawn": "^7.0.2",
@ -1489,26 +1496,26 @@
} }
}, },
"node_modules/eslint-plugin-import": { "node_modules/eslint-plugin-import": {
"version": "2.28.1", "version": "2.29.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz",
"integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"array-includes": "^3.1.6", "array-includes": "^3.1.7",
"array.prototype.findlastindex": "^1.2.2", "array.prototype.findlastindex": "^1.2.3",
"array.prototype.flat": "^1.3.1", "array.prototype.flat": "^1.3.2",
"array.prototype.flatmap": "^1.3.1", "array.prototype.flatmap": "^1.3.2",
"debug": "^3.2.7", "debug": "^3.2.7",
"doctrine": "^2.1.0", "doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.7", "eslint-import-resolver-node": "^0.3.9",
"eslint-module-utils": "^2.8.0", "eslint-module-utils": "^2.8.0",
"has": "^1.0.3", "hasown": "^2.0.0",
"is-core-module": "^2.13.0", "is-core-module": "^2.13.1",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
"minimatch": "^3.1.2", "minimatch": "^3.1.2",
"object.fromentries": "^2.0.6", "object.fromentries": "^2.0.7",
"object.groupby": "^1.0.0", "object.groupby": "^1.0.1",
"object.values": "^1.1.6", "object.values": "^1.1.7",
"semver": "^6.3.1", "semver": "^6.3.1",
"tsconfig-paths": "^3.14.2" "tsconfig-paths": "^3.14.2"
}, },
@ -2170,6 +2177,18 @@
"node": "*" "node": "*"
} }
}, },
"node_modules/hasown": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/hdr-histogram-js": { "node_modules/hdr-histogram-js": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz",
@ -2327,12 +2346,12 @@
} }
}, },
"node_modules/is-core-module": { "node_modules/is-core-module": {
"version": "2.13.0", "version": "2.13.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
"integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"has": "^1.0.3" "hasown": "^2.0.0"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
@ -3635,12 +3654,12 @@
} }
}, },
"node_modules/typo-geom": { "node_modules/typo-geom": {
"version": "0.13.0", "version": "0.13.1",
"resolved": "https://registry.npmjs.org/typo-geom/-/typo-geom-0.13.0.tgz", "resolved": "https://registry.npmjs.org/typo-geom/-/typo-geom-0.13.1.tgz",
"integrity": "sha512-s7BV1wSA+kcv2kNjJXrXgl9By8BGqwRu1llbxfkv45McR/ZyxWOFXUgTMUZdUFn79UQuVc0yzKisrj8XzkR27A==", "integrity": "sha512-3FQwaV5O3JDV21zKSka3uv+biY/XParUagiyS40uu1dcEgq1A381KON1N42vsyLnY0Eixwg9umLdRqKU63ds1w==",
"dependencies": { "dependencies": {
"clipper-lib": "^6.4.2", "clipper-lib": "^6.4.2",
"tslib": "^2.0.1" "tslib": "^2.6.2"
}, },
"engines": { "engines": {
"node": ">= 8.9.0" "node": ">= 8.9.0"

View file

@ -18,16 +18,16 @@
"semver": "^7.5.4", "semver": "^7.5.4",
"spiro": "^3.0.0", "spiro": "^3.0.0",
"toposort": "^2.0.2", "toposort": "^2.0.2",
"typo-geom": "^0.13.0", "typo-geom": "^0.13.1",
"uuid": "^9.0.1", "uuid": "^9.0.1",
"wawoff2": "^2.0.1" "wawoff2": "^2.0.1"
}, },
"devDependencies": { "devDependencies": {
"@unicode/unicode-15.0.0": "^1.5.2", "@unicode/unicode-15.0.0": "^1.5.2",
"cldr": "^7.4.1", "cldr": "^7.4.1",
"eslint": "^8.51.0", "eslint": "^8.52.0",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"eslint-plugin-import": "^2.28.1", "eslint-plugin-import": "^2.29.0",
"patel": "^0.39.0", "patel": "^0.39.0",
"prettier": "^3.0.3", "prettier": "^3.0.3",
"verda": "^1.11.0", "verda": "^1.11.0",