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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../src/svg/fonts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { SvgPictureFontWarning } from '../vdt';
2
+ import { type InlineSvgFontsOptions, type SvgFontInlining, type SvgFontProvider, type SvgFontWarning } from './fonts';
3
+ export interface PrepareSvgOptions extends Omit<InlineSvgFontsOptions, 'onWarning'> {
4
+ /** Where the faces come from. Default {@link registeredFontProvider}
5
+ * (what `loadBundleFonts` and `registerFontBytes` registered, then the
6
+ * page's `@font-face` rules). */
7
+ fonts?: SvgFontProvider;
8
+ /** Embed the faces at all. Default true; false leaves the markup as it
9
+ * is (`resources[].svg.inlineFonts: false`,
10
+ * `diagramStyle.inlineFonts: false`). */
11
+ inlineFonts?: boolean;
12
+ /** Recolour to this ink first (`diagramStyle.singleInk`), with
13
+ * `applySingleInkToSvg`. */
14
+ inkHex?: string | null;
15
+ /** The picture's ids, carried by the warnings. */
16
+ fileId?: string;
17
+ resourceId?: string;
18
+ /** Told of a family with no face and of the size cap. */
19
+ onWarning?: (warning: SvgPictureFontWarning) => void;
20
+ }
21
+ /** Turn an inliner warning into the one a host reports. */
22
+ export declare function svgPictureFontWarning(w: SvgFontWarning, fileId: string, resourceId?: string): SvgPictureFontWarning;
23
+ /** SVG markup as an image should get it: recoloured to `inkHex` when
24
+ * given, then with the faces its text names inlined (unless
25
+ * `inlineFonts` is false). Never store the result: it carries font
26
+ * files. */
27
+ export declare function prepareSvgMarkup(svgText: string, options?: PrepareSvgOptions): Promise<SvgFontInlining>;
28
+ /** Decode SVG markup into an `<img>`. Browser only. */
29
+ export declare function decodeSvgImage(svgText: string): Promise<HTMLImageElement>;
30
+ export type RegisterSvgImageOptions = Omit<PrepareSvgOptions, 'fileId'>;
31
+ /**
32
+ * Prepare SVG markup ({@link prepareSvgMarkup}: single ink, then the
33
+ * document's fonts inlined), decode it and register it with the canvas
34
+ * backend as a vector source. A picture recoloured here is registered
35
+ * with `singleInk: false`, so the canvas never tints it again. Resolves
36
+ * to what became of each face. Browser only.
37
+ *
38
+ * ```ts
39
+ * await loadBundleFonts(bundle); // or registerFontBytes(…)
40
+ * await registerSvgImage('chart.svg', svgText);
41
+ * ```
42
+ */
43
+ export declare function registerSvgImage(fileId: string, svgText: string, options?: RegisterSvgImageOptions): Promise<SvgFontInlining>;
44
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/svg/image.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAA0B,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9I,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC;IACjF;;sCAEkC;IAClC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;8CAE0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;iCAC6B;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACtD;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAKnH;AAED;;;aAGa;AACb,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAS7G;AAED,uDAAuD;AACvD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAe/E;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAKnI"}
@@ -0,0 +1,67 @@
1
+ // SVG pictures ready for an image: recoloured for single ink, then their
2
+ // fonts inlined (#630), then decoded and registered for the canvas.
3
+ import { registerResourceImage } from '../canvas-backend/renderResourceBlock';
4
+ import { applySingleInkToSvg } from './singleInk';
5
+ import { inlineSvgFontsDetailed } from './fonts';
6
+ import { registeredFontProvider } from './fontRegistry';
7
+ /** Turn an inliner warning into the one a host reports. */
8
+ export function svgPictureFontWarning(w, fileId, resourceId) {
9
+ const ids = { fileId, ...(resourceId !== undefined ? { resourceId } : {}) };
10
+ return w.kind === 'svgFontUnavailable'
11
+ ? { kind: 'svgFontUnavailable', ...ids, family: w.family, weight: w.weight, style: w.style }
12
+ : { kind: 'svgFontsTooLarge', ...ids, bytes: w.bytes, maxBytes: w.maxBytes };
13
+ }
14
+ /** SVG markup as an image should get it: recoloured to `inkHex` when
15
+ * given, then with the faces its text names inlined (unless
16
+ * `inlineFonts` is false). Never store the result: it carries font
17
+ * files. */
18
+ export async function prepareSvgMarkup(svgText, options) {
19
+ let svg = svgText;
20
+ if (options?.inkHex)
21
+ svg = applySingleInkToSvg(svg, options.inkHex);
22
+ if (options?.inlineFonts === false)
23
+ return { svg, faces: [], bytes: 0 };
24
+ const fileId = options?.fileId ?? '';
25
+ return inlineSvgFontsDetailed(svg, options?.fonts ?? registeredFontProvider(), {
26
+ ...options,
27
+ onWarning: options?.onWarning ? (w) => options.onWarning(svgPictureFontWarning(w, fileId, options.resourceId)) : undefined,
28
+ });
29
+ }
30
+ /** Decode SVG markup into an `<img>`. Browser only. */
31
+ export async function decodeSvgImage(svgText) {
32
+ const img = new Image();
33
+ const objectUrl = typeof URL !== 'undefined' && typeof URL.createObjectURL === 'function'
34
+ ? URL.createObjectURL(new Blob([svgText], { type: 'image/svg+xml' }))
35
+ : null;
36
+ try {
37
+ await new Promise((resolve, reject) => {
38
+ img.onload = () => resolve();
39
+ img.onerror = () => reject(new Error('SVG decode failed'));
40
+ img.src = objectUrl ?? `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgText)}`;
41
+ });
42
+ return img;
43
+ }
44
+ finally {
45
+ if (objectUrl)
46
+ URL.revokeObjectURL(objectUrl);
47
+ }
48
+ }
49
+ /**
50
+ * Prepare SVG markup ({@link prepareSvgMarkup}: single ink, then the
51
+ * document's fonts inlined), decode it and register it with the canvas
52
+ * backend as a vector source. A picture recoloured here is registered
53
+ * with `singleInk: false`, so the canvas never tints it again. Resolves
54
+ * to what became of each face. Browser only.
55
+ *
56
+ * ```ts
57
+ * await loadBundleFonts(bundle); // or registerFontBytes(…)
58
+ * await registerSvgImage('chart.svg', svgText);
59
+ * ```
60
+ */
61
+ export async function registerSvgImage(fileId, svgText, options) {
62
+ const prepared = await prepareSvgMarkup(svgText, { ...options, fileId });
63
+ const img = await decodeSvgImage(prepared.svg);
64
+ registerResourceImage(fileId, img, { vector: true, ...(options?.inkHex ? { singleInk: false } : {}) });
65
+ return prepared;
66
+ }
67
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/svg/image.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -137,6 +137,23 @@ export interface ResourcePlacement {
137
137
  * again (rounded up to whole grid lines). Default `layout.wrap.gap`,
138
138
  * else one body line, the float gap. */
139
139
  wrapGap?: Dimension;
140
+ /** Let a `'top'` or `'auto'` float head the page (a page-span float) or
141
+ * the column (a column float, across {@link columns} too) where the line
142
+ * that first cites it lands, as LaTeX's `t` placement does, instead of
143
+ * the first free slot after that line (#633). The text above the
144
+ * reference moves down under it. It takes that head only when it fits
145
+ * there within `layout.maxTopFraction` of the column, when the earlier
146
+ * floats of its numbering sequence are already set, when the page is
147
+ * not the first of a chapter or the page after a forced break (an
148
+ * opener, a part, a `:::pagebreak`), and when nothing spanning the page
149
+ * (a heading, a box) stands above the citing line; and only when, so
150
+ * set, the citing line still lands on that page (that column). The
151
+ * engine settles this over a few extra placement passes; a float that
152
+ * does not qualify takes its usual slot. Rotated floats, side-column
153
+ * floats and the rest of a table split across pages never do. Default:
154
+ * the type's `defaultPlacement`, then `layout.floatsAtCitingPage`, then
155
+ * `false`. */
156
+ citingPage?: boolean;
140
157
  }
141
158
  /** The side of its column a resource or a box sits on with text running
142
159
  * beside it (see `ResourcePlacement.wrap`, #627). */
@@ -456,6 +473,12 @@ export interface Resource {
456
473
  * `diagramStyle.singleInk` is on, since the recolouring pass only
457
474
  * operates on SVG markup. */
458
475
  pdfFileId?: string;
476
+ /** `false` keeps the markup byte-identical when the picture is shown as
477
+ * an image: no `@font-face` is added for the families its text names
478
+ * (`diagramStyle.inlineFonts`), for an SVG that carries its faces
479
+ * already or must stay as it is. Default: the document's
480
+ * `diagramStyle.inlineFonts` (on). */
481
+ inlineFonts?: boolean;
459
482
  };
460
483
  /** Present when `kind === 'table'`. */
461
484
  table?: {
@@ -503,8 +526,9 @@ export interface Resource {
503
526
  * reference; `'here'` embeds it inline at its `::resource` directive. */
504
527
  placement?: ResourcePlacement;
505
528
  }
506
- /** A footnote, endnote or margin note. Not implemented yet: the engine does
507
- * not read `PostextContent.notes` (see there). */
529
+ /** A footnote, endnote or margin note passed as data. The engine does not
530
+ * read `PostextContent.notes` (see there): notes are written in the
531
+ * markdown. */
508
532
  export interface PostextNote {
509
533
  id: string;
510
534
  type: 'footnote' | 'endnote' | 'marginNote';
@@ -530,10 +554,10 @@ export interface PostextContent {
530
554
  * resolved out-of-band by the renderer; table resources carry their model
531
555
  * inline. */
532
556
  resources?: Resource[];
533
- /** Not implemented yet: accepted, but no stage of the pipeline reads it —
534
- * notes are neither laid out, numbered nor rendered, and the markdown has
535
- * no note-reference syntax. Set notes as text for now (a superscript
536
- * `^1^` marker and a `:::paragraphs` block of notes; see the docs). */
557
+ /** Accepted, but no stage of the pipeline reads it. Notes are written in
558
+ * the markdown instead: a `[^id]` marker and a `[^id]: …` definition,
559
+ * laid out as `PostextConfig.footnotes` says (foot of the citing column
560
+ * by default, `placement: 'chapterEnd'` for endnotes). */
537
561
  notes?: PostextNote[];
538
562
  /** Counters carried over from content laid out before this document — a
539
563
  * book chapter laid out on its own continues the numbering of the
@@ -965,6 +989,18 @@ export interface LayoutConfig {
965
989
  * default width (see {@link TextWrapConfig}). A resource opts in with
966
990
  * `placement.wrap`, a box with its `wrap` attribute. */
967
991
  wrap?: TextWrapConfig;
992
+ /** The document default of `placement.citingPage` (#633): a `'top'` or
993
+ * `'auto'` float may head the page or column where its citing line
994
+ * lands, the text above the reference moving down under it. A
995
+ * resource's placement, then its type's `defaultPlacement`, override
996
+ * it. Default `false`: a float takes the first free slot after the line
997
+ * that cites it. */
998
+ floatsAtCitingPage?: boolean;
999
+ /** The largest share of a column's height, 0 to 1, a float set at the
1000
+ * head of the page or column that cites it (`placement.citingPage`) may
1001
+ * take with the floats already standing there, so the page keeps some
1002
+ * room for its text (LaTeX's `\topfraction`). Default 0.7. */
1003
+ maxTopFraction?: number;
968
1004
  /** On the closing page of a chapter (and of the document), move the
969
1005
  * page-wide figures and tables set below the last band of text up to sit
970
1006
  * one float gap under it, stacked in their order, instead of at the page
@@ -973,6 +1009,19 @@ export interface LayoutConfig {
973
1009
  * the page foot on the closing page as on every other page. Pages with a
974
1010
  * side column never move them. */
975
1011
  hugClosingFloats?: boolean;
1012
+ /** Under a page-span opener (a heading level or style with
1013
+ * `span: 'page'`) set over two or more text columns, the head of the
1014
+ * opener's own column, right under its band, is a slot for a `'top'` or
1015
+ * `'auto'` float, of one column or of several from it, level with the
1016
+ * heads of the other columns of the band (#639): a floated box fenced
1017
+ * right after the opener, or a resource embedded there, sits under the
1018
+ * opener in the first column and the column's text starts under it.
1019
+ * Default `true`. `false` keeps the rule of postext 1.24 and earlier:
1020
+ * the opener's column offers no head slot, so such a float lands from
1021
+ * the second column on. A configuration stored by an earlier version is
1022
+ * read with `false` when it sets a page-span heading (see
1023
+ * `migrateConfig` in `postext/bundle`). */
1024
+ floatsUnderOpener?: boolean;
976
1025
  /** Where an inline resource (`placement.position: 'here'`, embedded with
977
1026
  * `::resource`) keeps the float gap, a line: `'around'` keeps it above
978
1027
  * and below the resource, and the text after it goes back onto the
@@ -994,6 +1043,16 @@ export interface LayoutConfig {
994
1043
  * version is read with `false` when its chapters embed a resource (see
995
1044
  * `migrateConfig` in `postext/bundle`). */
996
1045
  inlineResourceGapInBoxes?: boolean;
1046
+ /** `:::columns` groups in the running text and groups that split (#634):
1047
+ * a `:::columns` fence outside a box sets its blocks in sub-columns of
1048
+ * the text column (or, with `span="page"`, across the page), and a
1049
+ * group, in a box or in the text, is cut between its sub-columns when
1050
+ * the box goes on in the next column or page. Default `true`. `false`
1051
+ * keeps the rules of postext 1.24 and earlier: a fence outside a box is
1052
+ * ignored and a box never cuts inside a group. A configuration stored
1053
+ * by an earlier version is read with `false` when its chapters hold a
1054
+ * `:::columns` fence (see `migrateConfig` in `postext/bundle`). */
1055
+ flowColumns?: boolean;
997
1056
  /** Fewest lines of a paragraph or list item that a cut inside it leaves
998
1057
  * on each side when a box splits (see `CalloutStyleConfig.splitMinLines`,
999
1058
  * which still counts every line on each side of the cut). A whole number,
@@ -1057,9 +1116,13 @@ export interface ResolvedLayoutConfig {
1057
1116
  minScale: number;
1058
1117
  };
1059
1118
  wrap: ResolvedTextWrapConfig;
1119
+ floatsAtCitingPage: boolean;
1120
+ maxTopFraction: number;
1060
1121
  hugClosingFloats: boolean;
1122
+ floatsUnderOpener: boolean;
1061
1123
  inlineResourceGap: InlineResourceGap;
1062
1124
  inlineResourceGapInBoxes: boolean;
1125
+ flowColumns: boolean;
1063
1126
  boxChildSplitMinLines: number;
1064
1127
  writingMode: WritingMode;
1065
1128
  }
@@ -2061,6 +2124,14 @@ export interface TableStyleConfig {
2061
2124
  * it on the following pages (`'split'`, the default), keep only the rows
2062
2125
  * that fit (`'clip'`), or leave it out (`'hide'`). See {@link TableOverflow}. */
2063
2126
  overflow?: TableOverflow;
2127
+ /** Apply {@link overflow} to tables placed `here` too (#634): an inline
2128
+ * table that does not fit the room left in its column is cut between
2129
+ * rows and goes on at the head of the next column, before the text
2130
+ * after it (`'split'`); one taller than a column keeps its leading
2131
+ * rows (`'clip'`) or is left out (`'hide'`). `false` keeps the rule of
2132
+ * postext 1.24 and earlier: an inline table moves whole to the next
2133
+ * column. Default `true`. */
2134
+ splitInline?: boolean;
2064
2135
  /** Suffix appended to the caption of every continuation slice of a split
2065
2136
  * table (e.g. "Table 6-4. Title *(cont.)*"). Defaults to `"(cont.)"`. */
2066
2137
  continuedSuffix?: string;
@@ -2135,6 +2206,7 @@ export interface ResolvedTableStyleConfig {
2135
2206
  groupRules: boolean;
2136
2207
  continuedFootRule: TableContinuedFootRule;
2137
2208
  overflow: TableOverflow;
2209
+ splitInline: boolean;
2138
2210
  continuedSuffix: string;
2139
2211
  continuesMarkerEnabled: boolean;
2140
2212
  continuesMarker: string;
@@ -2236,10 +2308,18 @@ export interface DiagramStyleConfig {
2236
2308
  singleInk?: boolean;
2237
2309
  /** The ink. Defaults to the document's main palette colour. */
2238
2310
  inkColor?: ColorValue;
2311
+ /** Embed the faces an SVG's text names (`font-family`) in the picture as
2312
+ * `@font-face` data URIs before it is shown as an image (canvas, HTML,
2313
+ * EPUB, the PDF's raster fallback), so its labels are set in the
2314
+ * document's fonts: an image cannot see the page's web fonts. Never
2315
+ * written into the stored file. A resource opts out with
2316
+ * `svg.inlineFonts: false`. Default `true`. */
2317
+ inlineFonts?: boolean;
2239
2318
  }
2240
2319
  export interface ResolvedDiagramStyleConfig {
2241
2320
  singleInk: boolean;
2242
2321
  inkColor: ColorValue;
2322
+ inlineFonts: boolean;
2243
2323
  }
2244
2324
  /** Where an overlay sits on a video's poster: the centre, a corner or the
2245
2325
  * middle of a side. The positions are physical: `top-right` is the top
@@ -3584,6 +3664,10 @@ export interface HeadingsConfig {
3584
3664
  levels?: HeadingLevelConfig[];
3585
3665
  }
3586
3666
  export interface ColumnBalancingConfig {
3667
+ /** Default `true`, except in vertical text (`layout.writingMode:
3668
+ * 'vertical-rl'`) and on a character grid (`cjk.grid.enabled`, #632),
3669
+ * where columns are filled line by line and a column that ends short is
3670
+ * left short unless the configuration sets `true` itself. */
3587
3671
  enabled?: boolean;
3588
3672
  /** Maximum extra grid lines that may be added above a single heading. */
3589
3673
  maxLinesPerHeading?: number;
@@ -3658,10 +3742,22 @@ export interface ColumnBalancingConfig {
3658
3742
  * the last line of the column beside it; `'off'` leaves it where it is
3659
3743
  * there too. Any other value reads as `'first'`. */
3660
3744
  closingBox?: ClosingBoxLever;
3745
+ /** On a character grid (`cjk.grid.enabled`, #632): whether the levers
3746
+ * that add whole grid lines — above a heading, where a list ends, under
3747
+ * a display or a box, under a float band — may run. They keep every
3748
+ * character in its cell (the baseline grid is the grid's line pitch),
3749
+ * but a standard that counts the lines of a page (GB/T 9704: 22 lines
3750
+ * of 28 characters) has no empty rows to give: `'off'` keeps them out
3751
+ * and leaves the other levers. Off the grid it has no effect. Default
3752
+ * `'allow'`; any other value reads as `'allow'`. */
3753
+ gridLines?: GridLinesLever;
3661
3754
  }
3662
3755
  /** Where the column-balancing lever of a box closing a column runs
3663
3756
  * (`ColumnBalancingConfig.closingBox`). */
3664
3757
  export type ClosingBoxLever = 'first' | 'last' | 'off';
3758
+ /** Whether the whole-line balancing levers run on a character grid
3759
+ * (`ColumnBalancingConfig.gridLines`). */
3760
+ export type GridLinesLever = 'allow' | 'off';
3665
3761
  /** How a paragraph kept with the heading above it splits at a column's foot
3666
3762
  * (`HeadingsConfig.keepWithNextSplit`). */
3667
3763
  export type KeepWithNextSplit = 'rules' | 'fill';
@@ -3693,6 +3789,9 @@ export interface ResolvedHeadingsConfig {
3693
3789
  trailing: boolean;
3694
3790
  beforeSpan: boolean;
3695
3791
  closingBox: ClosingBoxLever;
3792
+ /** Present only when `'off'` (#632): every other configuration
3793
+ * resolves as before. */
3794
+ gridLines?: 'off';
3696
3795
  };
3697
3796
  levels: ResolvedHeadingLevelConfig[];
3698
3797
  }
@@ -4618,6 +4717,35 @@ export interface CjkConfig {
4618
4717
  * picture books) and Korean. Default `'normal'`. A paragraph style may
4619
4718
  * set its own (`ParagraphStyleConfig.wordBreak`). */
4620
4719
  wordBreak?: CjkWordBreak;
4720
+ /** Book titles kept from one-character breaks (#637): a line breaks
4721
+ * inside a `《…》` or `〈…〉` title (and inside a `:book[…]` title) only
4722
+ * where at least this many of its characters stand on either side of
4723
+ * the break, so a title of up to twice this less one never breaks.
4724
+ * When no other break fits the line, the line breaks inside the title
4725
+ * anyway, as the level allows, rather than run past the measure.
4726
+ * Default `2`; `1` lets a line break anywhere the level allows (as up
4727
+ * to postext 1.24). */
4728
+ titleMinChars?: number;
4729
+ /** How the circled, parenthesized and full-stop numbers and letters are
4730
+ * set in a CJK paragraph (①–⑳, ⑴–⒇, ⒈–⒛, ⓐ–ⓩ, ❶–❿, ➀–➓; #637).
4731
+ * `'cjk'` (the default): as Chinese characters, one cell with no
4732
+ * Han–Latin space around them, and a line never ends on one (it labels
4733
+ * the text after it) at the levels that keep a currency sign off a
4734
+ * line end: every one but `none` and `ja-loose`.
4735
+ * `'western'`: as Western letters, as up to postext 1.24: the Han–Latin
4736
+ * space on both sides and a line may end on one. Vertical text sets
4737
+ * them upright either way. */
4738
+ circledNumbers?: 'cjk' | 'western';
4739
+ /** Whether a design text in Chinese or Japanese (a heading design or an
4740
+ * opener, a running head, a page design, a part page) is set with the
4741
+ * CJK rules of the body (#637): the line-start and line-end rules of
4742
+ * `lineBreak`, the mark widths of `punctuationWidth` and
4743
+ * `compressAdjacent`, `latinSpacing`, `hangingPunctuation` and the title
4744
+ * rule. Default `true`; `false` wraps it at spaces and sets every mark
4745
+ * at the font's own advance, as up to postext 1.24. A text that holds
4746
+ * no CJK, or more word spaces than CJK letters, is wrapped as Latin
4747
+ * text either way. */
4748
+ composeDesignText?: boolean;
4621
4749
  /** The space set between a Han character (or kana) and a Latin letter or
4622
4750
  * a European digit next to it (`用 iPhone 拍照`), in em of the CJK
4623
4751
  * text's size or any length. Default `{ value: 0.25, unit: 'em' }`; `0`
@@ -4931,6 +5059,14 @@ export interface ResolvedCjkConfig {
4931
5059
  /** Set only when `'keep-all'`: absent, lines break between any two
4932
5060
  * characters (`normal`). */
4933
5061
  wordBreak?: 'keep-all';
5062
+ /** Characters of a book title kept on either side of a break (1 or
5063
+ * more). */
5064
+ titleMinChars: number;
5065
+ /** Set only when `'western'`: absent, circled numbers are set as Chinese
5066
+ * characters. */
5067
+ circledNumbers?: 'western';
5068
+ /** Set (false) only when off: absent, CJK design text is composed. */
5069
+ composeDesignText?: false;
4934
5070
  latinSpacing: Dimension;
4935
5071
  uprightDigits: 0 | 2 | 3 | 4;
4936
5072
  grid: ResolvedCjkGridConfig;
@@ -5626,8 +5762,9 @@ export interface HeadingStyleConfig extends Omit<HeadingLevelConfig, 'level' | '
5626
5762
  * Only its page geometry is read from it (`layoutType`, `gutterWidth`,
5627
5763
  * the side column, `columnRule`), plus its `fitFiguresToPage` when a
5628
5764
  * figure could move from an empty column cut short to a whole one;
5629
- * `inlineResourceGap`, `inlineResourceGapInBoxes`,
5630
- * `boxChildSplitMinLines` and `hugClosingFloats` stay the document's,
5765
+ * `inlineResourceGap`, `inlineResourceGapInBoxes`, `flowColumns`,
5766
+ * `boxChildSplitMinLines`, `hugClosingFloats` and `floatsUnderOpener`
5767
+ * stay the document's,
5631
5768
  * and so does the `fitFiguresToPage` that shrinks figures.
5632
5769
  * Unset, the section uses the document's `layout`. */
5633
5770
  layout?: LayoutConfig;