font-range 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.json +12 -1
  3. package/.gitattributes +3 -0
  4. package/.vim/coc-settings.json +6 -0
  5. package/.yarn/plugins/@yarnpkg/plugin-outdated.cjs +35 -0
  6. package/.yarn/plugins/@yarnpkg/plugin-typescript.cjs +9 -0
  7. package/.yarn/sdks/eslint/bin/eslint.js +20 -0
  8. package/.yarn/sdks/eslint/lib/api.js +20 -0
  9. package/.yarn/sdks/eslint/package.json +6 -0
  10. package/.yarn/sdks/integrations.yml +6 -0
  11. package/.yarn/sdks/prettier/index.js +20 -0
  12. package/.yarn/sdks/prettier/package.json +6 -0
  13. package/.yarn/sdks/typescript/bin/tsc +20 -0
  14. package/.yarn/sdks/typescript/bin/tsserver +20 -0
  15. package/.yarn/sdks/typescript/lib/tsc.js +20 -0
  16. package/.yarn/sdks/typescript/lib/tsserver.js +223 -0
  17. package/.yarn/sdks/typescript/lib/tsserverlibrary.js +223 -0
  18. package/.yarn/sdks/typescript/lib/typescript.js +20 -0
  19. package/.yarn/sdks/typescript/package.json +6 -0
  20. package/README.md +141 -43
  21. package/__tests__/css_load.test.ts +52 -0
  22. package/__tests__/font/NotoSansKR-Local.css +3 -2
  23. package/__tests__/font/subset_glyphs.txt +1 -0
  24. package/__tests__/main.test.ts +241 -52
  25. package/__tests__/preset.test.ts +64 -0
  26. package/__tests__/shared.ts +25 -0
  27. package/build/main.d.ts +49 -0
  28. package/build/main.js +363 -0
  29. package/build/worker.d.ts +5 -0
  30. package/build/worker.js +10 -0
  31. package/jest.config.js +5 -5
  32. package/package.json +29 -25
  33. package/requirements.txt +7 -4
  34. package/src/main.ts +356 -106
  35. package/src/{types.ts → types.d.ts} +0 -2
  36. package/src/worker.ts +12 -0
  37. package/tsconfig.json +4 -0
  38. package/tsconfig.release.json +4 -2
  39. package/.github/workflows/nodejs.yml +0 -36
  40. package/.github/workflows/npm-publish.yml +0 -106
  41. package/build/src/main.js +0 -199
  42. package/build/src/main.js.map +0 -1
  43. package/build/src/types.js +0 -3
  44. package/build/src/types.js.map +0 -1
@@ -1,106 +0,0 @@
1
- # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
- # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
3
-
4
- name: Publishing
5
-
6
- on:
7
- push:
8
- tags:
9
- 'v*'
10
-
11
- jobs:
12
- build:
13
- runs-on: ubuntu-latest
14
- steps:
15
- - uses: actions/checkout@v2
16
- with:
17
- fetch-depth: '0'
18
- - uses: volta-cli/action@v1
19
- - name: pip cache
20
- uses: actions/cache@v2
21
- with:
22
- path: ~/.cache/pip
23
- key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
24
- restore-keys: |
25
- ${{ runner.os }}-pip-
26
- - name: node cache
27
- id: node-cache
28
- uses: actions/cache@v2
29
- with:
30
- path: node_modules
31
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
32
- restore-keys: |
33
- ${{ runner.os }}-node-
34
- - run: pip install -r ./requirements.txt
35
- - name: npm install
36
- if: steps.node-cache.outputs.cache-hit != 'true'
37
- run: npm install
38
- - run: npm ci --no-audit
39
- - run: npm run build --if-present
40
- env:
41
- CI: true
42
- - run: npm test
43
- - name: Commit Build File
44
- uses: stefanzweifel/git-auto-commit-action@v4
45
- with:
46
- branch: master
47
- file_pattern: build/src/*.js build/src/*.js.map
48
- commit_message: 'Fix: Automated apply build files'
49
- status_options: '--untracked-files=no'
50
-
51
- publish:
52
- needs: build
53
- runs-on: ubuntu-latest
54
- strategy:
55
- fail-fast: false
56
- matrix:
57
- include:
58
- - branch: master
59
- token: NPM_TOKEN
60
- registry: https://registry.npmjs.org/
61
- - branch: github-repo
62
- token: GITHUB_TOKEN
63
- registry: https://npm.pkg.github.com/
64
- steps:
65
- - uses: actions/checkout@v2
66
- with:
67
- ref: ${{ matrix.branch }}
68
- - name: Merge master -> github-repo
69
- if: matrix.branch == 'github-repo'
70
- uses: devmasx/merge-branch@1.4.0
71
- with:
72
- type: now
73
- from_branch: master
74
- target_branch: github-repo
75
- github_token: ${{ secrets[matrix.token] }}
76
- - uses: volta-cli/action@v1
77
- - uses: actions/setup-node@v1
78
- with:
79
- registry-url: ${{ matrix.registry }}
80
- - name: pip cache
81
- id: pip-cache
82
- uses: actions/cache@v2
83
- with:
84
- path: ~/.cache/pip
85
- key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
86
- restore-keys: |
87
- ${{ runner.os }}-pip-
88
- - name: node cache
89
- id: node-cache
90
- uses: actions/cache@v2
91
- with:
92
- path: node_modules
93
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
94
- restore-keys: |
95
- ${{ runner.os }}-node-
96
- - run: pip install -r ./requirements.txt
97
- - name: npm install
98
- if: steps.node-cache.outputs.cache-hit != 'true'
99
- run: npm install
100
- - run: npm ci
101
- - run: npm run build --if-present
102
- env:
103
- CI: true
104
- - run: npm publish
105
- env:
106
- NODE_AUTH_TOKEN: ${{ secrets[matrix.token] }}
package/build/src/main.js DELETED
@@ -1,199 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fontRange = exports.getUnicodeRanges = exports.targets = void 0;
4
- const tslib_1 = require("tslib");
5
- const path_1 = require("path");
6
- const fs_1 = require("fs");
7
- const node_fetch_1 = require("node-fetch");
8
- const css_tree_1 = require("css-tree");
9
- const child_process_1 = require("child_process");
10
- exports.targets = {
11
- weston: "https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap",
12
- korean: "https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap",
13
- japanese: "https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap",
14
- chinese: "https://fonts.googleapis.com/css2?family=Noto+Sans+SC&display=swap",
15
- chinese_traditional: "https://fonts.googleapis.com/css2?family=Noto+Sans+TC&display=swap",
16
- };
17
- function getFontName(url) {
18
- const encodedURL = decodeURI(url);
19
- const urlObj = new URL(encodedURL);
20
- const urlParams = urlObj.searchParams;
21
- const fontName = urlParams.get("family");
22
- return fontName;
23
- }
24
- function validURL(str) {
25
- const pattern = new RegExp("^(https?:\\/\\/)?" +
26
- "((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|" +
27
- "((\\d{1,3}\\.){3}\\d{1,3}))" +
28
- "(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*" +
29
- "(\\?[;&a-z\\d%_.~+=-]*)?" +
30
- "(\\#[-a-z\\d_]*)?$", "i");
31
- return !!pattern.test(str);
32
- }
33
- function getCSSPath(dirPath, url) {
34
- if (validURL(url)) {
35
- const fontName = getFontName(url);
36
- const cssPath = (0, path_1.join)(dirPath, fontName + ".css");
37
- return cssPath;
38
- }
39
- if (!(0, fs_1.existsSync)(url)) {
40
- throw new Error(url + "Not vaild URL or PATH");
41
- }
42
- return url;
43
- }
44
- function saveCSS(path, url) {
45
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
46
- const headers = new node_fetch_1.Headers({
47
- "Accept": "text/html,application/xhtml+xml,application/xml;",
48
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0"
49
- });
50
- const res = yield (0, node_fetch_1.default)(url, {
51
- method: "GET",
52
- headers: headers
53
- });
54
- const fileStream = (0, fs_1.createWriteStream)(path);
55
- yield new Promise((resolve, reject) => {
56
- res.body.pipe(fileStream);
57
- res.body.on("error", (err) => {
58
- console.log('File write Error.');
59
- reject(err);
60
- });
61
- fileStream.on("finish", function () {
62
- resolve();
63
- });
64
- });
65
- });
66
- }
67
- function readCSS(path) {
68
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
69
- return new Promise((resolve, reject) => {
70
- const readData = [];
71
- (0, fs_1.createReadStream)(path)
72
- .on('data', (data) => {
73
- readData.push(data);
74
- })
75
- .on('end', () => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
76
- yield Promise.all(readData);
77
- const css = readData.join('');
78
- resolve(css);
79
- }))
80
- .on('error', reject);
81
- });
82
- });
83
- }
84
- const parseOptions = {
85
- parseAtrulePrelude: false,
86
- parseRulePrelude: false,
87
- parseValue: false
88
- };
89
- function loadAST(dirPath, url = exports.targets.korean, parseOption = parseOptions) {
90
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
91
- const cssPath = getCSSPath(dirPath, url);
92
- if (!(0, fs_1.existsSync)(dirPath)) {
93
- (0, fs_1.mkdirSync)(dirPath);
94
- }
95
- if (!(0, fs_1.existsSync)(cssPath)) {
96
- yield saveCSS(cssPath, url);
97
- }
98
- const css = yield readCSS(cssPath);
99
- const ast = yield (0, css_tree_1.parse)(css, parseOption);
100
- return ast;
101
- });
102
- }
103
- function parseUnicodeRanges(parsed) {
104
- const fontFaceL = parsed.children;
105
- const uniRangeL = fontFaceL.map((faceValObj => {
106
- const faceBlockL = faceValObj.block.children;
107
- const uniRangeBlockL = faceBlockL.filter(faceBlock => faceBlock.property === "unicode-range");
108
- const uniRangeL = uniRangeBlockL.map(uniRangeBlock => uniRangeBlock.value.value);
109
- return uniRangeL.head.data;
110
- }));
111
- const uniRanges = [];
112
- uniRangeL.forEach(unicodeRange => {
113
- uniRanges.push(unicodeRange);
114
- });
115
- return uniRanges;
116
- }
117
- function getUnicodeRanges(dirPath = "src", url = exports.targets.korean) {
118
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
119
- const ast = yield loadAST(dirPath, url);
120
- return parseUnicodeRanges(ast);
121
- });
122
- }
123
- exports.getUnicodeRanges = getUnicodeRanges;
124
- function getDefaultOptions() {
125
- return {
126
- format: "woff2",
127
- nameFormat: "{NAME}_{INDEX}{EXT}",
128
- defaultArgs: "--layout-features='*' \
129
- --glyph-names \
130
- --symbol-cmap \
131
- --legacy-cmap \
132
- --notdef-glyph \
133
- --notdef-outline \
134
- --recommended-glyphs \
135
- --name-legacy \
136
- --drop-tables= \
137
- --name-IDs='*' \
138
- --name-languages='*'",
139
- etcArgs: ""
140
- };
141
- }
142
- function getOption(options, key, alterValue) {
143
- return Object.prototype.hasOwnProperty.call(options, key)
144
- ? options[key]
145
- : alterValue;
146
- }
147
- function getName(nameFormat, fontName, index, fontExt) {
148
- return nameFormat
149
- .replace("{NAME}", fontName)
150
- .replace("{INDEX}", index.toString())
151
- .replace("{EXT}", fontExt);
152
- }
153
- function getFormat(format) {
154
- switch (format) {
155
- case "otf": return "otf";
156
- case "ttf": return "ttf";
157
- case "woff2": return "woff2";
158
- case "woff": return "woff";
159
- case "woff-zopfli": return "woff";
160
- default: return "woff2";
161
- }
162
- }
163
- function formatOption(format, ext = true) {
164
- const formatName = getFormat(format);
165
- if (ext)
166
- return "." + formatName;
167
- if (format === "otf" || format === "ttf")
168
- return "";
169
- return "--flavor='" + ((format === "woff-zopfli")
170
- ? formatName + "' --with-zopfli "
171
- : formatName + "' ");
172
- }
173
- function fontRange(url = exports.targets.korean, fontPath = "", fontRangeOption) {
174
- const options = Object.assign(getDefaultOptions(), typeof (fontRangeOption) === 'string'
175
- ? { savePath: fontRangeOption }
176
- : fontRangeOption);
177
- const format = options.format;
178
- const pathInfo = (0, path_1.parse)(fontPath);
179
- const fontDir = pathInfo.dir;
180
- const fontName = pathInfo.name;
181
- const fontExt = formatOption(format);
182
- const dirPath = getOption(options, 'savePath', fontDir);
183
- const ranges = getUnicodeRanges(dirPath, url);
184
- const convertOption = formatOption(format, false);
185
- const defaultOption = options.defaultArgs;
186
- const etcOption = options.etcArgs;
187
- const nameFormat = options.nameFormat;
188
- return ranges.then(eachRanges => eachRanges.map((unicodes, i) => {
189
- const saveOption = "--output-file='" +
190
- (0, path_1.join)(dirPath, getName(nameFormat, fontName, i, fontExt)) + "' ";
191
- const unicodeRanges = unicodes.split(', ').join(',');
192
- const unicodeOption = "--unicodes='" + unicodeRanges + "' ";
193
- const options = " '" + fontPath + "' " + saveOption + unicodeOption
194
- + convertOption + defaultOption + etcOption;
195
- return (0, child_process_1.execSync)("pyftsubset" + options);
196
- }));
197
- }
198
- exports.fontRange = fontRange;
199
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}