@turntrout/subfont 1.7.1 → 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 (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 +46 -24
  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 +99 -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 +31 -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 +55 -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 +67 -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 +73 -14
  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 +139 -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 +3 -2
package/lib/sfntCache.js CHANGED
@@ -1,29 +1,71 @@
1
- const fontverter = require('fontverter');
2
- const { convert } = require('./fontConverter');
3
-
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.toSfnt = toSfnt;
37
+ const fontverter = __importStar(require("fontverter"));
38
+ const fontConverter_1 = require("./fontConverter");
4
39
  const sfntPromiseByBuffer = new WeakMap();
5
-
6
40
  function toSfnt(buffer) {
7
- if (sfntPromiseByBuffer.has(buffer)) {
8
- return sfntPromiseByBuffer.get(buffer);
9
- }
10
- let promise;
11
- try {
12
- const format = fontverter.detectFormat(buffer);
13
- if (format === 'sfnt') {
14
- promise = Promise.resolve(buffer);
15
- } else if (format === 'woff2') {
16
- promise = convert(buffer, 'sfnt');
17
- } else {
18
- promise = fontverter.convert(buffer, 'sfnt');
41
+ const cached = sfntPromiseByBuffer.get(buffer);
42
+ if (cached)
43
+ return cached;
44
+ let promise;
45
+ try {
46
+ const format = fontverter.detectFormat(buffer);
47
+ if (format === 'sfnt') {
48
+ promise = Promise.resolve(buffer);
49
+ }
50
+ else if (format === 'woff2') {
51
+ promise = (0, fontConverter_1.convert)(buffer, 'sfnt');
52
+ }
53
+ else {
54
+ promise = fontverter.convert(buffer, 'sfnt');
55
+ }
56
+ }
57
+ catch {
58
+ promise = (0, fontConverter_1.convert)(buffer, 'sfnt');
19
59
  }
20
- } catch {
21
- promise = convert(buffer, 'sfnt');
22
- }
23
- // Evict on rejection so retries with the same buffer aren't stuck
24
- promise.catch(() => sfntPromiseByBuffer.delete(buffer));
25
- sfntPromiseByBuffer.set(buffer, promise);
26
- return promise;
60
+ // Evict on rejection so retries with the same buffer aren't stuck.
61
+ // Rethrow so callers see the original error and Node doesn't surface an
62
+ // unhandled rejection if this branch is the only consumer.
63
+ // eslint-disable-next-line no-restricted-syntax
64
+ const tracked = promise.catch((err) => {
65
+ sfntPromiseByBuffer.delete(buffer);
66
+ throw err;
67
+ });
68
+ sfntPromiseByBuffer.set(buffer, tracked);
69
+ return tracked;
27
70
  }
28
-
29
- module.exports = { toSfnt };
71
+ //# sourceMappingURL=sfntCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfntCache.js","sourceRoot":"","sources":["../src/sfntCache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBA2BC;AAlCD,uDAAyC;AACzC,mDAA0C;AAI1C,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAA+B,CAAC;AAEvE,SAAgB,MAAM,CAAC,MAAkB;IACvC,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;IACzD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,IAAI,OAA4B,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAA,uBAAO,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,IAAA,uBAAO,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,mEAAmE;IACnE,wEAAwE;IACxE,2DAA2D;IAC3D,gDAAgD;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC7C,mBAAmB,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;QAC7C,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,mBAAmB,CAAC,GAAG,CAAC,MAAgB,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare function stripLocalTokens(cssValue: string): string;
2
+ export = stripLocalTokens;
3
+ //# sourceMappingURL=stripLocalTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripLocalTokens.d.ts","sourceRoot":"","sources":["../src/stripLocalTokens.ts"],"names":[],"mappings":"AAEA,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBlD;AAED,SAAS,gBAAgB,CAAC"}
@@ -1,23 +1,25 @@
1
- const postcssValueParser = require('postcss-value-parser');
2
-
3
- module.exports = function stripLocalTokens(cssValue) {
4
- const rootNode = postcssValueParser(cssValue);
5
- for (let i = 0; i < rootNode.nodes.length; i += 1) {
6
- const node = rootNode.nodes[i];
7
- if (node.type === 'function' && node.value.toLowerCase() === 'local') {
8
- let numTokensToRemove = 1;
9
- if (i + 1 < rootNode.nodes.length) {
10
- const nextToken = rootNode.nodes[i + 1];
11
- if (nextToken.type === 'div' && nextToken.value === ',') {
12
- numTokensToRemove += 1;
13
- if (i + 2 < rootNode.nodes.length) {
14
- rootNode.nodes[i + 2].before = node.before;
15
- }
1
+ "use strict";
2
+ const postcssValueParser = require("postcss-value-parser");
3
+ function stripLocalTokens(cssValue) {
4
+ const rootNode = postcssValueParser(cssValue);
5
+ for (let i = 0; i < rootNode.nodes.length; i += 1) {
6
+ const node = rootNode.nodes[i];
7
+ if (node.type === 'function' && node.value.toLowerCase() === 'local') {
8
+ let numTokensToRemove = 1;
9
+ if (i + 1 < rootNode.nodes.length) {
10
+ const nextToken = rootNode.nodes[i + 1];
11
+ if (nextToken.type === 'div' && nextToken.value === ',') {
12
+ numTokensToRemove += 1;
13
+ if (i + 2 < rootNode.nodes.length) {
14
+ rootNode.nodes[i + 2].before = node.before;
15
+ }
16
+ }
17
+ }
18
+ rootNode.nodes.splice(i, numTokensToRemove);
19
+ i -= 1;
16
20
  }
17
- }
18
- rootNode.nodes.splice(i, numTokensToRemove);
19
- i -= 1;
20
21
  }
21
- }
22
- return postcssValueParser.stringify(rootNode);
23
- };
22
+ return postcssValueParser.stringify(rootNode);
23
+ }
24
+ module.exports = stripLocalTokens;
25
+ //# sourceMappingURL=stripLocalTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripLocalTokens.js","sourceRoot":"","sources":["../src/stripLocalTokens.ts"],"names":[],"mappings":";AAAA,2DAA4D;AAE5D,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;YACrE,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxC,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBACxD,iBAAiB,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBAClC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAC5C,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,iBAAS,gBAAgB,CAAC"}
package/lib/subfont.d.ts CHANGED
@@ -2,26 +2,47 @@ import AssetGraph = require('assetgraph');
2
2
  declare class UsageError extends Error {
3
3
  constructor(message: string);
4
4
  }
5
+ /** Options for the subfont programmatic API. One of `output`, `inPlace`, or `dryRun` must be set. */
5
6
  interface SubfontOptions {
7
+ /** Path or URL to the web root. Deduced from `inputFiles` if omitted. */
6
8
  root?: string;
9
+ /** URI root where the site will be deployed (rewrites absolute URLs). */
7
10
  canonicalRoot?: string;
11
+ /** Output directory. Mutually exclusive with `inPlace`. */
8
12
  output?: string;
13
+ /** Emit verbose timing and glyph-detection info. */
9
14
  debug?: boolean;
15
+ /** Trace and compute subsets but do not write any files. */
10
16
  dryRun?: boolean;
17
+ /** Suppress all log output. */
11
18
  silent?: boolean;
19
+ /** Inline the subset @font-face CSS into the HTML document. */
12
20
  inlineCss?: boolean;
21
+ /** CSS font-display value: `auto`, `block`, `swap`, `fallback`, or `optional`. */
13
22
  fontDisplay?: string;
23
+ /** Modify input files in-place. */
14
24
  inPlace?: boolean;
15
- inputFiles?: Array<string | URL>;
25
+ /** HTML entry points (file paths or URLs). */
26
+ inputFiles?: Array<string | number | URL>;
27
+ /** Crawl linked pages starting from `inputFiles`. */
16
28
  recursive?: boolean;
29
+ /** Emit relative URLs instead of root-relative. */
17
30
  relativeUrls?: boolean;
31
+ /** Trace JS-rendered content in headless Chrome. */
18
32
  dynamic?: boolean;
33
+ /** Async-load the full original font as a fallback for dynamic content. */
19
34
  fallbacks?: boolean;
35
+ /** Extra characters to include in every subset. */
20
36
  text?: string;
37
+ /** Preserve CSS source maps (slower). */
21
38
  sourceMaps?: boolean;
39
+ /** Max parallel tracing workers. Defaults to CPU count, capped by available memory. */
22
40
  concurrency?: number;
41
+ /** Extra Chrome flags forwarded to puppeteer when `dynamic` is set. */
23
42
  chromeFlags?: string[];
43
+ /** Cache subset results. Pass a path or `true` for `.subfont-cache` inside `root`. */
24
44
  cache?: boolean | string;
45
+ /** Exit non-zero if any warnings are emitted. */
25
46
  strict?: boolean;
26
47
  }
27
48
  interface SubfontFn {
@@ -1 +1 @@
1
- {"version":3,"file":"subfont.d.ts","sourceRoot":"","sources":["../src/subfont.ts"],"names":[],"mappings":"AAKA,OAAO,UAAU,GAAG,QAAQ,YAAY,CAAC,CAAC;AAQ1C,cAAM,UAAW,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAI5B;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAqBD,UAAU,SAAS;IACjB,CACE,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;IAC5C,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B;AAED,QAAA,MAAM,OAAO,EA6pBR,SAAS,CAAC;AAIf,SAAS,OAAO,CAAC"}
1
+ {"version":3,"file":"subfont.d.ts","sourceRoot":"","sources":["../src/subfont.ts"],"names":[],"mappings":"AAKA,OAAO,UAAU,GAAG,QAAQ,YAAY,CAAC,CAAC;AAQ1C,cAAM,UAAW,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAI5B;AAED,qGAAqG;AACrG,UAAU,cAAc;IACtB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;IAC1C,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,sFAAsF;IACtF,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAqBD,UAAU,SAAS;IACjB,CACE,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;IAC5C,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B;AAED,QAAA,MAAM,OAAO,EA4pBR,SAAS,CAAC;AAIf,SAAS,OAAO,CAAC"}
package/lib/subfont.js CHANGED
@@ -287,11 +287,10 @@ const subfont = async function subfont({ root, canonicalRoot, output, debug = fa
287
287
  }
288
288
  }
289
289
  if (rootUrl && !rootUrl.startsWith('file:')) {
290
- for (const relation of assetGraph.findRelations()) {
291
- if (relation.hrefType === 'protocolRelative' ||
292
- relation.hrefType === 'absolute') {
293
- relation.hrefType = 'rootRelative';
294
- }
290
+ for (const relation of assetGraph.findRelations({
291
+ hrefType: { $in: ['protocolRelative', 'absolute'] },
292
+ })) {
293
+ relation.hrefType = 'rootRelative';
295
294
  }
296
295
  await assetGraph.moveAssets({
297
296
  type: 'Html',
@@ -395,11 +394,13 @@ const subfont = async function subfont({ root, canonicalRoot, output, debug = fa
395
394
  }
396
395
  const numFonts = Object.keys(fontUsagesByFontFamily).length;
397
396
  log(`${assetFileName}: ${numFonts} font${numFonts === 1 ? '' : 's'} (${fontUsages.length} variant${fontUsages.length === 1 ? '' : 's'}) in use, ${prettyBytes(sumSmallestOriginalSize)} total. Created subsets: ${prettyBytes(sumSmallestSubsetSize)} total`);
397
+ const usedPad = String(maxUsedCodePoints).length;
398
+ const originalPad = String(maxOriginalCodePoints).length;
398
399
  for (const fontFamily of Object.keys(fontUsagesByFontFamily).sort()) {
399
400
  log(` ${fontFamily}:`);
400
401
  for (const fontUsage of fontUsagesByFontFamily[fontFamily]) {
401
402
  const variantShortName = `${fontUsage.props['font-weight']}${fontUsage.props['font-style'] === 'italic' ? 'i' : ' '}`;
402
- let status = ` ${variantShortName}: ${String(fontUsage.codepoints.used.length).padStart(String(maxUsedCodePoints).length)}/${String(fontUsage.codepoints.original.length).padStart(String(maxOriginalCodePoints).length)} codepoints used`;
403
+ let status = ` ${variantShortName}: ${String(fontUsage.codepoints.used.length).padStart(usedPad)}/${String(fontUsage.codepoints.original.length).padStart(originalPad)} codepoints used`;
403
404
  if (fontUsage.codepoints.page.length !== fontUsage.codepoints.used.length) {
404
405
  status += ` (${fontUsage.codepoints.page.length} on this page)`;
405
406
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subfont.js","sourceRoot":"","sources":["../src/subfont.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subfont.js","sourceRoot":"","sources":["../src/subfont.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ interface SubsetFontWithGlyphsOptions {
7
7
  targetFormat?: string;
8
8
  glyphIds?: number[];
9
9
  variationAxes?: Record<string, VariationAxisValue>;
10
+ featureTags?: string[];
11
+ dropMathTable?: boolean;
12
+ dropColorTables?: boolean;
13
+ scriptTags?: string[];
10
14
  }
11
15
  interface SubsetFontWithGlyphsFn {
12
16
  (originalFont: Buffer | Uint8Array, text: string, options?: SubsetFontWithGlyphsOptions): Promise<Buffer>;
@@ -1 +1 @@
1
- {"version":3,"file":"subsetFontWithGlyphs.d.ts","sourceRoot":"","sources":["../src/subsetFontWithGlyphs.ts"],"names":[],"mappings":"AAiEA,KAAK,kBAAkB,GACnB,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,UAAU,2BAA2B;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACpD;AA8PD,UAAU,sBAAsB;IAC9B,CACE,YAAY,EAAE,MAAM,GAAG,UAAU,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;wBAyEgC,sBAAsB;AAAvD,kBAAwD"}
1
+ {"version":3,"file":"subsetFontWithGlyphs.d.ts","sourceRoot":"","sources":["../src/subsetFontWithGlyphs.ts"],"names":[],"mappings":"AAwEA,KAAK,kBAAkB,GACnB,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,UAAU,2BAA2B;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAKnD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAGvB,aAAa,CAAC,EAAE,OAAO,CAAC;IAIxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AA+TD,UAAU,sBAAsB;IAC9B,CACE,YAAY,EAAE,MAAM,GAAG,UAAU,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;wBA4FgC,sBAAsB;AAAvD,kBAAwD"}
@@ -39,9 +39,15 @@ const sfntCache_1 = require("./sfntCache");
39
39
  const fontConverter_1 = require("./fontConverter");
40
40
  // hb_subset_sets_t enum values — https://github.com/harfbuzz/harfbuzz/blob/main/src/hb-subset.h
41
41
  const HB_SUBSET_SETS_GLYPH_INDEX = 0;
42
- const HB_SUBSET_SETS_DROP_TABLE_TAG = 5;
43
- const HB_SUBSET_SETS_LAYOUT_FEATURE_TAG = 6;
42
+ const HB_SUBSET_SETS_DROP_TABLE_TAG = 3;
44
43
  const HB_SUBSET_SETS_NAME_ID = 4;
44
+ const HB_SUBSET_SETS_NAME_LANG_ID = 5;
45
+ const HB_SUBSET_SETS_LAYOUT_FEATURE_TAG = 6;
46
+ const HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG = 7;
47
+ // Windows English (United States). The only name-table language we keep —
48
+ // browsers don't expose localized name strings to web pages, so other lang
49
+ // IDs are pure overhead.
50
+ const KEEP_NAME_LANG_ID_EN_US = 0x0409;
45
51
  // hb_subset_flags_t
46
52
  const HB_SUBSET_FLAGS_NO_HINTING = 0x00000001;
47
53
  // Pool of WASM instances for parallel subsetting. Each instance has its
@@ -92,6 +98,10 @@ async function acquireInstance() {
92
98
  }
93
99
  // All instances busy — wait for one to be released.
94
100
  return new Promise((resolve, reject) => {
101
+ const entry = (inst) => {
102
+ clearTimeout(timer);
103
+ resolve(inst);
104
+ };
95
105
  const timer = setTimeout(() => {
96
106
  const idx = _waiters.indexOf(entry);
97
107
  if (idx !== -1)
@@ -99,10 +109,6 @@ async function acquireInstance() {
99
109
  reject(new Error(`Timed out waiting for a WASM subsetting instance after ${ACQUIRE_TIMEOUT_MS}ms`));
100
110
  }, ACQUIRE_TIMEOUT_MS);
101
111
  timer.unref();
102
- const entry = (inst) => {
103
- clearTimeout(timer);
104
- resolve(inst);
105
- };
106
112
  _waiters.push(entry);
107
113
  });
108
114
  }
@@ -145,17 +151,58 @@ function setAxisRange(exports, input, face, axisName, value) {
145
151
  }
146
152
  }
147
153
  // Tables unnecessary for web rendering — safe to drop unconditionally.
148
- // gasp is only meaningful when hinting is present (which we strip above).
154
+ // HB_SUBSET_FLAGS_NO_HINTING already drops cvt/fpgm/prep/hdmx in the
155
+ // harfbuzzjs build we use; gasp/LTSH/VDMX/DSIG/PCLT survive the flag and
156
+ // must be dropped here.
149
157
  const DROP_TABLE_TAGS = ['DSIG', 'LTSH', 'VDMX', 'hdmx', 'gasp', 'PCLT'];
158
+ // Color and bitmap tables — only relevant for color emoji (Apple/Google)
159
+ // and legacy bitmap fonts. Dropped only when the caller signals that no
160
+ // color content needs to render with this font.
161
+ // Note: 'SVG ' has a trailing space (4-byte tag).
162
+ const COLOR_TABLE_TAGS = [
163
+ 'COLR',
164
+ 'CPAL',
165
+ 'SVG ',
166
+ 'CBDT',
167
+ 'CBLC',
168
+ 'sbix',
169
+ 'EBDT',
170
+ 'EBLC',
171
+ 'EBSC',
172
+ ];
150
173
  // Name IDs needed for web fonts: family (1), subfamily (2), full name (4),
151
174
  // PostScript name (6). Copyright (0), unique ID (3), version (5), and
152
175
  // everything above 6 are display/license metadata that browsers never read.
153
176
  const KEEP_NAME_IDS = [1, 2, 4, 6];
154
- function configureSubsetInput(exports, input, face, text, glyphIds, variationAxes) {
155
- // --- Retain all layout features ---
177
+ function configureSubsetInput(exports, input, face, text, glyphIds, variationAxes, featureTags, dropMathTable, dropColorTables, scriptTags) {
178
+ // --- Retain layout features ---
179
+ // hb_subset_input_create_or_fail pre-populates the layout-features set with
180
+ // a curated list of shaping-essential tags (locl, ccmp, calt, mark, mkmk,
181
+ // Indic/Arabic/Khmer shaping features, etc.). When the caller passes
182
+ // featureTags, we leave that default in place and add the CSS-requested
183
+ // tags on top. Optional features the page never references (e.g. ss##,
184
+ // cv##, smcp, swsh) are then dropped, shrinking the GSUB/GPOS tables.
185
+ // When featureTags is undefined, fall back to retain-all behavior.
156
186
  const layoutFeatures = exports.hb_subset_input_set(input, HB_SUBSET_SETS_LAYOUT_FEATURE_TAG);
157
- exports.hb_set_clear(layoutFeatures);
158
- exports.hb_set_invert(layoutFeatures);
187
+ if (featureTags === undefined) {
188
+ exports.hb_set_clear(layoutFeatures);
189
+ exports.hb_set_invert(layoutFeatures);
190
+ }
191
+ else {
192
+ for (const tag of featureTags) {
193
+ exports.hb_set_add(layoutFeatures, HB_TAG(tag));
194
+ }
195
+ }
196
+ // --- Retain layout scripts ---
197
+ // When scriptTags is provided, replace harfbuzz's default (all scripts)
198
+ // with exactly the listed tags. Undefined leaves the default in place.
199
+ if (scriptTags !== undefined) {
200
+ const layoutScripts = exports.hb_subset_input_set(input, HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG);
201
+ exports.hb_set_clear(layoutScripts);
202
+ for (const tag of scriptTags) {
203
+ exports.hb_set_add(layoutScripts, HB_TAG(tag));
204
+ }
205
+ }
159
206
  // --- Strip hinting instructions (ignored by modern browsers) ---
160
207
  const flags = exports.hb_subset_input_get_flags(input);
161
208
  exports.hb_subset_input_set_flags(input, flags | HB_SUBSET_FLAGS_NO_HINTING);
@@ -165,11 +212,23 @@ function configureSubsetInput(exports, input, face, text, glyphIds, variationAxe
165
212
  for (const id of KEEP_NAME_IDS) {
166
213
  exports.hb_set_add(nameIdSet, id);
167
214
  }
215
+ // --- Keep only en-US localized name strings ---
216
+ const nameLangSet = exports.hb_subset_input_set(input, HB_SUBSET_SETS_NAME_LANG_ID);
217
+ exports.hb_set_clear(nameLangSet);
218
+ exports.hb_set_add(nameLangSet, KEEP_NAME_LANG_ID_EN_US);
168
219
  // --- Drop tables not needed for web rendering ---
169
220
  const dropTableSet = exports.hb_subset_input_set(input, HB_SUBSET_SETS_DROP_TABLE_TAG);
170
221
  for (const tag of DROP_TABLE_TAGS) {
171
222
  exports.hb_set_add(dropTableSet, HB_TAG(tag));
172
223
  }
224
+ if (dropMathTable) {
225
+ exports.hb_set_add(dropTableSet, HB_TAG('MATH'));
226
+ }
227
+ if (dropColorTables) {
228
+ for (const tag of COLOR_TABLE_TAGS) {
229
+ exports.hb_set_add(dropTableSet, HB_TAG(tag));
230
+ }
231
+ }
173
232
  // --- Add unicode codepoints ---
174
233
  const inputUnicodes = exports.hb_subset_input_unicode_set(input);
175
234
  // Include codepoints from both NFC and NFD normalized forms so the
@@ -214,7 +273,7 @@ function extractSubsetFont(exports, subset) {
214
273
  // Fresh view AFTER the WASM calls above — memory.buffer may have been
215
274
  // detached by a grow during hb_face_reference_blob / hb_blob_get_data.
216
275
  const heapu8 = getHeapu8(exports);
217
- if (offset + subsetByteLength > heapu8.byteLength) {
276
+ if (offset < 0 || offset + subsetByteLength > heapu8.byteLength) {
218
277
  exports.hb_blob_destroy(result);
219
278
  throw new Error(`WASM returned out-of-bounds offset ${offset} + length ${subsetByteLength} (heap size ${heapu8.byteLength})`);
220
279
  }
@@ -222,7 +281,7 @@ function extractSubsetFont(exports, subset) {
222
281
  exports.hb_blob_destroy(result);
223
282
  return subsetFont;
224
283
  }
225
- async function subsetFontWithGlyphs(originalFont, text, { targetFormat, glyphIds, variationAxes } = {}) {
284
+ async function subsetFontWithGlyphs(originalFont, text, { targetFormat, glyphIds, variationAxes, featureTags, dropMathTable = false, dropColorTables = false, scriptTags, } = {}) {
226
285
  // Reuse cached sfnt conversion when available (same buffer may have
227
286
  // been converted by getFontInfo or collectFeatureGlyphIds already).
228
287
  // sfntCache routes woff2 decompression through the worker pool.
@@ -246,7 +305,7 @@ async function subsetFontWithGlyphs(originalFont, text, { targetFormat, glyphIds
246
305
  let subsetFont;
247
306
  let subset = 0;
248
307
  try {
249
- configureSubsetInput(exports, input, face, text, glyphIds, variationAxes);
308
+ configureSubsetInput(exports, input, face, text, glyphIds, variationAxes, featureTags, dropMathTable, dropColorTables, scriptTags);
250
309
  subset = exports.hb_subset_or_fail(face, input);
251
310
  if (subset === 0) {
252
311
  throw new Error('hb_subset_or_fail returned zero');
@@ -1 +1 @@
1
- {"version":3,"file":"subsetFontWithGlyphs.js","sourceRoot":"","sources":["../src/subsetFontWithGlyphs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAA0B;AAC1B,0CAAuC;AACvC,uDAAyC;AACzC,2CAAqC;AACrC,mDAA6D;AAE7D,gGAAgG;AAChG,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AACxC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAC5C,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,oBAAoB;AACpB,MAAM,0BAA0B,GAAG,UAAU,CAAC;AA8D9C,yEAAyE;AACzE,0EAA0E;AAC1E,8DAA8D;AAC9D,IAAI,eAAwD,CAAC;AAC7D,SAAS,aAAa;IACpB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,kEAAkE;QAClE,kEAAkE;QAClE,eAAe,GAAG,IAAA,mBAAQ,EACxB,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAC7C,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,KAAK,GAAmB,EAAE,CAAC;AACjC,IAAI,UAAqC,CAAC;AAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAE7D,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;YAClC,MAAM,cAAc,GAAyB,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,cAAc,CAAC,IAAI,CACjB,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACzC,KAAK,CAAC,IAAI,CAAC;wBACT,+DAA+D;wBAC/D,+CAA+C;wBAC/C,gDAAgD;wBAChD,OAAO,EAAE,IAAI,CAAC,OAAqC;wBACnD,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;gBACL,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,4DAA4D;AAC5D,MAAM,QAAQ,GAAwC,EAAE,CAAC;AACzD,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC,KAAK,UAAU,eAAe;IAC5B,MAAM,QAAQ,EAAE,CAAC;IACjB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oDAAoD;IACpD,OAAO,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,CACJ,IAAI,KAAK,CACP,0DAA0D,kBAAkB,IAAI,CACjF,CACF,CAAC;QACJ,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,CAAC,IAAkB,EAAE,EAAE;YACnC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,IAAkB;IACzC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IAClB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,kEAAkE;AAClE,+DAA+D;AAC/D,sEAAsE;AACtE,4DAA4D;AAE5D,8EAA8E;AAC9E,+DAA+D;AAC/D,SAAS,SAAS,CAAC,OAAwB;IACzC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,0EAA0E;AAC1E,uEAAuE;AACvE,SAAS,MAAM,CAAC,GAAW;IACzB,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE;QACzC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,eAAe,CACtB,OAAwB,EACxB,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,KAAa;IAEb,MAAM,EAAE,GAAG,OAAO,CAAC,iCAAiC,CAClD,KAAK,EACL,IAAI,EACJ,MAAM,CAAC,QAAQ,CAAC,EAChB,KAAK,CACN,CAAC;IACF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,OAAO,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,OAAwB,EACxB,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,KAAqD;IAErD,MAAM,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAC/C,KAAK,EACL,IAAI,EACJ,MAAM,CAAC,QAAQ,CAAC,EAChB,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,OAAO,IAAI,GAAG,CACrB,CAAC;IACF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,0EAA0E;AAC1E,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzE,2EAA2E;AAC3E,uEAAuE;AACvE,4EAA4E;AAC5E,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnC,SAAS,oBAAoB,CAC3B,OAAwB,EACxB,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,QAA8B,EAC9B,aAA6D;IAE7D,qCAAqC;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAChD,KAAK,EACL,iCAAiC,CAClC,CAAC;IACF,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACrC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAEtC,kEAAkE;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,0BAA0B,CAAC,CAAC;IAE7E,iDAAiD;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,mDAAmD;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAC9C,KAAK,EACL,6BAA6B,CAC9B,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,iCAAiC;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACjE,mEAAmE;IACnE,kEAAkE;IAClE,8DAA8D;IAC9D,kEAAkE;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAW,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAW,CAAC,CAAC;IAChE,CAAC;IAED,iEAAiE;IACjE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAC1C,KAAK,EACL,0BAA0B,CAC3B,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;iBAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9C,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAwB,EAAE,MAAc;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE5D,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,MAAM,GAAG,gBAAgB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,aAAa,gBAAgB,eAAe,MAAM,CAAC,UAAU,GAAG,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,CACnD,CAAC;IACF,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,UAAU,CAAC;AACpB,CAAC;AAWD,KAAK,UAAU,oBAAoB,CACjC,YAAiC,EACjC,IAAY,EACZ,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,KAAkC,EAAE;IAE3E,oEAAoE;IACpE,oEAAoE;IACpE,gEAAgE;IAChE,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAM,EAAC,YAAY,CAAC,CAAC;IAEvC,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,4EAA4E;QAC5E,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,8BAA8B,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,UAA8B,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,CAAC;YACH,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAE1E,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,+DAA+D;YAC/D,IAAI,MAAM;gBAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC5C,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAED,gEAAgE;QAChE,iEAAiE;QACjE,QAAQ,GAAG,IAAI,CAAC;QAChB,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,kEAAkE;QAClE,qEAAqE;QACrE,yDAAyD;QACzD,OAAO,YAAY,KAAK,OAAO;YAC7B,CAAC,CAAC,IAAA,uBAAe,EAAC,UAAoB,EAAE,YAAY,EAAE,UAAU,CAAC;YACjE,CAAC,CAAC,UAAU,CAAC,OAAO,CAChB,UAAoB,EACpB,YAAsB,EACtB,UAAU,CACX,CAAC;IACR,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,QAAQ;YAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,6EAA6E;AAC5E,oBAA+C,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE3E,iBAAS,oBAA8C,CAAC"}
1
+ {"version":3,"file":"subsetFontWithGlyphs.js","sourceRoot":"","sources":["../src/subsetFontWithGlyphs.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
1
  import type { AssetGraph } from 'assetgraph';
2
- type VariationAxes = Record<string, number | {
3
- min: number;
4
- max: number;
5
- default?: number;
6
- }> | undefined;
2
+ import type { VariationAxes } from './types/shared';
7
3
  interface FontUsage {
8
4
  text: string;
9
5
  pageText?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"subsetFonts.d.ts","sourceRoot":"","sources":["../src/subsetFonts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,UAAU,EAIX,MAAM,YAAY,CAAC;AAkCpB,KAAK,aAAa,GACd,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;AAId,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IACF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CACpC;AAkeD,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,KAAK,kBAAkB,GAAG,MAAM,CAC9B,MAAM,EACN,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CACxD,CAAC;AAEF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;KAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,iBAAe,WAAW,CACxB,UAAU,EAAE,UAAU,EACtB,EACE,OAAmB,EACnB,UAAuB,EACvB,aAAqB,EACrB,SAAiB,EACjB,WAAW,EACX,QAAyB,EACzB,QAAQ,EACR,OAAO,EACP,OAAwB,EACxB,IAAI,EACJ,UAAkB,EAClB,KAAa,EACb,WAAW,EACX,UAAe,EACf,QAAe,GAChB,GAAE,kBAAuB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAy0B5B;AAED,SAAS,WAAW,CAAC"}
1
+ {"version":3,"file":"subsetFonts.d.ts","sourceRoot":"","sources":["../src/subsetFonts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,UAAU,EAIX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAkCrE,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IACF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CACpC;AAkeD,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,KAAK,kBAAkB,GAAG,MAAM,CAC9B,MAAM,EACN,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CACxD,CAAC;AAEF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;KAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,iBAAe,WAAW,CACxB,UAAU,EAAE,UAAU,EACtB,EACE,OAAmB,EACnB,UAAuB,EACvB,aAAqB,EACrB,SAAiB,EACjB,WAAW,EACX,QAAyB,EACzB,QAAQ,EACR,OAAO,EACP,OAAwB,EACxB,IAAI,EACJ,UAAkB,EAClB,KAAa,EACb,WAAW,EACX,UAAe,EACf,QAAe,GAChB,GAAE,kBAAuB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CA60B5B;AAED,SAAS,WAAW,CAAC"}