@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCssRulesByProperty.js","sourceRoot":"","sources":["../src/getCssRulesByProperty.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2C;AAC3C,iDAAmC;AASnC,2DAA4D;AAC5D,qCAAsC;AACtC,2FAA6E;AAE7E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS;IAC3C,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,sBAAsB;IACtB,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,UAAU;IACV,UAAU;IACV,QAAQ;CACT,CAAC,CAAC;AA+BH,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,oEAAoE;AACpE,SAAS,eAAe,CAAC,IAAe;IACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;SAClD,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,SAAS;QACd,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACvC,IAAI,CAAC,YAAY;QACjB,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;KAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,0EAA0E;AAC1E,+DAA+D;AAC/D,SAAS,gBAAgB,CAAC,eAAmC;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,WAAW;YAAE,SAAS;QAC7D,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAgB,CAAC;QAClD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAoB,EACpB,SAAiB,EACjB,kBAA4C;IAE5C,MAAM,iBAAiB,GAAG,kBAAkB,IAAI,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,mBAAuC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,wEAAwE;IACxE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAC7B,mDAAmD,CACpD,CAAC;QACF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC;YACX,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,mBAAmB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,eAAe,GAAuB;QAC1C,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAiB,CAAC;IAChD,CAAC;IAED,oEAAoE;IACpE,0EAA0E;IAC1E,SAAS,mBAAmB,CAAC,QAAgB;QAC3C,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QACD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC;IAC9D,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC5E,SAAS,cAAc,CAAC,QAAgB;QACtC,IAAI,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,wBAAwB,GAAa,EAAE,CAAC;IAC9C,SAAS,oBAAoB;QAC3B,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC;YAC5C,KAAK,MAAM,SAAS,IAAI,wBAAwB,EAAE,CAAC;gBACjD,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAC1B,IAAiB,EACjB,IAAY,EACZ,KAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAc,CAAC;QACnC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;YAC5D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,KAAK,eAAe,CAAC;YACxE,MAAM,WAAW,GAAG,gBAAgB;gBAClC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC1D,EAAE,CAAgB,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC;gBACR,UAAU,EAAE,oBAAoB,EAAE;gBAClC,YAAY,EAAE,gBAAgB;oBAC5B,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,mBAAmB,CAAC,WAAqB,CAAC;gBAC9C,QAAQ,EAAE,WAAW;gBACrB,gBAAgB,EAAE,gBAAgB;oBAChC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACd,CAAC,CAAC,iBAAiB,CAAC,gBAAgB;gBACtC,IAAI;gBACJ,KAAK;gBACL,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,CAAC,SAAS,KAAK,CAAC,IAAa;QAC3B,gEAAgE;QAChE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvE,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,uCAAuC;YAChH,IAAI,gBAAgB,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;iBAAM,IACL,QAAQ,KAAK,YAAY;gBACzB,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EACtC,CAAC;gBACD,IAAI,aAAiC,CAAC;gBACtC,KAAK,MAAM,SAAS,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC7D,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAChC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;oBAClC,CAAC;yBAAM,IACL,SAAS,CAAC,IAAI,KAAK,MAAM;wBACzB,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EACzC,CAAC;wBACD,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE,CAAC;oBACzC,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,eAAe,GAAG,uBAAuB,CAAC,WAAW,CACzD,IAAI,CAAC,KAAK,CACX,CAAC,KAAK,CAAC;gBAER,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC1C,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;oBACrD,mBAAmB,CACjB,IAAI,EACJ,2BAA2B,EAC3B,uBAAuB,CAAC,SAAS,CAAC;wBAChC,IAAI,EAAE,EAAE;wBACR,cAAc,EAAE,eAAe,CAAC,cAAc;qBAC/C,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACrC,MAAM,oBAAoB,GAAa,EAAE,CAAC;gBAC1C,MAAM,mBAAmB,GAAa,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,WAAW,GAAa,EAAE,CAAC;gBAC/B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACrC,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;wBACxD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5C,CAAC;wBACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3C,CAAC;wBACD,WAAW,GAAG,EAAE,CAAC;oBACnB,CAAC;yBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACtC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBAED,IAAI,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;oBAC/C,mBAAmB,CACjB,IAAI,EACJ,qBAAqB,EACrB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAChC,CAAC;gBACJ,CAAC;gBACD,IAAI,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;oBAC/C,mBAAmB,CACjB,IAAI,EACJ,qBAAqB,EACrB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG;oBACpB,aAAa;oBACb,aAAa;oBACb,WAAW;oBACX,YAAY;iBACb,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAc,CAAC;oBACvC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;wBAChE,MAAM,gBAAgB,GACpB,iBAAiB,CAAC,QAAQ,KAAK,eAAe,CAAC;wBACjD,MAAM,YAAY,GAAG,gBAAgB;4BACnC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACtC,MAAM,KAAK,GAAc;4BACvB,UAAU,EAAE,oBAAoB,EAAE;4BAClC,YAAY,EAAE,gBAAgB;gCAC5B,CAAC,CAAC,mBAAmB;gCACrB,CAAC,CAAC,mBAAmB,CAAC,YAAsB,CAAC;4BAC/C,QAAQ,EAAE,YAAY;4BACtB,gBAAgB,EAAE,gBAAgB;gCAChC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCACd,CAAC,CAAC,iBAAiB,CAAC,gBAAgB;4BACtC,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;yBAC5B,CAAC;wBACF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;4BAChC,eAAe,CAAC,IAAI,CAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IACL,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,EAC3C,CAAC;YACD,MAAM,KAAK,GAA2B,EAAE,CAAC;YACzC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC9B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;gBACjC,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,UAAU,EAAE,oBAAoB,EAAE;gBAClC,KAAK;aACN,CAAC,CAAC;QACL,CAAC;aAAM,IACL,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,EACvC,CAAC;YACD,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,YAAY,EAAE,mBAAmB;gBACjC,UAAU,EAAE,oBAAoB,EAAE;gBAClC,IAAI;aACL,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAI,IAAkB,CAAC,KAAK,CAAC;QACjD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC5C,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7D,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,cAA6B,EAAE,CAAC;gBACtD,KAAK,CAAC,SAAS,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,wBAAwB,CAAC,GAAG,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEd,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAElC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,iBAAS,qBAAqB,CAAC"}
@@ -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,CAenE;AAED,SAAS,WAAW,CAAC"}
@@ -1,36 +1,34 @@
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
+ cached = enqueueWasm(() => getFontInfoFromBuffer(buffer)).catch(
23
+ // eslint-disable-next-line no-restricted-syntax
24
+ (err) => {
25
+ // Evict rejected promises so retries with the same buffer aren't stuck
26
+ fontInfoPromiseByBuffer.delete(key);
27
+ throw err;
28
+ });
29
+ fontInfoPromiseByBuffer.set(key, cached);
30
+ }
31
+ return cached;
32
+ }
33
+ module.exports = getFontInfo;
34
+ //# 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,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QAC7D,gDAAgD;QAChD,CAAC,GAAY,EAAE,EAAE;YACf,uEAAuE;YACvE,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,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,CA4DR;AAED,SAAS,uBAAuB,CAAC"}
@@ -1,65 +1,61 @@
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
+ // Bail out, a subset font is already listed
36
+ return cssValue;
37
+ }
38
+ else if (webfontNameMap[possibleFontFamilyLowerCase]) {
39
+ const newToken = {
40
+ type: 'string',
41
+ value: webfontNameMap[possibleFontFamilyLowerCase].replace(/'/g, "\\'"),
42
+ quote: "'",
43
+ };
44
+ if (replaceOriginal) {
45
+ rootNode.nodes.splice(rootNode.nodes.indexOf(node), lastFontFamilyTokenIndex - i + 1, newToken);
46
+ }
47
+ else {
48
+ rootNode.nodes.splice(rootNode.nodes.indexOf(node), 0, newToken, {
49
+ type: 'div',
50
+ value: ',',
51
+ after: ' ',
52
+ });
53
+ }
54
+ return postcssValueParser.stringify(rootNode);
55
+ }
57
56
  }
58
- return postcssValueParser.stringify(rootNode);
59
- }
60
57
  }
61
- }
62
- return cssValue;
58
+ return cssValue;
63
59
  }
64
-
65
60
  module.exports = injectSubsetDefinitions;
61
+ //# sourceMappingURL=injectSubsetDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectSubsetDefinitions.js","sourceRoot":"","sources":["../src/injectSubsetDefinitions.ts"],"names":[],"mappings":";AAAA,2DAA4D;AAE5D,SAAS,uBAAuB,CAC9B,QAAgB,EAChB,cAAsC,EACtC,eAAwB;IAExB,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAChE,CAAC;IACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACjD,IAAI,kBAAsC,CAAC;QAC3C,IAAI,wBAAwB,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClD,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACtC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC3C,wBAAwB,GAAG,CAAC,CAAC;oBAC/B,CAAC;yBAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC9C,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;YACrE,IAAI,eAAe,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBACrD,4CAA4C;gBAC5C,OAAO,QAAQ,CAAC;YAClB,CAAC;iBAAM,IAAI,cAAc,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG;oBACf,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,cAAc,CAAC,2BAA2B,CAAC,CAAC,OAAO,CACxD,IAAI,EACJ,KAAK,CACN;oBACD,KAAK,EAAE,GAAG;iBACX,CAAC;gBACF,IAAI,eAAe,EAAE,CAAC;oBACpB,QAAQ,CAAC,KAAK,CAAC,MAAM,CACnB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5B,wBAAwB,GAAG,CAAC,GAAG,CAAC,EAChC,QAAQ,CACT,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE;wBAC/D,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,GAAG;qBACX,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iBAAS,uBAAuB,CAAC"}
@@ -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"}