@turntrout/subfont 1.7.0 → 1.8.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 (151) hide show
  1. package/CLAUDE.md +39 -13
  2. package/README.md +24 -14
  3. package/lib/FontTracerPool.d.ts +38 -0
  4. package/lib/FontTracerPool.d.ts.map +1 -0
  5. package/lib/FontTracerPool.js +230 -217
  6. package/lib/FontTracerPool.js.map +1 -0
  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/cli.d.ts +3 -0
  12. package/lib/cli.d.ts.map +1 -0
  13. package/lib/cli.js +15 -12
  14. package/lib/cli.js.map +1 -0
  15. package/lib/codepointMaps.d.ts +4 -0
  16. package/lib/codepointMaps.d.ts.map +1 -0
  17. package/lib/codepointMaps.js +99 -0
  18. package/lib/codepointMaps.js.map +1 -0
  19. package/lib/collectFeatureGlyphIds.d.ts +3 -0
  20. package/lib/collectFeatureGlyphIds.d.ts.map +1 -0
  21. package/lib/collectFeatureGlyphIds.js +124 -138
  22. package/lib/collectFeatureGlyphIds.js.map +1 -0
  23. package/lib/collectTextsByPage.d.ts +41 -0
  24. package/lib/collectTextsByPage.d.ts.map +1 -0
  25. package/lib/collectTextsByPage.js +726 -965
  26. package/lib/collectTextsByPage.js.map +1 -0
  27. package/lib/concurrencyLimit.d.ts +3 -0
  28. package/lib/concurrencyLimit.d.ts.map +1 -0
  29. package/lib/concurrencyLimit.js +12 -11
  30. package/lib/concurrencyLimit.js.map +1 -0
  31. package/lib/escapeJsStringLiteral.d.ts +3 -0
  32. package/lib/escapeJsStringLiteral.d.ts.map +1 -0
  33. package/lib/escapeJsStringLiteral.js +7 -6
  34. package/lib/escapeJsStringLiteral.js.map +1 -0
  35. package/lib/extractReferencedCustomPropertyNames.d.ts +3 -0
  36. package/lib/extractReferencedCustomPropertyNames.d.ts.map +1 -0
  37. package/lib/extractReferencedCustomPropertyNames.js +15 -16
  38. package/lib/extractReferencedCustomPropertyNames.js.map +1 -0
  39. package/lib/extractVisibleText.d.ts +7 -0
  40. package/lib/extractVisibleText.d.ts.map +1 -0
  41. package/lib/extractVisibleText.js +110 -119
  42. package/lib/extractVisibleText.js.map +1 -0
  43. package/lib/findCustomPropertyDefinitions.d.ts +8 -0
  44. package/lib/findCustomPropertyDefinitions.d.ts.map +1 -0
  45. package/lib/findCustomPropertyDefinitions.js +41 -48
  46. package/lib/findCustomPropertyDefinitions.js.map +1 -0
  47. package/lib/fontConverter.d.ts +2 -0
  48. package/lib/fontConverter.d.ts.map +1 -0
  49. package/lib/fontConverter.js +40 -21
  50. package/lib/fontConverter.js.map +1 -0
  51. package/lib/fontConverterWorker.d.ts +2 -0
  52. package/lib/fontConverterWorker.d.ts.map +1 -0
  53. package/lib/fontConverterWorker.js +52 -15
  54. package/lib/fontConverterWorker.js.map +1 -0
  55. package/lib/fontFaceHelpers.d.ts +64 -0
  56. package/lib/fontFaceHelpers.d.ts.map +1 -0
  57. package/lib/fontFaceHelpers.js +237 -249
  58. package/lib/fontFaceHelpers.js.map +1 -0
  59. package/lib/fontFeatureHelpers.d.ts +30 -0
  60. package/lib/fontFeatureHelpers.d.ts.map +1 -0
  61. package/lib/fontFeatureHelpers.js +277 -212
  62. package/lib/fontFeatureHelpers.js.map +1 -0
  63. package/lib/fontTracerWorker.d.ts +11 -0
  64. package/lib/fontTracerWorker.d.ts.map +1 -0
  65. package/lib/fontTracerWorker.js +94 -60
  66. package/lib/fontTracerWorker.js.map +1 -0
  67. package/lib/gatherStylesheetsWithPredicates.d.ts +26 -0
  68. package/lib/gatherStylesheetsWithPredicates.d.ts.map +1 -0
  69. package/lib/gatherStylesheetsWithPredicates.js +75 -84
  70. package/lib/gatherStylesheetsWithPredicates.js.map +1 -0
  71. package/lib/getCssRulesByProperty.d.ts +29 -0
  72. package/lib/getCssRulesByProperty.d.ts.map +1 -0
  73. package/lib/getCssRulesByProperty.js +316 -316
  74. package/lib/getCssRulesByProperty.js.map +1 -0
  75. package/lib/getFontInfo.d.ts +11 -0
  76. package/lib/getFontInfo.d.ts.map +1 -0
  77. package/lib/getFontInfo.js +31 -33
  78. package/lib/getFontInfo.js.map +1 -0
  79. package/lib/initialValueByProp.d.ts +3 -0
  80. package/lib/initialValueByProp.d.ts.map +1 -0
  81. package/lib/initialValueByProp.js +20 -17
  82. package/lib/initialValueByProp.js.map +1 -0
  83. package/lib/injectSubsetDefinitions.d.ts +3 -0
  84. package/lib/injectSubsetDefinitions.d.ts.map +1 -0
  85. package/lib/injectSubsetDefinitions.js +55 -59
  86. package/lib/injectSubsetDefinitions.js.map +1 -0
  87. package/lib/normalizeFontPropertyValue.d.ts +3 -0
  88. package/lib/normalizeFontPropertyValue.d.ts.map +1 -0
  89. package/lib/normalizeFontPropertyValue.js +59 -54
  90. package/lib/normalizeFontPropertyValue.js.map +1 -0
  91. package/lib/parseCommandLineOptions.d.ts +9 -0
  92. package/lib/parseCommandLineOptions.d.ts.map +1 -0
  93. package/lib/parseCommandLineOptions.js +145 -149
  94. package/lib/parseCommandLineOptions.js.map +1 -0
  95. package/lib/parseFontVariationSettings.d.ts +3 -0
  96. package/lib/parseFontVariationSettings.d.ts.map +1 -0
  97. package/lib/parseFontVariationSettings.js +38 -36
  98. package/lib/parseFontVariationSettings.js.map +1 -0
  99. package/lib/progress.d.ts +27 -0
  100. package/lib/progress.d.ts.map +1 -0
  101. package/lib/progress.js +51 -54
  102. package/lib/progress.js.map +1 -0
  103. package/lib/sfntCache.d.ts +4 -0
  104. package/lib/sfntCache.d.ts.map +1 -0
  105. package/lib/sfntCache.js +67 -25
  106. package/lib/sfntCache.js.map +1 -0
  107. package/lib/stripLocalTokens.d.ts +3 -0
  108. package/lib/stripLocalTokens.d.ts.map +1 -0
  109. package/lib/stripLocalTokens.js +23 -21
  110. package/lib/stripLocalTokens.js.map +1 -0
  111. package/lib/subfont.d.ts +54 -0
  112. package/lib/subfont.d.ts.map +1 -0
  113. package/lib/subfont.js +531 -629
  114. package/lib/subfont.js.map +1 -0
  115. package/lib/subsetFontWithGlyphs.d.ts +21 -0
  116. package/lib/subsetFontWithGlyphs.d.ts.map +1 -0
  117. package/lib/subsetFontWithGlyphs.js +285 -259
  118. package/lib/subsetFontWithGlyphs.js.map +1 -0
  119. package/lib/subsetFonts.d.ts +55 -0
  120. package/lib/subsetFonts.d.ts.map +1 -0
  121. package/lib/subsetFonts.js +899 -1200
  122. package/lib/subsetFonts.js.map +1 -0
  123. package/lib/subsetGeneration.d.ts +36 -0
  124. package/lib/subsetGeneration.d.ts.map +1 -0
  125. package/lib/subsetGeneration.js +328 -325
  126. package/lib/subsetGeneration.js.map +1 -0
  127. package/lib/types/shared.d.ts +11 -0
  128. package/lib/types/shared.d.ts.map +1 -0
  129. package/lib/types/shared.js +3 -0
  130. package/lib/types/shared.js.map +1 -0
  131. package/lib/unicodeRange.d.ts +3 -0
  132. package/lib/unicodeRange.d.ts.map +1 -0
  133. package/lib/unicodeRange.js +17 -30
  134. package/lib/unicodeRange.js.map +1 -0
  135. package/lib/unquote.d.ts +3 -0
  136. package/lib/unquote.d.ts.map +1 -0
  137. package/lib/unquote.js +18 -25
  138. package/lib/unquote.js.map +1 -0
  139. package/lib/variationAxes.d.ts +33 -0
  140. package/lib/variationAxes.d.ts.map +1 -0
  141. package/lib/variationAxes.js +127 -157
  142. package/lib/variationAxes.js.map +1 -0
  143. package/lib/warnAboutMissingGlyphs.d.ts +43 -0
  144. package/lib/warnAboutMissingGlyphs.d.ts.map +1 -0
  145. package/lib/warnAboutMissingGlyphs.js +139 -147
  146. package/lib/warnAboutMissingGlyphs.js.map +1 -0
  147. package/lib/wasmQueue.d.ts +3 -0
  148. package/lib/wasmQueue.d.ts.map +1 -0
  149. package/lib/wasmQueue.js +13 -10
  150. package/lib/wasmQueue.js.map +1 -0
  151. package/package.json +12 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subsetGeneration.js","sourceRoot":"","sources":["../src/subsetGeneration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Asset, Relation } from 'assetgraph';
2
+ export type VariationAxes = Record<string, number | {
3
+ min: number;
4
+ max: number;
5
+ default?: number;
6
+ }> | undefined;
7
+ export type AssetGraphError = Error & {
8
+ asset?: Asset;
9
+ relation?: Relation;
10
+ };
11
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,aAAa,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACvE,SAAS,CAAC;AAEd,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const getUnicodeRanges: (codePoints: Iterable<number>) => string;
2
+ export = getUnicodeRanges;
3
+ //# sourceMappingURL=unicodeRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unicodeRange.d.ts","sourceRoot":"","sources":["../src/unicodeRange.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,gBAAgB,GAAI,YAAY,QAAQ,CAAC,MAAM,CAAC,KAAG,MAsBxD,CAAC;AAEF,SAAS,gBAAgB,CAAC"}
@@ -1,38 +1,25 @@
1
+ "use strict";
1
2
  // A much, much smarter person than me solved this problem, and their code represents the bulk of the work here:
2
3
  // http://stackoverflow.com/questions/2270910/how-to-convert-sequence-of-numbers-in-an-array-to-range-of-numbers
3
-
4
4
  function getHexValue(num) {
5
- return num.toString(16).toUpperCase();
5
+ return num.toString(16).toUpperCase();
6
6
  }
7
-
8
- /**
9
- * Generates a unicode-range string from an array of unicode codepoints
10
- * @param {Number[]} codePoints The code points
11
- * @return {String} The resulting [unicode-range](https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range)
12
- */
13
7
  const getUnicodeRanges = (codePoints) => {
14
- const ranges = [];
15
- let start, end;
16
-
17
- codePoints = [...codePoints].sort((a, b) => a - b);
18
-
19
- for (let i = 0; i < codePoints.length; i++) {
20
- start = codePoints[i];
21
- end = start;
22
-
23
- while (codePoints[i + 1] - codePoints[i] === 1) {
24
- end = codePoints[i + 1];
25
- i++;
8
+ const ranges = [];
9
+ // Dedupe — duplicate codepoints would otherwise emit `U+41,U+41-42`.
10
+ const sorted = [...new Set(codePoints)].sort((a, b) => a - b);
11
+ for (let i = 0; i < sorted.length; i++) {
12
+ const start = sorted[i];
13
+ let end = start;
14
+ while (i + 1 < sorted.length && sorted[i + 1] - sorted[i] === 1) {
15
+ end = sorted[i + 1];
16
+ i++;
17
+ }
18
+ ranges.push(start === end
19
+ ? `U+${getHexValue(start)}`
20
+ : `U+${getHexValue(start)}-${getHexValue(end)}`);
26
21
  }
27
-
28
- ranges.push(
29
- start === end
30
- ? `U+${getHexValue(start)}`
31
- : `U+${getHexValue(start)}-${getHexValue(end)}`
32
- );
33
- }
34
-
35
- return ranges.toString();
22
+ return ranges.toString();
36
23
  };
37
-
38
24
  module.exports = getUnicodeRanges;
25
+ //# sourceMappingURL=unicodeRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unicodeRange.js","sourceRoot":"","sources":["../src/unicodeRange.ts"],"names":[],"mappings":";AAAA,gHAAgH;AAChH,gHAAgH;AAEhH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,UAA4B,EAAU,EAAE;IAChE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,qEAAqE;IACrE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpB,CAAC,EAAE,CAAC;QACN,CAAC;QAED,MAAM,CAAC,IAAI,CACT,KAAK,KAAK,GAAG;YACX,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE;YAC3B,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAClD,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,iBAAS,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare function unquote(str: string): string;
2
+ export = unquote;
3
+ //# sourceMappingURL=unquote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unquote.d.ts","sourceRoot":"","sources":["../src/unquote.ts"],"names":[],"mappings":"AAeA,iBAAS,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYpC;AAED,SAAS,OAAO,CAAC"}
package/lib/unquote.js CHANGED
@@ -1,28 +1,21 @@
1
+ "use strict";
1
2
  function unescapeCssString(str) {
2
- return str.replace(
3
- /\\([0-9a-f]{1,6})(\s?)/gi,
4
- ($0, hexChars, followingWhitespace) => {
5
- try {
6
- return `${String.fromCodePoint(parseInt(hexChars, 16))}${
7
- hexChars.length === 6 ? followingWhitespace : ''
8
- }`;
9
- } catch {
10
- return $0;
11
- }
12
- }
13
- );
3
+ return str.replace(/\\([0-9a-f]{1,6})(\s?)/gi, ($0, hexChars, followingWhitespace) => {
4
+ try {
5
+ return `${String.fromCodePoint(parseInt(hexChars, 16))}${hexChars.length === 6 ? followingWhitespace : ''}`;
6
+ }
7
+ catch {
8
+ return $0;
9
+ }
10
+ });
14
11
  }
15
-
16
- module.exports = function unquote(str) {
17
- if (typeof str !== 'string') {
18
- return str;
19
- }
20
-
21
- return str.replace(
22
- /^'([^']*)'$|^"([^"]*)"$/,
23
- ($0, singleQuoted, doubleQuoted) =>
24
- typeof singleQuoted === 'string'
12
+ function unquote(str) {
13
+ if (typeof str !== 'string') {
14
+ return str;
15
+ }
16
+ return str.replace(/^'([^']*)'$|^"([^"]*)"$/, ($0, singleQuoted, doubleQuoted) => typeof singleQuoted === 'string'
25
17
  ? unescapeCssString(singleQuoted.replace(/\\'/g, "'"))
26
- : unescapeCssString(doubleQuoted.replace(/\\"/g, '"'))
27
- );
28
- };
18
+ : unescapeCssString(doubleQuoted.replace(/\\"/g, '"')));
19
+ }
20
+ module.exports = unquote;
21
+ //# sourceMappingURL=unquote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unquote.js","sourceRoot":"","sources":["../src/unquote.ts"],"names":[],"mappings":";AAAA,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO,CAChB,0BAA0B,EAC1B,CAAC,EAAE,EAAE,QAAgB,EAAE,mBAA2B,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GACpD,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAChD,EAAE,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAChB,yBAAyB,EACzB,CAAC,EAAE,EAAE,YAAgC,EAAE,YAAgC,EAAE,EAAE,CACzE,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,iBAAiB,CAAE,YAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,iBAAS,OAAO,CAAC"}
@@ -0,0 +1,33 @@
1
+ export declare function renderNumberRange(min: number, max: number): string;
2
+ interface FontUsageLike {
3
+ fontUrl: string;
4
+ fontStyles: Set<string>;
5
+ fontWeights: Set<number>;
6
+ fontStretches: Set<number>;
7
+ fontVariationSettings: Iterable<string>;
8
+ props: Record<string, string | undefined>;
9
+ }
10
+ interface AssetTextEntry {
11
+ fontUsages: FontUsageLike[];
12
+ }
13
+ export interface VariationAxisUsageResult {
14
+ seenAxisValuesByFontUrlAndAxisName: Map<string, Map<string, Set<number>>>;
15
+ }
16
+ type RangeFn = (value: string | undefined) => [number, number];
17
+ export declare function getVariationAxisUsage(htmlOrSvgAssetTextsWithProps: AssetTextEntry[], parseFontWeightRange: RangeFn, parseFontStretchRange: RangeFn): VariationAxisUsageResult;
18
+ interface FontAssetLike {
19
+ rawSrc: Buffer | Uint8Array;
20
+ }
21
+ export interface VariationAxisBounds {
22
+ fullyInstanced: boolean;
23
+ numAxesPinned: number;
24
+ numAxesReduced: number;
25
+ variationAxes: Record<string, number | {
26
+ min: number;
27
+ max: number;
28
+ default?: number;
29
+ }>;
30
+ }
31
+ export declare function getVariationAxisBounds(fontAssetsByUrl: Map<string, FontAssetLike>, fontUrl: string, seenAxisValuesByFontUrlAndAxisName: Map<string, Map<string, Set<number>>>): Promise<VariationAxisBounds>;
32
+ export {};
33
+ //# sourceMappingURL=variationAxes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variationAxes.d.ts","sourceRoot":"","sources":["../src/variationAxes.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3C;AAED,UAAU,cAAc;IACtB,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,kCAAkC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAC3E;AAED,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/D,wBAAgB,qBAAqB,CACnC,4BAA4B,EAAE,cAAc,EAAE,EAC9C,oBAAoB,EAAE,OAAO,EAC7B,qBAAqB,EAAE,OAAO,GAC7B,wBAAwB,CAiF1B;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CACnB,MAAM,EACN,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CACxD,CAAC;CACH;AAED,wBAAsB,sBAAsB,CAC1C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3C,OAAO,EAAE,MAAM,EACf,kCAAkC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GACxE,OAAO,CAAC,mBAAmB,CAAC,CAiE9B"}
@@ -1,173 +1,143 @@
1
- const getFontInfo = require('./getFontInfo');
2
- const parseFontVariationSettings = require('./parseFontVariationSettings');
3
-
4
- const standardVariationAxes = new Set(['wght', 'wdth', 'ital', 'slnt', 'opsz']);
5
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderNumberRange = renderNumberRange;
4
+ exports.getVariationAxisUsage = getVariationAxisUsage;
5
+ exports.getVariationAxisBounds = getVariationAxisBounds;
6
+ const getFontInfo = require("./getFontInfo");
7
+ const parseFontVariationSettings = require("./parseFontVariationSettings");
6
8
  // CSS oblique without an explicit <angle> defaults to 14deg. The OpenType slnt
7
9
  // axis uses the opposite sign convention (positive = counter-clockwise), so
8
10
  // CSS maps oblique to slnt -14.
9
11
  const DEFAULT_OBLIQUE_SLNT = -14;
10
-
11
- // When no opsz values are determined from font-variation-settings, the axis is
12
- // pinned to its default value rather than preserving the full range, which can
13
- // significantly bloat variable font subsets.
14
- const ignoredVariationAxes = new Set();
15
-
16
12
  function clamp(value, min, max) {
17
- return Math.min(Math.max(value, min), max);
13
+ return Math.min(Math.max(value, min), max);
18
14
  }
19
-
20
15
  function renderNumberRange(min, max) {
21
- if (min === max) {
22
- return String(min);
23
- } else {
24
- return `${min}-${max}`;
25
- }
26
- }
27
-
28
- function getVariationAxisUsage(
29
- htmlOrSvgAssetTextsWithProps,
30
- parseFontWeightRange,
31
- parseFontStretchRange
32
- ) {
33
- const seenAxisValuesByFontUrlAndAxisName = new Map();
34
-
35
- function noteUsedValue(fontUrl, axisName, axisValue) {
36
- let seenAxes = seenAxisValuesByFontUrlAndAxisName.get(fontUrl);
37
- if (!seenAxes) {
38
- seenAxes = new Map();
39
- seenAxisValuesByFontUrlAndAxisName.set(fontUrl, seenAxes);
16
+ if (min === max) {
17
+ return String(min);
40
18
  }
41
- if (seenAxes.has(axisName)) {
42
- seenAxes.get(axisName).add(axisValue);
43
- } else {
44
- seenAxes.set(axisName, new Set([axisValue]));
19
+ else {
20
+ return `${min}-${max}`;
45
21
  }
46
- }
47
-
48
- // Since fontUsages are built from shared templates, all pages produce
49
- // the same fontStyles/fontWeights/etc. for a given fontUrl. Process
50
- // each unique fontUrl only once to avoid num_pages × redundant iterations.
51
- const seenFontUrls = new Set();
52
- for (const { fontUsages } of htmlOrSvgAssetTextsWithProps) {
53
- for (const {
54
- fontUrl,
55
- fontStyles,
56
- fontWeights,
57
- fontStretches,
58
- fontVariationSettings,
59
- props,
60
- } of fontUsages) {
61
- if (seenFontUrls.has(fontUrl)) continue;
62
- seenFontUrls.add(fontUrl);
63
- if (fontStyles.has('italic')) {
64
- noteUsedValue(fontUrl, 'ital', 1);
65
- }
66
- // If any font-style value except italic is seen (including normal or oblique)
67
- // we're also utilizing value 0:
68
- if (fontStyles.size > (fontStyles.has('italic') ? 1 : 0)) {
69
- noteUsedValue(fontUrl, 'ital', 0);
70
- }
71
- if (fontStyles.has('oblique')) {
72
- // https://www.w3.org/TR/css-fonts-4/#font-style-prop
73
- // oblique <angle>?
74
- // [...] The lack of an <angle> represents 14deg.
75
- // And also:
76
- // Note: the OpenType slnt axis is defined with a positive angle meaning a counter-clockwise slant, the opposite direction to CSS.
77
- // The CSS implementation will take this into account when using variations to produce oblique faces.
78
- noteUsedValue(fontUrl, 'slnt', DEFAULT_OBLIQUE_SLNT);
79
- }
80
- // If any font-style value except oblique is seen (including normal or italic)
81
- // we're also utilizing value 0:
82
- if (fontStyles.size > (fontStyles.has('oblique') ? 1 : 0)) {
83
- noteUsedValue(fontUrl, 'slnt', 0);
84
- }
85
-
86
- const minMaxFontWeight = parseFontWeightRange(props['font-weight']);
87
- for (const fontWeight of fontWeights) {
88
- noteUsedValue(fontUrl, 'wght', clamp(fontWeight, ...minMaxFontWeight));
89
- }
90
-
91
- const minMaxFontStretch = parseFontStretchRange(props['font-stretch']);
92
- for (const fontStretch of fontStretches) {
93
- noteUsedValue(
94
- fontUrl,
95
- 'wdth',
96
- clamp(fontStretch, ...minMaxFontStretch)
97
- );
98
- }
99
-
100
- for (const fontVariationSettingsValue of fontVariationSettings) {
101
- for (const [axisName, axisValue] of parseFontVariationSettings(
102
- fontVariationSettingsValue
103
- )) {
104
- noteUsedValue(fontUrl, axisName, axisValue);
22
+ }
23
+ function getVariationAxisUsage(htmlOrSvgAssetTextsWithProps, parseFontWeightRange, parseFontStretchRange) {
24
+ const seenAxisValuesByFontUrlAndAxisName = new Map();
25
+ function noteUsedValue(fontUrl, axisName, axisValue) {
26
+ let seenAxes = seenAxisValuesByFontUrlAndAxisName.get(fontUrl);
27
+ if (!seenAxes) {
28
+ seenAxes = new Map();
29
+ seenAxisValuesByFontUrlAndAxisName.set(fontUrl, seenAxes);
30
+ }
31
+ const existing = seenAxes.get(axisName);
32
+ if (existing) {
33
+ existing.add(axisValue);
34
+ }
35
+ else {
36
+ seenAxes.set(axisName, new Set([axisValue]));
105
37
  }
106
- }
107
38
  }
108
- }
109
-
110
- return { seenAxisValuesByFontUrlAndAxisName };
39
+ // Since fontUsages are built from shared templates, all pages produce
40
+ // the same fontStyles/fontWeights/etc. for a given fontUrl. Process
41
+ // each unique fontUrl only once to avoid num_pages × redundant iterations.
42
+ const seenFontUrls = new Set();
43
+ for (const { fontUsages } of htmlOrSvgAssetTextsWithProps) {
44
+ for (const { fontUrl, fontStyles, fontWeights, fontStretches, fontVariationSettings, props, } of fontUsages) {
45
+ if (seenFontUrls.has(fontUrl))
46
+ continue;
47
+ seenFontUrls.add(fontUrl);
48
+ if (fontStyles.has('italic')) {
49
+ noteUsedValue(fontUrl, 'ital', 1);
50
+ }
51
+ // If any font-style value except italic is seen (including normal or oblique)
52
+ // we're also utilizing value 0:
53
+ if (fontStyles.size > (fontStyles.has('italic') ? 1 : 0)) {
54
+ noteUsedValue(fontUrl, 'ital', 0);
55
+ }
56
+ if (fontStyles.has('oblique')) {
57
+ noteUsedValue(fontUrl, 'slnt', DEFAULT_OBLIQUE_SLNT);
58
+ }
59
+ // If any font-style value except oblique is seen (including normal or italic)
60
+ // we're also utilizing value 0:
61
+ if (fontStyles.size > (fontStyles.has('oblique') ? 1 : 0)) {
62
+ noteUsedValue(fontUrl, 'slnt', 0);
63
+ }
64
+ const minMaxFontWeight = parseFontWeightRange(props['font-weight']);
65
+ for (const fontWeight of fontWeights) {
66
+ noteUsedValue(fontUrl, 'wght', clamp(fontWeight, ...minMaxFontWeight));
67
+ }
68
+ const minMaxFontStretch = parseFontStretchRange(props['font-stretch']);
69
+ for (const fontStretch of fontStretches) {
70
+ noteUsedValue(fontUrl, 'wdth', clamp(fontStretch, ...minMaxFontStretch));
71
+ }
72
+ for (const fontVariationSettingsValue of fontVariationSettings) {
73
+ for (const [axisName, axisValue] of parseFontVariationSettings(fontVariationSettingsValue)) {
74
+ noteUsedValue(fontUrl, axisName, axisValue);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ return { seenAxisValuesByFontUrlAndAxisName };
111
80
  }
112
-
113
- async function getVariationAxisBounds(
114
- fontAssetsByUrl,
115
- fontUrl,
116
- seenAxisValuesByFontUrlAndAxisName
117
- ) {
118
- let fontInfo;
119
- try {
120
- fontInfo = await getFontInfo(fontAssetsByUrl.get(fontUrl).rawSrc);
121
- } catch {
122
- // Invalid font -- skip instancing, return safe defaults
123
- return {
124
- fullyInstanced: false,
125
- numAxesPinned: 0,
126
- numAxesReduced: 0,
127
- variationAxes: {},
128
- };
129
- }
130
-
131
- const variationAxes = {};
132
- let fullyInstanced = true;
133
- let numAxesPinned = 0;
134
- let numAxesReduced = 0;
135
- const fontVariationEntries = Object.entries(fontInfo.variationAxes);
136
- const seenAxisValuesByAxisName =
137
- seenAxisValuesByFontUrlAndAxisName.get(fontUrl);
138
- if (fontVariationEntries.length > 0 && seenAxisValuesByAxisName) {
139
- for (const [
140
- axisName,
141
- { min, max, default: defaultValue },
142
- ] of fontVariationEntries) {
143
- let seenAxisValues = seenAxisValuesByAxisName.get(axisName);
144
- if (!seenAxisValues && !ignoredVariationAxes.has(axisName)) {
145
- seenAxisValues = new Set([defaultValue]);
146
- }
147
- if (seenAxisValues && seenAxisValues.size === 1) {
148
- variationAxes[axisName] = clamp([...seenAxisValues][0], min, max);
149
- numAxesPinned += 1;
150
- } else if (seenAxisValues) {
151
- const minSeenValue = Math.min(...seenAxisValues);
152
- const maxSeenValue = Math.max(...seenAxisValues);
153
- variationAxes[axisName] = {
154
- min: Math.max(minSeenValue, min),
155
- max: Math.min(maxSeenValue, max),
81
+ async function getVariationAxisBounds(fontAssetsByUrl, fontUrl, seenAxisValuesByFontUrlAndAxisName) {
82
+ let fontInfo;
83
+ try {
84
+ const asset = fontAssetsByUrl.get(fontUrl);
85
+ if (!asset) {
86
+ return {
87
+ fullyInstanced: false,
88
+ numAxesPinned: 0,
89
+ numAxesReduced: 0,
90
+ variationAxes: {},
91
+ };
92
+ }
93
+ fontInfo = await getFontInfo(asset.rawSrc);
94
+ }
95
+ catch {
96
+ // Invalid font -- skip instancing, return safe defaults
97
+ return {
98
+ fullyInstanced: false,
99
+ numAxesPinned: 0,
100
+ numAxesReduced: 0,
101
+ variationAxes: {},
156
102
  };
157
- fullyInstanced = false;
158
- if (minSeenValue > min || maxSeenValue < max) {
159
- numAxesReduced += 1;
103
+ }
104
+ const variationAxes = {};
105
+ let fullyInstanced = true;
106
+ let numAxesPinned = 0;
107
+ let numAxesReduced = 0;
108
+ const fontVariationEntries = Object.entries(fontInfo.variationAxes);
109
+ const seenAxisValuesByAxisName = seenAxisValuesByFontUrlAndAxisName.get(fontUrl);
110
+ if (fontVariationEntries.length > 0 && seenAxisValuesByAxisName) {
111
+ for (const [axisName, { min, max, default: defaultValue },] of fontVariationEntries) {
112
+ let seenAxisValues = seenAxisValuesByAxisName.get(axisName);
113
+ if (!seenAxisValues) {
114
+ seenAxisValues = new Set([defaultValue]);
115
+ }
116
+ if (seenAxisValues.size === 1) {
117
+ const [only] = seenAxisValues;
118
+ variationAxes[axisName] = clamp(only, min, max);
119
+ numAxesPinned += 1;
120
+ }
121
+ else {
122
+ let minSeenValue = Infinity;
123
+ let maxSeenValue = -Infinity;
124
+ for (const v of seenAxisValues) {
125
+ if (v < minSeenValue)
126
+ minSeenValue = v;
127
+ if (v > maxSeenValue)
128
+ maxSeenValue = v;
129
+ }
130
+ variationAxes[axisName] = {
131
+ min: Math.max(minSeenValue, min),
132
+ max: Math.min(maxSeenValue, max),
133
+ };
134
+ fullyInstanced = false;
135
+ if (minSeenValue > min || maxSeenValue < max) {
136
+ numAxesReduced += 1;
137
+ }
138
+ }
160
139
  }
161
- }
162
140
  }
163
- }
164
- return { fullyInstanced, numAxesPinned, numAxesReduced, variationAxes };
141
+ return { fullyInstanced, numAxesPinned, numAxesReduced, variationAxes };
165
142
  }
166
-
167
- module.exports = {
168
- standardVariationAxes,
169
- ignoredVariationAxes,
170
- renderNumberRange,
171
- getVariationAxisUsage,
172
- getVariationAxisBounds,
173
- };
143
+ //# sourceMappingURL=variationAxes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variationAxes.js","sourceRoot":"","sources":["../src/variationAxes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ interface AtRuleLike {
2
+ some(predicate: (node: {
3
+ prop?: string;
4
+ }) => boolean): boolean;
5
+ append(decl: {
6
+ prop: string;
7
+ value: string;
8
+ }): void;
9
+ }
10
+ interface FontFaceRelationLike {
11
+ from: {
12
+ markDirty(): void;
13
+ };
14
+ node: AtRuleLike;
15
+ }
16
+ interface FontFaceDeclaration {
17
+ 'font-family'?: string;
18
+ relations: FontFaceRelationLike[];
19
+ }
20
+ interface FontUsageLike {
21
+ subsets?: Record<string, Buffer | Uint8Array>;
22
+ pageText: string;
23
+ fontFamilies: Set<string>;
24
+ codepoints: {
25
+ original: number[];
26
+ };
27
+ props: Record<string, string>;
28
+ }
29
+ interface AssetTextEntry {
30
+ htmlOrSvgAsset: {
31
+ text: string;
32
+ urlOrDescription: string;
33
+ };
34
+ fontUsages: FontUsageLike[];
35
+ accumulatedFontFaceDeclarations: FontFaceDeclaration[];
36
+ }
37
+ interface AssetGraphLike {
38
+ warn(err: Error): void;
39
+ info(err: Error): void;
40
+ }
41
+ declare function warnAboutMissingGlyphs(htmlOrSvgAssetTextsWithProps: AssetTextEntry[], assetGraph: AssetGraphLike): Promise<void>;
42
+ export = warnAboutMissingGlyphs;
43
+ //# sourceMappingURL=warnAboutMissingGlyphs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warnAboutMissingGlyphs.d.ts","sourceRoot":"","sources":["../src/warnAboutMissingGlyphs.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,GAAG,OAAO,CAAC;IAC/D,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACrD;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE;QAAE,SAAS,IAAI,IAAI,CAAA;KAAE,CAAC;IAG5B,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,UAAU,mBAAmB;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAED,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,UAAU,cAAc;IACtB,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,+BAA+B,EAAE,mBAAmB,EAAE,CAAC;CACxD;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;CACxB;AAED,iBAAe,sBAAsB,CACnC,4BAA4B,EAAE,cAAc,EAAE,EAC9C,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,IAAI,CAAC,CAoLf;AAED,SAAS,sBAAsB,CAAC"}