@turntrout/subfont 1.7.1 → 1.8.1

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 (147) hide show
  1. package/CLAUDE.md +39 -13
  2. package/README.md +24 -14
  3. package/lib/FontTracerPool.d.ts +1 -0
  4. package/lib/FontTracerPool.d.ts.map +1 -1
  5. package/lib/FontTracerPool.js +48 -25
  6. package/lib/FontTracerPool.js.map +1 -1
  7. package/lib/HeadlessBrowser.d.ts +18 -0
  8. package/lib/HeadlessBrowser.d.ts.map +1 -0
  9. package/lib/HeadlessBrowser.js +216 -210
  10. package/lib/HeadlessBrowser.js.map +1 -0
  11. package/lib/codepointMaps.d.ts +4 -0
  12. package/lib/codepointMaps.d.ts.map +1 -0
  13. package/lib/codepointMaps.js +115 -0
  14. package/lib/codepointMaps.js.map +1 -0
  15. package/lib/collectFeatureGlyphIds.d.ts +3 -0
  16. package/lib/collectFeatureGlyphIds.d.ts.map +1 -0
  17. package/lib/collectFeatureGlyphIds.js +124 -138
  18. package/lib/collectFeatureGlyphIds.js.map +1 -0
  19. package/lib/collectTextsByPage.d.ts +41 -0
  20. package/lib/collectTextsByPage.d.ts.map +1 -0
  21. package/lib/collectTextsByPage.js +726 -965
  22. package/lib/collectTextsByPage.js.map +1 -0
  23. package/lib/concurrencyLimit.d.ts +3 -0
  24. package/lib/concurrencyLimit.d.ts.map +1 -0
  25. package/lib/concurrencyLimit.js +12 -11
  26. package/lib/concurrencyLimit.js.map +1 -0
  27. package/lib/escapeJsStringLiteral.d.ts +3 -0
  28. package/lib/escapeJsStringLiteral.d.ts.map +1 -0
  29. package/lib/escapeJsStringLiteral.js +7 -6
  30. package/lib/escapeJsStringLiteral.js.map +1 -0
  31. package/lib/extractReferencedCustomPropertyNames.d.ts +3 -0
  32. package/lib/extractReferencedCustomPropertyNames.d.ts.map +1 -0
  33. package/lib/extractReferencedCustomPropertyNames.js +15 -16
  34. package/lib/extractReferencedCustomPropertyNames.js.map +1 -0
  35. package/lib/extractVisibleText.d.ts +7 -0
  36. package/lib/extractVisibleText.d.ts.map +1 -0
  37. package/lib/extractVisibleText.js +110 -119
  38. package/lib/extractVisibleText.js.map +1 -0
  39. package/lib/findCustomPropertyDefinitions.d.ts +8 -0
  40. package/lib/findCustomPropertyDefinitions.d.ts.map +1 -0
  41. package/lib/findCustomPropertyDefinitions.js +41 -48
  42. package/lib/findCustomPropertyDefinitions.js.map +1 -0
  43. package/lib/fontConverter.d.ts +2 -0
  44. package/lib/fontConverter.d.ts.map +1 -0
  45. package/lib/fontConverter.js +40 -21
  46. package/lib/fontConverter.js.map +1 -0
  47. package/lib/fontConverterWorker.d.ts +2 -0
  48. package/lib/fontConverterWorker.d.ts.map +1 -0
  49. package/lib/fontConverterWorker.js +52 -15
  50. package/lib/fontConverterWorker.js.map +1 -0
  51. package/lib/fontFaceHelpers.d.ts +64 -0
  52. package/lib/fontFaceHelpers.d.ts.map +1 -0
  53. package/lib/fontFaceHelpers.js +237 -249
  54. package/lib/fontFaceHelpers.js.map +1 -0
  55. package/lib/fontFeatureHelpers.d.ts +30 -0
  56. package/lib/fontFeatureHelpers.d.ts.map +1 -0
  57. package/lib/fontFeatureHelpers.js +277 -212
  58. package/lib/fontFeatureHelpers.js.map +1 -0
  59. package/lib/fontTracerWorker.d.ts +11 -0
  60. package/lib/fontTracerWorker.d.ts.map +1 -0
  61. package/lib/fontTracerWorker.js +94 -60
  62. package/lib/fontTracerWorker.js.map +1 -0
  63. package/lib/gatherStylesheetsWithPredicates.d.ts +26 -0
  64. package/lib/gatherStylesheetsWithPredicates.d.ts.map +1 -0
  65. package/lib/gatherStylesheetsWithPredicates.js +75 -84
  66. package/lib/gatherStylesheetsWithPredicates.js.map +1 -0
  67. package/lib/getCssRulesByProperty.d.ts +29 -0
  68. package/lib/getCssRulesByProperty.d.ts.map +1 -0
  69. package/lib/getCssRulesByProperty.js +316 -316
  70. package/lib/getCssRulesByProperty.js.map +1 -0
  71. package/lib/getFontInfo.d.ts +11 -0
  72. package/lib/getFontInfo.d.ts.map +1 -0
  73. package/lib/getFontInfo.js +35 -33
  74. package/lib/getFontInfo.js.map +1 -0
  75. package/lib/initialValueByProp.d.ts +3 -0
  76. package/lib/initialValueByProp.d.ts.map +1 -0
  77. package/lib/initialValueByProp.js +20 -17
  78. package/lib/initialValueByProp.js.map +1 -0
  79. package/lib/injectSubsetDefinitions.d.ts +3 -0
  80. package/lib/injectSubsetDefinitions.d.ts.map +1 -0
  81. package/lib/injectSubsetDefinitions.js +54 -59
  82. package/lib/injectSubsetDefinitions.js.map +1 -0
  83. package/lib/normalizeFontPropertyValue.d.ts +3 -0
  84. package/lib/normalizeFontPropertyValue.d.ts.map +1 -0
  85. package/lib/normalizeFontPropertyValue.js +59 -54
  86. package/lib/normalizeFontPropertyValue.js.map +1 -0
  87. package/lib/parseCommandLineOptions.d.ts +9 -0
  88. package/lib/parseCommandLineOptions.d.ts.map +1 -0
  89. package/lib/parseCommandLineOptions.js +145 -149
  90. package/lib/parseCommandLineOptions.js.map +1 -0
  91. package/lib/parseFontVariationSettings.d.ts +3 -0
  92. package/lib/parseFontVariationSettings.d.ts.map +1 -0
  93. package/lib/parseFontVariationSettings.js +38 -36
  94. package/lib/parseFontVariationSettings.js.map +1 -0
  95. package/lib/progress.d.ts +27 -0
  96. package/lib/progress.d.ts.map +1 -0
  97. package/lib/progress.js +51 -54
  98. package/lib/progress.js.map +1 -0
  99. package/lib/sfntCache.d.ts +4 -0
  100. package/lib/sfntCache.d.ts.map +1 -0
  101. package/lib/sfntCache.js +70 -25
  102. package/lib/sfntCache.js.map +1 -0
  103. package/lib/stripLocalTokens.d.ts +3 -0
  104. package/lib/stripLocalTokens.d.ts.map +1 -0
  105. package/lib/stripLocalTokens.js +23 -21
  106. package/lib/stripLocalTokens.js.map +1 -0
  107. package/lib/subfont.d.ts +22 -1
  108. package/lib/subfont.d.ts.map +1 -1
  109. package/lib/subfont.js +7 -6
  110. package/lib/subfont.js.map +1 -1
  111. package/lib/subsetFontWithGlyphs.d.ts +4 -0
  112. package/lib/subsetFontWithGlyphs.d.ts.map +1 -1
  113. package/lib/subsetFontWithGlyphs.js +78 -17
  114. package/lib/subsetFontWithGlyphs.js.map +1 -1
  115. package/lib/subsetFonts.d.ts +1 -5
  116. package/lib/subsetFonts.d.ts.map +1 -1
  117. package/lib/subsetFonts.js +18 -17
  118. package/lib/subsetFonts.js.map +1 -1
  119. package/lib/subsetGeneration.d.ts +3 -6
  120. package/lib/subsetGeneration.d.ts.map +1 -1
  121. package/lib/subsetGeneration.js +42 -9
  122. package/lib/subsetGeneration.js.map +1 -1
  123. package/lib/types/shared.d.ts +11 -0
  124. package/lib/types/shared.d.ts.map +1 -0
  125. package/lib/types/shared.js +3 -0
  126. package/lib/types/shared.js.map +1 -0
  127. package/lib/unicodeRange.d.ts +3 -0
  128. package/lib/unicodeRange.d.ts.map +1 -0
  129. package/lib/unicodeRange.js +17 -30
  130. package/lib/unicodeRange.js.map +1 -0
  131. package/lib/unquote.d.ts +3 -0
  132. package/lib/unquote.d.ts.map +1 -0
  133. package/lib/unquote.js +18 -25
  134. package/lib/unquote.js.map +1 -0
  135. package/lib/variationAxes.d.ts +33 -0
  136. package/lib/variationAxes.d.ts.map +1 -0
  137. package/lib/variationAxes.js +127 -157
  138. package/lib/variationAxes.js.map +1 -0
  139. package/lib/warnAboutMissingGlyphs.d.ts +43 -0
  140. package/lib/warnAboutMissingGlyphs.d.ts.map +1 -0
  141. package/lib/warnAboutMissingGlyphs.js +141 -147
  142. package/lib/warnAboutMissingGlyphs.js.map +1 -0
  143. package/lib/wasmQueue.d.ts +3 -0
  144. package/lib/wasmQueue.d.ts.map +1 -0
  145. package/lib/wasmQueue.js +13 -10
  146. package/lib/wasmQueue.js.map +1 -0
  147. package/package.json +7 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCssRulesByProperty.js","sourceRoot":"","sources":["../src/getCssRulesByProperty.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ interface FontInfo {
2
+ characterSet: number[];
3
+ variationAxes: Record<string, {
4
+ min: number;
5
+ max: number;
6
+ default: number;
7
+ }>;
8
+ }
9
+ declare function getFontInfo(buffer: Buffer | Uint8Array): Promise<FontInfo>;
10
+ export = getFontInfo;
11
+ //# sourceMappingURL=getFontInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFontInfo.d.ts","sourceRoot":"","sources":["../src/getFontInfo.ts"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9E;AAwBD,iBAAS,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmBnE;AAED,SAAS,WAAW,CAAC"}
@@ -1,36 +1,38 @@
1
- const { toSfnt } = require('./sfntCache');
2
-
1
+ "use strict";
2
+ const sfntCache_1 = require("./sfntCache");
3
+ const enqueueWasm = require("./wasmQueue");
3
4
  async function getFontInfoFromBuffer(buffer) {
4
- const harfbuzzJs = await require('harfbuzzjs');
5
-
6
- const blob = harfbuzzJs.createBlob(await toSfnt(buffer));
7
- const face = harfbuzzJs.createFace(blob, 0);
8
-
9
- const fontInfo = {
10
- characterSet: Array.from(face.collectUnicodes()),
11
- variationAxes: face.getAxisInfos(),
12
- };
13
-
14
- face.destroy();
15
- blob.destroy();
16
-
17
- return fontInfo;
5
+ // harfbuzzjs is itself thenable; awaiting its require yields the API.
6
+ const harfbuzzJs = await require('harfbuzzjs');
7
+ const blob = harfbuzzJs.createBlob(await (0, sfntCache_1.toSfnt)(buffer));
8
+ const face = harfbuzzJs.createFace(blob, 0);
9
+ const fontInfo = {
10
+ characterSet: Array.from(face.collectUnicodes()),
11
+ variationAxes: face.getAxisInfos(),
12
+ };
13
+ face.destroy();
14
+ blob.destroy();
15
+ return fontInfo;
18
16
  }
19
-
20
17
  const fontInfoPromiseByBuffer = new WeakMap();
21
-
22
- const enqueueWasm = require('./wasmQueue');
23
-
24
- module.exports = function getFontInfo(buffer) {
25
- if (!fontInfoPromiseByBuffer.has(buffer)) {
26
- const promise = enqueueWasm(() => getFontInfoFromBuffer(buffer)).catch(
27
- (err) => {
28
- // Evict rejected promises so retries with the same buffer aren't stuck
29
- fontInfoPromiseByBuffer.delete(buffer);
30
- throw err;
31
- }
32
- );
33
- fontInfoPromiseByBuffer.set(buffer, promise);
34
- }
35
- return fontInfoPromiseByBuffer.get(buffer);
36
- };
18
+ function getFontInfo(buffer) {
19
+ const key = buffer;
20
+ let cached = fontInfoPromiseByBuffer.get(key);
21
+ if (!cached) {
22
+ const promise = enqueueWasm(() => getFontInfoFromBuffer(buffer));
23
+ // Only evict if the map still points to this exact promise a concurrent
24
+ // caller may have already replaced it with a fresh retry.
25
+ cached = promise.catch(
26
+ // eslint-disable-next-line no-restricted-syntax
27
+ (err) => {
28
+ if (fontInfoPromiseByBuffer.get(key) === cached) {
29
+ fontInfoPromiseByBuffer.delete(key);
30
+ }
31
+ throw err;
32
+ });
33
+ fontInfoPromiseByBuffer.set(key, cached);
34
+ }
35
+ return cached;
36
+ }
37
+ module.exports = getFontInfo;
38
+ //# sourceMappingURL=getFontInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFontInfo.js","sourceRoot":"","sources":["../src/getFontInfo.ts"],"names":[],"mappings":";AAAA,2CAAqC;AACrC,2CAA4C;AAO5C,KAAK,UAAU,qBAAqB,CAClC,MAA2B;IAE3B,sEAAsE;IACtE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,IAAA,kBAAM,EAAC,MAAM,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAa;QACzB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAChD,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE;KACnC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;IACf,IAAI,CAAC,OAAO,EAAE,CAAC;IAEf,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,OAAO,EAA6B,CAAC;AAEzE,SAAS,WAAW,CAAC,MAA2B;IAC9C,MAAM,GAAG,GAAG,MAAgB,CAAC;IAC7B,IAAI,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,0EAA0E;QAC1E,0DAA0D;QAC1D,MAAM,GAAG,OAAO,CAAC,KAAK;QACpB,gDAAgD;QAChD,CAAC,GAAY,EAAE,EAAE;YACf,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;gBAChD,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;QACF,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iBAAS,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const initialValueByProp: Record<string, string>;
2
+ export = initialValueByProp;
3
+ //# sourceMappingURL=initialValueByProp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialValueByProp.d.ts","sourceRoot":"","sources":["../src/initialValueByProp.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiB9C,CAAC;AAEF,SAAS,kBAAkB,CAAC"}
@@ -1,18 +1,21 @@
1
- module.exports = {
2
- // 'font-family': 'serif'
3
- 'font-weight': 'normal',
4
- 'font-style': 'normal',
5
- 'font-stretch': 'normal',
6
- content: 'normal',
7
- quotes: '"«" "»" "‹" "›" "‘" "’" "\'" "\'" "\\"" "\\""', // Wide default set to account for browser differences
8
- 'list-style-type': 'none',
9
- display: 'inline',
10
- 'animation-name': 'none',
11
- 'text-transform': 'none',
12
- 'transition-property': 'all',
13
- 'transition-duration': '0s',
14
- 'counter-increment': 'none',
15
- 'counter-reset': 'none',
16
- 'counter-set': 'none',
17
- 'white-space': 'normal',
1
+ "use strict";
2
+ const initialValueByProp = {
3
+ // 'font-family': 'serif'
4
+ 'font-weight': 'normal',
5
+ 'font-style': 'normal',
6
+ 'font-stretch': 'normal',
7
+ content: 'normal',
8
+ quotes: '"«" "»" "‹" "›" "‘" "’" "\'" "\'" "\\"" "\\""', // Wide default set to account for browser differences
9
+ 'list-style-type': 'none',
10
+ display: 'inline',
11
+ 'animation-name': 'none',
12
+ 'text-transform': 'none',
13
+ 'transition-property': 'all',
14
+ 'transition-duration': '0s',
15
+ 'counter-increment': 'none',
16
+ 'counter-reset': 'none',
17
+ 'counter-set': 'none',
18
+ 'white-space': 'normal',
18
19
  };
20
+ module.exports = initialValueByProp;
21
+ //# sourceMappingURL=initialValueByProp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialValueByProp.js","sourceRoot":"","sources":["../src/initialValueByProp.ts"],"names":[],"mappings":";AAAA,MAAM,kBAAkB,GAA2B;IACjD,yBAAyB;IACzB,aAAa,EAAE,QAAQ;IACvB,YAAY,EAAE,QAAQ;IACtB,cAAc,EAAE,QAAQ;IACxB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,+CAA+C,EAAE,sDAAsD;IAC/G,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE,QAAQ;IACjB,gBAAgB,EAAE,MAAM;IACxB,gBAAgB,EAAE,MAAM;IACxB,qBAAqB,EAAE,KAAK;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,mBAAmB,EAAE,MAAM;IAC3B,eAAe,EAAE,MAAM;IACvB,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,QAAQ;CACxB,CAAC;AAEF,iBAAS,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare function injectSubsetDefinitions(cssValue: string, webfontNameMap: Record<string, string>, replaceOriginal: boolean): string;
2
+ export = injectSubsetDefinitions;
3
+ //# sourceMappingURL=injectSubsetDefinitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectSubsetDefinitions.d.ts","sourceRoot":"","sources":["../src/injectSubsetDefinitions.ts"],"names":[],"mappings":"AAEA,iBAAS,uBAAuB,CAC9B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,eAAe,EAAE,OAAO,GACvB,MAAM,CAuDR;AAED,SAAS,uBAAuB,CAAC"}
@@ -1,65 +1,60 @@
1
- const postcssValueParser = require('postcss-value-parser');
2
-
1
+ "use strict";
2
+ const postcssValueParser = require("postcss-value-parser");
3
3
  function injectSubsetDefinitions(cssValue, webfontNameMap, replaceOriginal) {
4
- const subsetFontNames = new Set(
5
- Object.values(webfontNameMap).map((name) => name.toLowerCase())
6
- );
7
- const rootNode = postcssValueParser(cssValue);
8
- let isPrecededByWords = false;
9
- for (const [i, node] of rootNode.nodes.entries()) {
10
- let possibleFontFamily;
11
- let lastFontFamilyTokenIndex = i;
12
- if (node.type === 'string') {
13
- possibleFontFamily = node.value;
14
- } else if (node.type === 'word' || node.type === 'space') {
15
- if (!isPrecededByWords) {
16
- const wordSequence = [];
17
- for (let j = i; j < rootNode.nodes.length; j += 1) {
18
- if (rootNode.nodes[j].type === 'word') {
19
- wordSequence.push(rootNode.nodes[j].value);
20
- lastFontFamilyTokenIndex = j;
21
- } else if (rootNode.nodes[j].type !== 'space') {
22
- break;
23
- }
4
+ const subsetFontNames = new Set(Object.values(webfontNameMap).map((name) => name.toLowerCase()));
5
+ const rootNode = postcssValueParser(cssValue);
6
+ let isPrecededByWords = false;
7
+ for (const [i, node] of rootNode.nodes.entries()) {
8
+ let possibleFontFamily;
9
+ let lastFontFamilyTokenIndex = i;
10
+ if (node.type === 'string') {
11
+ possibleFontFamily = node.value;
24
12
  }
25
- possibleFontFamily = wordSequence.join(' ');
26
- }
27
- isPrecededByWords = true;
28
- } else {
29
- isPrecededByWords = false;
30
- }
31
- if (possibleFontFamily) {
32
- const possibleFontFamilyLowerCase = possibleFontFamily.toLowerCase();
33
- if (subsetFontNames.has(possibleFontFamilyLowerCase)) {
34
- // Bail out, a subset font is already listed
35
- return cssValue;
36
- } else if (webfontNameMap[possibleFontFamilyLowerCase]) {
37
- const newToken = {
38
- type: 'string',
39
- value: webfontNameMap[possibleFontFamilyLowerCase].replace(
40
- /'/g,
41
- "\\'"
42
- ),
43
- quote: "'",
44
- };
45
- if (replaceOriginal) {
46
- rootNode.nodes.splice(
47
- rootNode.nodes.indexOf(node),
48
- lastFontFamilyTokenIndex - i + 1,
49
- newToken
50
- );
51
- } else {
52
- rootNode.nodes.splice(rootNode.nodes.indexOf(node), 0, newToken, {
53
- type: 'div',
54
- value: ',',
55
- after: ' ',
56
- });
13
+ else if (node.type === 'word' || node.type === 'space') {
14
+ if (!isPrecededByWords) {
15
+ const wordSequence = [];
16
+ for (let j = i; j < rootNode.nodes.length; j += 1) {
17
+ if (rootNode.nodes[j].type === 'word') {
18
+ wordSequence.push(rootNode.nodes[j].value);
19
+ lastFontFamilyTokenIndex = j;
20
+ }
21
+ else if (rootNode.nodes[j].type !== 'space') {
22
+ break;
23
+ }
24
+ }
25
+ possibleFontFamily = wordSequence.join(' ');
26
+ }
27
+ isPrecededByWords = true;
28
+ }
29
+ else {
30
+ isPrecededByWords = false;
31
+ }
32
+ if (possibleFontFamily) {
33
+ const possibleFontFamilyLowerCase = possibleFontFamily.toLowerCase();
34
+ if (subsetFontNames.has(possibleFontFamilyLowerCase)) {
35
+ return cssValue;
36
+ }
37
+ else if (webfontNameMap[possibleFontFamilyLowerCase]) {
38
+ const newToken = {
39
+ type: 'string',
40
+ value: webfontNameMap[possibleFontFamilyLowerCase].replace(/'/g, "\\'"),
41
+ quote: "'",
42
+ };
43
+ if (replaceOriginal) {
44
+ rootNode.nodes.splice(i, lastFontFamilyTokenIndex - i + 1, newToken);
45
+ }
46
+ else {
47
+ rootNode.nodes.splice(i, 0, newToken, {
48
+ type: 'div',
49
+ value: ',',
50
+ after: ' ',
51
+ });
52
+ }
53
+ return postcssValueParser.stringify(rootNode);
54
+ }
57
55
  }
58
- return postcssValueParser.stringify(rootNode);
59
- }
60
56
  }
61
- }
62
- return cssValue;
57
+ return cssValue;
63
58
  }
64
-
65
59
  module.exports = injectSubsetDefinitions;
60
+ //# sourceMappingURL=injectSubsetDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectSubsetDefinitions.js","sourceRoot":"","sources":["../src/injectSubsetDefinitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare function normalizeFontPropertyValue(propName: string, value: string | number | undefined): string | number | undefined;
2
+ export = normalizeFontPropertyValue;
3
+ //# sourceMappingURL=normalizeFontPropertyValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeFontPropertyValue.d.ts","sourceRoot":"","sources":["../src/normalizeFontPropertyValue.ts"],"names":[],"mappings":"AAiCA,iBAAS,0BAA0B,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GACjC,MAAM,GAAG,MAAM,GAAG,SAAS,CAuC7B;AAED,SAAS,0BAA0B,CAAC"}
@@ -1,75 +1,80 @@
1
- const cssFontWeightNames = require('css-font-weight-names');
2
- const initialValueByProp = require('./initialValueByProp');
3
- const unquote = require('./unquote');
4
- const normalizeFontStretch = require('font-snapper/lib/normalizeFontStretch');
5
-
1
+ "use strict";
2
+ const cssFontWeightNames = require("css-font-weight-names");
3
+ const initialValueByProp = require("./initialValueByProp");
4
+ const unquote = require("./unquote");
5
+ const normalizeFontStretch = require("font-snapper/lib/normalizeFontStretch");
6
6
  // Resolve the CSS relative font-weight keyword `bolder` according to CSS Fonts Level 4.
7
7
  // https://www.w3.org/TR/css-fonts-4/#relative-weights
8
8
  function applyBolder(weight) {
9
- if (weight < 350) return 400;
10
- if (weight < 550) return 700;
11
- return 900;
9
+ if (weight < 350)
10
+ return 400;
11
+ if (weight < 550)
12
+ return 700;
13
+ return 900;
12
14
  }
13
-
14
15
  // Resolve the CSS relative font-weight keyword `lighter` according to CSS Fonts Level 4.
15
16
  function applyLighter(weight) {
16
- if (weight < 100) return weight;
17
- if (weight < 550) return 100;
18
- if (weight < 750) return 400;
19
- return 700;
17
+ if (weight < 100)
18
+ return weight;
19
+ if (weight < 550)
20
+ return 100;
21
+ if (weight < 750)
22
+ return 400;
23
+ return 700;
20
24
  }
21
-
22
25
  // Resolve a font-weight name (e.g. "bold") or numeric string to a number.
23
26
  // Returns NaN if the value is not a recognized weight.
24
27
  function resolveWeightToken(token) {
25
- const named = cssFontWeightNames[token];
26
- return parseFloat(named !== undefined ? named : token);
28
+ const named = cssFontWeightNames[token];
29
+ return parseFloat(named !== undefined ? named : token);
27
30
  }
28
-
29
31
  // Return true when the numeric weight is within the CSS spec range [1, 1000].
30
32
  function isValidWeight(weight) {
31
- return weight >= 1 && weight <= 1000;
33
+ return weight >= 1 && weight <= 1000;
32
34
  }
33
-
34
35
  function normalizeFontPropertyValue(propName, value) {
35
- const propNameLowerCase = propName.toLowerCase();
36
- if (value === undefined) {
37
- return initialValueByProp[propNameLowerCase];
38
- }
39
- if (propNameLowerCase === 'font-family') {
40
- return unquote(value);
41
- } else if (propNameLowerCase === 'font-weight') {
42
- let parsedValue = value;
43
- if (typeof parsedValue === 'string') {
44
- // font-tracer encodes relative weight modifiers as "baseWeight+bolder+lighter+..."
45
- // Apply each modifier sequentially per the CSS Fonts Level 4 spec.
46
- const segments = parsedValue.split('+');
47
- const baseToken = segments[0].toLowerCase();
48
- let baseWeight = resolveWeightToken(baseToken);
49
- if (isValidWeight(baseWeight) && segments.length > 1) {
50
- for (let i = 1; i < segments.length; i++) {
51
- const modifier = segments[i].toLowerCase();
52
- if (modifier === 'bolder') {
53
- baseWeight = applyBolder(baseWeight);
54
- } else if (modifier === 'lighter') {
55
- baseWeight = applyLighter(baseWeight);
56
- }
36
+ const propNameLowerCase = propName.toLowerCase();
37
+ if (value === undefined) {
38
+ return initialValueByProp[propNameLowerCase];
39
+ }
40
+ if (propNameLowerCase === 'font-family') {
41
+ return unquote(value);
42
+ }
43
+ else if (propNameLowerCase === 'font-weight') {
44
+ let parsedValue = value;
45
+ if (typeof parsedValue === 'string') {
46
+ // font-tracer encodes relative weight modifiers as "baseWeight+bolder+lighter+..."
47
+ // Apply each modifier sequentially per the CSS Fonts Level 4 spec.
48
+ const segments = parsedValue.split('+');
49
+ const baseToken = segments[0].toLowerCase();
50
+ let baseWeight = resolveWeightToken(baseToken);
51
+ if (isValidWeight(baseWeight) && segments.length > 1) {
52
+ for (let i = 1; i < segments.length; i++) {
53
+ const modifier = segments[i].toLowerCase();
54
+ if (modifier === 'bolder') {
55
+ baseWeight = applyBolder(baseWeight);
56
+ }
57
+ else if (modifier === 'lighter') {
58
+ baseWeight = applyLighter(baseWeight);
59
+ }
60
+ }
61
+ return baseWeight;
62
+ }
63
+ parsedValue = baseToken;
57
64
  }
58
- return baseWeight;
59
- }
60
- parsedValue = baseToken;
65
+ const numericWeight = resolveWeightToken(String(parsedValue));
66
+ if (isValidWeight(numericWeight)) {
67
+ return numericWeight;
68
+ }
69
+ return value;
70
+ }
71
+ else if (propNameLowerCase === 'font-stretch') {
72
+ return normalizeFontStretch(String(value));
61
73
  }
62
- const numericWeight = resolveWeightToken(parsedValue);
63
- if (isValidWeight(numericWeight)) {
64
- return numericWeight;
74
+ else if (typeof value === 'string' && propNameLowerCase !== 'src') {
75
+ return value.toLowerCase();
65
76
  }
66
77
  return value;
67
- } else if (propNameLowerCase === 'font-stretch') {
68
- return normalizeFontStretch(value);
69
- } else if (typeof value === 'string' && propNameLowerCase !== 'src') {
70
- return value.toLowerCase();
71
- }
72
- return value;
73
78
  }
74
-
75
79
  module.exports = normalizeFontPropertyValue;
80
+ //# sourceMappingURL=normalizeFontPropertyValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeFontPropertyValue.js","sourceRoot":"","sources":["../src/normalizeFontPropertyValue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Argv } from 'yargs';
2
+ interface ParseResult {
3
+ yargs: Argv;
4
+ inputFiles: Array<string | number>;
5
+ [key: string]: unknown;
6
+ }
7
+ declare function parseCommandLineOptions(argv?: string[]): ParseResult;
8
+ export = parseCommandLineOptions;
9
+ //# sourceMappingURL=parseCommandLineOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseCommandLineOptions.d.ts","sourceRoot":"","sources":["../src/parseCommandLineOptions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAUlC,UAAU,WAAW;IACnB,KAAK,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAInC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,iBAAS,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,CA2J7D;AAED,SAAS,uBAAuB,CAAC"}