diff --git a/data/fontrepo/fonts/README b/data/fontrepo/fonts/README index 4609c342..ee435742 100644 --- a/data/fontrepo/fonts/README +++ b/data/fontrepo/fonts/README @@ -44,6 +44,7 @@ Preparing font formats ----------------------- 1. From the upstream releases, take the TTF versions. -2. To generate woff format, get: https://github.com/rillig/sfntly -3. Use https://github.com/google/woff2 to generate woff2 from ttf. This will - produce a compressed woff2 file. Modern browsers support this format. +2. Use sfnt2woff to generate woff files +$ ls *.ttf | xargs -n1 ../../../../node_modules/sfnt2woff/cli.js +3. Use https://github.com/google/woff2 to generate woff2 files +$ ls *.ttf | xargs -n1 /path/to/woff2/woff2_compress diff --git a/package-lock.json b/package-lock.json index 52f127a9..94c28466 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,7 +4,6 @@ "requires": true, "packages": { "": { - "name": "UniversalLanguageSelector", "devDependencies": { "@wikimedia/codex-design-tokens": "0.10.0", "eslint-config-wikimedia": "0.25.0", @@ -13,6 +12,7 @@ "grunt-eslint": "24.0.1", "grunt-stylelint": "0.18.0", "postcss-less": "6.0.0", + "sfnt2woff": "^1.0.1", "stylelint-config-wikimedia": "0.14.0", "svgo": "2.8.0" } @@ -3074,6 +3074,12 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==", + "dev": true + }, "node_modules/minimist-options": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", @@ -3249,6 +3255,16 @@ "wrappy": "1" } }, + "node_modules/optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", + "dev": true, + "dependencies": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -3333,6 +3349,12 @@ "node": ">=6" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -3995,6 +4017,19 @@ "node": ">=10" } }, + "node_modules/sfnt2woff": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sfnt2woff/-/sfnt2woff-1.0.1.tgz", + "integrity": "sha512-em3KvF+HvLG0Z+rGlyCx5XdTqlk023a1neiz5p4KvQ1p17rzl9EHUQg+do0f2ZJ3KjbgFu1dZbvZ2l97kW605A==", + "dev": true, + "dependencies": { + "optimist": "^0.6.1", + "pako": "^1.0.6" + }, + "bin": { + "sfnt2woff": "cli.js" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4634,6 +4669,15 @@ "node": ">=0.10.0" } }, + "node_modules/wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -7066,6 +7110,12 @@ "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==", + "dev": true + }, "minimist-options": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", @@ -7206,6 +7256,16 @@ "wrappy": "1" } }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -7266,6 +7326,12 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -7722,6 +7788,16 @@ "lru-cache": "^6.0.0" } }, + "sfnt2woff": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sfnt2woff/-/sfnt2woff-1.0.1.tgz", + "integrity": "sha512-em3KvF+HvLG0Z+rGlyCx5XdTqlk023a1neiz5p4KvQ1p17rzl9EHUQg+do0f2ZJ3KjbgFu1dZbvZ2l97kW605A==", + "dev": true, + "requires": { + "optimist": "^0.6.1", + "pako": "^1.0.6" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -8234,6 +8310,12 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "dev": true + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", diff --git a/package.json b/package.json index 91de8cda..cbb7d1d6 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "grunt-eslint": "24.0.1", "grunt-stylelint": "0.18.0", "postcss-less": "6.0.0", + "sfnt2woff": "^1.0.1", "stylelint-config-wikimedia": "0.14.0", "svgo": "2.8.0" },