postext 1.24.0 → 1.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/README.md +8 -5
  2. package/dist/__tests__/bundle/cjkRulesPin.test.d.ts +2 -0
  3. package/dist/__tests__/bundle/cjkRulesPin.test.d.ts.map +1 -0
  4. package/dist/__tests__/bundle/cjkRulesPin.test.js +78 -0
  5. package/dist/__tests__/bundle/cjkRulesPin.test.js.map +1 -0
  6. package/dist/__tests__/bundle/contextDefaultsBundle.test.d.ts +2 -0
  7. package/dist/__tests__/bundle/contextDefaultsBundle.test.d.ts.map +1 -0
  8. package/dist/__tests__/bundle/contextDefaultsBundle.test.js +104 -0
  9. package/dist/__tests__/bundle/contextDefaultsBundle.test.js.map +1 -0
  10. package/dist/__tests__/bundle/designOverflowPin.test.js +4 -2
  11. package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -1
  12. package/dist/__tests__/bundle/flowColumnsPin.test.d.ts +2 -0
  13. package/dist/__tests__/bundle/flowColumnsPin.test.d.ts.map +1 -0
  14. package/dist/__tests__/bundle/flowColumnsPin.test.js +40 -0
  15. package/dist/__tests__/bundle/flowColumnsPin.test.js.map +1 -0
  16. package/dist/__tests__/bundle/gridBalancingPin.test.d.ts +2 -0
  17. package/dist/__tests__/bundle/gridBalancingPin.test.d.ts.map +1 -0
  18. package/dist/__tests__/bundle/gridBalancingPin.test.js +72 -0
  19. package/dist/__tests__/bundle/gridBalancingPin.test.js.map +1 -0
  20. package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts +2 -0
  21. package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts.map +1 -0
  22. package/dist/__tests__/bundle/inlineTableSplitPin.test.js +43 -0
  23. package/dist/__tests__/bundle/inlineTableSplitPin.test.js.map +1 -0
  24. package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts +2 -0
  25. package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts.map +1 -0
  26. package/dist/__tests__/bundle/openerHeadFloatsPin.test.js +50 -0
  27. package/dist/__tests__/bundle/openerHeadFloatsPin.test.js.map +1 -0
  28. package/dist/__tests__/bundle.test.js +11 -1
  29. package/dist/__tests__/bundle.test.js.map +1 -1
  30. package/dist/__tests__/cjk/annotationsRender.test.js +5 -2
  31. package/dist/__tests__/cjk/annotationsRender.test.js.map +1 -1
  32. package/dist/__tests__/cjk/circledNumbers.test.d.ts +2 -0
  33. package/dist/__tests__/cjk/circledNumbers.test.d.ts.map +1 -0
  34. package/dist/__tests__/cjk/circledNumbers.test.js +83 -0
  35. package/dist/__tests__/cjk/circledNumbers.test.js.map +1 -0
  36. package/dist/__tests__/cjk/gridBalancing.test.d.ts +2 -0
  37. package/dist/__tests__/cjk/gridBalancing.test.d.ts.map +1 -0
  38. package/dist/__tests__/cjk/gridBalancing.test.js +227 -0
  39. package/dist/__tests__/cjk/gridBalancing.test.js.map +1 -0
  40. package/dist/__tests__/cjk/justifyRender.test.js +2 -1
  41. package/dist/__tests__/cjk/justifyRender.test.js.map +1 -1
  42. package/dist/__tests__/cjk/titleBreaks.test.d.ts +2 -0
  43. package/dist/__tests__/cjk/titleBreaks.test.d.ts.map +1 -0
  44. package/dist/__tests__/cjk/titleBreaks.test.js +76 -0
  45. package/dist/__tests__/cjk/titleBreaks.test.js.map +1 -0
  46. package/dist/__tests__/cjk/wordJoiner.test.js +13 -4
  47. package/dist/__tests__/cjk/wordJoiner.test.js.map +1 -1
  48. package/dist/__tests__/codeBlocks.test.js +1 -1
  49. package/dist/__tests__/defaults/stripContextDefaults.test.d.ts +2 -0
  50. package/dist/__tests__/defaults/stripContextDefaults.test.d.ts.map +1 -0
  51. package/dist/__tests__/defaults/stripContextDefaults.test.js +265 -0
  52. package/dist/__tests__/defaults/stripContextDefaults.test.js.map +1 -0
  53. package/dist/__tests__/design/cjkDesignDash.test.d.ts +2 -0
  54. package/dist/__tests__/design/cjkDesignDash.test.d.ts.map +1 -0
  55. package/dist/__tests__/design/cjkDesignDash.test.js +395 -0
  56. package/dist/__tests__/design/cjkDesignDash.test.js.map +1 -0
  57. package/dist/__tests__/design/cjkDesignText.test.d.ts +2 -0
  58. package/dist/__tests__/design/cjkDesignText.test.d.ts.map +1 -0
  59. package/dist/__tests__/design/cjkDesignText.test.js +130 -0
  60. package/dist/__tests__/design/cjkDesignText.test.js.map +1 -0
  61. package/dist/__tests__/design/cjkDesignTextRender.test.d.ts +2 -0
  62. package/dist/__tests__/design/cjkDesignTextRender.test.d.ts.map +1 -0
  63. package/dist/__tests__/design/cjkDesignTextRender.test.js +100 -0
  64. package/dist/__tests__/design/cjkDesignTextRender.test.js.map +1 -0
  65. package/dist/__tests__/exports.test.js +49 -0
  66. package/dist/__tests__/exports.test.js.map +1 -1
  67. package/dist/__tests__/hardBreaks.test.js +1 -1
  68. package/dist/__tests__/headingInlineMarks.test.js +1 -1
  69. package/dist/__tests__/headingNumberSpans.test.d.ts +2 -0
  70. package/dist/__tests__/headingNumberSpans.test.d.ts.map +1 -0
  71. package/dist/__tests__/headingNumberSpans.test.js +96 -0
  72. package/dist/__tests__/headingNumberSpans.test.js.map +1 -0
  73. package/dist/__tests__/mathSizeMigration.test.js +2 -2
  74. package/dist/__tests__/multipleColumns.test.js +207 -0
  75. package/dist/__tests__/multipleColumns.test.js.map +1 -1
  76. package/dist/__tests__/parse/citations.test.js +29 -0
  77. package/dist/__tests__/parse/citations.test.js.map +1 -1
  78. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +10 -6
  79. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js.map +1 -1
  80. package/dist/__tests__/pipeline/calloutOverflow.test.js +4 -2
  81. package/dist/__tests__/pipeline/calloutOverflow.test.js.map +1 -1
  82. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
  83. package/dist/__tests__/pipeline/calloutTallKeepTogether.test.js +6 -5
  84. package/dist/__tests__/pipeline/calloutTallKeepTogether.test.js.map +1 -1
  85. package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
  86. package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
  87. package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
  88. package/dist/__tests__/pipeline/floatCitingPage.test.d.ts +2 -0
  89. package/dist/__tests__/pipeline/floatCitingPage.test.d.ts.map +1 -0
  90. package/dist/__tests__/pipeline/floatCitingPage.test.js +241 -0
  91. package/dist/__tests__/pipeline/floatCitingPage.test.js.map +1 -0
  92. package/dist/__tests__/pipeline/floatOverInlineResource.test.js +18 -6
  93. package/dist/__tests__/pipeline/floatOverInlineResource.test.js.map +1 -1
  94. package/dist/__tests__/pipeline/floatPlacement.test.js +3 -3
  95. package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
  96. package/dist/__tests__/pipeline/flowColumns.test.d.ts +2 -0
  97. package/dist/__tests__/pipeline/flowColumns.test.d.ts.map +1 -0
  98. package/dist/__tests__/pipeline/flowColumns.test.js +261 -0
  99. package/dist/__tests__/pipeline/flowColumns.test.js.map +1 -0
  100. package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts +2 -0
  101. package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts.map +1 -0
  102. package/dist/__tests__/pipeline/headingKeepFitEps.test.js +83 -0
  103. package/dist/__tests__/pipeline/headingKeepFitEps.test.js.map +1 -0
  104. package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
  105. package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
  106. package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts +2 -0
  107. package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts.map +1 -0
  108. package/dist/__tests__/pipeline/inlineTableSplit.test.js +238 -0
  109. package/dist/__tests__/pipeline/inlineTableSplit.test.js.map +1 -0
  110. package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
  111. package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
  112. package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js +3 -2
  113. package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js.map +1 -1
  114. package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts +2 -0
  115. package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts.map +1 -0
  116. package/dist/__tests__/pipeline/sideBoxAfterText.test.js +163 -0
  117. package/dist/__tests__/pipeline/sideBoxAfterText.test.js.map +1 -0
  118. package/dist/__tests__/prepareFonts.test.d.ts +2 -0
  119. package/dist/__tests__/prepareFonts.test.d.ts.map +1 -0
  120. package/dist/__tests__/prepareFonts.test.js +548 -0
  121. package/dist/__tests__/prepareFonts.test.js.map +1 -0
  122. package/dist/__tests__/svgFonts.test.d.ts +2 -0
  123. package/dist/__tests__/svgFonts.test.d.ts.map +1 -0
  124. package/dist/__tests__/svgFonts.test.js +286 -0
  125. package/dist/__tests__/svgFonts.test.js.map +1 -0
  126. package/dist/__tests__/verseLines.test.js +1 -1
  127. package/dist/__tests__/vertical/measurePaint.test.js +16 -0
  128. package/dist/__tests__/vertical/measurePaint.test.js.map +1 -1
  129. package/dist/bundle/adapters.d.ts +31 -7
  130. package/dist/bundle/adapters.d.ts.map +1 -1
  131. package/dist/bundle/adapters.js +113 -34
  132. package/dist/bundle/adapters.js.map +1 -1
  133. package/dist/bundle/codec.d.ts.map +1 -1
  134. package/dist/bundle/codec.js +37 -4
  135. package/dist/bundle/codec.js.map +1 -1
  136. package/dist/bundle/configVersion.d.ts +127 -10
  137. package/dist/bundle/configVersion.d.ts.map +1 -1
  138. package/dist/bundle/configVersion.js +260 -9
  139. package/dist/bundle/configVersion.js.map +1 -1
  140. package/dist/bundle/index.d.ts +3 -3
  141. package/dist/bundle/index.d.ts.map +1 -1
  142. package/dist/bundle/index.js +2 -2
  143. package/dist/bundle/index.js.map +1 -1
  144. package/dist/bundle/manifest.d.ts.map +1 -1
  145. package/dist/bundle/manifest.js +3 -2
  146. package/dist/bundle/manifest.js.map +1 -1
  147. package/dist/bundle/types.d.ts +4 -0
  148. package/dist/bundle/types.d.ts.map +1 -1
  149. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  150. package/dist/canvas-backend/headerFooter.js +18 -3
  151. package/dist/canvas-backend/headerFooter.js.map +1 -1
  152. package/dist/columnRule.d.ts.map +1 -1
  153. package/dist/columnRule.js +5 -2
  154. package/dist/columnRule.js.map +1 -1
  155. package/dist/configWarnings.js +1 -1
  156. package/dist/configWarnings.js.map +1 -1
  157. package/dist/defaults/bodyText.d.ts +2 -1
  158. package/dist/defaults/bodyText.d.ts.map +1 -1
  159. package/dist/defaults/bodyText.js +13 -2
  160. package/dist/defaults/bodyText.js.map +1 -1
  161. package/dist/defaults/cjk.d.ts +2 -1
  162. package/dist/defaults/cjk.d.ts.map +1 -1
  163. package/dist/defaults/cjk.js +17 -1
  164. package/dist/defaults/cjk.js.map +1 -1
  165. package/dist/defaults/diagramStyle.d.ts.map +1 -1
  166. package/dist/defaults/diagramStyle.js +6 -0
  167. package/dist/defaults/diagramStyle.js.map +1 -1
  168. package/dist/defaults/headings.d.ts +22 -2
  169. package/dist/defaults/headings.d.ts.map +1 -1
  170. package/dist/defaults/headings.js +34 -2
  171. package/dist/defaults/headings.js.map +1 -1
  172. package/dist/defaults/index.d.ts +11 -2
  173. package/dist/defaults/index.d.ts.map +1 -1
  174. package/dist/defaults/index.js +34 -9
  175. package/dist/defaults/index.js.map +1 -1
  176. package/dist/defaults/indexConfig.d.ts +6 -2
  177. package/dist/defaults/indexConfig.d.ts.map +1 -1
  178. package/dist/defaults/indexConfig.js +10 -5
  179. package/dist/defaults/indexConfig.js.map +1 -1
  180. package/dist/defaults/layout.d.ts +5 -0
  181. package/dist/defaults/layout.d.ts.map +1 -1
  182. package/dist/defaults/layout.js +32 -0
  183. package/dist/defaults/layout.js.map +1 -1
  184. package/dist/defaults/page.d.ts.map +1 -1
  185. package/dist/defaults/page.js +8 -2
  186. package/dist/defaults/page.js.map +1 -1
  187. package/dist/defaults/tableStyle.d.ts.map +1 -1
  188. package/dist/defaults/tableStyle.js +6 -0
  189. package/dist/defaults/tableStyle.js.map +1 -1
  190. package/dist/design/cjkText.d.ts +34 -0
  191. package/dist/design/cjkText.d.ts.map +1 -0
  192. package/dist/design/cjkText.js +88 -0
  193. package/dist/design/cjkText.js.map +1 -0
  194. package/dist/design/layout.d.ts.map +1 -1
  195. package/dist/design/layout.js +103 -5
  196. package/dist/design/layout.js.map +1 -1
  197. package/dist/design/richText.d.ts +28 -0
  198. package/dist/design/richText.d.ts.map +1 -1
  199. package/dist/design/richText.js +37 -1
  200. package/dist/design/richText.js.map +1 -1
  201. package/dist/fonts/buildWithFonts.d.ts +19 -0
  202. package/dist/fonts/buildWithFonts.d.ts.map +1 -0
  203. package/dist/fonts/buildWithFonts.js +16 -0
  204. package/dist/fonts/buildWithFonts.js.map +1 -0
  205. package/dist/fonts/faces.d.ts +101 -0
  206. package/dist/fonts/faces.d.ts.map +1 -0
  207. package/dist/fonts/faces.js +282 -0
  208. package/dist/fonts/faces.js.map +1 -0
  209. package/dist/fonts/fontSet.d.ts +37 -0
  210. package/dist/fonts/fontSet.d.ts.map +1 -0
  211. package/dist/fonts/fontSet.js +181 -0
  212. package/dist/fonts/fontSet.js.map +1 -0
  213. package/dist/fonts/prepare.d.ts +125 -0
  214. package/dist/fonts/prepare.d.ts.map +1 -0
  215. package/dist/fonts/prepare.js +380 -0
  216. package/dist/fonts/prepare.js.map +1 -0
  217. package/dist/html-backend.d.ts +17 -0
  218. package/dist/html-backend.d.ts.map +1 -1
  219. package/dist/html-backend.js +98 -4
  220. package/dist/html-backend.js.map +1 -1
  221. package/dist/index.d.ts +25 -5
  222. package/dist/index.d.ts.map +1 -1
  223. package/dist/index.js +18 -2
  224. package/dist/index.js.map +1 -1
  225. package/dist/measure/cache.d.ts.map +1 -1
  226. package/dist/measure/cache.js +32 -2
  227. package/dist/measure/cache.js.map +1 -1
  228. package/dist/measure/canvas.d.ts +15 -0
  229. package/dist/measure/canvas.d.ts.map +1 -1
  230. package/dist/measure/canvas.js +68 -4
  231. package/dist/measure/canvas.js.map +1 -1
  232. package/dist/measure/cjk.d.ts.map +1 -1
  233. package/dist/measure/cjk.js +4 -1
  234. package/dist/measure/cjk.js.map +1 -1
  235. package/dist/measure/cjkClasses.d.ts +17 -0
  236. package/dist/measure/cjkClasses.d.ts.map +1 -1
  237. package/dist/measure/cjkClasses.js +41 -1
  238. package/dist/measure/cjkClasses.js.map +1 -1
  239. package/dist/measure/cjkCompose.d.ts.map +1 -1
  240. package/dist/measure/cjkCompose.js +119 -7
  241. package/dist/measure/cjkCompose.js.map +1 -1
  242. package/dist/measure/cjkPunctuation.d.ts +18 -1
  243. package/dist/measure/cjkPunctuation.d.ts.map +1 -1
  244. package/dist/measure/cjkPunctuation.js +13 -1
  245. package/dist/measure/cjkPunctuation.js.map +1 -1
  246. package/dist/measure/font.d.ts +8 -0
  247. package/dist/measure/font.d.ts.map +1 -1
  248. package/dist/measure/font.js +13 -2
  249. package/dist/measure/font.js.map +1 -1
  250. package/dist/measure/fontString.d.ts +14 -0
  251. package/dist/measure/fontString.d.ts.map +1 -0
  252. package/dist/measure/fontString.js +55 -0
  253. package/dist/measure/fontString.js.map +1 -0
  254. package/dist/measure/index.d.ts +4 -1
  255. package/dist/measure/index.d.ts.map +1 -1
  256. package/dist/measure/index.js +3 -1
  257. package/dist/measure/index.js.map +1 -1
  258. package/dist/measure/types.d.ts +4 -0
  259. package/dist/measure/types.d.ts.map +1 -1
  260. package/dist/measure/types.js.map +1 -1
  261. package/dist/parse/citations.d.ts.map +1 -1
  262. package/dist/parse/citations.js +7 -3
  263. package/dist/parse/citations.js.map +1 -1
  264. package/dist/pipeline/build.d.ts +36 -0
  265. package/dist/pipeline/build.d.ts.map +1 -1
  266. package/dist/pipeline/build.js +1065 -193
  267. package/dist/pipeline/build.js.map +1 -1
  268. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  269. package/dist/pipeline/buildBlockKind.js +20 -6
  270. package/dist/pipeline/buildBlockKind.js.map +1 -1
  271. package/dist/pipeline/buildMeasurement.d.ts +6 -0
  272. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  273. package/dist/pipeline/buildMeasurement.js +3 -2
  274. package/dist/pipeline/buildMeasurement.js.map +1 -1
  275. package/dist/pipeline/calloutLayout.d.ts +59 -0
  276. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  277. package/dist/pipeline/calloutLayout.js +287 -65
  278. package/dist/pipeline/calloutLayout.js.map +1 -1
  279. package/dist/pipeline/columnBalancing.d.ts +20 -0
  280. package/dist/pipeline/columnBalancing.d.ts.map +1 -1
  281. package/dist/pipeline/columnBalancing.js +22 -4
  282. package/dist/pipeline/columnBalancing.js.map +1 -1
  283. package/dist/pipeline/columnsGroup.d.ts +61 -0
  284. package/dist/pipeline/columnsGroup.d.ts.map +1 -0
  285. package/dist/pipeline/columnsGroup.js +88 -0
  286. package/dist/pipeline/columnsGroup.js.map +1 -0
  287. package/dist/pipeline/config.d.ts +16 -0
  288. package/dist/pipeline/config.d.ts.map +1 -1
  289. package/dist/pipeline/config.js +51 -9
  290. package/dist/pipeline/config.js.map +1 -1
  291. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  292. package/dist/pipeline/contentWarnings.js +28 -0
  293. package/dist/pipeline/contentWarnings.js.map +1 -1
  294. package/dist/pipeline/floatPlacement.d.ts +16 -2
  295. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  296. package/dist/pipeline/floatPlacement.js +12 -4
  297. package/dist/pipeline/floatPlacement.js.map +1 -1
  298. package/dist/pipeline/floatSlots.d.ts +9 -3
  299. package/dist/pipeline/floatSlots.d.ts.map +1 -1
  300. package/dist/pipeline/floatSlots.js +15 -6
  301. package/dist/pipeline/floatSlots.js.map +1 -1
  302. package/dist/pipeline/flowColumns.d.ts +41 -0
  303. package/dist/pipeline/flowColumns.d.ts.map +1 -0
  304. package/dist/pipeline/flowColumns.js +116 -0
  305. package/dist/pipeline/flowColumns.js.map +1 -0
  306. package/dist/pipeline/measureContentBlock.d.ts +13 -1
  307. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  308. package/dist/pipeline/measureContentBlock.js +20 -5
  309. package/dist/pipeline/measureContentBlock.js.map +1 -1
  310. package/dist/pipeline/partPalette.d.ts +3 -0
  311. package/dist/pipeline/partPalette.d.ts.map +1 -1
  312. package/dist/pipeline/partPalette.js +5 -0
  313. package/dist/pipeline/partPalette.js.map +1 -1
  314. package/dist/pipeline/placement.d.ts +19 -0
  315. package/dist/pipeline/placement.d.ts.map +1 -1
  316. package/dist/pipeline/placement.js +5 -2
  317. package/dist/pipeline/placement.js.map +1 -1
  318. package/dist/pipeline/resourceLayout.d.ts +26 -0
  319. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  320. package/dist/pipeline/resourceLayout.js +53 -3
  321. package/dist/pipeline/resourceLayout.js.map +1 -1
  322. package/dist/pipeline/toc.d.ts.map +1 -1
  323. package/dist/pipeline/toc.js +6 -1
  324. package/dist/pipeline/toc.js.map +1 -1
  325. package/dist/svg/fontRegistry.d.ts +66 -0
  326. package/dist/svg/fontRegistry.d.ts.map +1 -0
  327. package/dist/svg/fontRegistry.js +294 -0
  328. package/dist/svg/fontRegistry.js.map +1 -0
  329. package/dist/svg/fonts.d.ts +140 -0
  330. package/dist/svg/fonts.d.ts.map +1 -0
  331. package/dist/svg/fonts.js +642 -0
  332. package/dist/svg/fonts.js.map +1 -0
  333. package/dist/svg/image.d.ts +44 -0
  334. package/dist/svg/image.d.ts.map +1 -0
  335. package/dist/svg/image.js +67 -0
  336. package/dist/svg/image.js.map +1 -0
  337. package/dist/types.d.ts +145 -8
  338. package/dist/types.d.ts.map +1 -1
  339. package/dist/util/stableHash.d.ts +20 -0
  340. package/dist/util/stableHash.d.ts.map +1 -0
  341. package/dist/util/stableHash.js +59 -0
  342. package/dist/util/stableHash.js.map +1 -0
  343. package/dist/vdt.d.ts +127 -3
  344. package/dist/vdt.d.ts.map +1 -1
  345. package/dist/vdt.js.map +1 -1
  346. package/dist/worker/client.d.ts +8 -0
  347. package/dist/worker/client.d.ts.map +1 -1
  348. package/dist/worker/client.js +22 -0
  349. package/dist/worker/client.js.map +1 -1
  350. package/dist/worker/fonts.d.ts +1 -13
  351. package/dist/worker/fonts.d.ts.map +1 -1
  352. package/dist/worker/fonts.js +3 -61
  353. package/dist/worker/fonts.js.map +1 -1
  354. package/dist/worker/layout.worker.js +23 -16
  355. package/dist/worker/layout.worker.js.map +1 -1
  356. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"toc.js","sourceRoot":"","sources":["../../src/pipeline/toc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toc.js","sourceRoot":"","sources":["../../src/pipeline/toc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { SvgFontProvider, SvgFontStyle, SvgFontSyncProvider } from './fonts';
2
+ export interface RegisterFontOptions {
3
+ /** CSS `unicode-range` of the file (`U+0000-00FF, U+0131`): a slice of a
4
+ * family served as several files is handed out only for text that
5
+ * needs it. Absent: the file covers every character. */
6
+ unicodeRange?: string;
7
+ }
8
+ /** Parse a CSS `unicode-range` into code point intervals; null when it
9
+ * reads as nothing. */
10
+ export declare function parseUnicodeRange(value: string | undefined): [number, number][] | null;
11
+ /** Register the bytes of a face (TrueType, OpenType, WOFF or WOFF2) for
12
+ * SVG pictures to embed. `weight` is a number or a variable range
13
+ * (`'100 900'`). Registering the same face again replaces it. */
14
+ export declare function registerFontBytes(family: string, weight: number | string, style: SvgFontStyle | string, bytes: Uint8Array | ArrayBuffer, options?: RegisterFontOptions): void;
15
+ /** Register a face by the URL of its file, fetched the first time an SVG
16
+ * needs it (a slice only when the SVG sets characters in its
17
+ * `unicodeRange`). */
18
+ export declare function registerFontUrl(family: string, weight: number | string, style: SvgFontStyle | string, url: string, options?: RegisterFontOptions): void;
19
+ /** Forget every registered face of a family. */
20
+ export declare function unregisterFontFamily(family: string): void;
21
+ /** Forget every registered face. */
22
+ export declare function clearRegisteredFonts(): void;
23
+ /** A counter bumped by every registration change: hosts that cache
24
+ * SVG markup with fonts inlined key it with this. */
25
+ export declare function registeredFontGeneration(): number;
26
+ export interface RegisteredFontProviderOptions {
27
+ /** Also read the `@font-face` rules of the page's style sheets for a
28
+ * family nothing registered. Default true (in a browser). */
29
+ styleSheets?: boolean;
30
+ /** The `fetch` used for URL faces. Default the global one. */
31
+ fetch?: typeof fetch;
32
+ }
33
+ /** An `inlineSvgFonts` provider over the registered faces
34
+ * ({@link registerFontBytes}, {@link registerFontUrl}), then the page's
35
+ * `@font-face` rules: the cut nearest to the weight asked for, the same
36
+ * style first, and of a family served as unicode-range slices only the
37
+ * files that hold the characters. */
38
+ export declare function registeredFontProvider(options?: RegisteredFontProviderOptions): SvgFontProvider;
39
+ /** The registry's faces held in memory: registered bytes, and URL faces
40
+ * once fetched. For synchronous hosts (`renderToHtml`). */
41
+ export declare function registeredFontSyncProvider(): SvgFontSyncProvider;
42
+ /** A registered file, with the descriptors a `FontFace` takes. */
43
+ export interface RegisteredFontFile {
44
+ family: string;
45
+ /** `'400'`, or a variable range `'100 900'`. */
46
+ weight: string;
47
+ style: SvgFontStyle;
48
+ /** The file's `unicode-range`, when it is a slice. */
49
+ unicodeRange?: string;
50
+ bytes: Uint8Array;
51
+ }
52
+ /**
53
+ * The files of a face the registry holds (#629): the cut nearest to
54
+ * (weight, style), and of a family served as slices only the slices that
55
+ * hold `codePoints` (all of them when absent), each with its descriptors —
56
+ * what a layout worker needs to declare the face (`registerFonts`). URL
57
+ * faces are fetched; with `styleSheets`, a family nothing registered is
58
+ * read from the page's `@font-face` rules, as {@link registeredFontProvider}
59
+ * does. Files that cannot be had are left out.
60
+ */
61
+ export declare function registeredFontFiles(family: string, weight: number, style: SvgFontStyle, options?: {
62
+ codePoints?: ReadonlySet<number>;
63
+ styleSheets?: boolean;
64
+ fetch?: typeof fetch;
65
+ }): Promise<RegisteredFontFile[]>;
66
+ //# sourceMappingURL=fontRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fontRegistry.d.ts","sourceRoot":"","sources":["../../src/svg/fontRegistry.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElF,MAAM,WAAW,mBAAmB;IAClC;;6DAEyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAeD;wBACwB;AACxB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CActF;AAkCD;;kEAEkE;AAClE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,YAAY,GAAG,MAAM,EAC5B,KAAK,EAAE,UAAU,GAAG,WAAW,EAC/B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI,CAGN;AAED;;uBAEuB;AACvB,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,YAAY,GAAG,MAAM,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI,CAEN;AAED,gDAAgD;AAChD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAIzD;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAED;sDACsD;AACtD,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AA2GD,MAAM,WAAW,6BAA6B;IAC5C;kEAC8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED;;;;sCAIsC;AACtC,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,eAAe,CAyB/F;AAED;4DAC4D;AAC5D,wBAAgB,0BAA0B,IAAI,mBAAmB,CAMhE;AAED,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;CACnB;AAQD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GAC1F,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAsB/B"}
@@ -0,0 +1,294 @@
1
+ // The font files the host has, for SVG pictures (#630).
2
+ //
3
+ // A `FontFace` made from bytes keeps no bytes, and one made from a URL does
4
+ // not say which, so the engine cannot read the faces of `document.fonts`
5
+ // back. This registry holds them: `loadBundleFonts` registers a bundle's
6
+ // faces, and hosts register theirs (`registerFontBytes`, or
7
+ // `registerFontUrl` for a file fetched on demand). `registeredFontProvider`
8
+ // answers `inlineSvgFonts` from it, then from the `@font-face` rules of the
9
+ // page's readable style sheets (their files fetched; same-origin or CORS in
10
+ // practice, as Fontsource's and Google's are).
11
+ const entries = [];
12
+ let generation = 0;
13
+ /** Parse a CSS `unicode-range` into code point intervals; null when it
14
+ * reads as nothing. */
15
+ export function parseUnicodeRange(value) {
16
+ if (!value)
17
+ return null;
18
+ const out = [];
19
+ for (const part of value.split(',')) {
20
+ const m = /^\s*u\+([0-9a-f?]{1,6})(?:-([0-9a-f]{1,6}))?\s*$/i.exec(part);
21
+ if (!m)
22
+ continue;
23
+ if (m[1].includes('?')) {
24
+ out.push([parseInt(m[1].replace(/\?/g, '0'), 16), parseInt(m[1].replace(/\?/g, 'f'), 16)]);
25
+ }
26
+ else {
27
+ const lo = parseInt(m[1], 16);
28
+ out.push([lo, m[2] ? parseInt(m[2], 16) : lo]);
29
+ }
30
+ }
31
+ return out.length > 0 ? out : null;
32
+ }
33
+ function covers(ranges, codePoints) {
34
+ if (!ranges || !codePoints || codePoints.size === 0)
35
+ return true;
36
+ for (const cp of codePoints) {
37
+ if (cp <= 0x20)
38
+ continue;
39
+ for (const [lo, hi] of ranges)
40
+ if (cp >= lo && cp <= hi)
41
+ return true;
42
+ }
43
+ return false;
44
+ }
45
+ function weightRange(weight) {
46
+ if (typeof weight === 'number')
47
+ return [weight, weight];
48
+ const parts = weight.trim().split(/\s+/).map((w) => (w === 'bold' ? 700 : w === 'normal' ? 400 : Number(w)));
49
+ const lo = Number.isFinite(parts[0]) ? parts[0] : 400;
50
+ const hi = Number.isFinite(parts[1]) ? parts[1] : lo;
51
+ return [Math.min(lo, hi), Math.max(lo, hi)];
52
+ }
53
+ function styleOf(style) {
54
+ return style && /italic|oblique/i.test(style) ? 'italic' : 'normal';
55
+ }
56
+ function register(entry) {
57
+ const same = entries.findIndex((e) => e.family.toLowerCase() === entry.family.toLowerCase()
58
+ && e.weight[0] === entry.weight[0] && e.weight[1] === entry.weight[1]
59
+ && e.style === entry.style
60
+ && JSON.stringify(e.ranges) === JSON.stringify(entry.ranges));
61
+ if (same >= 0)
62
+ entries.splice(same, 1, entry);
63
+ else
64
+ entries.push(entry);
65
+ generation++;
66
+ }
67
+ /** Register the bytes of a face (TrueType, OpenType, WOFF or WOFF2) for
68
+ * SVG pictures to embed. `weight` is a number or a variable range
69
+ * (`'100 900'`). Registering the same face again replaces it. */
70
+ export function registerFontBytes(family, weight, style, bytes, options) {
71
+ const data = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
72
+ register({ family, weight: weightRange(weight), style: styleOf(style), ranges: parseUnicodeRange(options?.unicodeRange), bytes: data });
73
+ }
74
+ /** Register a face by the URL of its file, fetched the first time an SVG
75
+ * needs it (a slice only when the SVG sets characters in its
76
+ * `unicodeRange`). */
77
+ export function registerFontUrl(family, weight, style, url, options) {
78
+ register({ family, weight: weightRange(weight), style: styleOf(style), ranges: parseUnicodeRange(options?.unicodeRange), url });
79
+ }
80
+ /** Forget every registered face of a family. */
81
+ export function unregisterFontFamily(family) {
82
+ const lower = family.toLowerCase();
83
+ for (let i = entries.length - 1; i >= 0; i--)
84
+ if (entries[i].family.toLowerCase() === lower)
85
+ entries.splice(i, 1);
86
+ generation++;
87
+ }
88
+ /** Forget every registered face. */
89
+ export function clearRegisteredFonts() {
90
+ entries.length = 0;
91
+ generation++;
92
+ }
93
+ /** A counter bumped by every registration change: hosts that cache
94
+ * SVG markup with fonts inlined key it with this. */
95
+ export function registeredFontGeneration() {
96
+ return generation;
97
+ }
98
+ function distance(w, target) {
99
+ return target < w[0] ? w[0] - target : target > w[1] ? target - w[1] : 0;
100
+ }
101
+ /** The registered files of the cut nearest to (weight, style) — the same
102
+ * style first — that hold the characters asked for. */
103
+ function pick(list, weight, style, codePoints) {
104
+ if (list.length === 0)
105
+ return [];
106
+ const sameStyle = list.filter((e) => e.style === style);
107
+ const pool = sameStyle.length > 0 ? sameStyle : list;
108
+ const best = Math.min(...pool.map((e) => distance(e.weight, weight)));
109
+ const cut = pool.filter((e) => distance(e.weight, weight) === best);
110
+ // The nearest cut may be heavier and lighter alike: keep one weight.
111
+ const w0 = cut[0].weight;
112
+ return cut.filter((e) => e.weight[0] === w0[0] && e.weight[1] === w0[1] && covers(e.ranges, codePoints));
113
+ }
114
+ function familyEntries(family) {
115
+ const lower = family.toLowerCase();
116
+ return entries.filter((e) => e.family.toLowerCase() === lower);
117
+ }
118
+ const fetched = new Map();
119
+ function fetchBytes(url, fetchImpl) {
120
+ const cached = fetched.get(url);
121
+ if (cached)
122
+ return cached;
123
+ const promise = (async () => {
124
+ const res = await fetchImpl(url);
125
+ if (!res.ok)
126
+ throw new Error(`font fetch failed: ${res.status} ${url}`);
127
+ return new Uint8Array(await res.arrayBuffer());
128
+ })();
129
+ fetched.set(url, promise);
130
+ promise.catch(() => fetched.delete(url));
131
+ return promise;
132
+ }
133
+ /** The bytes a fetched URL entry gave, if any (for the sync provider). */
134
+ const settled = new Map();
135
+ /** The first `url(...)` of an `@font-face` `src` with a format an image
136
+ * can use (a `local()` source is skipped). */
137
+ function srcUrl(src, base) {
138
+ for (const m of src.matchAll(/url\(\s*(?:"([^"]*)"|'([^']*)'|([^)\s]*))\s*\)(?:\s*format\(\s*["']?([^"')]+)["']?\s*\))?/g)) {
139
+ const url = m[1] ?? m[2] ?? m[3] ?? '';
140
+ const format = (m[4] ?? '').toLowerCase();
141
+ if (!url)
142
+ continue;
143
+ if (format && !/^(woff2|woff|truetype|opentype)(-variations)?$/.test(format))
144
+ continue;
145
+ try {
146
+ return base ? new URL(url, base).href : url;
147
+ }
148
+ catch {
149
+ return url;
150
+ }
151
+ }
152
+ return null;
153
+ }
154
+ /** `@font-face` rules of the document's readable style sheets, as
155
+ * registry entries (cross-origin sheets without CORS cannot be read and
156
+ * are skipped). */
157
+ function styleSheetEntries() {
158
+ if (typeof document === 'undefined' || !document.styleSheets)
159
+ return [];
160
+ const out = [];
161
+ const visit = (rules, base, depth) => {
162
+ if (!rules || depth > 8)
163
+ return;
164
+ for (const rule of Array.from(rules)) {
165
+ const r = rule;
166
+ if (r.constructor?.name === 'CSSFontFaceRule' || r.type === 5) {
167
+ const style = r.style;
168
+ if (!style)
169
+ continue;
170
+ const family = style.getPropertyValue('font-family').trim().replace(/^(['"])(.*)\1$/, '$2');
171
+ const url = srcUrl(style.getPropertyValue('src'), base);
172
+ if (!family || !url)
173
+ continue;
174
+ out.push({
175
+ family,
176
+ weight: weightRange(style.getPropertyValue('font-weight') || 400),
177
+ style: styleOf(style.getPropertyValue('font-style')),
178
+ ranges: parseUnicodeRange(style.getPropertyValue('unicode-range')),
179
+ url,
180
+ });
181
+ }
182
+ else if (r.styleSheet) {
183
+ let nested;
184
+ try {
185
+ nested = r.styleSheet.cssRules;
186
+ }
187
+ catch {
188
+ nested = undefined;
189
+ }
190
+ visit(nested, r.styleSheet.href ?? base, depth + 1);
191
+ }
192
+ else if (r.cssRules) {
193
+ visit(r.cssRules, base, depth + 1);
194
+ }
195
+ }
196
+ };
197
+ for (const sheet of Array.from(document.styleSheets)) {
198
+ let rules;
199
+ try {
200
+ rules = sheet.cssRules;
201
+ }
202
+ catch {
203
+ continue;
204
+ }
205
+ visit(rules, sheet.href ?? document.baseURI, 0);
206
+ }
207
+ return out;
208
+ }
209
+ /** An `inlineSvgFonts` provider over the registered faces
210
+ * ({@link registerFontBytes}, {@link registerFontUrl}), then the page's
211
+ * `@font-face` rules: the cut nearest to the weight asked for, the same
212
+ * style first, and of a family served as unicode-range slices only the
213
+ * files that hold the characters. */
214
+ export function registeredFontProvider(options) {
215
+ const fetchImpl = options?.fetch ?? (typeof fetch !== 'undefined' ? fetch.bind(globalThis) : undefined);
216
+ const useSheets = options?.styleSheets ?? true;
217
+ return async (family, weight, style, request) => {
218
+ let found = pick(familyEntries(family), weight, style, request?.codePoints);
219
+ if (found.length === 0 && useSheets && familyEntries(family).length === 0) {
220
+ const lower = family.toLowerCase();
221
+ found = pick(styleSheetEntries().filter((e) => e.family.toLowerCase() === lower), weight, style, request?.codePoints);
222
+ }
223
+ if (found.length === 0)
224
+ throw new Error(`No registered face for "${family}"`);
225
+ const files = await Promise.all(found.map(async (e) => {
226
+ if (e.bytes)
227
+ return e.bytes;
228
+ if (!e.url || !fetchImpl)
229
+ return null;
230
+ try {
231
+ const bytes = await fetchBytes(e.url, fetchImpl);
232
+ settled.set(e.url, bytes);
233
+ return bytes;
234
+ }
235
+ catch {
236
+ return null;
237
+ }
238
+ }));
239
+ const got = files.filter((f) => f !== null);
240
+ if (got.length === 0)
241
+ throw new Error(`The files of "${family}" could not be had`);
242
+ return got.length === 1 ? got[0] : got;
243
+ };
244
+ }
245
+ /** The registry's faces held in memory: registered bytes, and URL faces
246
+ * once fetched. For synchronous hosts (`renderToHtml`). */
247
+ export function registeredFontSyncProvider() {
248
+ return (family, weight, style, request) => {
249
+ const found = pick(familyEntries(family), weight, style, request?.codePoints);
250
+ const got = found.map((e) => e.bytes ?? (e.url ? settled.get(e.url) : undefined)).filter((b) => !!b);
251
+ return got.length === 0 ? null : got.length === 1 ? got[0] : got;
252
+ };
253
+ }
254
+ function rangeText(ranges) {
255
+ if (!ranges)
256
+ return undefined;
257
+ const hex = (n) => n.toString(16).toUpperCase().padStart(4, '0');
258
+ return ranges.map(([lo, hi]) => (lo === hi ? `U+${hex(lo)}` : `U+${hex(lo)}-${hex(hi)}`)).join(', ');
259
+ }
260
+ /**
261
+ * The files of a face the registry holds (#629): the cut nearest to
262
+ * (weight, style), and of a family served as slices only the slices that
263
+ * hold `codePoints` (all of them when absent), each with its descriptors —
264
+ * what a layout worker needs to declare the face (`registerFonts`). URL
265
+ * faces are fetched; with `styleSheets`, a family nothing registered is
266
+ * read from the page's `@font-face` rules, as {@link registeredFontProvider}
267
+ * does. Files that cannot be had are left out.
268
+ */
269
+ export async function registeredFontFiles(family, weight, style, options) {
270
+ const fetchImpl = options?.fetch ?? (typeof fetch !== 'undefined' ? fetch.bind(globalThis) : undefined);
271
+ let found = pick(familyEntries(family), weight, style, options?.codePoints);
272
+ if (found.length === 0 && options?.styleSheets && familyEntries(family).length === 0) {
273
+ const lower = family.toLowerCase();
274
+ found = pick(styleSheetEntries().filter((e) => e.family.toLowerCase() === lower), weight, style, options?.codePoints);
275
+ }
276
+ const files = await Promise.all(found.map(async (e) => {
277
+ let bytes = e.bytes;
278
+ if (!bytes && e.url && fetchImpl) {
279
+ try {
280
+ bytes = await fetchBytes(e.url, fetchImpl);
281
+ settled.set(e.url, bytes);
282
+ }
283
+ catch {
284
+ return null;
285
+ }
286
+ }
287
+ if (!bytes)
288
+ return null;
289
+ const w = e.weight[0] === e.weight[1] ? String(e.weight[0]) : `${e.weight[0]} ${e.weight[1]}`;
290
+ return { family, weight: w, style: e.style, unicodeRange: rangeText(e.ranges), bytes };
291
+ }));
292
+ return files.filter((f) => f !== null);
293
+ }
294
+ //# sourceMappingURL=fontRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fontRegistry.js","sourceRoot":"","sources":["../../src/svg/fontRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /** `'normal'` or `'italic'` (CSS `oblique` is set as italic). */
2
+ export type SvgFontStyle = 'normal' | 'italic';
3
+ /** The font file formats an `@font-face` in an SVG image can carry. */
4
+ export type SvgFontFormat = 'woff2' | 'woff' | 'ttf' | 'otf';
5
+ /** What a run of an SVG's text asks for: the named families of its
6
+ * `font-family` list in order (generic families such as `sans-serif` left
7
+ * out), its weight and style, and the characters it sets. Runs with the
8
+ * same list, weight and style are one request. */
9
+ export interface SvgFontRequest {
10
+ families: string[];
11
+ weight: number;
12
+ style: SvgFontStyle;
13
+ /** Unicode code points of the run's text (a space always included). */
14
+ codePoints: Set<number>;
15
+ }
16
+ /** What a provider is told about a face: the characters the SVG sets in
17
+ * it (postext-pdf's `PdfFontRequest`). */
18
+ export interface SvgFontProviderRequest {
19
+ codePoints: ReadonlySet<number>;
20
+ }
21
+ /** The bytes of a face: one file, or the several files (unicode-range
22
+ * slices) that hold the characters asked for. Reject for a face the
23
+ * provider cannot supply. Same contract as postext-pdf's
24
+ * `PdfFontProvider`, which can be passed as it is. */
25
+ export type SvgFontProvider = (family: string, weight: number, style: SvgFontStyle, request?: SvgFontProviderRequest) => Promise<Uint8Array | Uint8Array[]>;
26
+ /** A provider that answers from bytes in memory: nothing (`null` /
27
+ * `undefined`) for a face it does not hold. */
28
+ export type SvgFontSyncProvider = (family: string, weight: number, style: SvgFontStyle, request?: SvgFontProviderRequest) => Uint8Array | Uint8Array[] | null | undefined;
29
+ /** Why a face was or was not embedded in an SVG. */
30
+ export type SvgFontStatus =
31
+ /** Embedded as `@font-face` data URIs. */
32
+ 'inlined'
33
+ /** The SVG declares the family itself (its own `@font-face`). */
34
+ | 'declared'
35
+ /** The provider had no face for it: the image falls back. */
36
+ | 'unavailable'
37
+ /** Left out on purpose (`withhold`: not redistributable). */
38
+ | 'withheld'
39
+ /** Found, but the faces together exceed `maxBytes`: nothing embedded. */
40
+ | 'tooLarge';
41
+ /** One face an SVG asks for and what became of it. */
42
+ export interface SvgFontFaceReport {
43
+ family: string;
44
+ weight: number;
45
+ style: SvgFontStyle;
46
+ status: SvgFontStatus;
47
+ /** Bytes of the files found for it (inlined or too large). */
48
+ bytes?: number;
49
+ /** Number of files (slices) found for it. */
50
+ files?: number;
51
+ }
52
+ /** A problem inlining fonts into one SVG, as hosts report it: a family
53
+ * its text names with no face to embed (`svgFontUnavailable`), or faces
54
+ * over the size cap (`svgFontsTooLarge`, nothing embedded). Hosts add the
55
+ * picture's `fileId` / `resourceId`. */
56
+ export type SvgFontWarning = {
57
+ kind: 'svgFontUnavailable';
58
+ family: string;
59
+ weight: number;
60
+ style: SvgFontStyle;
61
+ } | {
62
+ kind: 'svgFontsTooLarge';
63
+ bytes: number;
64
+ maxBytes: number;
65
+ };
66
+ export interface InlineSvgFontsOptions {
67
+ /** Most font bytes embedded in one SVG (before base64, which adds a
68
+ * third). Faces that together exceed it are not embedded at all, and
69
+ * `svgFontsTooLarge` is reported. Default {@link DEFAULT_SVG_FONT_MAX_BYTES}. */
70
+ maxBytes?: number;
71
+ /** Formats to embed; files of other formats are skipped. Default all
72
+ * four (WOFF2, WOFF, TrueType, OpenType). */
73
+ formats?: readonly SvgFontFormat[];
74
+ /** Families to leave out, such as those marked not redistributable in a
75
+ * file that leaves the app: their reference stays and the reader falls
76
+ * back, as for the book's own font files. */
77
+ withhold?: (family: string) => boolean;
78
+ /** Told of each family left out by `withhold` (once per SVG). */
79
+ onWithheld?: (family: string) => void;
80
+ /** Told of a family with no face and of a size cap hit. */
81
+ onWarning?: (warning: SvgFontWarning) => void;
82
+ }
83
+ /** The result of inlining fonts into one SVG. */
84
+ export interface SvgFontInlining {
85
+ /** The markup with the faces embedded (the input itself when nothing
86
+ * was). */
87
+ svg: string;
88
+ /** Every face the text asks for, in first-seen order. */
89
+ faces: SvgFontFaceReport[];
90
+ /** Font bytes embedded (0 when none or over the cap). */
91
+ bytes: number;
92
+ }
93
+ /** Default {@link InlineSvgFontsOptions.maxBytes}: 2 MiB of font files. */
94
+ export declare const DEFAULT_SVG_FONT_MAX_BYTES: number;
95
+ /** A `font-family` list as names, quotes stripped, generic families and
96
+ * CSS-wide keywords left out. */
97
+ export declare function parseFontFamilyList(value: string): string[];
98
+ /** Whether a style sheet holds nothing but `@font-face` rules (comments
99
+ * and whitespace aside): the faces an author embedded, which change no
100
+ * geometry. */
101
+ export declare function isFontFaceOnlyStyleSheet(css: string): boolean;
102
+ /** Every `(families, weight, style)` the SVG's text runs ask for, with
103
+ * the characters each sets, from `font-family`, `font-weight`,
104
+ * `font-style` and `font` in attributes, `style` attributes and inherited
105
+ * from enclosing elements. A `<style>` rule that names a family counts
106
+ * too (with all the SVG's characters: its selector is not matched).
107
+ * Generic families are ignored, and so is text in `<title>`, `<desc>`
108
+ * and the like. Pure. */
109
+ export declare function svgFontRequests(svgText: string): SvgFontRequest[];
110
+ /** Families the SVG declares in its own `@font-face` rules, as written. */
111
+ export declare function svgDeclaredFontFamilies(svgText: string): string[];
112
+ /** The format of a font file from its first bytes; null for one an
113
+ * `@font-face` cannot carry (a collection, an unknown file). */
114
+ export declare function sniffFontFormat(bytes: Uint8Array): SvgFontFormat | null;
115
+ /** One `@font-face` rule with the file as a data URI. */
116
+ export declare function fontFaceRule(family: string, weight: number | string, style: SvgFontStyle, bytes: Uint8Array, format?: SvgFontFormat): string;
117
+ /** Insert `css` as a `<style>` right after the root `<svg …>` start tag.
118
+ * Pure; the markup is returned unchanged when there is no root tag (or
119
+ * an empty self-closing one, which has no text). */
120
+ export declare function injectSvgStyle(svgText: string, css: string): string;
121
+ /**
122
+ * Embed the faces an SVG's text asks for (see the module comment), with
123
+ * a report of each face. The provider is asked once per face, with the
124
+ * characters the SVG sets in it; a face it rejects falls through the
125
+ * run's `font-family` list, and a run none of whose families has a face
126
+ * is reported as `svgFontUnavailable`.
127
+ */
128
+ export declare function inlineSvgFontsDetailed(svgText: string, provider: SvgFontProvider, options?: InlineSvgFontsOptions): Promise<SvgFontInlining>;
129
+ /** {@link inlineSvgFontsDetailed} from a provider that answers from
130
+ * memory, for hosts that build their URLs synchronously
131
+ * (`bundleImageUrl`, `renderToHtml`). */
132
+ export declare function inlineSvgFontsDetailedSync(svgText: string, provider: SvgFontSyncProvider, options?: InlineSvgFontsOptions): SvgFontInlining;
133
+ /** Embed the faces an SVG's text asks for as `@font-face` data URIs and
134
+ * return the markup (see {@link inlineSvgFontsDetailed}). */
135
+ export declare function inlineSvgFonts(svgText: string, provider: SvgFontProvider, options?: InlineSvgFontsOptions): Promise<string>;
136
+ /** {@link inlineSvgFonts} from a provider that answers from memory. */
137
+ export declare function inlineSvgFontsSync(svgText: string, provider: SvgFontSyncProvider, options?: InlineSvgFontsOptions): string;
138
+ /** Providers tried in order: the first that answers wins. */
139
+ export declare function chainSvgFontProviders(...providers: (SvgFontProvider | null | undefined)[]): SvgFontProvider;
140
+ //# sourceMappingURL=fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../src/svg/fonts.ts"],"names":[],"mappings":"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"}