postext 1.22.2 → 1.23.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 (288) hide show
  1. package/dist/__tests__/bundle.test.js +1 -1
  2. package/dist/__tests__/codeBlocks.test.d.ts +2 -0
  3. package/dist/__tests__/codeBlocks.test.d.ts.map +1 -0
  4. package/dist/__tests__/codeBlocks.test.js +550 -0
  5. package/dist/__tests__/codeBlocks.test.js.map +1 -0
  6. package/dist/__tests__/exports.test.js +19 -0
  7. package/dist/__tests__/exports.test.js.map +1 -1
  8. package/dist/__tests__/hardBreaks.test.d.ts +2 -0
  9. package/dist/__tests__/hardBreaks.test.d.ts.map +1 -0
  10. package/dist/__tests__/hardBreaks.test.js +226 -0
  11. package/dist/__tests__/hardBreaks.test.js.map +1 -0
  12. package/dist/__tests__/headingInlineMarks.test.js +1 -1
  13. package/dist/__tests__/headingLetterSpacing.test.js +1 -1
  14. package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
  15. package/dist/__tests__/lineNumbers.test.d.ts +2 -0
  16. package/dist/__tests__/lineNumbers.test.d.ts.map +1 -0
  17. package/dist/__tests__/lineNumbers.test.js +304 -0
  18. package/dist/__tests__/lineNumbers.test.js.map +1 -0
  19. package/dist/__tests__/mathSizeMigration.test.js +2 -2
  20. package/dist/__tests__/paragraphDropCap.test.d.ts +2 -0
  21. package/dist/__tests__/paragraphDropCap.test.d.ts.map +1 -0
  22. package/dist/__tests__/paragraphDropCap.test.js +442 -0
  23. package/dist/__tests__/paragraphDropCap.test.js.map +1 -0
  24. package/dist/__tests__/paragraphStyleIndent.test.js +26 -2
  25. package/dist/__tests__/paragraphStyleIndent.test.js.map +1 -1
  26. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
  27. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
  28. package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
  29. package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
  30. package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
  31. package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
  32. package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
  33. package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
  34. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js +7 -1
  35. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js.map +1 -1
  36. package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
  37. package/dist/__tests__/tabStops.test.d.ts +2 -0
  38. package/dist/__tests__/tabStops.test.d.ts.map +1 -0
  39. package/dist/__tests__/tabStops.test.js +394 -0
  40. package/dist/__tests__/tabStops.test.js.map +1 -0
  41. package/dist/__tests__/verseLines.test.d.ts +2 -0
  42. package/dist/__tests__/verseLines.test.d.ts.map +1 -0
  43. package/dist/__tests__/verseLines.test.js +375 -0
  44. package/dist/__tests__/verseLines.test.js.map +1 -0
  45. package/dist/bundle/configVersion.d.ts +77 -7
  46. package/dist/bundle/configVersion.d.ts.map +1 -1
  47. package/dist/bundle/configVersion.js +239 -5
  48. package/dist/bundle/configVersion.js.map +1 -1
  49. package/dist/bundle/index.d.ts +1 -1
  50. package/dist/bundle/index.d.ts.map +1 -1
  51. package/dist/bundle/index.js +1 -1
  52. package/dist/bundle/index.js.map +1 -1
  53. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  54. package/dist/canvas-backend/blockRender.js +39 -5
  55. package/dist/canvas-backend/blockRender.js.map +1 -1
  56. package/dist/canvas-backend/index.d.ts.map +1 -1
  57. package/dist/canvas-backend/index.js +3 -0
  58. package/dist/canvas-backend/index.js.map +1 -1
  59. package/dist/cjkMarks.js +1 -1
  60. package/dist/cjkMarks.js.map +1 -1
  61. package/dist/code/highlight.d.ts +34 -0
  62. package/dist/code/highlight.d.ts.map +1 -0
  63. package/dist/code/highlight.js +406 -0
  64. package/dist/code/highlight.js.map +1 -0
  65. package/dist/configWarnings.d.ts.map +1 -1
  66. package/dist/configWarnings.js +192 -3
  67. package/dist/configWarnings.js.map +1 -1
  68. package/dist/defaults/bodyText.d.ts.map +1 -1
  69. package/dist/defaults/bodyText.js +25 -0
  70. package/dist/defaults/bodyText.js.map +1 -1
  71. package/dist/defaults/calloutStyles.d.ts.map +1 -1
  72. package/dist/defaults/calloutStyles.js +7 -0
  73. package/dist/defaults/calloutStyles.js.map +1 -1
  74. package/dist/defaults/codeStyle.d.ts +29 -0
  75. package/dist/defaults/codeStyle.d.ts.map +1 -0
  76. package/dist/defaults/codeStyle.js +284 -0
  77. package/dist/defaults/codeStyle.js.map +1 -0
  78. package/dist/defaults/dropCap.d.ts +49 -0
  79. package/dist/defaults/dropCap.d.ts.map +1 -0
  80. package/dist/defaults/dropCap.js +66 -0
  81. package/dist/defaults/dropCap.js.map +1 -0
  82. package/dist/defaults/headings.d.ts +1 -1
  83. package/dist/defaults/headings.d.ts.map +1 -1
  84. package/dist/defaults/headings.js +11 -0
  85. package/dist/defaults/headings.js.map +1 -1
  86. package/dist/defaults/index.d.ts +3 -0
  87. package/dist/defaults/index.d.ts.map +1 -1
  88. package/dist/defaults/index.js +19 -0
  89. package/dist/defaults/index.js.map +1 -1
  90. package/dist/defaults/lineNumbers.d.ts +19 -0
  91. package/dist/defaults/lineNumbers.d.ts.map +1 -0
  92. package/dist/defaults/lineNumbers.js +101 -0
  93. package/dist/defaults/lineNumbers.js.map +1 -0
  94. package/dist/defaults/paragraphStyles.d.ts.map +1 -1
  95. package/dist/defaults/paragraphStyles.js +20 -0
  96. package/dist/defaults/paragraphStyles.js.map +1 -1
  97. package/dist/defaults/tabStops.d.ts +29 -0
  98. package/dist/defaults/tabStops.d.ts.map +1 -0
  99. package/dist/defaults/tabStops.js +94 -0
  100. package/dist/defaults/tabStops.js.map +1 -0
  101. package/dist/defaults/verse.d.ts +10 -0
  102. package/dist/defaults/verse.d.ts.map +1 -0
  103. package/dist/defaults/verse.js +52 -0
  104. package/dist/defaults/verse.js.map +1 -0
  105. package/dist/fonts/usage.d.ts +7 -0
  106. package/dist/fonts/usage.d.ts.map +1 -1
  107. package/dist/fonts/usage.js +71 -0
  108. package/dist/fonts/usage.js.map +1 -1
  109. package/dist/html-backend.d.ts.map +1 -1
  110. package/dist/html-backend.js +85 -11
  111. package/dist/html-backend.js.map +1 -1
  112. package/dist/index.d.ts +8 -5
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +4 -2
  115. package/dist/index.js.map +1 -1
  116. package/dist/measure/bidiLines.js +2 -2
  117. package/dist/measure/bidiLines.js.map +1 -1
  118. package/dist/measure/cache.js +2 -2
  119. package/dist/measure/cache.js.map +1 -1
  120. package/dist/measure/cjkCompose.d.ts.map +1 -1
  121. package/dist/measure/cjkCompose.js +5 -5
  122. package/dist/measure/cjkCompose.js.map +1 -1
  123. package/dist/measure/hardBreaks.d.ts +46 -0
  124. package/dist/measure/hardBreaks.d.ts.map +1 -0
  125. package/dist/measure/hardBreaks.js +216 -0
  126. package/dist/measure/hardBreaks.js.map +1 -0
  127. package/dist/measure/index.d.ts +1 -0
  128. package/dist/measure/index.d.ts.map +1 -1
  129. package/dist/measure/index.js +1 -0
  130. package/dist/measure/index.js.map +1 -1
  131. package/dist/measure/leader.d.ts +20 -0
  132. package/dist/measure/leader.d.ts.map +1 -0
  133. package/dist/measure/leader.js +46 -0
  134. package/dist/measure/leader.js.map +1 -0
  135. package/dist/measure/links.js +1 -1
  136. package/dist/measure/links.js.map +1 -1
  137. package/dist/measure/plain.d.ts.map +1 -1
  138. package/dist/measure/plain.js +18 -25
  139. package/dist/measure/plain.js.map +1 -1
  140. package/dist/measure/rich.d.ts +19 -0
  141. package/dist/measure/rich.d.ts.map +1 -1
  142. package/dist/measure/rich.js +211 -38
  143. package/dist/measure/rich.js.map +1 -1
  144. package/dist/measure/tabs.d.ts +103 -0
  145. package/dist/measure/tabs.d.ts.map +1 -0
  146. package/dist/measure/tabs.js +123 -0
  147. package/dist/measure/tabs.js.map +1 -0
  148. package/dist/measure/types.d.ts +26 -2
  149. package/dist/measure/types.d.ts.map +1 -1
  150. package/dist/measure/types.js +23 -3
  151. package/dist/measure/types.js.map +1 -1
  152. package/dist/parse/blockParser.d.ts +13 -6
  153. package/dist/parse/blockParser.d.ts.map +1 -1
  154. package/dist/parse/blockParser.js +457 -87
  155. package/dist/parse/blockParser.js.map +1 -1
  156. package/dist/parse/codeFence.d.ts +18 -0
  157. package/dist/parse/codeFence.d.ts.map +1 -0
  158. package/dist/parse/codeFence.js +52 -0
  159. package/dist/parse/codeFence.js.map +1 -0
  160. package/dist/parse/index.d.ts +1 -1
  161. package/dist/parse/index.d.ts.map +1 -1
  162. package/dist/parse/index.js.map +1 -1
  163. package/dist/parse/indexMarks.d.ts +3 -1
  164. package/dist/parse/indexMarks.d.ts.map +1 -1
  165. package/dist/parse/indexMarks.js +22 -2
  166. package/dist/parse/indexMarks.js.map +1 -1
  167. package/dist/parse/inlineFormatting.d.ts +50 -0
  168. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  169. package/dist/parse/inlineFormatting.js +94 -0
  170. package/dist/parse/inlineFormatting.js.map +1 -1
  171. package/dist/parse/sourceMapping.d.ts.map +1 -1
  172. package/dist/parse/sourceMapping.js +65 -1
  173. package/dist/parse/sourceMapping.js.map +1 -1
  174. package/dist/parse/types.d.ts +144 -9
  175. package/dist/parse/types.d.ts.map +1 -1
  176. package/dist/pipeline/build.d.ts.map +1 -1
  177. package/dist/pipeline/build.js +143 -18
  178. package/dist/pipeline/build.js.map +1 -1
  179. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  180. package/dist/pipeline/buildBlockKind.js +60 -1
  181. package/dist/pipeline/buildBlockKind.js.map +1 -1
  182. package/dist/pipeline/buildHelpers.d.ts +3 -0
  183. package/dist/pipeline/buildHelpers.d.ts.map +1 -1
  184. package/dist/pipeline/buildHelpers.js +7 -2
  185. package/dist/pipeline/buildHelpers.js.map +1 -1
  186. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  187. package/dist/pipeline/calloutLayout.js +33 -2
  188. package/dist/pipeline/calloutLayout.js.map +1 -1
  189. package/dist/pipeline/chips.d.ts.map +1 -1
  190. package/dist/pipeline/chips.js +4 -0
  191. package/dist/pipeline/chips.js.map +1 -1
  192. package/dist/pipeline/codeBlocks.d.ts +38 -0
  193. package/dist/pipeline/codeBlocks.d.ts.map +1 -0
  194. package/dist/pipeline/codeBlocks.js +146 -0
  195. package/dist/pipeline/codeBlocks.js.map +1 -0
  196. package/dist/pipeline/codeInline.d.ts +22 -0
  197. package/dist/pipeline/codeInline.d.ts.map +1 -0
  198. package/dist/pipeline/codeInline.js +93 -0
  199. package/dist/pipeline/codeInline.js.map +1 -0
  200. package/dist/pipeline/codeLines.d.ts +91 -0
  201. package/dist/pipeline/codeLines.d.ts.map +1 -0
  202. package/dist/pipeline/codeLines.js +399 -0
  203. package/dist/pipeline/codeLines.js.map +1 -0
  204. package/dist/pipeline/config.d.ts.map +1 -1
  205. package/dist/pipeline/config.js +8 -1
  206. package/dist/pipeline/config.js.map +1 -1
  207. package/dist/pipeline/contentWarnings.d.ts +9 -0
  208. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  209. package/dist/pipeline/contentWarnings.js +60 -2
  210. package/dist/pipeline/contentWarnings.js.map +1 -1
  211. package/dist/pipeline/continuation.d.ts.map +1 -1
  212. package/dist/pipeline/continuation.js +9 -2
  213. package/dist/pipeline/continuation.js.map +1 -1
  214. package/dist/pipeline/dropCap.d.ts +128 -0
  215. package/dist/pipeline/dropCap.d.ts.map +1 -0
  216. package/dist/pipeline/dropCap.js +412 -0
  217. package/dist/pipeline/dropCap.js.map +1 -0
  218. package/dist/pipeline/hardBreaks.d.ts +19 -0
  219. package/dist/pipeline/hardBreaks.d.ts.map +1 -0
  220. package/dist/pipeline/hardBreaks.js +36 -0
  221. package/dist/pipeline/hardBreaks.js.map +1 -0
  222. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  223. package/dist/pipeline/headerFooter.js +4 -1
  224. package/dist/pipeline/headerFooter.js.map +1 -1
  225. package/dist/pipeline/lineNumbers.d.ts +37 -0
  226. package/dist/pipeline/lineNumbers.d.ts.map +1 -0
  227. package/dist/pipeline/lineNumbers.js +441 -0
  228. package/dist/pipeline/lineNumbers.js.map +1 -0
  229. package/dist/pipeline/measureContentBlock.d.ts +31 -5
  230. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  231. package/dist/pipeline/measureContentBlock.js +274 -68
  232. package/dist/pipeline/measureContentBlock.js.map +1 -1
  233. package/dist/pipeline/partPalette.d.ts +1 -1
  234. package/dist/pipeline/partPalette.d.ts.map +1 -1
  235. package/dist/pipeline/partPalette.js +24 -2
  236. package/dist/pipeline/partPalette.js.map +1 -1
  237. package/dist/pipeline/styles.d.ts +18 -2
  238. package/dist/pipeline/styles.d.ts.map +1 -1
  239. package/dist/pipeline/styles.js +15 -3
  240. package/dist/pipeline/styles.js.map +1 -1
  241. package/dist/pipeline/tabs.d.ts +35 -0
  242. package/dist/pipeline/tabs.d.ts.map +1 -0
  243. package/dist/pipeline/tabs.js +99 -0
  244. package/dist/pipeline/tabs.js.map +1 -0
  245. package/dist/pipeline/toc.d.ts.map +1 -1
  246. package/dist/pipeline/toc.js +3 -38
  247. package/dist/pipeline/toc.js.map +1 -1
  248. package/dist/pipeline/verseLines.d.ts +78 -0
  249. package/dist/pipeline/verseLines.d.ts.map +1 -0
  250. package/dist/pipeline/verseLines.js +245 -0
  251. package/dist/pipeline/verseLines.js.map +1 -0
  252. package/dist/preflight.d.ts.map +1 -1
  253. package/dist/preflight.js +1 -0
  254. package/dist/preflight.js.map +1 -1
  255. package/dist/types.d.ts +560 -4
  256. package/dist/types.d.ts.map +1 -1
  257. package/dist/vdt.d.ts +240 -7
  258. package/dist/vdt.d.ts.map +1 -1
  259. package/dist/vdt.js +6 -0
  260. package/dist/vdt.js.map +1 -1
  261. package/dist/word/docxRead.d.ts.map +1 -1
  262. package/dist/word/docxRead.js +15 -0
  263. package/dist/word/docxRead.js.map +1 -1
  264. package/dist/word/inline.d.ts +6 -1
  265. package/dist/word/inline.d.ts.map +1 -1
  266. package/dist/word/inline.js +35 -1
  267. package/dist/word/inline.js.map +1 -1
  268. package/dist/word/model.d.ts +14 -0
  269. package/dist/word/model.d.ts.map +1 -1
  270. package/dist/word/model.js.map +1 -1
  271. package/dist/word/template.d.ts +12 -3
  272. package/dist/word/template.d.ts.map +1 -1
  273. package/dist/word/template.js +13 -3
  274. package/dist/word/template.js.map +1 -1
  275. package/dist/word/toDocx.d.ts.map +1 -1
  276. package/dist/word/toDocx.js +52 -8
  277. package/dist/word/toDocx.js.map +1 -1
  278. package/dist/word/toMarkdown.d.ts +5 -1
  279. package/dist/word/toMarkdown.d.ts.map +1 -1
  280. package/dist/word/toMarkdown.js +117 -6
  281. package/dist/word/toMarkdown.js.map +1 -1
  282. package/dist/word/word.test.js +124 -2
  283. package/dist/word/word.test.js.map +1 -1
  284. package/dist/worker/fonts.d.ts +2 -1
  285. package/dist/worker/fonts.d.ts.map +1 -1
  286. package/dist/worker/fonts.js +6 -2
  287. package/dist/worker/fonts.js.map +1 -1
  288. package/package.json +1 -1
@@ -8,9 +8,11 @@ import { DEFAULT_TEXT_ELEMENT, resolveDesignLineHeight } from '../defaults/heade
8
8
  import { DEFAULT_PAGE_CONFIG } from '../defaults/page';
9
9
  import { dimensionToPx } from '../units';
10
10
  import { KNOWN_CONTAINERS } from '../parse/blockParser';
11
+ import { codeFenceOpen } from '../parse/codeFence';
11
12
  /**
12
- * The configuration rules this engine writes: 8 since postext 1.5. Thirteen
13
- * rules changed in that release, and a configuration stored under an older
13
+ * The configuration rules this engine writes: 9 since #620 (8 from postext
14
+ * 1.5). Thirteen rules changed in 1.5 and two since, and a configuration
15
+ * stored under an older
14
16
  * number (or none) is read through {@link migrateConfig}:
15
17
  * - 3: a heading level's `breakBefore` (and a heading style's) merges field
16
18
  * by field onto the level's default — H1's being `always-odd`
@@ -61,6 +63,22 @@ import { KNOWN_CONTAINERS } from '../parse/blockParser';
61
63
  * paragraph (`bodyText.breakAfterHyphens`), where up to 1.4 a justified
62
64
  * paragraph with no inline formatting never broke there ({@link
63
65
  * pinLegacyHyphenBreaks}).
66
+ * - 9 (#620, #624), four rules:
67
+ * - a `:::verse` poem whose fence names no layout and whose lines carry
68
+ * no hemistich separator is set line by line (`bodyText.verse.layout:
69
+ * 'auto'`), where up to 1.22 its lines were single hemistichs centred
70
+ * in the measure ({@link pinLegacyVerseLayout});
71
+ * - a paragraph style that sets `firstLineIndent` itself and a non-zero
72
+ * `hangingIndent` indents its first line by the one and its turnovers
73
+ * by the other, where up to 1.22 the hanging indent replaced the
74
+ * first-line indent ({@link pinLegacyPairedIndents});
75
+ * - a backslash that ends a line of a paragraph, a quotation or a list
76
+ * item, and `\\` in one, is a forced line break
77
+ * (`bodyText.hardLineBreaks`), where up to 1.22 it printed ({@link
78
+ * pinLegacyHardBreaks});
79
+ * - a ```` ``` ```` or `~~~` fence opens a code block (#624,
80
+ * `codeStyle.blocks`), where up to 1.22 its lines were read as
81
+ * Markdown ({@link pinLegacyCodeBlocks}).
64
82
  *
65
83
  * A configuration stored without a version was written for postext 1.4 or
66
84
  * earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
@@ -68,9 +86,11 @@ import { KNOWN_CONTAINERS } from '../parse/blockParser';
68
86
  * inline-gap, version-6, version-7 and version-8 pins, under 4 the
69
87
  * inline-gap, version-6, version-7 and version-8 pins, under 5 the
70
88
  * version-6, version-7 and version-8 pins, under 6 the version-7 and
71
- * version-8 pins, under 7 the version-8 pins.
89
+ * version-8 pins, under 7 the version-8 pins. One stored under 8 was
90
+ * written by postext 1.5 to 1.22 and gets the version-9 pins (which every
91
+ * older one gets too).
72
92
  */
73
- export const CONFIG_VERSION = 8;
93
+ export const CONFIG_VERSION = 9;
74
94
  /** The rules that merge a partial heading break onto its level's. */
75
95
  const HEADING_BREAK_RULES = 3;
76
96
  /** The rules that set a formula's em at the documented size. */
@@ -101,6 +121,16 @@ const PARAGRAPH_CONTAINER_RULES = 8;
101
121
  /** The rules that let Knuth–Plass break after a compound's hyphen in every
102
122
  * paragraph. */
103
123
  const HYPHEN_BREAK_RULES = 8;
124
+ /** The rules that set a poem with no hemistich separator line by line. */
125
+ const VERSE_LAYOUT_RULES = 9;
126
+ /** The rules that pair a paragraph style's own first-line indent with its
127
+ * hanging one. */
128
+ const PAIRED_INDENT_RULES = 9;
129
+ /** The rules that read a backslash ending a line, or `\\`, as a forced line
130
+ * break. */
131
+ const HARD_BREAK_RULES = 9;
132
+ /** The rules that read a code fence as a code block. */
133
+ const CODE_BLOCK_RULES = 9;
104
134
  /** Up to 1.4 a drop cap with no `fontSize` was as tall as the line boxes it
105
135
  * spans divided by this, the share of a letter's size its capitals take. */
106
136
  const CAP_HEIGHT = 0.72;
@@ -390,11 +420,193 @@ function mayHaveCompounds(content) {
390
420
  return COMPOUND_RE.test(content);
391
421
  return content.some((text) => COMPOUND_RE.test(text));
392
422
  }
423
+ /**
424
+ * A configuration written before #620 (postext 1.22 or earlier), pinned to
425
+ * the way it set a `:::verse` poem with no hemistich separator:
426
+ * `bodyText.verse.layout: 'bayt'`, every line a single hemistich centred in
427
+ * the measure, where today such a poem is set line by line. A
428
+ * configuration that names the setting already is returned as it is (the
429
+ * same object).
430
+ */
431
+ export function pinLegacyVerseLayout(config) {
432
+ const bodyText = isRecord(config.bodyText) ? config.bodyText : {};
433
+ const verse = isRecord(bodyText.verse) ? bodyText.verse : {};
434
+ if (verse.layout !== undefined)
435
+ return config;
436
+ return { ...config, bodyText: { ...bodyText, verse: { ...verse, layout: 'bayt' } } };
437
+ }
438
+ /** A `:::verse` fence on a line of its own, its attributes, and the poem's
439
+ * lines up to its closing `:::` (or the end of the text). */
440
+ const VERSE_POEM_RE = /^[^\S\n]*:::[^\S\n]*verse[^\S\n]*(\{[^}\n]*\})?[^\S\n]*\n([\s\S]*?)(?:^[^\S\n]*:::[^\S\n]*$|(?![\s\S]))/gm;
441
+ /** Whether markdown holds a poem the line layout changes: a `:::verse`
442
+ * fence naming no layout over lines with no hemistich separator. */
443
+ function hasPlainPoem(text) {
444
+ if (!text.includes(':::'))
445
+ return false;
446
+ for (const m of text.matchAll(VERSE_POEM_RE)) {
447
+ if (m[1] && /\blayout\s*=/.test(m[1]))
448
+ continue;
449
+ const body = m[2] ?? '';
450
+ if (body.trim() !== '' && !body.includes('||') && !/\s\\\\\s/.test(body))
451
+ return true;
452
+ }
453
+ return false;
454
+ }
455
+ /** Whether markdown may hold such a poem. Unknown content (undefined)
456
+ * may. */
457
+ function mayHavePlainPoems(content) {
458
+ if (content === undefined)
459
+ return true;
460
+ if (typeof content === 'string')
461
+ return hasPlainPoem(content);
462
+ return content.some(hasPlainPoem);
463
+ }
464
+ /**
465
+ * A configuration written before #620 (postext 1.22 or earlier), pinned to
466
+ * the indents of its paragraph styles: a style that sets both
467
+ * `firstLineIndent` and a non-zero `hangingIndent` loses the
468
+ * `firstLineIndent`, which up to 1.22 the hanging indent replaced (today
469
+ * the first line starts at it). The styles of its HTML viewer's overrides
470
+ * are pinned the same way. A configuration with no such style is returned
471
+ * as it is (the same object).
472
+ */
473
+ export function pinLegacyPairedIndents(config) {
474
+ const pinStyles = (styles) => {
475
+ if (!Array.isArray(styles))
476
+ return undefined;
477
+ let changed = false;
478
+ const out = styles.map((s) => {
479
+ if (!isRecord(s) || s.firstLineIndent === undefined || !isRecord(s.hangingIndent))
480
+ return s;
481
+ const hang = s.hangingIndent.value;
482
+ if (typeof hang !== 'number' || !(hang > 0))
483
+ return s;
484
+ changed = true;
485
+ const { firstLineIndent: _first, ...rest } = s;
486
+ void _first;
487
+ return rest;
488
+ });
489
+ return changed ? out : undefined;
490
+ };
491
+ let out = config;
492
+ const own = pinStyles(config.paragraphStyles);
493
+ if (own)
494
+ out = { ...out, paragraphStyles: own };
495
+ const viewer = config.htmlViewer;
496
+ if (isRecord(viewer) && isRecord(viewer.overrides)) {
497
+ const overrides = pinStyles(viewer.overrides.paragraphStyles);
498
+ if (overrides)
499
+ out = { ...out, htmlViewer: { ...viewer, overrides: { ...viewer.overrides, paragraphStyles: overrides } } };
500
+ }
501
+ return out;
502
+ }
393
503
  /** Whether a `textAlign` value sets text ragged (anything but `'justify'`;
394
504
  * an unset one follows the body). */
395
505
  function isRaggedAlign(value) {
396
506
  return typeof value === 'string' && value !== 'justify';
397
507
  }
508
+ /**
509
+ * A configuration written before #620 (postext 1.22 or earlier), pinned to
510
+ * the way it read a backslash that ends a line of a paragraph, a quotation
511
+ * or a list item, and `\\` in one: `bodyText.hardLineBreaks: false`, the
512
+ * backslashes printed and the lines joined with a space, where today they
513
+ * are forced line breaks. A configuration that names the setting already
514
+ * is returned as it is (the same object).
515
+ */
516
+ export function pinLegacyHardBreaks(config) {
517
+ const bodyText = isRecord(config.bodyText) ? config.bodyText : {};
518
+ if (bodyText.hardLineBreaks !== undefined)
519
+ return config;
520
+ return { ...config, bodyText: { ...bodyText, hardLineBreaks: false } };
521
+ }
522
+ /**
523
+ * A configuration written before #624 (postext 1.22 or earlier), pinned to
524
+ * the way it read a ```` ``` ```` or `~~~` fence: `codeStyle.blocks: false`,
525
+ * the fence and the lines inside it read as Markdown (paragraphs, headings,
526
+ * lists…), where today they are a code block set as written. A
527
+ * configuration that names the setting already is returned as it is (the
528
+ * same object).
529
+ */
530
+ export function pinLegacyCodeBlocks(config) {
531
+ const codeStyle = isRecord(config.codeStyle) ? config.codeStyle : {};
532
+ if (codeStyle.blocks !== undefined)
533
+ return config;
534
+ return { ...config, codeStyle: { ...codeStyle, blocks: false } };
535
+ }
536
+ /** Whether markdown holds a line that opens a code fence. */
537
+ function hasCodeFence(text) {
538
+ if (!text.includes('```') && !text.includes('~~~'))
539
+ return false;
540
+ return text.split('\n').some((line) => codeFenceOpen(line) !== undefined);
541
+ }
542
+ /** Whether markdown may hold a code fence. Unknown content (undefined)
543
+ * may. */
544
+ function mayHaveCodeFences(content) {
545
+ if (content === undefined)
546
+ return true;
547
+ if (typeof content === 'string')
548
+ return hasCodeFence(content);
549
+ return content.some(hasCodeFence);
550
+ }
551
+ /** A line that opens a block of its own, which a paragraph's lines never
552
+ * run into: a heading, a fence, a display formula, a list item, a
553
+ * resource embed. */
554
+ const BLOCK_LINE_RE = /^(?:#{1,6}\s|:::|::resource\b|\$\$|(?:[-*+]|\d+[.)]|[\u0660-\u0669]+[.)]|[\u06f0-\u06f9]+[.)])\s)/;
555
+ const LIST_LINE_RE = /^(?:[-*+]|\d+[.)]|[\u0660-\u0669]+[.)]|[\u06f0-\u06f9]+[.)])\s/;
556
+ /** Whether markdown holds a forced line break as #620 reads one: in a
557
+ * paragraph, a quotation or a list item, `\\` before a space and more
558
+ * text, or a backslash ending a line the block goes on after (a list item
559
+ * is one line). Inline code and maths, display formulas, headings (whose
560
+ * `\\` always broke the title) and `:::verse` poems (whose spaced `\\`
561
+ * cuts a bayt) are passed over. */
562
+ function hasForcedBreak(text) {
563
+ if (!text.includes('\\'))
564
+ return false;
565
+ const lines = text.split('\n').map((l) => l.trim());
566
+ let verse = false;
567
+ let display = false;
568
+ for (let i = 0; i < lines.length; i++) {
569
+ const line = lines[i];
570
+ if (display) {
571
+ if (line.endsWith('$$'))
572
+ display = false;
573
+ continue;
574
+ }
575
+ if (verse) {
576
+ if (FENCE_CLOSE_RE.test(line))
577
+ verse = false;
578
+ continue;
579
+ }
580
+ if (/^:::\s*verse\b/.test(line)) {
581
+ verse = true;
582
+ continue;
583
+ }
584
+ if (line.startsWith('$$')) {
585
+ display = !(line.length > 2 && line.endsWith('$$'));
586
+ continue;
587
+ }
588
+ if (!line.includes('\\') || /^#{1,6}\s/.test(line))
589
+ continue;
590
+ const body = line.replace(/^>\s?/, '').replace(/`[^`\n]+?`/g, '').replace(/\$[^$\n]*\$/g, '');
591
+ if (/\\\\[ \t]+\S/.test(body))
592
+ return true;
593
+ if (!body.endsWith('\\') || LIST_LINE_RE.test(body))
594
+ continue;
595
+ const next = lines[i + 1] ?? '';
596
+ if (next !== '' && !BLOCK_LINE_RE.test(next) && (next.startsWith('>') === line.startsWith('>')))
597
+ return true;
598
+ }
599
+ return false;
600
+ }
601
+ /** Whether markdown may hold a forced line break. Unknown content
602
+ * (undefined) may. */
603
+ function mayHaveForcedBreaks(content) {
604
+ if (content === undefined)
605
+ return true;
606
+ if (typeof content === 'string')
607
+ return hasForcedBreak(content);
608
+ return content.some(hasForcedBreak);
609
+ }
398
610
  /** Whether `config` (or the screen overrides of its HTML viewer) sets some
399
611
  * running text ragged: the body text (and so its blockquotes and lists), a
400
612
  * paragraph style, a box body, the body of a part or the body of a
@@ -699,7 +911,13 @@ function mayHaveMaths(content) {
699
911
  * pinLegacyParagraphContainerSpacing}, when it declares a paragraph style,
700
912
  * unless `options.content` shows no such container, and its compound
701
913
  * breaks by {@link pinLegacyHyphenBreaks}, unless `options.content` shows
702
- * no compound. A current one is returned as it is (the same object).
914
+ * no compound; one older than 9 has its poems with no hemistich separator
915
+ * pinned by {@link pinLegacyVerseLayout}, unless `options.content` shows
916
+ * none, its paragraph styles' indents by {@link pinLegacyPairedIndents},
917
+ * its forced line breaks by {@link pinLegacyHardBreaks}, unless
918
+ * `options.content` shows none, and its code fences by {@link
919
+ * pinLegacyCodeBlocks}, unless `options.content` shows none. A current one
920
+ * is returned as it is (the same object).
703
921
  * Migrate a stored configuration once and store it again under
704
922
  * `CONFIG_VERSION`: the maths pin multiplies a scale, so a configuration
705
923
  * read twice under its old number would grow twice.
@@ -732,6 +950,14 @@ export function migrateConfig(config, configVersion, options = {}) {
732
950
  out = pinLegacyParagraphContainerSpacing(out);
733
951
  if (rules < HYPHEN_BREAK_RULES && mayHaveCompounds(content))
734
952
  out = pinLegacyHyphenBreaks(out);
953
+ if (rules < VERSE_LAYOUT_RULES && mayHavePlainPoems(content))
954
+ out = pinLegacyVerseLayout(out);
955
+ if (rules < PAIRED_INDENT_RULES)
956
+ out = pinLegacyPairedIndents(out);
957
+ if (rules < HARD_BREAK_RULES && mayHaveForcedBreaks(content))
958
+ out = pinLegacyHardBreaks(out);
959
+ if (rules < CODE_BLOCK_RULES && mayHaveCodeFences(content))
960
+ out = pinLegacyCodeBlocks(out);
735
961
  return out;
736
962
  }
737
963
  /**
@@ -783,6 +1009,14 @@ export function migrateBundleConfig(base, layers, configVersion, options = {}) {
783
1009
  merged = pinLegacyParagraphContainerSpacing(merged);
784
1010
  if (rules < HYPHEN_BREAK_RULES && mayHaveCompounds(content))
785
1011
  merged = pinLegacyHyphenBreaks(merged);
1012
+ if (rules < VERSE_LAYOUT_RULES && mayHavePlainPoems(content))
1013
+ merged = pinLegacyVerseLayout(merged);
1014
+ if (rules < PAIRED_INDENT_RULES)
1015
+ merged = pinLegacyPairedIndents(merged);
1016
+ if (rules < HARD_BREAK_RULES && mayHaveForcedBreaks(content))
1017
+ merged = pinLegacyHardBreaks(merged);
1018
+ if (rules < CODE_BLOCK_RULES && mayHaveCodeFences(content))
1019
+ merged = pinLegacyCodeBlocks(merged);
786
1020
  return merged;
787
1021
  }
788
1022
  //# sourceMappingURL=configVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configVersion.js","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configVersion.js","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export { readBundle, planBundle, resolveBundleFiles, bundleBaseConfig, EXPORTABL
8
8
  export type { ReadBundleOptions, ReadBundleResult, BundleMeta, BundleContent, BundleLocaleContent, PlannedFile, BundlePlan, BundleByteSources, ResolvedBundleFiles } from './codec';
9
9
  export { openBundleZip, zipBundle, POSTEXT_EXTENSION, POSTEXT_MIME, MANIFEST_FILE } from './zip';
10
10
  export type { OpenedBundleZip, ZipBundleOptions } from './zip';
11
- export { CONFIG_VERSION, LEGACY_MATH_SIZE, migrateConfig, pinLegacyBoxChildCut, pinLegacyBoxResourceGap, pinLegacyColonListRoom, pinLegacyDashBreaks, pinLegacyDropCapSize, pinLegacyHeadingBreaks, pinLegacyHeadingMarks, pinLegacyHeadingSplit, pinLegacyHyphenBreaks, pinLegacyInlineGap, pinLegacyMathSize, pinLegacyParagraphContainerSpacing, pinLegacyRaggedBreaking } from './configVersion';
11
+ export { CONFIG_VERSION, LEGACY_MATH_SIZE, migrateConfig, pinLegacyBoxChildCut, pinLegacyBoxResourceGap, pinLegacyColonListRoom, pinLegacyDashBreaks, pinLegacyDropCapSize, pinLegacyHeadingBreaks, pinLegacyHeadingMarks, pinLegacyHardBreaks, pinLegacyCodeBlocks, pinLegacyHeadingSplit, pinLegacyHyphenBreaks, pinLegacyPairedIndents, pinLegacyVerseLayout, pinLegacyInlineGap, pinLegacyMathSize, pinLegacyParagraphContainerSpacing, pinLegacyRaggedBreaking } from './configVersion';
12
12
  export type { MigrateConfigOptions } from './configVersion';
13
13
  export { isBundleManifest, hasValidShowcaseMeta, pickMarkdownFile, pickLocaleOverrides, pickBundleView, resolveBundleLocale, resolveBundleConfigLocale, pickChapterSpecs, chapterFileName, slugify, uniqueSlug, fileExtension, fileBasename, mimeForFile, isBitmapFile, isVideoFile, isSvgFile, isPdfFile, fontFormatFromFile, extensionForImageMime, extensionForResource, fontsToCustomFonts, resourceFromSpec, svgSize, bitmapSize, } from './manifest';
14
14
  export type { BundleFontFiles } from './manifest';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bundle/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACpI,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3J,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG7F,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAChH,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACpL,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACjG,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kCAAkC,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACrY,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bundle/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACpI,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3J,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG7F,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAChH,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACpL,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACjG,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kCAAkC,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC7d,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAC"}
@@ -6,6 +6,6 @@ export { loadBundleFonts, registerBundleImages, bundleImageUrl, bundleVideoUrl,
6
6
  // Low-level codec, for hosts that store or serve bundles their own way.
7
7
  export { readBundle, planBundle, resolveBundleFiles, bundleBaseConfig, EXPORTABLE_FONT_FORMATS } from './codec';
8
8
  export { openBundleZip, zipBundle, POSTEXT_EXTENSION, POSTEXT_MIME, MANIFEST_FILE } from './zip';
9
- export { CONFIG_VERSION, LEGACY_MATH_SIZE, migrateConfig, pinLegacyBoxChildCut, pinLegacyBoxResourceGap, pinLegacyColonListRoom, pinLegacyDashBreaks, pinLegacyDropCapSize, pinLegacyHeadingBreaks, pinLegacyHeadingMarks, pinLegacyHeadingSplit, pinLegacyHyphenBreaks, pinLegacyInlineGap, pinLegacyMathSize, pinLegacyParagraphContainerSpacing, pinLegacyRaggedBreaking } from './configVersion';
9
+ export { CONFIG_VERSION, LEGACY_MATH_SIZE, migrateConfig, pinLegacyBoxChildCut, pinLegacyBoxResourceGap, pinLegacyColonListRoom, pinLegacyDashBreaks, pinLegacyDropCapSize, pinLegacyHeadingBreaks, pinLegacyHeadingMarks, pinLegacyHardBreaks, pinLegacyCodeBlocks, pinLegacyHeadingSplit, pinLegacyHyphenBreaks, pinLegacyPairedIndents, pinLegacyVerseLayout, pinLegacyInlineGap, pinLegacyMathSize, pinLegacyParagraphContainerSpacing, pinLegacyRaggedBreaking } from './configVersion';
10
10
  export { isBundleManifest, hasValidShowcaseMeta, pickMarkdownFile, pickLocaleOverrides, pickBundleView, resolveBundleLocale, resolveBundleConfigLocale, pickChapterSpecs, chapterFileName, slugify, uniqueSlug, fileExtension, fileBasename, mimeForFile, isBitmapFile, isVideoFile, isSvgFile, isPdfFile, fontFormatFromFile, extensionForImageMime, extensionForResource, fontsToCustomFonts, resourceFromSpec, svgSize, bitmapSize, } from './manifest';
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bundle/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,2EAA2E;AAE3E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3J,wEAAwE;AACxE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEhH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kCAAkC,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAErY,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bundle/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,2EAA2E;AAE3E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3J,wEAAwE;AACxE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEhH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kCAAkC,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7d,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"blockRender.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/blockRender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,cAAc,EAAa,MAAM,QAAQ,CAAC;AAgG3E;+CAC+C;AAC/C,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,wBAAwB,EAC7B,GAAG,EAAE,cAAc,EACnB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,IAAI,CAGN;AAycD,wBAAgB,WAAW,CACzB,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM;AACf,mEAAmE;AACnE,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,IAAI,CAkDN"}
1
+ {"version":3,"file":"blockRender.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/blockRender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAuB,cAAc,EAAa,MAAM,QAAQ,CAAC;AAgGvF;+CAC+C;AAC/C,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,wBAAwB,EAC7B,GAAG,EAAE,cAAc,EACnB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,IAAI,CAGN;AA2eD,wBAAgB,WAAW,CACzB,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM;AACf,mEAAmE;AACnE,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,IAAI,CAmDN"}
@@ -1,4 +1,4 @@
1
- import { lineTextAlign } from '../vdt';
1
+ import { leaderRuleGeometry, lineTextAlign } from '../vdt';
2
2
  import { getMathRaster } from '../math/rasterCache';
3
3
  import { renderHeaderFooterSlot } from './headerFooter';
4
4
  import { renderResourceBlock } from './renderResourceBlock';
@@ -111,6 +111,13 @@ function renderSegments(ctx, segments, startX, baseline, style, justifiedSpaceWi
111
111
  x += justifiedSpaceWidth ?? seg.width;
112
112
  continue;
113
113
  }
114
+ if (seg.leader === 'rule') {
115
+ // A tab stop's rule leader (#622).
116
+ paintRuleLeader(ctx, x, baseline, seg.width, seg.color ?? style.color, style.font);
117
+ currentFill = '';
118
+ x += seg.width;
119
+ continue;
120
+ }
114
121
  if (seg.kind === 'math') {
115
122
  renderMathSegment(ctx, seg, x, baseline, style.color);
116
123
  x += seg.width;
@@ -164,7 +171,16 @@ function renderSegments(ctx, segments, startX, baseline, style, justifiedSpaceWi
164
171
  function segmentIsStyled(s) {
165
172
  return !!s.bold || !!s.italic || s.kind === 'math' || s.kind === 'swatch' || s.kind === 'chip' || s.refResourceId !== undefined
166
173
  || s.fontString !== undefined || s.color !== undefined || s.baselineShift !== undefined
167
- || s.tcy !== undefined || s.orientation !== undefined || s.labelTab !== undefined || s.runs !== undefined || s.sideMarker !== undefined;
174
+ || s.tcy !== undefined || s.orientation !== undefined || s.labelTab !== undefined || s.runs !== undefined || s.sideMarker !== undefined
175
+ || s.leader !== undefined;
176
+ }
177
+ /** A rule leader (#622): a line across `width` px under the baseline, its
178
+ * geometry from the block's text size (`leaderRuleGeometry`). */
179
+ function paintRuleLeader(ctx, x, baseline, width, color, font) {
180
+ const m = /(\d*\.?\d+)px/.exec(font);
181
+ const { dy, thickness } = leaderRuleGeometry(m ? Number(m[1]) : 16);
182
+ ctx.fillStyle = color;
183
+ ctx.fillRect(x, baseline + dy - thickness / 2, width, thickness);
168
184
  }
169
185
  /**
170
186
  * {@link renderSegments} for a line of the CJK composer or any line down a
@@ -289,7 +305,9 @@ function renderLine(ctx, line, style, textAlign, columnWidth, columnX, trailing,
289
305
  renderComposedLine(ctx, line, style, textAlign, columnWidth, columnX, trailing, tracking);
290
306
  return;
291
307
  }
292
- const cjk = tocEntry || hasCJK(line.text);
308
+ // A leader's text (a contents row's, a tab stop's, #622) is not in the
309
+ // line's text: its segments are looked at.
310
+ const cjk = tocEntry || hasCJK(line.text) || (line.tabbed === true && line.segments?.some((sg) => sg.leader === 'text') === true);
293
311
  ctx.textBaseline = 'alphabetic';
294
312
  // A line whose block runs against its frame (a right-to-left paragraph on
295
313
  // a left-to-right page) carries its span (`measure`): it is justified
@@ -322,7 +340,7 @@ function renderLine(ctx, line, style, textAlign, columnWidth, columnX, trailing,
322
340
  wordWidth += seg.width;
323
341
  naturalWidth += seg.width;
324
342
  }
325
- if (spaceCount > 0 && ((!line.isLastLine && !line.ragged) || naturalWidth > effectiveWidth)) {
343
+ if (spaceCount > 0 && !line.tabbed && ((!line.isLastLine && !line.ragged) || naturalWidth > effectiveWidth)) {
326
344
  const justifiedSpaceWidth = (effectiveWidth - wordWidth) / spaceCount;
327
345
  renderSegments(ctx, segments, lineX, line.baseline, style, justifiedSpaceWidth, cjk, tracking, order);
328
346
  return;
@@ -386,7 +404,7 @@ function renderComposedLine(ctx, line, style, textAlign, columnWidth, columnX, t
386
404
  wordWidth += seg.width;
387
405
  naturalWidth += seg.width;
388
406
  }
389
- if (spaceCount > 0 && ((!line.isLastLine && !line.ragged) || naturalWidth > effectiveWidth)) {
407
+ if (spaceCount > 0 && !line.tabbed && ((!line.isLastLine && !line.ragged) || naturalWidth > effectiveWidth)) {
390
408
  const justifiedSpaceWidth = (effectiveWidth - wordWidth) / spaceCount;
391
409
  renderComposedSegments(ctx, segments, line.bbox.x, line.baseline, style, justifiedSpaceWidth, tracking, cuts);
392
410
  return;
@@ -436,6 +454,20 @@ function renderBullet(ctx, block) {
436
454
  }
437
455
  ctx.restore();
438
456
  }
457
+ /** A paragraph's drop cap (#623) on its baseline, and an opening mark
458
+ * hung before it at text size. */
459
+ function renderDropCap(ctx, cap) {
460
+ ctx.save();
461
+ ctx.textBaseline = 'alphabetic';
462
+ ctx.fillStyle = cap.color;
463
+ ctx.font = cap.fontString;
464
+ fillFlowText(ctx, cap.text, cap.x, cap.baselineY);
465
+ if (cap.hang) {
466
+ ctx.font = cap.hang.fontString;
467
+ fillFlowText(ctx, cap.hang.text, cap.hang.x, cap.hang.baselineY);
468
+ }
469
+ ctx.restore();
470
+ }
439
471
  function renderStrikethrough(ctx, block) {
440
472
  if (!block.strikethroughText)
441
473
  return;
@@ -503,6 +535,8 @@ inkHex = null) {
503
535
  if (block.type === 'listItem') {
504
536
  renderBullet(ctx, block);
505
537
  }
538
+ if (block.dropCap)
539
+ renderDropCap(ctx, block.dropCap);
506
540
  const style = {
507
541
  font: block.fontString,
508
542
  boldFont: block.boldFontString,