postext 1.22.3 → 1.24.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 (427) 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/designOverflowPin.test.d.ts +2 -0
  6. package/dist/__tests__/bundle/designOverflowPin.test.d.ts.map +1 -0
  7. package/dist/__tests__/bundle/designOverflowPin.test.js +87 -0
  8. package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -0
  9. package/dist/__tests__/bundle.test.js +1 -1
  10. package/dist/__tests__/bundle.test.js.map +1 -1
  11. package/dist/__tests__/codeBlocks.test.d.ts +2 -0
  12. package/dist/__tests__/codeBlocks.test.d.ts.map +1 -0
  13. package/dist/__tests__/codeBlocks.test.js +550 -0
  14. package/dist/__tests__/codeBlocks.test.js.map +1 -0
  15. package/dist/__tests__/design/designTextOverflow.test.d.ts +2 -0
  16. package/dist/__tests__/design/designTextOverflow.test.d.ts.map +1 -0
  17. package/dist/__tests__/design/designTextOverflow.test.js +102 -0
  18. package/dist/__tests__/design/designTextOverflow.test.js.map +1 -0
  19. package/dist/__tests__/exports.test.js +30 -0
  20. package/dist/__tests__/exports.test.js.map +1 -1
  21. package/dist/__tests__/frontmatterInvalid.test.d.ts +2 -0
  22. package/dist/__tests__/frontmatterInvalid.test.d.ts.map +1 -0
  23. package/dist/__tests__/frontmatterInvalid.test.js +101 -0
  24. package/dist/__tests__/frontmatterInvalid.test.js.map +1 -0
  25. package/dist/__tests__/hardBreaks.test.d.ts +2 -0
  26. package/dist/__tests__/hardBreaks.test.d.ts.map +1 -0
  27. package/dist/__tests__/hardBreaks.test.js +226 -0
  28. package/dist/__tests__/hardBreaks.test.js.map +1 -0
  29. package/dist/__tests__/headingFirstLineIndent.test.d.ts +2 -0
  30. package/dist/__tests__/headingFirstLineIndent.test.d.ts.map +1 -0
  31. package/dist/__tests__/headingFirstLineIndent.test.js +185 -0
  32. package/dist/__tests__/headingFirstLineIndent.test.js.map +1 -0
  33. package/dist/__tests__/headingInlineMarks.test.js +1 -1
  34. package/dist/__tests__/headingInlineMarks.test.js.map +1 -1
  35. package/dist/__tests__/headingLetterSpacing.test.js +1 -1
  36. package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
  37. package/dist/__tests__/lineNumbers.test.d.ts +2 -0
  38. package/dist/__tests__/lineNumbers.test.d.ts.map +1 -0
  39. package/dist/__tests__/lineNumbers.test.js +304 -0
  40. package/dist/__tests__/lineNumbers.test.js.map +1 -0
  41. package/dist/__tests__/mathSizeMigration.test.js +2 -2
  42. package/dist/__tests__/mathSizeMigration.test.js.map +1 -1
  43. package/dist/__tests__/paragraphDropCap.test.d.ts +2 -0
  44. package/dist/__tests__/paragraphDropCap.test.d.ts.map +1 -0
  45. package/dist/__tests__/paragraphDropCap.test.js +442 -0
  46. package/dist/__tests__/paragraphDropCap.test.js.map +1 -0
  47. package/dist/__tests__/paragraphStyleIndent.test.js +26 -2
  48. package/dist/__tests__/paragraphStyleIndent.test.js.map +1 -1
  49. package/dist/__tests__/pipeline/bitmapResolution.test.d.ts +2 -0
  50. package/dist/__tests__/pipeline/bitmapResolution.test.d.ts.map +1 -0
  51. package/dist/__tests__/pipeline/bitmapResolution.test.js +139 -0
  52. package/dist/__tests__/pipeline/bitmapResolution.test.js.map +1 -0
  53. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
  54. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js.map +1 -1
  55. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
  56. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js.map +1 -1
  57. package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
  58. package/dist/__tests__/pipeline/colonListRoom.test.js.map +1 -1
  59. package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
  60. package/dist/__tests__/pipeline/compoundBreaks.test.js.map +1 -1
  61. package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
  62. package/dist/__tests__/pipeline/dashBreaks.test.js.map +1 -1
  63. package/dist/__tests__/pipeline/designTextTruncated.test.d.ts +2 -0
  64. package/dist/__tests__/pipeline/designTextTruncated.test.d.ts.map +1 -0
  65. package/dist/__tests__/pipeline/designTextTruncated.test.js +116 -0
  66. package/dist/__tests__/pipeline/designTextTruncated.test.js.map +1 -0
  67. package/dist/__tests__/pipeline/floatPlacement.test.js +3 -3
  68. package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
  69. package/dist/__tests__/pipeline/floatShrink.test.d.ts +2 -0
  70. package/dist/__tests__/pipeline/floatShrink.test.d.ts.map +1 -0
  71. package/dist/__tests__/pipeline/floatShrink.test.js +298 -0
  72. package/dist/__tests__/pipeline/floatShrink.test.js.map +1 -0
  73. package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
  74. package/dist/__tests__/pipeline/headingSplitOrphans.test.js.map +1 -1
  75. package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
  76. package/dist/__tests__/pipeline/inlineFigureSpace.test.js.map +1 -1
  77. package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
  78. package/dist/__tests__/pipeline/paragraphContainerTail.test.js.map +1 -1
  79. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js +7 -1
  80. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js.map +1 -1
  81. package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
  82. package/dist/__tests__/pipeline/raggedOptimal.test.js.map +1 -1
  83. package/dist/__tests__/pipeline/textWrap.test.d.ts +2 -0
  84. package/dist/__tests__/pipeline/textWrap.test.d.ts.map +1 -0
  85. package/dist/__tests__/pipeline/textWrap.test.js +453 -0
  86. package/dist/__tests__/pipeline/textWrap.test.js.map +1 -0
  87. package/dist/__tests__/preflight.test.js +30 -1
  88. package/dist/__tests__/preflight.test.js.map +1 -1
  89. package/dist/__tests__/presets/showcaseDesignOverflow.test.d.ts +2 -0
  90. package/dist/__tests__/presets/showcaseDesignOverflow.test.d.ts.map +1 -0
  91. package/dist/__tests__/presets/showcaseDesignOverflow.test.js +58 -0
  92. package/dist/__tests__/presets/showcaseDesignOverflow.test.js.map +1 -0
  93. package/dist/__tests__/tabStops.test.d.ts +2 -0
  94. package/dist/__tests__/tabStops.test.d.ts.map +1 -0
  95. package/dist/__tests__/tabStops.test.js +394 -0
  96. package/dist/__tests__/tabStops.test.js.map +1 -0
  97. package/dist/__tests__/table/booktabs.test.d.ts +2 -0
  98. package/dist/__tests__/table/booktabs.test.d.ts.map +1 -0
  99. package/dist/__tests__/table/booktabs.test.js +290 -0
  100. package/dist/__tests__/table/booktabs.test.js.map +1 -0
  101. package/dist/__tests__/textWrapMeasure.test.d.ts +2 -0
  102. package/dist/__tests__/textWrapMeasure.test.d.ts.map +1 -0
  103. package/dist/__tests__/textWrapMeasure.test.js +162 -0
  104. package/dist/__tests__/textWrapMeasure.test.js.map +1 -0
  105. package/dist/__tests__/verseLines.test.d.ts +2 -0
  106. package/dist/__tests__/verseLines.test.d.ts.map +1 -0
  107. package/dist/__tests__/verseLines.test.js +505 -0
  108. package/dist/__tests__/verseLines.test.js.map +1 -0
  109. package/dist/bitmapResolution.d.ts +42 -0
  110. package/dist/bitmapResolution.d.ts.map +1 -0
  111. package/dist/bitmapResolution.js +82 -0
  112. package/dist/bitmapResolution.js.map +1 -0
  113. package/dist/bundle/codec.d.ts +9 -2
  114. package/dist/bundle/codec.d.ts.map +1 -1
  115. package/dist/bundle/codec.js +24 -2
  116. package/dist/bundle/codec.js.map +1 -1
  117. package/dist/bundle/configVersion.d.ts +119 -8
  118. package/dist/bundle/configVersion.d.ts.map +1 -1
  119. package/dist/bundle/configVersion.js +395 -6
  120. package/dist/bundle/configVersion.js.map +1 -1
  121. package/dist/bundle/index.d.ts +3 -3
  122. package/dist/bundle/index.d.ts.map +1 -1
  123. package/dist/bundle/index.js +2 -2
  124. package/dist/bundle/index.js.map +1 -1
  125. package/dist/bundle/manifest.d.ts +12 -2
  126. package/dist/bundle/manifest.d.ts.map +1 -1
  127. package/dist/bundle/manifest.js +132 -6
  128. package/dist/bundle/manifest.js.map +1 -1
  129. package/dist/bundle/types.d.ts +28 -2
  130. package/dist/bundle/types.d.ts.map +1 -1
  131. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  132. package/dist/canvas-backend/blockRender.js +45 -9
  133. package/dist/canvas-backend/blockRender.js.map +1 -1
  134. package/dist/canvas-backend/index.d.ts.map +1 -1
  135. package/dist/canvas-backend/index.js +3 -0
  136. package/dist/canvas-backend/index.js.map +1 -1
  137. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  138. package/dist/canvas-backend/renderResourceBlock.js +15 -1
  139. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  140. package/dist/cjkMarks.js +1 -1
  141. package/dist/cjkMarks.js.map +1 -1
  142. package/dist/code/highlight.d.ts +34 -0
  143. package/dist/code/highlight.d.ts.map +1 -0
  144. package/dist/code/highlight.js +406 -0
  145. package/dist/code/highlight.js.map +1 -0
  146. package/dist/configWarnings.d.ts.map +1 -1
  147. package/dist/configWarnings.js +220 -4
  148. package/dist/configWarnings.js.map +1 -1
  149. package/dist/defaults/bodyText.d.ts.map +1 -1
  150. package/dist/defaults/bodyText.js +25 -0
  151. package/dist/defaults/bodyText.js.map +1 -1
  152. package/dist/defaults/calloutStyles.d.ts.map +1 -1
  153. package/dist/defaults/calloutStyles.js +7 -0
  154. package/dist/defaults/calloutStyles.js.map +1 -1
  155. package/dist/defaults/codeStyle.d.ts +29 -0
  156. package/dist/defaults/codeStyle.d.ts.map +1 -0
  157. package/dist/defaults/codeStyle.js +284 -0
  158. package/dist/defaults/codeStyle.js.map +1 -0
  159. package/dist/defaults/dropCap.d.ts +49 -0
  160. package/dist/defaults/dropCap.d.ts.map +1 -0
  161. package/dist/defaults/dropCap.js +66 -0
  162. package/dist/defaults/dropCap.js.map +1 -0
  163. package/dist/defaults/headerFooter.d.ts +21 -6
  164. package/dist/defaults/headerFooter.d.ts.map +1 -1
  165. package/dist/defaults/headerFooter.js +37 -14
  166. package/dist/defaults/headerFooter.js.map +1 -1
  167. package/dist/defaults/headings.d.ts +5 -4
  168. package/dist/defaults/headings.d.ts.map +1 -1
  169. package/dist/defaults/headings.js +26 -4
  170. package/dist/defaults/headings.js.map +1 -1
  171. package/dist/defaults/index.d.ts +4 -1
  172. package/dist/defaults/index.d.ts.map +1 -1
  173. package/dist/defaults/index.js +20 -1
  174. package/dist/defaults/index.js.map +1 -1
  175. package/dist/defaults/layout.d.ts +30 -1
  176. package/dist/defaults/layout.d.ts.map +1 -1
  177. package/dist/defaults/layout.js +105 -1
  178. package/dist/defaults/layout.js.map +1 -1
  179. package/dist/defaults/lineNumbers.d.ts +19 -0
  180. package/dist/defaults/lineNumbers.d.ts.map +1 -0
  181. package/dist/defaults/lineNumbers.js +101 -0
  182. package/dist/defaults/lineNumbers.js.map +1 -0
  183. package/dist/defaults/paragraphStyles.d.ts.map +1 -1
  184. package/dist/defaults/paragraphStyles.js +20 -0
  185. package/dist/defaults/paragraphStyles.js.map +1 -1
  186. package/dist/defaults/parts.js +4 -4
  187. package/dist/defaults/parts.js.map +1 -1
  188. package/dist/defaults/tabStops.d.ts +29 -0
  189. package/dist/defaults/tabStops.d.ts.map +1 -0
  190. package/dist/defaults/tabStops.js +94 -0
  191. package/dist/defaults/tabStops.js.map +1 -0
  192. package/dist/defaults/tableStyle.d.ts.map +1 -1
  193. package/dist/defaults/tableStyle.js +44 -0
  194. package/dist/defaults/tableStyle.js.map +1 -1
  195. package/dist/defaults/toc.js +2 -2
  196. package/dist/defaults/verse.d.ts +11 -0
  197. package/dist/defaults/verse.d.ts.map +1 -0
  198. package/dist/defaults/verse.js +57 -0
  199. package/dist/defaults/verse.js.map +1 -0
  200. package/dist/design/layout.d.ts +15 -1
  201. package/dist/design/layout.d.ts.map +1 -1
  202. package/dist/design/layout.js +28 -4
  203. package/dist/design/layout.js.map +1 -1
  204. package/dist/fonts/usage.d.ts +7 -0
  205. package/dist/fonts/usage.d.ts.map +1 -1
  206. package/dist/fonts/usage.js +71 -0
  207. package/dist/fonts/usage.js.map +1 -1
  208. package/dist/frontmatter.d.ts +20 -0
  209. package/dist/frontmatter.d.ts.map +1 -1
  210. package/dist/frontmatter.js +69 -3
  211. package/dist/frontmatter.js.map +1 -1
  212. package/dist/html-backend.d.ts.map +1 -1
  213. package/dist/html-backend.js +107 -15
  214. package/dist/html-backend.js.map +1 -1
  215. package/dist/index.d.ts +18 -10
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +9 -4
  218. package/dist/index.js.map +1 -1
  219. package/dist/measure/bidiLines.d.ts +4 -3
  220. package/dist/measure/bidiLines.d.ts.map +1 -1
  221. package/dist/measure/bidiLines.js +14 -9
  222. package/dist/measure/bidiLines.js.map +1 -1
  223. package/dist/measure/cache.js +2 -2
  224. package/dist/measure/cache.js.map +1 -1
  225. package/dist/measure/cjkCompose.d.ts.map +1 -1
  226. package/dist/measure/cjkCompose.js +10 -6
  227. package/dist/measure/cjkCompose.js.map +1 -1
  228. package/dist/measure/hardBreaks.d.ts +46 -0
  229. package/dist/measure/hardBreaks.d.ts.map +1 -0
  230. package/dist/measure/hardBreaks.js +228 -0
  231. package/dist/measure/hardBreaks.js.map +1 -0
  232. package/dist/measure/index.d.ts +4 -3
  233. package/dist/measure/index.d.ts.map +1 -1
  234. package/dist/measure/index.js +5 -4
  235. package/dist/measure/index.js.map +1 -1
  236. package/dist/measure/leader.d.ts +20 -0
  237. package/dist/measure/leader.d.ts.map +1 -0
  238. package/dist/measure/leader.js +46 -0
  239. package/dist/measure/leader.js.map +1 -0
  240. package/dist/measure/links.js +1 -1
  241. package/dist/measure/links.js.map +1 -1
  242. package/dist/measure/plain.d.ts.map +1 -1
  243. package/dist/measure/plain.js +23 -26
  244. package/dist/measure/plain.js.map +1 -1
  245. package/dist/measure/rich.d.ts +19 -0
  246. package/dist/measure/rich.d.ts.map +1 -1
  247. package/dist/measure/rich.js +215 -39
  248. package/dist/measure/rich.js.map +1 -1
  249. package/dist/measure/tabs.d.ts +103 -0
  250. package/dist/measure/tabs.d.ts.map +1 -0
  251. package/dist/measure/tabs.js +123 -0
  252. package/dist/measure/tabs.js.map +1 -0
  253. package/dist/measure/types.d.ts +72 -2
  254. package/dist/measure/types.d.ts.map +1 -1
  255. package/dist/measure/types.js +87 -3
  256. package/dist/measure/types.js.map +1 -1
  257. package/dist/parse/blockParser.d.ts +13 -6
  258. package/dist/parse/blockParser.d.ts.map +1 -1
  259. package/dist/parse/blockParser.js +457 -87
  260. package/dist/parse/blockParser.js.map +1 -1
  261. package/dist/parse/codeFence.d.ts +18 -0
  262. package/dist/parse/codeFence.d.ts.map +1 -0
  263. package/dist/parse/codeFence.js +52 -0
  264. package/dist/parse/codeFence.js.map +1 -0
  265. package/dist/parse/index.d.ts +1 -1
  266. package/dist/parse/index.d.ts.map +1 -1
  267. package/dist/parse/index.js.map +1 -1
  268. package/dist/parse/indexMarks.d.ts +3 -1
  269. package/dist/parse/indexMarks.d.ts.map +1 -1
  270. package/dist/parse/indexMarks.js +22 -2
  271. package/dist/parse/indexMarks.js.map +1 -1
  272. package/dist/parse/inlineFormatting.d.ts +50 -0
  273. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  274. package/dist/parse/inlineFormatting.js +94 -0
  275. package/dist/parse/inlineFormatting.js.map +1 -1
  276. package/dist/parse/sourceMapping.d.ts.map +1 -1
  277. package/dist/parse/sourceMapping.js +65 -1
  278. package/dist/parse/sourceMapping.js.map +1 -1
  279. package/dist/parse/types.d.ts +144 -9
  280. package/dist/parse/types.d.ts.map +1 -1
  281. package/dist/pipeline/build.d.ts.map +1 -1
  282. package/dist/pipeline/build.js +629 -47
  283. package/dist/pipeline/build.js.map +1 -1
  284. package/dist/pipeline/buildBlockKind.d.ts +5 -0
  285. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  286. package/dist/pipeline/buildBlockKind.js +74 -2
  287. package/dist/pipeline/buildBlockKind.js.map +1 -1
  288. package/dist/pipeline/buildHelpers.d.ts +3 -0
  289. package/dist/pipeline/buildHelpers.d.ts.map +1 -1
  290. package/dist/pipeline/buildHelpers.js +7 -2
  291. package/dist/pipeline/buildHelpers.js.map +1 -1
  292. package/dist/pipeline/buildMeasurement.js +1 -1
  293. package/dist/pipeline/buildMeasurement.js.map +1 -1
  294. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  295. package/dist/pipeline/calloutLayout.js +33 -2
  296. package/dist/pipeline/calloutLayout.js.map +1 -1
  297. package/dist/pipeline/chips.d.ts.map +1 -1
  298. package/dist/pipeline/chips.js +4 -0
  299. package/dist/pipeline/chips.js.map +1 -1
  300. package/dist/pipeline/codeBlocks.d.ts +38 -0
  301. package/dist/pipeline/codeBlocks.d.ts.map +1 -0
  302. package/dist/pipeline/codeBlocks.js +146 -0
  303. package/dist/pipeline/codeBlocks.js.map +1 -0
  304. package/dist/pipeline/codeInline.d.ts +22 -0
  305. package/dist/pipeline/codeInline.d.ts.map +1 -0
  306. package/dist/pipeline/codeInline.js +93 -0
  307. package/dist/pipeline/codeInline.js.map +1 -0
  308. package/dist/pipeline/codeLines.d.ts +91 -0
  309. package/dist/pipeline/codeLines.d.ts.map +1 -0
  310. package/dist/pipeline/codeLines.js +399 -0
  311. package/dist/pipeline/codeLines.js.map +1 -0
  312. package/dist/pipeline/columnBalancing.d.ts.map +1 -1
  313. package/dist/pipeline/columnBalancing.js +5 -0
  314. package/dist/pipeline/columnBalancing.js.map +1 -1
  315. package/dist/pipeline/config.d.ts.map +1 -1
  316. package/dist/pipeline/config.js +8 -1
  317. package/dist/pipeline/config.js.map +1 -1
  318. package/dist/pipeline/contentWarnings.d.ts +25 -0
  319. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  320. package/dist/pipeline/contentWarnings.js +173 -19
  321. package/dist/pipeline/contentWarnings.js.map +1 -1
  322. package/dist/pipeline/continuation.d.ts.map +1 -1
  323. package/dist/pipeline/continuation.js +9 -2
  324. package/dist/pipeline/continuation.js.map +1 -1
  325. package/dist/pipeline/dropCap.d.ts +128 -0
  326. package/dist/pipeline/dropCap.d.ts.map +1 -0
  327. package/dist/pipeline/dropCap.js +412 -0
  328. package/dist/pipeline/dropCap.js.map +1 -0
  329. package/dist/pipeline/floatPlacement.d.ts +34 -4
  330. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  331. package/dist/pipeline/floatPlacement.js +35 -5
  332. package/dist/pipeline/floatPlacement.js.map +1 -1
  333. package/dist/pipeline/floatSlots.d.ts +7 -0
  334. package/dist/pipeline/floatSlots.d.ts.map +1 -1
  335. package/dist/pipeline/floatSlots.js.map +1 -1
  336. package/dist/pipeline/hardBreaks.d.ts +19 -0
  337. package/dist/pipeline/hardBreaks.d.ts.map +1 -0
  338. package/dist/pipeline/hardBreaks.js +36 -0
  339. package/dist/pipeline/hardBreaks.js.map +1 -0
  340. package/dist/pipeline/headerFooter.d.ts +4 -1
  341. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  342. package/dist/pipeline/headerFooter.js +23 -6
  343. package/dist/pipeline/headerFooter.js.map +1 -1
  344. package/dist/pipeline/lineNumbers.d.ts +37 -0
  345. package/dist/pipeline/lineNumbers.d.ts.map +1 -0
  346. package/dist/pipeline/lineNumbers.js +441 -0
  347. package/dist/pipeline/lineNumbers.js.map +1 -0
  348. package/dist/pipeline/measureContentBlock.d.ts +38 -5
  349. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  350. package/dist/pipeline/measureContentBlock.js +284 -69
  351. package/dist/pipeline/measureContentBlock.js.map +1 -1
  352. package/dist/pipeline/partPalette.d.ts +1 -1
  353. package/dist/pipeline/partPalette.d.ts.map +1 -1
  354. package/dist/pipeline/partPalette.js +24 -2
  355. package/dist/pipeline/partPalette.js.map +1 -1
  356. package/dist/pipeline/placement.d.ts.map +1 -1
  357. package/dist/pipeline/placement.js +7 -0
  358. package/dist/pipeline/placement.js.map +1 -1
  359. package/dist/pipeline/resourceLayout.d.ts +15 -0
  360. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  361. package/dist/pipeline/resourceLayout.js +95 -15
  362. package/dist/pipeline/resourceLayout.js.map +1 -1
  363. package/dist/pipeline/styles.d.ts +18 -2
  364. package/dist/pipeline/styles.d.ts.map +1 -1
  365. package/dist/pipeline/styles.js +23 -8
  366. package/dist/pipeline/styles.js.map +1 -1
  367. package/dist/pipeline/tabs.d.ts +35 -0
  368. package/dist/pipeline/tabs.d.ts.map +1 -0
  369. package/dist/pipeline/tabs.js +99 -0
  370. package/dist/pipeline/tabs.js.map +1 -0
  371. package/dist/pipeline/textWrap.d.ts +94 -0
  372. package/dist/pipeline/textWrap.d.ts.map +1 -0
  373. package/dist/pipeline/textWrap.js +188 -0
  374. package/dist/pipeline/textWrap.js.map +1 -0
  375. package/dist/pipeline/toc.d.ts.map +1 -1
  376. package/dist/pipeline/toc.js +3 -38
  377. package/dist/pipeline/toc.js.map +1 -1
  378. package/dist/pipeline/verseLines.d.ts +98 -0
  379. package/dist/pipeline/verseLines.d.ts.map +1 -0
  380. package/dist/pipeline/verseLines.js +293 -0
  381. package/dist/pipeline/verseLines.js.map +1 -0
  382. package/dist/preflight.d.ts +46 -1
  383. package/dist/preflight.d.ts.map +1 -1
  384. package/dist/preflight.js +43 -7
  385. package/dist/preflight.js.map +1 -1
  386. package/dist/table/booktabs.d.ts +37 -0
  387. package/dist/table/booktabs.d.ts.map +1 -0
  388. package/dist/table/booktabs.js +82 -0
  389. package/dist/table/booktabs.js.map +1 -0
  390. package/dist/types.d.ts +787 -12
  391. package/dist/types.d.ts.map +1 -1
  392. package/dist/vdt.d.ts +367 -9
  393. package/dist/vdt.d.ts.map +1 -1
  394. package/dist/vdt.js +9 -2
  395. package/dist/vdt.js.map +1 -1
  396. package/dist/word/docxRead.d.ts.map +1 -1
  397. package/dist/word/docxRead.js +15 -0
  398. package/dist/word/docxRead.js.map +1 -1
  399. package/dist/word/index.d.ts +1 -1
  400. package/dist/word/index.d.ts.map +1 -1
  401. package/dist/word/index.js +1 -1
  402. package/dist/word/index.js.map +1 -1
  403. package/dist/word/inline.d.ts +6 -1
  404. package/dist/word/inline.d.ts.map +1 -1
  405. package/dist/word/inline.js +35 -1
  406. package/dist/word/inline.js.map +1 -1
  407. package/dist/word/model.d.ts +14 -0
  408. package/dist/word/model.d.ts.map +1 -1
  409. package/dist/word/model.js.map +1 -1
  410. package/dist/word/template.d.ts +12 -3
  411. package/dist/word/template.d.ts.map +1 -1
  412. package/dist/word/template.js +13 -3
  413. package/dist/word/template.js.map +1 -1
  414. package/dist/word/toDocx.d.ts.map +1 -1
  415. package/dist/word/toDocx.js +52 -8
  416. package/dist/word/toDocx.js.map +1 -1
  417. package/dist/word/toMarkdown.d.ts +15 -1
  418. package/dist/word/toMarkdown.d.ts.map +1 -1
  419. package/dist/word/toMarkdown.js +133 -7
  420. package/dist/word/toMarkdown.js.map +1 -1
  421. package/dist/word/word.test.js +124 -2
  422. package/dist/word/word.test.js.map +1 -1
  423. package/dist/worker/fonts.d.ts +2 -1
  424. package/dist/worker/fonts.d.ts.map +1 -1
  425. package/dist/worker/fonts.js +6 -2
  426. package/dist/worker/fonts.js.map +1 -1
  427. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Inline code in a code face (#624, `codeStyle.inline`): the characters of
3
+ * a block's `` `x` `` spans (`ContentBlock.inlineCode`, source ranges)
4
+ * become chips set in the code face, at the size, colour and fill the
5
+ * style gives, each one unit as a chip is. A chip span keeps the code's
6
+ * characters as its text, so the block's plain text and source map stay
7
+ * as they are. Without `codeStyle.inline` inline code is set in the text's
8
+ * face, as before #624.
9
+ */
10
+ import { sliceSpan } from '../parse/links';
11
+ import { setsObject } from '../measure/rich';
12
+ import { dimensionToPx } from '../units';
13
+ /** Style id of an inline code chip: no chip style can name it. */
14
+ export const INLINE_CODE_CHIP_STYLE = '__postext-code';
15
+ /** The chip box of inline code in text of `fontSizePx`. */
16
+ function inlineCodeBox(resolved, fontSizePx) {
17
+ const inline = resolved.codeStyle?.inline;
18
+ if (!inline)
19
+ return undefined;
20
+ const dpi = resolved.page.dpi;
21
+ const sizePx = dimensionToPx(inline.fontSize, dpi, fontSizePx);
22
+ const px = (d) => Math.max(0, dimensionToPx(d, dpi, sizePx));
23
+ const borderWidthPx = inline.borderColor ? px(inline.borderWidth) : 0;
24
+ return {
25
+ styleId: INLINE_CODE_CHIP_STYLE,
26
+ fontFamily: inline.fontFamily,
27
+ fontSizePx: sizePx,
28
+ bold: inline.bold,
29
+ italic: inline.italic,
30
+ ...(inline.color ? { color: inline.color.hex } : {}),
31
+ ...(inline.background ? { background: inline.background.hex } : {}),
32
+ ...(borderWidthPx > 0 && inline.borderColor ? { borderColor: inline.borderColor.hex } : {}),
33
+ borderWidthPx,
34
+ borderRadiusPx: px(inline.borderRadius),
35
+ paddingXPx: px(inline.paddingX),
36
+ paddingYPx: px(inline.paddingY),
37
+ gapPx: 0,
38
+ };
39
+ }
40
+ /**
41
+ * `block` (the block being measured: `raw` with its heading number, its
42
+ * capitals…) with the characters of its inline code set as code chips,
43
+ * when `codeStyle.inline` is set and the block has inline code. `raw` is
44
+ * the parsed block, whose source map tells which characters were written
45
+ * between backticks.
46
+ */
47
+ export function withInlineCode(block, raw, resolved, fontSizePx) {
48
+ const ranges = raw.inlineCode;
49
+ if (!ranges || ranges.length === 0 || !resolved.codeStyle?.inline)
50
+ return block;
51
+ const box = inlineCodeBox(resolved, fontSizePx);
52
+ if (!box)
53
+ return block;
54
+ const prefix = block.text.length - raw.text.length;
55
+ const map = raw.sourceMap;
56
+ const isCode = (p) => {
57
+ const i = p - prefix;
58
+ if (i < 0 || i >= map.length)
59
+ return false;
60
+ const at = map[i];
61
+ return ranges.some((r) => at >= r.start && at < r.end);
62
+ };
63
+ const out = [];
64
+ let at = 0;
65
+ let changed = false;
66
+ for (const span of block.spans) {
67
+ const len = span.text.length;
68
+ if (setsObject(span) || span.tab || span.inserted || len === 0) {
69
+ out.push(span);
70
+ at += len;
71
+ continue;
72
+ }
73
+ let k = 0;
74
+ while (k < len) {
75
+ const code = isCode(at + k);
76
+ let j = k + 1;
77
+ while (j < len && isCode(at + j) === code)
78
+ j++;
79
+ if (!code) {
80
+ out.push(k === 0 && j === len ? span : sliceSpan(span, k, j));
81
+ }
82
+ else {
83
+ const text = span.text.slice(k, j);
84
+ out.push({ text, bold: span.bold, italic: span.italic, chip: { style: INLINE_CODE_CHIP_STYLE, spans: [{ text, bold: false, italic: false }], box } });
85
+ changed = true;
86
+ }
87
+ k = j;
88
+ }
89
+ at += len;
90
+ }
91
+ return changed ? { ...block, spans: out } : block;
92
+ }
93
+ //# sourceMappingURL=codeInline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeInline.js","sourceRoot":"","sources":["../../src/pipeline/codeInline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Code listings line by line (#624): a `code` block (a ```` ``` ```` or
3
+ * `~~~` fence, or indented code) is set one line per source line, as
4
+ * written. No Knuth–Plass, no hyphenation, no justification, no runt or
5
+ * tracking levers: every character keeps its advance in the code face, a
6
+ * run of spaces its width, and a tab goes on to the next multiple of
7
+ * `codeStyle.tabSize` character cells (a tab segment, `\t`, so copied text
8
+ * keeps it). A line wider than the measure is turned over, set smaller or
9
+ * cut (`codeStyle.overflow`). Line numbers stand in a gutter before the
10
+ * code, out of the text (the page's `lineNumbers` slot, see
11
+ * {@link buildCodeLineNumbers}).
12
+ *
13
+ * The lines are built segment by segment here, not by the paragraph
14
+ * breaker, which collapses and trims spaces. Each segment carries its face
15
+ * (`fontString`) and, when a token kind or a highlighter gives one, its
16
+ * colour; the segments' widths are final, from the line's box (`bbox.x`).
17
+ */
18
+ import type { ContentBlock } from '../parse';
19
+ import type { ResolvedCodeStyleConfig } from '../types';
20
+ import { type ResolvedConfig, type VDTDocument, type VDTLine, type ContentWarning } from '../vdt';
21
+ import type { MeasuredBlock } from '../measure';
22
+ /** What a fence asks of its listing, over `codeStyle`. */
23
+ export interface CodeFenceSettings {
24
+ lineNumbers: boolean;
25
+ /** The first line's number. */
26
+ start: number;
27
+ /** Source lines (1-based, as written) the fence highlights. */
28
+ highlight: ReadonlySet<number>;
29
+ }
30
+ /** `highlight="3,5-7"`: the line numbers it names (1-based, from the
31
+ * listing's first line whatever `start` says). */
32
+ export declare function highlightLines(value: string | undefined): Set<number>;
33
+ /** The settings a fence's attributes give its listing. */
34
+ export declare function codeFenceSettings(block: ContentBlock, cs: ResolvedCodeStyleConfig): CodeFenceSettings;
35
+ /** How a listing's lines were fitted, for its warning. */
36
+ export interface CodeFit {
37
+ mode: 'wrap' | 'shrink' | 'clip';
38
+ /** Source lines too wide for the measure. */
39
+ lines: number;
40
+ /** The size the listing was set at, as a share of `fontSize` (below 1
41
+ * when shrunk). */
42
+ scale: number;
43
+ }
44
+ export interface MeasuredCode extends MeasuredBlock {
45
+ /** Set when a line did not fit the measure as written. */
46
+ fit?: CodeFit;
47
+ /** The numbers' look and the room between them and the code, when the
48
+ * listing is numbered. */
49
+ numbers?: {
50
+ gap: number;
51
+ fontString: string;
52
+ color: string;
53
+ };
54
+ /** The size the listing was set at, px (the code size, or less when it
55
+ * was shrunk). */
56
+ fontSizePx: number;
57
+ }
58
+ export interface CodeLinesInput {
59
+ block: ContentBlock;
60
+ /** The code's size and leading (the listing box's body style). */
61
+ fontSizePx: number;
62
+ lineHeightPx: number;
63
+ /** The listing's colour (hex). */
64
+ color: string;
65
+ /** The measure, px. */
66
+ measure: number;
67
+ resolved: ResolvedConfig;
68
+ /** Source offset of the markdown body inside the document. */
69
+ bodyOffset: number;
70
+ /** The frame runs right to left (a mirrored page): the lines keep their
71
+ * left-to-right order and are set from the frame's far side. */
72
+ mirrored?: boolean;
73
+ }
74
+ /** Lay a listing out (see the module comment). */
75
+ export declare function measureCodeLines(input: CodeLinesInput): MeasuredCode;
76
+ /**
77
+ * The line numbers of the listings of `doc` (#624), in each page's
78
+ * `lineNumbers` slot beside any the margin numbers set there (#621): each
79
+ * right-aligned against the end of its listing's gutter, on its line's
80
+ * baseline, an artifact out of the text (the slot's numbers are hidden
81
+ * from assistive technology, left out of a selection, and painted under an
82
+ * empty `/ActualText` in a tagged PDF). Vertical pages get none.
83
+ */
84
+ export declare function buildCodeLineNumbers(doc: VDTDocument): void;
85
+ /** A `codeOverflow` warning for each listing (by content index) one of
86
+ * whose lines did not fit its measure as written (#624). */
87
+ export declare function codeOverflowWarnings(doc: VDTDocument): ContentWarning[];
88
+ /** The plain text of a listing's lines as written (a continuation joins
89
+ * its line, a line feed ends each source line). */
90
+ export declare function codeLinesText(lines: readonly VDTLine[]): string;
91
+ //# sourceMappingURL=codeLines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeLines.d.ts","sourceRoot":"","sources":["../../src/pipeline/codeLines.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAiB,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAqD,KAAK,cAAc,EAA0C,KAAK,WAAW,EAAE,KAAK,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClN,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAShD,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC;AASD;mDACmD;AACnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAUrE;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,uBAAuB,GAAG,iBAAiB,CAUrG;AAoCD,0DAA0D;AAC1D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACjC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd;wBACoB;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,0DAA0D;IAC1D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;+BAC2B;IAC3B,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D;uBACmB;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB;qEACiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CAsOpE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAwC3D;AAED;6DAC6D;AAC7D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,EAAE,CAoBvE;AAED;oDACoD;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAO/D"}
@@ -0,0 +1,399 @@
1
+ /**
2
+ * Code listings line by line (#624): a `code` block (a ```` ``` ```` or
3
+ * `~~~` fence, or indented code) is set one line per source line, as
4
+ * written. No Knuth–Plass, no hyphenation, no justification, no runt or
5
+ * tracking levers: every character keeps its advance in the code face, a
6
+ * run of spaces its width, and a tab goes on to the next multiple of
7
+ * `codeStyle.tabSize` character cells (a tab segment, `\t`, so copied text
8
+ * keeps it). A line wider than the measure is turned over, set smaller or
9
+ * cut (`codeStyle.overflow`). Line numbers stand in a gutter before the
10
+ * code, out of the text (the page's `lineNumbers` slot, see
11
+ * {@link buildCodeLineNumbers}).
12
+ *
13
+ * The lines are built segment by segment here, not by the paragraph
14
+ * breaker, which collapses and trims spaces. Each segment carries its face
15
+ * (`fontString`) and, when a token kind or a highlighter gives one, its
16
+ * colour; the segments' widths are final, from the line's box (`bbox.x`).
17
+ */
18
+ import { createBoundingBox, flowRectToPage, pageIsVertical } from '../vdt';
19
+ import { buildFontString } from '../measure';
20
+ import { measureTextWidth } from '../measure/canvas';
21
+ import { graphemesOf } from '../measure/graphemes';
22
+ import { lineBaselineOffset } from '../measure/vertical';
23
+ import { dimensionToPx } from '../units';
24
+ import { resolvedCodeStyle } from '../defaults/codeStyle';
25
+ import { highlightCode } from '../code/highlight';
26
+ /** A flag attribute: present and not `false` / `no` / `0`. */
27
+ function flagAttr(value) {
28
+ if (value === undefined)
29
+ return undefined;
30
+ const v = value.trim().toLowerCase();
31
+ return v !== 'false' && v !== 'no' && v !== '0' && v !== 'off';
32
+ }
33
+ /** `highlight="3,5-7"`: the line numbers it names (1-based, from the
34
+ * listing's first line whatever `start` says). */
35
+ export function highlightLines(value) {
36
+ const out = new Set();
37
+ for (const part of (value ?? '').split(/[,\s]+/)) {
38
+ const m = /^(\d+)(?:-(\d+))?$/.exec(part.trim());
39
+ if (!m)
40
+ continue;
41
+ const a = Number(m[1]);
42
+ const b = m[2] !== undefined ? Number(m[2]) : a;
43
+ for (let n = Math.min(a, b); n <= Math.max(a, b) && n - Math.min(a, b) < 10_000; n++)
44
+ out.add(n);
45
+ }
46
+ return out;
47
+ }
48
+ /** The settings a fence's attributes give its listing. */
49
+ export function codeFenceSettings(block, cs) {
50
+ const attrs = block.code?.attrs ?? {};
51
+ const start = /^\s*-?\d+\s*$/.test(attrs.start ?? '') ? Number(attrs.start) : undefined;
52
+ const numbered = flagAttr(attrs.lineNumbers ?? attrs.linenumbers ?? attrs.numbered);
53
+ return {
54
+ // `start=N` numbers a listing on its own.
55
+ lineNumbers: numbered ?? (start !== undefined ? true : cs.lineNumbers),
56
+ start: start ?? 1,
57
+ highlight: highlightLines(attrs.highlight),
58
+ };
59
+ }
60
+ /** East Asian wide and full-width characters: two cells of a grid of
61
+ * character cells (tab stops count them so). */
62
+ const WIDE_RE = /[ᄀ-ᅟ⺀-〾ぁ-㏿㐀-䶿一-鿿ꀀ-꓏가-힣豈-﫿︰-﹏＀-⦆¢-₩]|[\uD840-\uD87F][\uDC00-\uDFFF]/;
63
+ function facesAt(cs, sizePx) {
64
+ const w = cs.fontWeight.toString();
65
+ const b = cs.boldFontWeight.toString();
66
+ return {
67
+ normal: buildFontString(cs.fontFamily, sizePx, w, 'normal'),
68
+ bold: buildFontString(cs.fontFamily, sizePx, b, 'normal'),
69
+ italic: buildFontString(cs.fontFamily, sizePx, w, 'italic'),
70
+ boldItalic: buildFontString(cs.fontFamily, sizePx, b, 'italic'),
71
+ };
72
+ }
73
+ /** Lay a listing out (see the module comment). */
74
+ export function measureCodeLines(input) {
75
+ const { block, resolved } = input;
76
+ const cs = resolvedCodeStyle(resolved);
77
+ const info = block.code;
78
+ if (!info || info.lines.length === 0)
79
+ return { lines: [], totalHeight: 0, fontSizePx: input.fontSizePx };
80
+ const dpi = resolved.page.dpi;
81
+ const fence = codeFenceSettings(block, cs);
82
+ const tokens = highlightCode(info.lines.join('\n'), info.lang, cs.highlight === 'builtin');
83
+ const lineHeight = input.lineHeightPx;
84
+ /** The runs of every line at one size. */
85
+ const runsAt = (faces) => info.lines.map((line, k) => {
86
+ const pieces = tokens?.[k] ?? (line.length > 0 ? [{ text: line }] : []);
87
+ const runs = [];
88
+ let col = 0;
89
+ for (const piece of pieces) {
90
+ const kind = piece.token;
91
+ const look = kind ? cs.tokens[kind] : undefined;
92
+ const bold = look?.bold === true;
93
+ const italic = look?.italic === true;
94
+ const font = bold ? (italic ? faces.boldItalic : faces.bold) : italic ? faces.italic : faces.normal;
95
+ const color = piece.color ?? look?.color?.hex;
96
+ let text = '';
97
+ const flush = () => {
98
+ if (text.length === 0)
99
+ return;
100
+ runs.push({ text, font, ...(color ? { color } : {}), ...(bold ? { bold: true } : {}), ...(italic ? { italic: true } : {}), width: measureTextWidth(text, font) });
101
+ text = '';
102
+ };
103
+ for (const ch of graphemesOf(piece.text)) {
104
+ if (ch === '\t') {
105
+ flush();
106
+ const cells = cs.tabSize - (col % cs.tabSize);
107
+ runs.push({ text: '\t', font: faces.normal, tab: cells, width: cells * measureTextWidth(' ', faces.normal) });
108
+ col += cells;
109
+ }
110
+ else {
111
+ text += ch;
112
+ col += WIDE_RE.test(ch) ? 2 : 1;
113
+ }
114
+ }
115
+ flush();
116
+ }
117
+ return runs;
118
+ });
119
+ const widthOf = (runs) => runs.reduce((s, r) => s + r.width, 0);
120
+ /** The gutter of a numbered listing at one size: the widest number and
121
+ * the gap after it. */
122
+ const lastNumber = fence.start + info.lines.length - 1;
123
+ const numberWidth = (faces) => (fence.lineNumbers ? measureTextWidth(String(Math.max(Math.abs(fence.start), Math.abs(lastNumber))).replace(/\d/g, '0') + (fence.start < 0 ? '-' : ''), faces.normal) : 0);
124
+ const gutterAt = (faces, sizePx) => (fence.lineNumbers ? numberWidth(faces) + Math.max(0, dimensionToPx(cs.lineNumberGap, dpi, sizePx)) : 0);
125
+ // The size the listing is set at: its own, or for `shrink` the largest
126
+ // (down to `minFontScale`) at which its widest line fits.
127
+ let sizePx = input.fontSizePx;
128
+ let faces = facesAt(cs, sizePx);
129
+ let rows = runsAt(faces);
130
+ let gutter = gutterAt(faces, sizePx);
131
+ const widest = Math.max(...rows.map(widthOf));
132
+ const tooWide = rows.filter((r) => gutter + widthOf(r) > input.measure + 0.01).length;
133
+ let scale = 1;
134
+ if (tooWide > 0 && cs.overflow === 'shrink') {
135
+ const fit = Math.max(cs.minFontScale, Math.min(1, input.measure / (gutter + widest)));
136
+ scale = Math.floor(fit * 1000) / 1000;
137
+ sizePx = input.fontSizePx * scale;
138
+ faces = facesAt(cs, sizePx);
139
+ rows = runsAt(faces);
140
+ gutter = gutterAt(faces, sizePx);
141
+ }
142
+ const measure = Math.max(1, input.measure - gutter);
143
+ // What still does not fit wraps (`wrap`, and `shrink` past its floor) or
144
+ // is cut (`clip`).
145
+ const cut = cs.overflow === 'clip';
146
+ const cell = measureTextWidth(' ', faces.normal);
147
+ const marker = cs.wrapMarker;
148
+ const markerWidth = marker ? measureTextWidth(marker, faces.normal) : 0;
149
+ const hang = Math.min(measure / 2, Math.max(cs.wrapIndent * cell, markerWidth > 0 ? markerWidth + cell / 2 : 0));
150
+ const baselineOffset = lineBaselineOffset(lineHeight, faces.normal);
151
+ const lines = [];
152
+ let plainAt = 0;
153
+ /** A run's segment. */
154
+ const segmentOf = (run, text = run.text, width = run.width) => (run.tab !== undefined
155
+ ? { kind: 'space', text: '\t', width, labelTab: true, fontString: run.font }
156
+ : {
157
+ kind: 'text',
158
+ text,
159
+ width,
160
+ fontString: run.font,
161
+ ...(run.color ? { color: run.color } : {}),
162
+ ...(run.bold ? { bold: true } : {}),
163
+ ...(run.italic ? { italic: true } : {}),
164
+ });
165
+ const push = (segments, x, k, plainStart, plainEnd, flags) => {
166
+ const y = lines.length * lineHeight;
167
+ const width = segments.reduce((s, seg) => s + seg.width, 0);
168
+ const text = segments.filter((s) => !s.inserted && !s.leader).map((s) => s.text).join('');
169
+ const map = block.sourceMap;
170
+ const src = (p, end) => {
171
+ if (map.length === 0)
172
+ return block.sourceStart + input.bodyOffset;
173
+ if (end)
174
+ return p > 0 ? map[Math.min(p, map.length) - 1] + 1 + input.bodyOffset : (map[0] ?? block.sourceStart) + input.bodyOffset;
175
+ return (p < map.length ? map[p] : map[map.length - 1] + 1) + input.bodyOffset;
176
+ };
177
+ // A blank line still spans its line end, so the editor can map it.
178
+ const sourceStart = plainStart < map.length ? src(plainStart, false) : (info.lineStarts[k] ?? block.sourceStart) + input.bodyOffset;
179
+ const sourceEnd = plainEnd > plainStart ? src(plainEnd, true) : sourceStart;
180
+ const line = {
181
+ text,
182
+ bbox: createBoundingBox(x, y, width, lineHeight),
183
+ baseline: y + baselineOffset,
184
+ hyphenated: false,
185
+ segments,
186
+ isLastLine: true,
187
+ ragged: true,
188
+ plainStart,
189
+ plainEnd,
190
+ sourceStart,
191
+ sourceEnd,
192
+ codeLine: { line: k, ...flags },
193
+ };
194
+ // Set from the far side of a mirrored frame, as a left-to-right
195
+ // quotation in a right-to-left book is: its span the measure.
196
+ if (input.mirrored) {
197
+ line.measure = { x: 0, width: measure };
198
+ line.bbox.x = 0;
199
+ }
200
+ lines.push(line);
201
+ };
202
+ rows.forEach((runs, k) => {
203
+ const n = fence.start + k;
204
+ const flags = {
205
+ ...(fence.lineNumbers ? { number: String(n) } : {}),
206
+ ...(fence.highlight.has(k + 1) ? { highlight: true } : {}),
207
+ };
208
+ const lineLength = info.lines[k].length;
209
+ const lineStart = plainAt;
210
+ plainAt += lineLength + 1;
211
+ if (widthOf(runs) <= measure + 0.01) {
212
+ push(runs.map((r) => segmentOf(r)), gutter, k, lineStart, lineStart + lineLength, flags);
213
+ return;
214
+ }
215
+ const cells = [];
216
+ let at = lineStart;
217
+ for (const run of runs) {
218
+ if (run.tab !== undefined) {
219
+ cells.push({ run, text: '\t', width: run.width, at });
220
+ at += 1;
221
+ continue;
222
+ }
223
+ for (const g of graphemesOf(run.text)) {
224
+ cells.push({ run, text: g, width: measureTextWidth(g, run.font), at });
225
+ at += g.length;
226
+ }
227
+ }
228
+ /** Segments for cells `[a, b)`: consecutive cells of one run make one
229
+ * segment, measured whole. */
230
+ const segmentsOf = (a, b) => {
231
+ const out = [];
232
+ let i = a;
233
+ while (i < b) {
234
+ const run = cells[i].run;
235
+ let j = i;
236
+ let text = '';
237
+ while (j < b && cells[j].run === run)
238
+ text += cells[j++].text;
239
+ out.push(run.tab !== undefined ? segmentOf(run) : segmentOf(run, text, measureTextWidth(text, run.font)));
240
+ i = j;
241
+ }
242
+ return out;
243
+ };
244
+ if (cut) {
245
+ let w = 0;
246
+ let b = 0;
247
+ while (b < cells.length && w + cells[b].width <= measure + 0.01)
248
+ w += cells[b++].width;
249
+ const end = b < cells.length ? cells[b].at : lineStart + lineLength;
250
+ push(segmentsOf(0, b), gutter, k, lineStart, end, { ...flags, clipped: true });
251
+ return;
252
+ }
253
+ // Turned over: break after the last space or punctuation that fits,
254
+ // else between two characters; the continuations hang by `wrapIndent`
255
+ // cells behind the marker.
256
+ let a = 0;
257
+ let first = true;
258
+ while (a < cells.length) {
259
+ const room = first ? measure : Math.max(cell, measure - hang);
260
+ let w = 0;
261
+ let b = a;
262
+ while (b < cells.length && w + cells[b].width <= room + 0.01)
263
+ w += cells[b++].width;
264
+ if (b === a)
265
+ b = a + 1; // a character wider than the room still goes
266
+ if (b < cells.length) {
267
+ let brk = -1;
268
+ for (let i = b; i > a; i--) {
269
+ if (/[\s,;.:)\]}>/\\\-=+*|&!?]/.test(cells[i - 1].text) && !/\s/.test(cells[i]?.text ?? '')) {
270
+ brk = i;
271
+ break;
272
+ }
273
+ }
274
+ if (brk > a)
275
+ b = brk;
276
+ }
277
+ const segments = segmentsOf(a, b);
278
+ const startAt = cells[a].at;
279
+ const endAt = b < cells.length ? cells[b].at : lineStart + lineLength;
280
+ const more = b < cells.length;
281
+ if (first) {
282
+ push(segments, gutter, k, startAt, endAt, { ...flags, ...(more ? { wrapped: true } : {}) });
283
+ }
284
+ else {
285
+ // The marker in the hang, before the text: no character of it (a
286
+ // leader: out of the copied text, an artifact in a tagged PDF).
287
+ const lead = marker
288
+ ? [{ kind: 'text', text: marker, width: hang, inserted: true, leader: 'text', fontString: faces.normal, color: cs.lineNumberColor.hex }]
289
+ : [{ kind: 'text', text: '', width: hang, inserted: true }];
290
+ const { highlight } = flags;
291
+ push([...lead, ...segments], gutter, k, startAt, endAt, { continued: true, ...(highlight ? { highlight } : {}), ...(more ? { wrapped: true } : {}) });
292
+ }
293
+ first = false;
294
+ a = b;
295
+ }
296
+ });
297
+ if (lines.length === 0)
298
+ return { lines: [], totalHeight: 0, fontSizePx: sizePx };
299
+ const fit = tooWide > 0 ? { mode: cs.overflow, lines: tooWide, scale } : undefined;
300
+ return {
301
+ lines,
302
+ totalHeight: lines.length * lineHeight,
303
+ fontSizePx: sizePx,
304
+ ...(fit ? { fit } : {}),
305
+ ...(fence.lineNumbers ? { numbers: { gap: Math.max(0, dimensionToPx(cs.lineNumberGap, dpi, sizePx)), fontString: faces.normal, color: cs.lineNumberColor.hex } } : {}),
306
+ };
307
+ }
308
+ /**
309
+ * The line numbers of the listings of `doc` (#624), in each page's
310
+ * `lineNumbers` slot beside any the margin numbers set there (#621): each
311
+ * right-aligned against the end of its listing's gutter, on its line's
312
+ * baseline, an artifact out of the text (the slot's numbers are hidden
313
+ * from assistive technology, left out of a selection, and painted under an
314
+ * empty `/ActualText` in a tagged PDF). Vertical pages get none.
315
+ */
316
+ export function buildCodeLineNumbers(doc) {
317
+ for (const page of doc.pages) {
318
+ if (pageIsVertical(page))
319
+ continue;
320
+ const blocks = [];
321
+ const visit = (block) => {
322
+ const numbers = block.type === 'code' ? block.code?.numbers : undefined;
323
+ if (!numbers)
324
+ return;
325
+ for (const line of block.lines) {
326
+ const label = line.codeLine?.number;
327
+ if (label === undefined)
328
+ continue;
329
+ const w = measureTextWidth(label, numbers.fontString);
330
+ const size = /(\d*\.?\d+)px/.exec(numbers.fontString);
331
+ const sizePx = size ? parseFloat(size[1]) : 12;
332
+ // Where the line's code starts on the sheet: its box's left edge,
333
+ // or that of the span it is set in on a mirrored page (#370).
334
+ const span = line.measure ?? { x: line.bbox.x, width: line.bbox.width };
335
+ const sheet = flowRectToPage(page, createBoundingBox(span.x, line.bbox.y, Math.max(0, span.width), line.bbox.height));
336
+ const right = sheet.x - numbers.gap;
337
+ const baseline = sheet.y + (line.baseline - line.bbox.y);
338
+ blocks.push({
339
+ kind: 'text',
340
+ bbox: createBoundingBox(right - w, baseline - sizePx * 0.8, w, sizePx),
341
+ fontString: numbers.fontString,
342
+ color: numbers.color,
343
+ lines: [{ text: label, xOffset: 0, baselineY: baseline, width: w }],
344
+ clip: false,
345
+ artifact: true,
346
+ });
347
+ }
348
+ };
349
+ for (const column of page.columns)
350
+ for (const block of column.blocks)
351
+ visit(block);
352
+ for (const block of page.floats ?? [])
353
+ visit(block);
354
+ if (blocks.length === 0)
355
+ continue;
356
+ const all = [...(page.lineNumbers?.blocks ?? []), ...blocks];
357
+ const left = Math.min(...all.map((b) => b.bbox.x));
358
+ const top = Math.min(...all.map((b) => b.bbox.y));
359
+ const right = Math.max(...all.map((b) => b.bbox.x + b.bbox.width));
360
+ const bottom = Math.max(...all.map((b) => b.bbox.y + b.bbox.height));
361
+ page.lineNumbers = { bbox: createBoundingBox(left, top, right - left, bottom - top), blocks: all };
362
+ }
363
+ }
364
+ /** A `codeOverflow` warning for each listing (by content index) one of
365
+ * whose lines did not fit its measure as written (#624). */
366
+ export function codeOverflowWarnings(doc) {
367
+ const out = [];
368
+ const seen = new Set();
369
+ for (const block of doc.blocks) {
370
+ const fit = block.code?.fit;
371
+ const idx = block.contentIndex;
372
+ if (block.type !== 'code' || !fit || idx === undefined || seen.has(idx))
373
+ continue;
374
+ seen.add(idx);
375
+ out.push({
376
+ kind: 'codeOverflow',
377
+ mode: fit.mode,
378
+ lines: fit.lines,
379
+ ...(fit.mode === 'shrink' ? { scale: fit.scale } : {}),
380
+ ...(block.code?.lang ? { lang: block.code.lang } : {}),
381
+ ...(block.sourceStart !== undefined ? { sourceStart: block.sourceStart } : {}),
382
+ ...(block.sourceEnd !== undefined ? { sourceEnd: block.sourceEnd } : {}),
383
+ ...(block.pageIndex >= 0 ? { pageIndex: block.pageIndex } : {}),
384
+ });
385
+ }
386
+ return out;
387
+ }
388
+ /** The plain text of a listing's lines as written (a continuation joins
389
+ * its line, a line feed ends each source line). */
390
+ export function codeLinesText(lines) {
391
+ let out = '';
392
+ lines.forEach((line, i) => {
393
+ if (i > 0 && !line.codeLine?.continued)
394
+ out += '\n';
395
+ out += line.text;
396
+ });
397
+ return out;
398
+ }
399
+ //# sourceMappingURL=codeLines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeLines.js","sourceRoot":"","sources":["../../src/pipeline/codeLines.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"columnBalancing.d.ts","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnBalancing.d.ts","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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"}