postext 1.23.0 → 1.25.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 (471) hide show
  1. package/dist/__tests__/bundle/bitmapInfo.test.d.ts +2 -0
  2. package/dist/__tests__/bundle/bitmapInfo.test.d.ts.map +1 -0
  3. package/dist/__tests__/bundle/bitmapInfo.test.js +78 -0
  4. package/dist/__tests__/bundle/bitmapInfo.test.js.map +1 -0
  5. package/dist/__tests__/bundle/cjkRulesPin.test.d.ts +2 -0
  6. package/dist/__tests__/bundle/cjkRulesPin.test.d.ts.map +1 -0
  7. package/dist/__tests__/bundle/cjkRulesPin.test.js +78 -0
  8. package/dist/__tests__/bundle/cjkRulesPin.test.js.map +1 -0
  9. package/dist/__tests__/bundle/designOverflowPin.test.d.ts +2 -0
  10. package/dist/__tests__/bundle/designOverflowPin.test.d.ts.map +1 -0
  11. package/dist/__tests__/bundle/designOverflowPin.test.js +89 -0
  12. package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -0
  13. package/dist/__tests__/bundle/flowColumnsPin.test.d.ts +2 -0
  14. package/dist/__tests__/bundle/flowColumnsPin.test.d.ts.map +1 -0
  15. package/dist/__tests__/bundle/flowColumnsPin.test.js +40 -0
  16. package/dist/__tests__/bundle/flowColumnsPin.test.js.map +1 -0
  17. package/dist/__tests__/bundle/gridBalancingPin.test.d.ts +2 -0
  18. package/dist/__tests__/bundle/gridBalancingPin.test.d.ts.map +1 -0
  19. package/dist/__tests__/bundle/gridBalancingPin.test.js +53 -0
  20. package/dist/__tests__/bundle/gridBalancingPin.test.js.map +1 -0
  21. package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts +2 -0
  22. package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts.map +1 -0
  23. package/dist/__tests__/bundle/inlineTableSplitPin.test.js +43 -0
  24. package/dist/__tests__/bundle/inlineTableSplitPin.test.js.map +1 -0
  25. package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts +2 -0
  26. package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts.map +1 -0
  27. package/dist/__tests__/bundle/openerHeadFloatsPin.test.js +50 -0
  28. package/dist/__tests__/bundle/openerHeadFloatsPin.test.js.map +1 -0
  29. package/dist/__tests__/bundle.test.js +11 -1
  30. package/dist/__tests__/bundle.test.js.map +1 -1
  31. package/dist/__tests__/cjk/annotationsRender.test.js +5 -2
  32. package/dist/__tests__/cjk/annotationsRender.test.js.map +1 -1
  33. package/dist/__tests__/cjk/circledNumbers.test.d.ts +2 -0
  34. package/dist/__tests__/cjk/circledNumbers.test.d.ts.map +1 -0
  35. package/dist/__tests__/cjk/circledNumbers.test.js +83 -0
  36. package/dist/__tests__/cjk/circledNumbers.test.js.map +1 -0
  37. package/dist/__tests__/cjk/gridBalancing.test.d.ts +2 -0
  38. package/dist/__tests__/cjk/gridBalancing.test.d.ts.map +1 -0
  39. package/dist/__tests__/cjk/gridBalancing.test.js +227 -0
  40. package/dist/__tests__/cjk/gridBalancing.test.js.map +1 -0
  41. package/dist/__tests__/cjk/justifyRender.test.js +2 -1
  42. package/dist/__tests__/cjk/justifyRender.test.js.map +1 -1
  43. package/dist/__tests__/cjk/titleBreaks.test.d.ts +2 -0
  44. package/dist/__tests__/cjk/titleBreaks.test.d.ts.map +1 -0
  45. package/dist/__tests__/cjk/titleBreaks.test.js +76 -0
  46. package/dist/__tests__/cjk/titleBreaks.test.js.map +1 -0
  47. package/dist/__tests__/cjk/wordJoiner.test.js +13 -4
  48. package/dist/__tests__/cjk/wordJoiner.test.js.map +1 -1
  49. package/dist/__tests__/codeBlocks.test.js +1 -1
  50. package/dist/__tests__/codeBlocks.test.js.map +1 -1
  51. package/dist/__tests__/design/cjkDesignText.test.d.ts +2 -0
  52. package/dist/__tests__/design/cjkDesignText.test.d.ts.map +1 -0
  53. package/dist/__tests__/design/cjkDesignText.test.js +130 -0
  54. package/dist/__tests__/design/cjkDesignText.test.js.map +1 -0
  55. package/dist/__tests__/design/cjkDesignTextRender.test.d.ts +2 -0
  56. package/dist/__tests__/design/cjkDesignTextRender.test.d.ts.map +1 -0
  57. package/dist/__tests__/design/cjkDesignTextRender.test.js +100 -0
  58. package/dist/__tests__/design/cjkDesignTextRender.test.js.map +1 -0
  59. package/dist/__tests__/design/designTextOverflow.test.d.ts +2 -0
  60. package/dist/__tests__/design/designTextOverflow.test.d.ts.map +1 -0
  61. package/dist/__tests__/design/designTextOverflow.test.js +102 -0
  62. package/dist/__tests__/design/designTextOverflow.test.js.map +1 -0
  63. package/dist/__tests__/exports.test.js +60 -0
  64. package/dist/__tests__/exports.test.js.map +1 -1
  65. package/dist/__tests__/frontmatterInvalid.test.d.ts +2 -0
  66. package/dist/__tests__/frontmatterInvalid.test.d.ts.map +1 -0
  67. package/dist/__tests__/frontmatterInvalid.test.js +101 -0
  68. package/dist/__tests__/frontmatterInvalid.test.js.map +1 -0
  69. package/dist/__tests__/hardBreaks.test.js +1 -1
  70. package/dist/__tests__/hardBreaks.test.js.map +1 -1
  71. package/dist/__tests__/headingFirstLineIndent.test.d.ts +2 -0
  72. package/dist/__tests__/headingFirstLineIndent.test.d.ts.map +1 -0
  73. package/dist/__tests__/headingFirstLineIndent.test.js +185 -0
  74. package/dist/__tests__/headingFirstLineIndent.test.js.map +1 -0
  75. package/dist/__tests__/headingInlineMarks.test.js +1 -1
  76. package/dist/__tests__/headingInlineMarks.test.js.map +1 -1
  77. package/dist/__tests__/headingLetterSpacing.test.js +1 -1
  78. package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
  79. package/dist/__tests__/headingNumberSpans.test.d.ts +2 -0
  80. package/dist/__tests__/headingNumberSpans.test.d.ts.map +1 -0
  81. package/dist/__tests__/headingNumberSpans.test.js +96 -0
  82. package/dist/__tests__/headingNumberSpans.test.js.map +1 -0
  83. package/dist/__tests__/mathSizeMigration.test.js +2 -2
  84. package/dist/__tests__/mathSizeMigration.test.js.map +1 -1
  85. package/dist/__tests__/multipleColumns.test.js +207 -0
  86. package/dist/__tests__/multipleColumns.test.js.map +1 -1
  87. package/dist/__tests__/parse/citations.test.js +29 -0
  88. package/dist/__tests__/parse/citations.test.js.map +1 -1
  89. package/dist/__tests__/pipeline/bitmapResolution.test.d.ts +2 -0
  90. package/dist/__tests__/pipeline/bitmapResolution.test.d.ts.map +1 -0
  91. package/dist/__tests__/pipeline/bitmapResolution.test.js +139 -0
  92. package/dist/__tests__/pipeline/bitmapResolution.test.js.map +1 -0
  93. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +10 -6
  94. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js.map +1 -1
  95. package/dist/__tests__/pipeline/calloutOverflow.test.js +4 -2
  96. package/dist/__tests__/pipeline/calloutOverflow.test.js.map +1 -1
  97. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
  98. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js.map +1 -1
  99. package/dist/__tests__/pipeline/calloutTallKeepTogether.test.js +6 -5
  100. package/dist/__tests__/pipeline/calloutTallKeepTogether.test.js.map +1 -1
  101. package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
  102. package/dist/__tests__/pipeline/colonListRoom.test.js.map +1 -1
  103. package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
  104. package/dist/__tests__/pipeline/compoundBreaks.test.js.map +1 -1
  105. package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
  106. package/dist/__tests__/pipeline/dashBreaks.test.js.map +1 -1
  107. package/dist/__tests__/pipeline/designTextTruncated.test.d.ts +2 -0
  108. package/dist/__tests__/pipeline/designTextTruncated.test.d.ts.map +1 -0
  109. package/dist/__tests__/pipeline/designTextTruncated.test.js +116 -0
  110. package/dist/__tests__/pipeline/designTextTruncated.test.js.map +1 -0
  111. package/dist/__tests__/pipeline/floatCitingPage.test.d.ts +2 -0
  112. package/dist/__tests__/pipeline/floatCitingPage.test.d.ts.map +1 -0
  113. package/dist/__tests__/pipeline/floatCitingPage.test.js +241 -0
  114. package/dist/__tests__/pipeline/floatCitingPage.test.js.map +1 -0
  115. package/dist/__tests__/pipeline/floatOverInlineResource.test.js +18 -6
  116. package/dist/__tests__/pipeline/floatOverInlineResource.test.js.map +1 -1
  117. package/dist/__tests__/pipeline/floatPlacement.test.js +3 -3
  118. package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
  119. package/dist/__tests__/pipeline/floatShrink.test.d.ts +2 -0
  120. package/dist/__tests__/pipeline/floatShrink.test.d.ts.map +1 -0
  121. package/dist/__tests__/pipeline/floatShrink.test.js +298 -0
  122. package/dist/__tests__/pipeline/floatShrink.test.js.map +1 -0
  123. package/dist/__tests__/pipeline/flowColumns.test.d.ts +2 -0
  124. package/dist/__tests__/pipeline/flowColumns.test.d.ts.map +1 -0
  125. package/dist/__tests__/pipeline/flowColumns.test.js +261 -0
  126. package/dist/__tests__/pipeline/flowColumns.test.js.map +1 -0
  127. package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts +2 -0
  128. package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts.map +1 -0
  129. package/dist/__tests__/pipeline/headingKeepFitEps.test.js +83 -0
  130. package/dist/__tests__/pipeline/headingKeepFitEps.test.js.map +1 -0
  131. package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
  132. package/dist/__tests__/pipeline/headingSplitOrphans.test.js.map +1 -1
  133. package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
  134. package/dist/__tests__/pipeline/inlineFigureSpace.test.js.map +1 -1
  135. package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts +2 -0
  136. package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts.map +1 -0
  137. package/dist/__tests__/pipeline/inlineTableSplit.test.js +238 -0
  138. package/dist/__tests__/pipeline/inlineTableSplit.test.js.map +1 -0
  139. package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
  140. package/dist/__tests__/pipeline/paragraphContainerTail.test.js.map +1 -1
  141. package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
  142. package/dist/__tests__/pipeline/raggedOptimal.test.js.map +1 -1
  143. package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js +3 -2
  144. package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js.map +1 -1
  145. package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts +2 -0
  146. package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts.map +1 -0
  147. package/dist/__tests__/pipeline/sideBoxAfterText.test.js +163 -0
  148. package/dist/__tests__/pipeline/sideBoxAfterText.test.js.map +1 -0
  149. package/dist/__tests__/pipeline/textWrap.test.d.ts +2 -0
  150. package/dist/__tests__/pipeline/textWrap.test.d.ts.map +1 -0
  151. package/dist/__tests__/pipeline/textWrap.test.js +453 -0
  152. package/dist/__tests__/pipeline/textWrap.test.js.map +1 -0
  153. package/dist/__tests__/preflight.test.js +30 -1
  154. package/dist/__tests__/preflight.test.js.map +1 -1
  155. package/dist/__tests__/prepareFonts.test.d.ts +2 -0
  156. package/dist/__tests__/prepareFonts.test.d.ts.map +1 -0
  157. package/dist/__tests__/prepareFonts.test.js +358 -0
  158. package/dist/__tests__/prepareFonts.test.js.map +1 -0
  159. package/dist/__tests__/presets/showcaseDesignOverflow.test.d.ts +2 -0
  160. package/dist/__tests__/presets/showcaseDesignOverflow.test.d.ts.map +1 -0
  161. package/dist/__tests__/presets/showcaseDesignOverflow.test.js +58 -0
  162. package/dist/__tests__/presets/showcaseDesignOverflow.test.js.map +1 -0
  163. package/dist/__tests__/svgFonts.test.d.ts +2 -0
  164. package/dist/__tests__/svgFonts.test.d.ts.map +1 -0
  165. package/dist/__tests__/svgFonts.test.js +286 -0
  166. package/dist/__tests__/svgFonts.test.js.map +1 -0
  167. package/dist/__tests__/table/booktabs.test.d.ts +2 -0
  168. package/dist/__tests__/table/booktabs.test.d.ts.map +1 -0
  169. package/dist/__tests__/table/booktabs.test.js +290 -0
  170. package/dist/__tests__/table/booktabs.test.js.map +1 -0
  171. package/dist/__tests__/textWrapMeasure.test.d.ts +2 -0
  172. package/dist/__tests__/textWrapMeasure.test.d.ts.map +1 -0
  173. package/dist/__tests__/textWrapMeasure.test.js +162 -0
  174. package/dist/__tests__/textWrapMeasure.test.js.map +1 -0
  175. package/dist/__tests__/verseLines.test.js +134 -4
  176. package/dist/__tests__/verseLines.test.js.map +1 -1
  177. package/dist/__tests__/vertical/measurePaint.test.js +16 -0
  178. package/dist/__tests__/vertical/measurePaint.test.js.map +1 -1
  179. package/dist/bitmapResolution.d.ts +42 -0
  180. package/dist/bitmapResolution.d.ts.map +1 -0
  181. package/dist/bitmapResolution.js +82 -0
  182. package/dist/bitmapResolution.js.map +1 -0
  183. package/dist/bundle/adapters.d.ts +31 -7
  184. package/dist/bundle/adapters.d.ts.map +1 -1
  185. package/dist/bundle/adapters.js +113 -34
  186. package/dist/bundle/adapters.js.map +1 -1
  187. package/dist/bundle/codec.d.ts +9 -2
  188. package/dist/bundle/codec.d.ts.map +1 -1
  189. package/dist/bundle/codec.js +25 -2
  190. package/dist/bundle/codec.js.map +1 -1
  191. package/dist/bundle/configVersion.d.ts +168 -10
  192. package/dist/bundle/configVersion.d.ts.map +1 -1
  193. package/dist/bundle/configVersion.js +414 -8
  194. package/dist/bundle/configVersion.js.map +1 -1
  195. package/dist/bundle/index.d.ts +5 -5
  196. package/dist/bundle/index.d.ts.map +1 -1
  197. package/dist/bundle/index.js +3 -3
  198. package/dist/bundle/index.js.map +1 -1
  199. package/dist/bundle/manifest.d.ts +12 -2
  200. package/dist/bundle/manifest.d.ts.map +1 -1
  201. package/dist/bundle/manifest.js +134 -7
  202. package/dist/bundle/manifest.js.map +1 -1
  203. package/dist/bundle/types.d.ts +32 -2
  204. package/dist/bundle/types.d.ts.map +1 -1
  205. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  206. package/dist/canvas-backend/blockRender.js +6 -4
  207. package/dist/canvas-backend/blockRender.js.map +1 -1
  208. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  209. package/dist/canvas-backend/headerFooter.js +3 -1
  210. package/dist/canvas-backend/headerFooter.js.map +1 -1
  211. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  212. package/dist/canvas-backend/renderResourceBlock.js +15 -1
  213. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  214. package/dist/columnRule.d.ts.map +1 -1
  215. package/dist/columnRule.js +5 -2
  216. package/dist/columnRule.js.map +1 -1
  217. package/dist/configWarnings.js +30 -3
  218. package/dist/configWarnings.js.map +1 -1
  219. package/dist/defaults/cjk.d.ts +2 -1
  220. package/dist/defaults/cjk.d.ts.map +1 -1
  221. package/dist/defaults/cjk.js +17 -1
  222. package/dist/defaults/cjk.js.map +1 -1
  223. package/dist/defaults/diagramStyle.d.ts.map +1 -1
  224. package/dist/defaults/diagramStyle.js +6 -0
  225. package/dist/defaults/diagramStyle.js.map +1 -1
  226. package/dist/defaults/headerFooter.d.ts +21 -6
  227. package/dist/defaults/headerFooter.d.ts.map +1 -1
  228. package/dist/defaults/headerFooter.js +37 -14
  229. package/dist/defaults/headerFooter.js.map +1 -1
  230. package/dist/defaults/headings.d.ts +5 -4
  231. package/dist/defaults/headings.d.ts.map +1 -1
  232. package/dist/defaults/headings.js +18 -4
  233. package/dist/defaults/headings.js.map +1 -1
  234. package/dist/defaults/index.d.ts +1 -1
  235. package/dist/defaults/index.d.ts.map +1 -1
  236. package/dist/defaults/index.js +1 -1
  237. package/dist/defaults/index.js.map +1 -1
  238. package/dist/defaults/layout.d.ts +35 -1
  239. package/dist/defaults/layout.d.ts.map +1 -1
  240. package/dist/defaults/layout.js +137 -1
  241. package/dist/defaults/layout.js.map +1 -1
  242. package/dist/defaults/parts.js +4 -4
  243. package/dist/defaults/parts.js.map +1 -1
  244. package/dist/defaults/tableStyle.d.ts.map +1 -1
  245. package/dist/defaults/tableStyle.js +50 -0
  246. package/dist/defaults/tableStyle.js.map +1 -1
  247. package/dist/defaults/toc.js +2 -2
  248. package/dist/defaults/verse.d.ts +2 -1
  249. package/dist/defaults/verse.d.ts.map +1 -1
  250. package/dist/defaults/verse.js +6 -1
  251. package/dist/defaults/verse.js.map +1 -1
  252. package/dist/design/cjkText.d.ts +34 -0
  253. package/dist/design/cjkText.d.ts.map +1 -0
  254. package/dist/design/cjkText.js +82 -0
  255. package/dist/design/cjkText.js.map +1 -0
  256. package/dist/design/layout.d.ts +15 -1
  257. package/dist/design/layout.d.ts.map +1 -1
  258. package/dist/design/layout.js +130 -8
  259. package/dist/design/layout.js.map +1 -1
  260. package/dist/design/richText.d.ts +24 -0
  261. package/dist/design/richText.d.ts.map +1 -1
  262. package/dist/design/richText.js +37 -1
  263. package/dist/design/richText.js.map +1 -1
  264. package/dist/fonts/buildWithFonts.d.ts +19 -0
  265. package/dist/fonts/buildWithFonts.d.ts.map +1 -0
  266. package/dist/fonts/buildWithFonts.js +16 -0
  267. package/dist/fonts/buildWithFonts.js.map +1 -0
  268. package/dist/fonts/faces.d.ts +88 -0
  269. package/dist/fonts/faces.d.ts.map +1 -0
  270. package/dist/fonts/faces.js +264 -0
  271. package/dist/fonts/faces.js.map +1 -0
  272. package/dist/fonts/fontSet.d.ts +34 -0
  273. package/dist/fonts/fontSet.d.ts.map +1 -0
  274. package/dist/fonts/fontSet.js +173 -0
  275. package/dist/fonts/fontSet.js.map +1 -0
  276. package/dist/fonts/prepare.d.ts +120 -0
  277. package/dist/fonts/prepare.d.ts.map +1 -0
  278. package/dist/fonts/prepare.js +375 -0
  279. package/dist/fonts/prepare.js.map +1 -0
  280. package/dist/frontmatter.d.ts +20 -0
  281. package/dist/frontmatter.d.ts.map +1 -1
  282. package/dist/frontmatter.js +69 -3
  283. package/dist/frontmatter.js.map +1 -1
  284. package/dist/html-backend.d.ts +17 -0
  285. package/dist/html-backend.d.ts.map +1 -1
  286. package/dist/html-backend.js +109 -7
  287. package/dist/html-backend.js.map +1 -1
  288. package/dist/index.d.ts +35 -10
  289. package/dist/index.d.ts.map +1 -1
  290. package/dist/index.js +23 -4
  291. package/dist/index.js.map +1 -1
  292. package/dist/measure/bidiLines.d.ts +4 -3
  293. package/dist/measure/bidiLines.d.ts.map +1 -1
  294. package/dist/measure/bidiLines.js +12 -7
  295. package/dist/measure/bidiLines.js.map +1 -1
  296. package/dist/measure/cache.d.ts.map +1 -1
  297. package/dist/measure/cache.js +32 -2
  298. package/dist/measure/cache.js.map +1 -1
  299. package/dist/measure/canvas.d.ts +15 -0
  300. package/dist/measure/canvas.d.ts.map +1 -1
  301. package/dist/measure/canvas.js +68 -4
  302. package/dist/measure/canvas.js.map +1 -1
  303. package/dist/measure/cjk.d.ts.map +1 -1
  304. package/dist/measure/cjk.js +4 -1
  305. package/dist/measure/cjk.js.map +1 -1
  306. package/dist/measure/cjkClasses.d.ts +17 -0
  307. package/dist/measure/cjkClasses.d.ts.map +1 -1
  308. package/dist/measure/cjkClasses.js +41 -1
  309. package/dist/measure/cjkClasses.js.map +1 -1
  310. package/dist/measure/cjkCompose.d.ts.map +1 -1
  311. package/dist/measure/cjkCompose.js +126 -10
  312. package/dist/measure/cjkCompose.js.map +1 -1
  313. package/dist/measure/cjkPunctuation.d.ts +18 -1
  314. package/dist/measure/cjkPunctuation.d.ts.map +1 -1
  315. package/dist/measure/cjkPunctuation.js +13 -1
  316. package/dist/measure/cjkPunctuation.js.map +1 -1
  317. package/dist/measure/font.d.ts +8 -0
  318. package/dist/measure/font.d.ts.map +1 -1
  319. package/dist/measure/font.js +13 -2
  320. package/dist/measure/font.js.map +1 -1
  321. package/dist/measure/fontString.d.ts +14 -0
  322. package/dist/measure/fontString.d.ts.map +1 -0
  323. package/dist/measure/fontString.js +55 -0
  324. package/dist/measure/fontString.js.map +1 -0
  325. package/dist/measure/hardBreaks.d.ts.map +1 -1
  326. package/dist/measure/hardBreaks.js +13 -1
  327. package/dist/measure/hardBreaks.js.map +1 -1
  328. package/dist/measure/index.d.ts +7 -4
  329. package/dist/measure/index.d.ts.map +1 -1
  330. package/dist/measure/index.js +7 -5
  331. package/dist/measure/index.js.map +1 -1
  332. package/dist/measure/plain.d.ts.map +1 -1
  333. package/dist/measure/plain.js +11 -7
  334. package/dist/measure/plain.js.map +1 -1
  335. package/dist/measure/rich.d.ts.map +1 -1
  336. package/dist/measure/rich.js +9 -6
  337. package/dist/measure/rich.js.map +1 -1
  338. package/dist/measure/types.d.ts +53 -3
  339. package/dist/measure/types.d.ts.map +1 -1
  340. package/dist/measure/types.js +67 -3
  341. package/dist/measure/types.js.map +1 -1
  342. package/dist/parse/citations.d.ts.map +1 -1
  343. package/dist/parse/citations.js +7 -3
  344. package/dist/parse/citations.js.map +1 -1
  345. package/dist/pipeline/build.d.ts +36 -0
  346. package/dist/pipeline/build.d.ts.map +1 -1
  347. package/dist/pipeline/build.js +1482 -153
  348. package/dist/pipeline/build.js.map +1 -1
  349. package/dist/pipeline/buildBlockKind.d.ts +5 -0
  350. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  351. package/dist/pipeline/buildBlockKind.js +34 -7
  352. package/dist/pipeline/buildBlockKind.js.map +1 -1
  353. package/dist/pipeline/buildMeasurement.d.ts +6 -0
  354. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  355. package/dist/pipeline/buildMeasurement.js +4 -3
  356. package/dist/pipeline/buildMeasurement.js.map +1 -1
  357. package/dist/pipeline/calloutLayout.d.ts +59 -0
  358. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  359. package/dist/pipeline/calloutLayout.js +287 -65
  360. package/dist/pipeline/calloutLayout.js.map +1 -1
  361. package/dist/pipeline/columnBalancing.d.ts +20 -0
  362. package/dist/pipeline/columnBalancing.d.ts.map +1 -1
  363. package/dist/pipeline/columnBalancing.js +27 -4
  364. package/dist/pipeline/columnBalancing.js.map +1 -1
  365. package/dist/pipeline/columnsGroup.d.ts +61 -0
  366. package/dist/pipeline/columnsGroup.d.ts.map +1 -0
  367. package/dist/pipeline/columnsGroup.js +88 -0
  368. package/dist/pipeline/columnsGroup.js.map +1 -0
  369. package/dist/pipeline/config.d.ts +28 -0
  370. package/dist/pipeline/config.d.ts.map +1 -1
  371. package/dist/pipeline/config.js +67 -8
  372. package/dist/pipeline/config.js.map +1 -1
  373. package/dist/pipeline/contentWarnings.d.ts +16 -0
  374. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  375. package/dist/pipeline/contentWarnings.js +141 -17
  376. package/dist/pipeline/contentWarnings.js.map +1 -1
  377. package/dist/pipeline/floatPlacement.d.ts +48 -4
  378. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  379. package/dist/pipeline/floatPlacement.js +43 -5
  380. package/dist/pipeline/floatPlacement.js.map +1 -1
  381. package/dist/pipeline/floatSlots.d.ts +16 -3
  382. package/dist/pipeline/floatSlots.d.ts.map +1 -1
  383. package/dist/pipeline/floatSlots.js +15 -6
  384. package/dist/pipeline/floatSlots.js.map +1 -1
  385. package/dist/pipeline/flowColumns.d.ts +41 -0
  386. package/dist/pipeline/flowColumns.d.ts.map +1 -0
  387. package/dist/pipeline/flowColumns.js +116 -0
  388. package/dist/pipeline/flowColumns.js.map +1 -0
  389. package/dist/pipeline/headerFooter.d.ts +4 -1
  390. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  391. package/dist/pipeline/headerFooter.js +19 -5
  392. package/dist/pipeline/headerFooter.js.map +1 -1
  393. package/dist/pipeline/measureContentBlock.d.ts +20 -1
  394. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  395. package/dist/pipeline/measureContentBlock.js +35 -11
  396. package/dist/pipeline/measureContentBlock.js.map +1 -1
  397. package/dist/pipeline/partPalette.d.ts +3 -0
  398. package/dist/pipeline/partPalette.d.ts.map +1 -1
  399. package/dist/pipeline/partPalette.js +5 -0
  400. package/dist/pipeline/partPalette.js.map +1 -1
  401. package/dist/pipeline/placement.d.ts +19 -0
  402. package/dist/pipeline/placement.d.ts.map +1 -1
  403. package/dist/pipeline/placement.js +12 -2
  404. package/dist/pipeline/placement.js.map +1 -1
  405. package/dist/pipeline/resourceLayout.d.ts +41 -0
  406. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  407. package/dist/pipeline/resourceLayout.js +148 -18
  408. package/dist/pipeline/resourceLayout.js.map +1 -1
  409. package/dist/pipeline/styles.d.ts.map +1 -1
  410. package/dist/pipeline/styles.js +8 -5
  411. package/dist/pipeline/styles.js.map +1 -1
  412. package/dist/pipeline/textWrap.d.ts +94 -0
  413. package/dist/pipeline/textWrap.d.ts.map +1 -0
  414. package/dist/pipeline/textWrap.js +188 -0
  415. package/dist/pipeline/textWrap.js.map +1 -0
  416. package/dist/pipeline/toc.d.ts.map +1 -1
  417. package/dist/pipeline/toc.js +6 -1
  418. package/dist/pipeline/toc.js.map +1 -1
  419. package/dist/pipeline/verseLines.d.ts +22 -2
  420. package/dist/pipeline/verseLines.d.ts.map +1 -1
  421. package/dist/pipeline/verseLines.js +52 -4
  422. package/dist/pipeline/verseLines.js.map +1 -1
  423. package/dist/preflight.d.ts +46 -1
  424. package/dist/preflight.d.ts.map +1 -1
  425. package/dist/preflight.js +42 -7
  426. package/dist/preflight.js.map +1 -1
  427. package/dist/svg/fontRegistry.d.ts +66 -0
  428. package/dist/svg/fontRegistry.d.ts.map +1 -0
  429. package/dist/svg/fontRegistry.js +294 -0
  430. package/dist/svg/fontRegistry.js.map +1 -0
  431. package/dist/svg/fonts.d.ts +140 -0
  432. package/dist/svg/fonts.d.ts.map +1 -0
  433. package/dist/svg/fonts.js +642 -0
  434. package/dist/svg/fonts.js.map +1 -0
  435. package/dist/svg/image.d.ts +44 -0
  436. package/dist/svg/image.d.ts.map +1 -0
  437. package/dist/svg/image.js +67 -0
  438. package/dist/svg/image.js.map +1 -0
  439. package/dist/table/booktabs.d.ts +37 -0
  440. package/dist/table/booktabs.d.ts.map +1 -0
  441. package/dist/table/booktabs.js +82 -0
  442. package/dist/table/booktabs.js.map +1 -0
  443. package/dist/types.d.ts +365 -10
  444. package/dist/types.d.ts.map +1 -1
  445. package/dist/util/stableHash.d.ts +20 -0
  446. package/dist/util/stableHash.d.ts.map +1 -0
  447. package/dist/util/stableHash.js +59 -0
  448. package/dist/util/stableHash.js.map +1 -0
  449. package/dist/vdt.d.ts +249 -9
  450. package/dist/vdt.d.ts.map +1 -1
  451. package/dist/vdt.js +3 -2
  452. package/dist/vdt.js.map +1 -1
  453. package/dist/word/index.d.ts +1 -1
  454. package/dist/word/index.d.ts.map +1 -1
  455. package/dist/word/index.js +1 -1
  456. package/dist/word/index.js.map +1 -1
  457. package/dist/word/toMarkdown.d.ts +10 -0
  458. package/dist/word/toMarkdown.d.ts.map +1 -1
  459. package/dist/word/toMarkdown.js +16 -1
  460. package/dist/word/toMarkdown.js.map +1 -1
  461. package/dist/worker/client.d.ts +8 -0
  462. package/dist/worker/client.d.ts.map +1 -1
  463. package/dist/worker/client.js +22 -0
  464. package/dist/worker/client.js.map +1 -1
  465. package/dist/worker/fonts.d.ts +1 -13
  466. package/dist/worker/fonts.d.ts.map +1 -1
  467. package/dist/worker/fonts.js +3 -61
  468. package/dist/worker/fonts.js.map +1 -1
  469. package/dist/worker/layout.worker.js +23 -16
  470. package/dist/worker/layout.worker.js.map +1 -1
  471. package/package.json +1 -1
@@ -13,6 +13,7 @@ import { resourceRefId, unprefixedId } from './crossRefs';
13
13
  import { citationIssues } from './citations';
14
14
  import { bookCitationContexts, needsCitationContext } from '../citations/context';
15
15
  import { duplicateAnchors } from './anchors';
16
+ import { computeChapterTitles } from './placeholders';
16
17
  import { KNOWN_CONTAINERS, KNOWN_DIRECTIVES, parseInlineSnippetSpans, parseMarkdownMemo } from '../parse';
17
18
  import { invalidAttributeKeys } from '../parse/attrs';
18
19
  import { parsePaperAttrs } from './paper';
@@ -134,18 +135,15 @@ bookAnchors,
134
135
  /** The reference keys of the whole book (#268), when the document is one
135
136
  * of its chapters; its own references count either way. */
136
137
  bookCitationKeys) {
137
- let body = markdown;
138
- let offset = 0;
139
- try {
140
- const fm = extractFrontmatter(markdown);
141
- body = fm.content;
142
- offset = fm.contentOffset;
143
- }
144
- catch {
145
- // Malformed frontmatter: the build reports it; scan the text as is.
146
- }
138
+ const fm = extractFrontmatter(markdown);
139
+ const body = fm.content;
140
+ const offset = fm.contentOffset;
147
141
  const blocks = parseMarkdownMemo(body, codeParseOptions(resolveAllConfig(config)));
148
142
  const out = [];
143
+ // Front matter that does not parse: the document is set without its
144
+ // metadata.
145
+ if (fm.error)
146
+ out.push({ kind: 'invalidFrontmatter', message: fm.error.message, sourceStart: fm.error.sourceStart, sourceEnd: fm.error.sourceEnd });
149
147
  const abs = (r) => ({ sourceStart: r.start + offset, sourceEnd: r.end + offset });
150
148
  const byId = new Map();
151
149
  for (const r of resources)
@@ -258,6 +256,9 @@ bookCitationKeys) {
258
256
  else if (b.containerName === 'callout' && calloutStyles.size > 0 && attrs.type !== undefined && !calloutStyles.has(attrs.type)) {
259
257
  out.push({ kind: 'unknownCalloutType', type: attrs.type, ...abs(range) });
260
258
  }
259
+ else if (b.containerName === 'columns' && attrs.flow !== undefined && attrs.flow !== 'snake' && attrs.flow !== 'parallel') {
260
+ out.push({ kind: 'columnsFlowUnknown', value: attrs.flow, ...abs(range) });
261
+ }
261
262
  else if (b.containerName === 'paper') {
262
263
  for (const issue of parsePaperAttrs(attrs, config?.colorPalette).issues) {
263
264
  out.push({ kind: 'paperAttributeInvalid', key: issue.key, value: issue.value, ...abs(range) });
@@ -451,13 +452,7 @@ bookCitationKeys) {
451
452
  }
452
453
  }
453
454
  // Citations (#268): keys no reference defines, data that cannot be read.
454
- let metadata;
455
- try {
456
- metadata = extractFrontmatter(markdown).metadata;
457
- }
458
- catch {
459
- metadata = undefined;
460
- }
455
+ const metadata = fm.metadata;
461
456
  if (needsCitationContext(blocks, metadata)) {
462
457
  const ctx = bookCitationContexts([{ metadata, blocks }])[0];
463
458
  const keys = bookCitationKeys ? new Set([...bookCitationKeys, ...ctx.items.map((i) => i.id)]) : undefined;
@@ -609,6 +604,56 @@ export function wordOverflowWarnings(doc) {
609
604
  }
610
605
  return out;
611
606
  }
607
+ /** A `designTextTruncated` warning for each design text cut to fit its
608
+ * width (`VDTDesignTextBlock.truncated`, #628): one per element and page
609
+ * for a heading design, a part page or a contents part row; one per
610
+ * element and chapter for a running head or folio, which repeats the cut
611
+ * on every page (a chapter title, a folio's page number), on the first
612
+ * page that shows it. */
613
+ export function designTruncationWarnings(doc) {
614
+ const out = [];
615
+ const seen = new Set();
616
+ let chapters;
617
+ const slot = (s, pageIndex) => {
618
+ for (const b of s?.blocks ?? []) {
619
+ if (b.kind !== 'text' || !b.truncated)
620
+ continue;
621
+ const t = b.truncated;
622
+ let key;
623
+ if (t.slot === 'header' || t.slot === 'footer') {
624
+ chapters ??= computeChapterTitles(doc.blocks, doc.pages.length, doc.pages);
625
+ key = `${t.slot}\u0000${t.elementId}\u0000${chapters[pageIndex] ?? ''}`;
626
+ }
627
+ else {
628
+ key = `${pageIndex}\u0000${t.slot}\u0000${t.elementId}\u0000${b.sourceStart ?? ''}`;
629
+ }
630
+ if (seen.has(key))
631
+ continue;
632
+ seen.add(key);
633
+ out.push({
634
+ kind: 'designTextTruncated',
635
+ slot: t.slot,
636
+ elementId: t.elementId,
637
+ text: t.text,
638
+ mode: t.mode,
639
+ ...(b.sourceStart !== undefined ? { sourceStart: b.sourceStart } : {}),
640
+ ...(b.sourceEnd !== undefined ? { sourceEnd: b.sourceEnd } : {}),
641
+ pageIndex,
642
+ });
643
+ }
644
+ };
645
+ doc.pages.forEach((page, i) => {
646
+ slot(page.header, i);
647
+ slot(page.openerBand, i);
648
+ for (const col of page.columns)
649
+ for (const block of col.blocks)
650
+ slot(block.designOverlay, i);
651
+ for (const block of page.floats ?? [])
652
+ slot(block.designOverlay, i);
653
+ slot(page.footer, i);
654
+ });
655
+ return out;
656
+ }
612
657
  /** A `joiningScriptLetterSpacing` warning for the first placed part of
613
658
  * each block (by content index, `blocks`) whose style tracks words of a
614
659
  * joining script, which are set untracked. */
@@ -630,6 +675,33 @@ export function joiningLetterSpacingWarnings(doc, blocks) {
630
675
  }
631
676
  return out;
632
677
  }
678
+ /** A `floatShrunk` warning for each floated picture the layout set smaller
679
+ * to fit the room of its slot (`placement.shrink`, #626), with how far it
680
+ * still runs past the text block's foot when even its smallest scale did
681
+ * not fit. `sourceRangeOf` gives the range of the content block that first
682
+ * cites it. */
683
+ export function floatShrinkWarnings(doc, sourceRangeOf) {
684
+ const out = [];
685
+ for (const page of doc.pages) {
686
+ for (const block of page.floats ?? []) {
687
+ const rb = block.resourceBlock;
688
+ if (!rb || rb.shrinkScale === undefined)
689
+ continue;
690
+ const foot = page.contentArea.y + page.contentArea.height;
691
+ const overflowPx = Math.round(block.bbox.y + block.bbox.height - foot);
692
+ const range = block.contentIndex !== undefined ? sourceRangeOf?.(block.contentIndex) : undefined;
693
+ out.push({
694
+ kind: 'floatShrunk',
695
+ resourceId: rb.resource.id,
696
+ scale: Math.round(rb.shrinkScale * 1000) / 1000,
697
+ ...(overflowPx > 0 ? { overflowPx } : {}),
698
+ ...(range ? { sourceStart: range.start, sourceEnd: range.end } : {}),
699
+ pageIndex: page.index,
700
+ });
701
+ }
702
+ }
703
+ return out;
704
+ }
633
705
  /** A `dropCap` warning for the first placed part of each paragraph (by
634
706
  * content index) whose drop cap could not be set as configured (#623). */
635
707
  export function dropCapWarnings(doc, notes) {
@@ -697,6 +769,9 @@ export function formatWarning(w) {
697
769
  ? `Unknown resource id "${w.resourceId}" for a table cell image${inRes} — the cell stays text-only`
698
770
  : `Unknown resource id "${w.resourceId}" in :ref${inRes} — it prints "?" (or its text= label), with no number or link`;
699
771
  break;
772
+ case 'invalidFrontmatter':
773
+ text = `The front matter cannot be read: ${w.message} — the document is set without its metadata`;
774
+ break;
700
775
  case 'unknownDirective':
701
776
  text = `Unknown directive ":::${w.name}" — the line is set as text`;
702
777
  break;
@@ -718,6 +793,9 @@ export function formatWarning(w) {
718
793
  case 'unknownCalloutType':
719
794
  text = `Unknown callout type "${w.type}" — the box takes the first callout style`;
720
795
  break;
796
+ case 'columnsFlowUnknown':
797
+ text = `Unknown flow "${w.value}" for :::columns — the group fills its columns in turn ("snake"), or stream by stream ("parallel") when it sets breaks`;
798
+ break;
721
799
  case 'paperAttributeInvalid':
722
800
  text = `:::paper ${w.key}="${w.value}" is not a value it reads — dropped, the pages keep the document's paper for it`;
723
801
  break;
@@ -767,9 +845,27 @@ export function formatWarning(w) {
767
845
  case 'missingImage':
768
846
  text = `No image for file "${w.fileId}"${w.resourceId !== undefined ? ` (resource "${w.resourceId}")` : ''} — painted as a placeholder`;
769
847
  break;
848
+ case 'svgFontUnavailable':
849
+ text = `The SVG "${w.fileId}"${w.resourceId !== undefined ? ` (resource "${w.resourceId}")` : ''} sets text in "${w.family}" ${w.weight}${w.style === 'italic' ? ' italic' : ''}, which has no face to embed — the image sets it in a fallback face`;
850
+ break;
851
+ case 'svgFontsTooLarge':
852
+ text = `The fonts of the SVG "${w.fileId}"${w.resourceId !== undefined ? ` (resource "${w.resourceId}")` : ''} come to ${Math.round(w.bytes / 1024)} KB, over the ${Math.round(w.maxBytes / 1024)} KB cap — none was embedded`;
853
+ break;
770
854
  case 'cjkLooseLine':
771
855
  text = `The justified line "${w.text}" needs more space between its characters than the cap allows — it is set short of the measure`;
772
856
  break;
857
+ case 'fontFallback': {
858
+ const face = `"${w.family}" ${w.weight}${w.style === 'italic' ? ' italic' : ''}`;
859
+ text = w.reason === 'missing'
860
+ ? `The face ${face} was not loaded when the document was laid out — its text was measured with a fallback face; load it first (prepareFonts, buildDocumentWithFonts)`
861
+ : `The face ${face} has no file of its own — the browser draws it from another weight or slant of the family; load that face or set a weight the family has`;
862
+ break;
863
+ }
864
+ case 'designTextTruncated':
865
+ text = w.mode === 'clip'
866
+ ? `The ${w.slot} text "${w.text}" (element "${w.elementId}") is wider than its box and clipped`
867
+ : `The ${w.slot} text "${w.text}" (element "${w.elementId}") does not fit its width and ends in an ellipsis — set overflow: 'wrap' to break it onto more lines, or give it more room`;
868
+ break;
773
869
  case 'unbreakableWordOverflow':
774
870
  text = `The line "${w.text}" holds an Arabic-script word wider than the line — such a word is never divided, so it runs past the measure`;
775
871
  break;
@@ -796,6 +892,31 @@ export function formatWarning(w) {
796
892
  : `${what} — the listing is set at ${Math.round((w.scale ?? 1) * 100)} % of its size, and what still does not fit is turned over`;
797
893
  break;
798
894
  }
895
+ case 'columnsTooNarrow':
896
+ text = `The ${w.columns} columns of a :::columns group are ${Math.round(w.widthPx)} px wide, narrower than six ems of their text — few words fit a line; set fewer columns or a smaller gap`;
897
+ break;
898
+ case 'afterText':
899
+ text = `${w.resourceId !== undefined ? `The resource "${w.resourceId}"` : 'A side box'} stands in the side column of a page with no text — the text ended before the side column had room for it; fence it earlier or make it shorter`;
900
+ break;
901
+ case 'unplaced':
902
+ text = `${w.resourceId !== undefined ? `The resource "${w.resourceId}"` : 'A box'} found no slot before the layout ended — it is on no page`;
903
+ break;
904
+ case 'textWrap': {
905
+ const what = w.resourceId !== undefined ? `The resource "${w.resourceId}"` : `A "${w.box ?? 'callout'}" box`;
906
+ text = w.reason === 'moved'
907
+ ? `${what} wraps text round it but is too tall for the room left in its column — it moved on to the next column with its anchor`
908
+ : w.reason === 'tooNarrow'
909
+ ? `${what} would leave the text beside it narrower than layout.wrap.minTextWidth — it takes its band whole, with no text beside it`
910
+ : w.reason === 'verticalText'
911
+ ? `${what} asks for text wrap, which is set in horizontal text only — in vertical text it takes its band whole`
912
+ : `${what} is shorter than layout.wrap.minLinesBeside lines — it takes its band whole, with no text beside it`;
913
+ break;
914
+ }
915
+ case 'floatShrunk':
916
+ text = w.overflowPx !== undefined
917
+ ? `The picture "${w.resourceId}" is set at its smallest scale, ${Math.round(w.scale * 100)} % of its size, and still runs ${w.overflowPx} px past the foot of the page's text block`
918
+ : `The picture "${w.resourceId}" is set at ${Math.round(w.scale * 100)} % of its size to fit the room left on its page`;
919
+ break;
799
920
  case 'cjkMarksExceedLeading':
800
921
  text = `The paragraph "${w.text}" has emphasis dots or name and title lines in a line gap of ${w.gapEm} em — they need ${w.neededEm} em; set it with more leading`;
801
922
  break;
@@ -860,6 +981,9 @@ export function formatWarning(w) {
860
981
  case 'comicAnchorOutsideSafeArea':
861
982
  text = `The anchor "${w.anchorId}" of "${w.resourceId}" lies outside the picture's safe area — a crop may cut it off`;
862
983
  break;
984
+ case 'wrapUnsupported':
985
+ text = `${w.path}: text wraps in horizontal text only — in this vertical document "${w.value}" is ignored and the figures keep their bands whole`;
986
+ break;
863
987
  case 'cjkGridClamped':
864
988
  text = `${w.path}: ${w.value} ${w.path.endsWith('charsPerLine') ? 'characters per line' : 'lines'} do not fit inside the margins — the grid is set with ${w.used}`;
865
989
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"contentWarnings.js","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentWarnings.js","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  * which owns the VDT and measurement context.
17
17
  */
18
18
  import type { ContentBlock } from '../parse';
19
- import type { Resource, ResourceType, ResourceFloatPosition, ResourceFloatSpan, ResourceRotation } from '../types';
19
+ import type { Dimension, FloatShrinkMode, ResolvedTextWrapConfig, Resource, ResourceType, ResourceFloatPosition, ResourceFloatSpan, ResourceRotation } from '../types';
20
20
  import { floatColumnCount } from '../defaults/shared';
21
21
  export { floatColumnCount };
22
22
  /** Resolved placement for a resource: never `undefined` fields (but
@@ -31,6 +31,15 @@ export interface ResolvedPlacement {
31
31
  captionSide: boolean;
32
32
  /** Adjacent columns a column float takes (1 = its own column). */
33
33
  columns: number;
34
+ /** How the float is scaled to the room of a slot (`placement.shrink`,
35
+ * #626) and the smallest scale it takes; `'never'` for anything but an
36
+ * upright picture. */
37
+ shrink: FloatShrinkMode;
38
+ minScale: number;
39
+ /** The float may head the page or column its citing line lands on
40
+ * (`placement.citingPage`, #633): a `'top'` or `'auto'` float of a
41
+ * column or page span, not turned. */
42
+ citingPage: boolean;
34
43
  }
35
44
  /** A planned float: the resource, its resolved placement, and the index of the
36
45
  * content block where it is first referenced (its anchor). `'auto'` takes
@@ -60,6 +69,25 @@ export interface PlannedFloat {
60
69
  /** A `span: 'column'` float across this many adjacent columns (absent
61
70
  * for one; see `ResourcePlacement.columns`). */
62
71
  columns?: number;
72
+ /** A picture scaled to the room of a slot rather than moved on
73
+ * (`placement.shrink`, #626), never below `minScale`. Absent for
74
+ * `'never'`. */
75
+ shrink?: 'page' | 'slot';
76
+ minScale?: number;
77
+ /** Text wraps round the float (#627, `placement.wrap`): a one-column
78
+ * float at the head or foot of its column, at this side of it; the
79
+ * column's first or last lines run beside it. `widthFraction` and
80
+ * `align` then say where it stands. Absent for a float that keeps its
81
+ * band whole. */
82
+ wrap?: 'left' | 'right';
83
+ /** The wrap's own gap (`placement.wrapGap`, else `layout.wrap.gap`). */
84
+ wrapGap?: Dimension;
85
+ /** May head the page (page span) or column (column span) where its
86
+ * citing line lands (`placement.citingPage`, #633): the build proposes
87
+ * that slot after a pass and keeps it while the citing line stays
88
+ * there. Absent for a float that takes the first free slot after its
89
+ * reference. */
90
+ citingPage?: true;
63
91
  /** For the rest of a table split across pages: the first model row still
64
92
  * to place (the header rows are repeated above it). Absent (or `0`) for
65
93
  * a whole resource. */
@@ -79,12 +107,21 @@ export interface PlannedFloat {
79
107
  startIdx: number;
80
108
  };
81
109
  }
110
+ /** The document default for `placement.shrink` (`layout.floatShrink`). */
111
+ export interface FloatShrinkDefault {
112
+ mode: FloatShrinkMode;
113
+ minScale: number;
114
+ }
82
115
  /** Resolve a resource's placement: own `placement` → its type's
83
116
  * `defaultPlacement` → the built-in default (`auto` / `column`). A rotated
84
117
  * resource is always a page-span float; an inline (`here`) embed is never
85
118
  * rotated, and neither is any resource of a vertical flow (`noRotation`:
86
- * every resource there stands upright, in its own span). */
87
- export declare function resolveResourcePlacement(resource: Resource, type: ResourceType | undefined, noRotation?: boolean): ResolvedPlacement;
119
+ * every resource there stands upright, in its own span). `shrink` falls
120
+ * back to `shrinkDefault` (`layout.floatShrink`), and applies to upright
121
+ * pictures only (bitmap, SVG, video poster). */
122
+ export declare function resolveResourcePlacement(resource: Resource, type: ResourceType | undefined, noRotation?: boolean, shrinkDefault?: FloatShrinkDefault,
123
+ /** `layout.floatsAtCitingPage`: the default of `placement.citingPage`. */
124
+ citingPageDefault?: boolean): ResolvedPlacement;
88
125
  /**
89
126
  * Walk the parsed blocks in reading order and produce the floats to place, in
90
127
  * first-reference order. A resource is floated when its resolved position is
@@ -102,7 +139,14 @@ export declare function computeFloatPlan(blocks: ContentBlock[], resources: Reso
102
139
  * Either for the whole document or per content block (the block a
103
140
  * resource is first referred to in: a styled section may set its own
104
141
  * writing mode). */
105
- noRotation?: boolean | ((blockIdx: number) => boolean)): PlannedFloat[];
142
+ noRotation?: boolean | ((blockIdx: number) => boolean),
143
+ /** `layout.floatShrink`: the default of `placement.shrink`. */
144
+ shrinkDefault?: FloatShrinkDefault,
145
+ /** `layout.wrap`: how a float that asks for text wrap is set (#627);
146
+ * absent, no float wraps. */
147
+ wrapSettings?: ResolvedTextWrapConfig,
148
+ /** `layout.floatsAtCitingPage` (#633). */
149
+ citingPageDefault?: boolean): PlannedFloat[];
106
150
  /** The set of resource ids that float (so the build loop can skip their inline
107
151
  * `::resource` placement). Derived from a {@link computeFloatPlan} result,
108
152
  * plus the floating resources of `incorporated` (placed by the preceding
@@ -1 +1 @@
1
- {"version":3,"file":"floatPlacement.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAuB,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B;iDACiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;2DAG2D;AAC3D,MAAM,WAAW,YAAY;IAC3B;;;;;wDAKoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB;uBACmB;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;gCAC4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;qDACiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;4BAEwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;iBAGa;IACb,SAAS,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD;;6EAEyE;IACzE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AAED;;;;6DAI6D;AAC7D,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,UAAU,UAAQ,GACjB,iBAAiB,CAanB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AAClC;;;qBAGqB;AACrB,UAAU,GAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAS,GAC5D,YAAY,EAAE,CAwChB;AAED;;;0EAG0E;AAC1E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAAE,EACpB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,GAAE,QAAQ,EAAO,EAC1B,aAAa,GAAE,YAAY,EAAO,GACjC,GAAG,CAAC,MAAM,CAAC,CAUb"}
1
+ {"version":3,"file":"floatPlacement.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,19 @@
17
17
  */
18
18
  import { resourceRefId } from './crossRefs';
19
19
  import { floatColumnCount, startEndAsLeftRight } from '../defaults/shared';
20
+ import { DEFAULT_FLOAT_MIN_SCALE, floatMinScaleOf, floatShrinkModeOf } from '../defaults/layout';
21
+ import { resolveResourceWrap } from './textWrap';
20
22
  export { floatColumnCount };
21
23
  /** Resolve a resource's placement: own `placement` → its type's
22
24
  * `defaultPlacement` → the built-in default (`auto` / `column`). A rotated
23
25
  * resource is always a page-span float; an inline (`here`) embed is never
24
26
  * rotated, and neither is any resource of a vertical flow (`noRotation`:
25
- * every resource there stands upright, in its own span). */
26
- export function resolveResourcePlacement(resource, type, noRotation = false) {
27
+ * every resource there stands upright, in its own span). `shrink` falls
28
+ * back to `shrinkDefault` (`layout.floatShrink`), and applies to upright
29
+ * pictures only (bitmap, SVG, video poster). */
30
+ export function resolveResourcePlacement(resource, type, noRotation = false, shrinkDefault,
31
+ /** `layout.floatsAtCitingPage`: the default of `placement.citingPage`. */
32
+ citingPageDefault = false) {
27
33
  const position = resource.placement?.position ?? type?.defaultPlacement?.position ?? 'auto';
28
34
  const rotate = position === 'here' || noRotation
29
35
  ? undefined
@@ -34,7 +40,15 @@ export function resolveResourcePlacement(resource, type, noRotation = false) {
34
40
  const align = startEndAsLeftRight(resource.placement?.align ?? type?.defaultPlacement?.align ?? 'left');
35
41
  const captionSide = resource.placement?.captionSide ?? type?.defaultPlacement?.captionSide ?? false;
36
42
  const columns = floatColumnCount(resource.placement?.columns ?? type?.defaultPlacement?.columns);
37
- return { position, span, widthFraction, align, captionSide, columns, ...(rotate ? { rotate } : {}) };
43
+ const picture = resource.kind === 'bitmap' || resource.kind === 'svg' || resource.kind === 'video';
44
+ const shrink = picture && !rotate && position !== 'here'
45
+ ? floatShrinkModeOf(resource.placement?.shrink) ?? floatShrinkModeOf(type?.defaultPlacement?.shrink) ?? shrinkDefault?.mode ?? 'never'
46
+ : 'never';
47
+ const minScale = floatMinScaleOf(resource.placement?.minScale) ?? floatMinScaleOf(type?.defaultPlacement?.minScale)
48
+ ?? shrinkDefault?.minScale ?? DEFAULT_FLOAT_MIN_SCALE;
49
+ const citingPage = (position === 'top' || position === 'auto') && !rotate && span !== 'side'
50
+ && (resource.placement?.citingPage ?? type?.defaultPlacement?.citingPage ?? citingPageDefault) === true;
51
+ return { position, span, widthFraction, align, captionSide, columns, shrink, minScale, citingPage, ...(rotate ? { rotate } : {}) };
38
52
  }
39
53
  /**
40
54
  * Walk the parsed blocks in reading order and produce the floats to place, in
@@ -53,7 +67,14 @@ export function computeFloatPlan(blocks, resources, resourceTypes, incorporated,
53
67
  * Either for the whole document or per content block (the block a
54
68
  * resource is first referred to in: a styled section may set its own
55
69
  * writing mode). */
56
- noRotation = false) {
70
+ noRotation = false,
71
+ /** `layout.floatShrink`: the default of `placement.shrink`. */
72
+ shrinkDefault,
73
+ /** `layout.wrap`: how a float that asks for text wrap is set (#627);
74
+ * absent, no float wraps. */
75
+ wrapSettings,
76
+ /** `layout.floatsAtCitingPage` (#633). */
77
+ citingPageDefault = false) {
57
78
  const noRotationAt = typeof noRotation === 'function' ? noRotation : () => noRotation;
58
79
  const resourceById = new Map();
59
80
  for (const r of resources)
@@ -72,9 +93,24 @@ noRotation = false) {
72
93
  return;
73
94
  const type = typeById.get(resource.typeId);
74
95
  const upright = noRotationAt(blockIdx);
75
- const { position, span, rotate, widthFraction, align, captionSide, columns } = resolveResourcePlacement(resource, type, upright);
96
+ const { position, span, rotate, widthFraction, align, captionSide, columns, shrink, minScale, citingPage } = resolveResourcePlacement(resource, type, upright, shrinkDefault, citingPageDefault);
76
97
  if (position === 'here')
77
98
  return;
99
+ // Text wrap (#627): a one-column float of horizontal text, upright,
100
+ // its caption under it; any other keeps its band whole.
101
+ const wrap = wrapSettings && !upright && !rotate && span === 'column' && columns === 1 && !captionSide
102
+ ? resolveResourceWrap(resource, type, wrapSettings)
103
+ : undefined;
104
+ if (wrap) {
105
+ plan.push({
106
+ resourceId, firstBlockIdx: blockIdx, position, span,
107
+ widthFraction: wrap.width, align: wrap.side, wrap: wrap.side,
108
+ ...(wrap.gap ? { wrapGap: wrap.gap } : {}),
109
+ ...(shrink !== 'never' ? { shrink, minScale } : {}),
110
+ ...(citingPage ? { citingPage } : {}),
111
+ });
112
+ return;
113
+ }
78
114
  plan.push({
79
115
  resourceId, firstBlockIdx: blockIdx, position, span,
80
116
  ...(rotate ? { rotate } : {}),
@@ -84,6 +120,8 @@ noRotation = false) {
84
120
  : upright && align !== 'left' ? { align } : {}),
85
121
  ...(captionSide && span === 'column' && columns === 1 ? { captionSide } : {}),
86
122
  ...(columns > 1 && span === 'column' && !rotate ? { columns } : {}),
123
+ ...(shrink !== 'never' && !upright ? { shrink, minScale } : {}),
124
+ ...(citingPage ? { citingPage } : {}),
87
125
  });
88
126
  };
89
127
  for (let i = 0; i < blocks.length; i++) {