postext 1.14.0 → 1.15.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 (489) hide show
  1. package/dist/__tests__/arabic/blockLanguageDigits.test.d.ts +2 -0
  2. package/dist/__tests__/arabic/blockLanguageDigits.test.d.ts.map +1 -0
  3. package/dist/__tests__/arabic/blockLanguageDigits.test.js +54 -0
  4. package/dist/__tests__/arabic/blockLanguageDigits.test.js.map +1 -0
  5. package/dist/__tests__/arabic/emphasis.test.d.ts +2 -0
  6. package/dist/__tests__/arabic/emphasis.test.d.ts.map +1 -0
  7. package/dist/__tests__/arabic/emphasis.test.js +206 -0
  8. package/dist/__tests__/arabic/emphasis.test.js.map +1 -0
  9. package/dist/__tests__/arabic/footnotes.test.d.ts +2 -0
  10. package/dist/__tests__/arabic/footnotes.test.d.ts.map +1 -0
  11. package/dist/__tests__/arabic/footnotes.test.js +118 -0
  12. package/dist/__tests__/arabic/footnotes.test.js.map +1 -0
  13. package/dist/__tests__/arabic/harakat.test.d.ts +2 -0
  14. package/dist/__tests__/arabic/harakat.test.d.ts.map +1 -0
  15. package/dist/__tests__/arabic/harakat.test.js +167 -0
  16. package/dist/__tests__/arabic/harakat.test.js.map +1 -0
  17. package/dist/__tests__/arabic/ornateBrackets.test.d.ts +2 -0
  18. package/dist/__tests__/arabic/ornateBrackets.test.d.ts.map +1 -0
  19. package/dist/__tests__/arabic/ornateBrackets.test.js +71 -0
  20. package/dist/__tests__/arabic/ornateBrackets.test.js.map +1 -0
  21. package/dist/__tests__/arabic/tashkil.test.d.ts +2 -0
  22. package/dist/__tests__/arabic/tashkil.test.d.ts.map +1 -0
  23. package/dist/__tests__/arabic/tashkil.test.js +106 -0
  24. package/dist/__tests__/arabic/tashkil.test.js.map +1 -0
  25. package/dist/__tests__/arabicLocale.test.d.ts +2 -0
  26. package/dist/__tests__/arabicLocale.test.d.ts.map +1 -0
  27. package/dist/__tests__/arabicLocale.test.js +232 -0
  28. package/dist/__tests__/arabicLocale.test.js.map +1 -0
  29. package/dist/__tests__/arabicNumberWords.test.d.ts +2 -0
  30. package/dist/__tests__/arabicNumberWords.test.d.ts.map +1 -0
  31. package/dist/__tests__/arabicNumberWords.test.js +176 -0
  32. package/dist/__tests__/arabicNumberWords.test.js.map +1 -0
  33. package/dist/__tests__/arabicNumbering.test.d.ts +2 -0
  34. package/dist/__tests__/arabicNumbering.test.d.ts.map +1 -0
  35. package/dist/__tests__/arabicNumbering.test.js +257 -0
  36. package/dist/__tests__/arabicNumbering.test.js.map +1 -0
  37. package/dist/__tests__/arabicWords.test.d.ts +2 -0
  38. package/dist/__tests__/arabicWords.test.d.ts.map +1 -0
  39. package/dist/__tests__/arabicWords.test.js +302 -0
  40. package/dist/__tests__/arabicWords.test.js.map +1 -0
  41. package/dist/__tests__/bidi.test.d.ts +2 -0
  42. package/dist/__tests__/bidi.test.d.ts.map +1 -0
  43. package/dist/__tests__/bidi.test.js +282 -0
  44. package/dist/__tests__/bidi.test.js.map +1 -0
  45. package/dist/__tests__/blockHints.test.d.ts +2 -0
  46. package/dist/__tests__/blockHints.test.d.ts.map +1 -0
  47. package/dist/__tests__/blockHints.test.js +79 -0
  48. package/dist/__tests__/blockHints.test.js.map +1 -0
  49. package/dist/__tests__/chineseLocale.test.js +2 -2
  50. package/dist/__tests__/chineseLocale.test.js.map +1 -1
  51. package/dist/__tests__/cjk/grid.test.js +2 -2
  52. package/dist/__tests__/cjk/grid.test.js.map +1 -1
  53. package/dist/__tests__/cjk/justifyRender.test.js +2 -1
  54. package/dist/__tests__/cjk/justifyRender.test.js.map +1 -1
  55. package/dist/__tests__/defaults/folio.test.js +16 -1
  56. package/dist/__tests__/defaults/folio.test.js.map +1 -1
  57. package/dist/__tests__/direction.test.d.ts +2 -0
  58. package/dist/__tests__/direction.test.d.ts.map +1 -0
  59. package/dist/__tests__/direction.test.js +117 -0
  60. package/dist/__tests__/direction.test.js.map +1 -0
  61. package/dist/__tests__/exports.test.js +29 -0
  62. package/dist/__tests__/exports.test.js.map +1 -1
  63. package/dist/__tests__/headingLetterSpacing.test.js +1 -1
  64. package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
  65. package/dist/__tests__/headingNumberPosition.test.d.ts +2 -0
  66. package/dist/__tests__/headingNumberPosition.test.d.ts.map +1 -0
  67. package/dist/__tests__/headingNumberPosition.test.js +87 -0
  68. package/dist/__tests__/headingNumberPosition.test.js.map +1 -0
  69. package/dist/__tests__/htmlCopyText.test.d.ts +2 -0
  70. package/dist/__tests__/htmlCopyText.test.d.ts.map +1 -0
  71. package/dist/__tests__/htmlCopyText.test.js +153 -0
  72. package/dist/__tests__/htmlCopyText.test.js.map +1 -0
  73. package/dist/__tests__/kashida.test.d.ts +2 -0
  74. package/dist/__tests__/kashida.test.d.ts.map +1 -0
  75. package/dist/__tests__/kashida.test.js +281 -0
  76. package/dist/__tests__/kashida.test.js.map +1 -0
  77. package/dist/__tests__/kashidaPatterns.test.d.ts +2 -0
  78. package/dist/__tests__/kashidaPatterns.test.d.ts.map +1 -0
  79. package/dist/__tests__/kashidaPatterns.test.js +143 -0
  80. package/dist/__tests__/kashidaPatterns.test.js.map +1 -0
  81. package/dist/__tests__/links.test.js +3 -1
  82. package/dist/__tests__/links.test.js.map +1 -1
  83. package/dist/__tests__/parse/containers.test.js +1 -1
  84. package/dist/__tests__/parse/containers.test.js.map +1 -1
  85. package/dist/__tests__/rtl/designText.test.d.ts +2 -0
  86. package/dist/__tests__/rtl/designText.test.d.ts.map +1 -0
  87. package/dist/__tests__/rtl/designText.test.js +301 -0
  88. package/dist/__tests__/rtl/designText.test.js.map +1 -0
  89. package/dist/__tests__/rtl/designTextPaint.test.d.ts +2 -0
  90. package/dist/__tests__/rtl/designTextPaint.test.d.ts.map +1 -0
  91. package/dist/__tests__/rtl/designTextPaint.test.js +140 -0
  92. package/dist/__tests__/rtl/designTextPaint.test.js.map +1 -0
  93. package/dist/__tests__/rtl/htmlRtl.test.d.ts +2 -0
  94. package/dist/__tests__/rtl/htmlRtl.test.d.ts.map +1 -0
  95. package/dist/__tests__/rtl/htmlRtl.test.js +175 -0
  96. package/dist/__tests__/rtl/htmlRtl.test.js.map +1 -0
  97. package/dist/__tests__/rtl/mirroredFrame.test.d.ts +2 -0
  98. package/dist/__tests__/rtl/mirroredFrame.test.d.ts.map +1 -0
  99. package/dist/__tests__/rtl/mirroredFrame.test.js +313 -0
  100. package/dist/__tests__/rtl/mirroredFrame.test.js.map +1 -0
  101. package/dist/__tests__/rtl/mirroredPaint.test.d.ts +2 -0
  102. package/dist/__tests__/rtl/mirroredPaint.test.d.ts.map +1 -0
  103. package/dist/__tests__/rtl/mirroredPaint.test.js +116 -0
  104. package/dist/__tests__/rtl/mirroredPaint.test.js.map +1 -0
  105. package/dist/__tests__/rtl/oppositeBlocks.test.d.ts +2 -0
  106. package/dist/__tests__/rtl/oppositeBlocks.test.d.ts.map +1 -0
  107. package/dist/__tests__/rtl/oppositeBlocks.test.js +273 -0
  108. package/dist/__tests__/rtl/oppositeBlocks.test.js.map +1 -0
  109. package/dist/__tests__/rtl/segmentLang.test.d.ts +2 -0
  110. package/dist/__tests__/rtl/segmentLang.test.d.ts.map +1 -0
  111. package/dist/__tests__/rtl/segmentLang.test.js +54 -0
  112. package/dist/__tests__/rtl/segmentLang.test.js.map +1 -0
  113. package/dist/__tests__/rtlLines.test.d.ts +2 -0
  114. package/dist/__tests__/rtlLines.test.d.ts.map +1 -0
  115. package/dist/__tests__/rtlLines.test.js +180 -0
  116. package/dist/__tests__/rtlLines.test.js.map +1 -0
  117. package/dist/__tests__/tocNumberColumn.test.d.ts +2 -0
  118. package/dist/__tests__/tocNumberColumn.test.d.ts.map +1 -0
  119. package/dist/__tests__/tocNumberColumn.test.js +67 -0
  120. package/dist/__tests__/tocNumberColumn.test.js.map +1 -0
  121. package/dist/__tests__/verse.test.d.ts +2 -0
  122. package/dist/__tests__/verse.test.d.ts.map +1 -0
  123. package/dist/__tests__/verse.test.js +232 -0
  124. package/dist/__tests__/verse.test.js.map +1 -0
  125. package/dist/__tests__/vertical/geometry.test.js +2 -2
  126. package/dist/__tests__/vertical/geometry.test.js.map +1 -1
  127. package/dist/__tests__/vertical/htmlTurnedCells.test.js +2 -2
  128. package/dist/__tests__/vertical/htmlTurnedCells.test.js.map +1 -1
  129. package/dist/arabicMarks.d.ts +80 -0
  130. package/dist/arabicMarks.d.ts.map +1 -0
  131. package/dist/arabicMarks.js +267 -0
  132. package/dist/arabicMarks.js.map +1 -0
  133. package/dist/arabicNumberWords.d.ts +43 -0
  134. package/dist/arabicNumberWords.d.ts.map +1 -0
  135. package/dist/arabicNumberWords.js +163 -0
  136. package/dist/arabicNumberWords.js.map +1 -0
  137. package/dist/arabicNumerals.d.ts +54 -0
  138. package/dist/arabicNumerals.d.ts.map +1 -0
  139. package/dist/arabicNumerals.js +143 -0
  140. package/dist/arabicNumerals.js.map +1 -0
  141. package/dist/bidi.d.ts +186 -0
  142. package/dist/bidi.d.ts.map +1 -0
  143. package/dist/bidi.js +851 -0
  144. package/dist/bidi.js.map +1 -0
  145. package/dist/bidiData.d.ts +13 -0
  146. package/dist/bidiData.d.ts.map +1 -0
  147. package/dist/bidiData.js +318 -0
  148. package/dist/bidiData.js.map +1 -0
  149. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  150. package/dist/canvas-backend/blockRender.js +58 -27
  151. package/dist/canvas-backend/blockRender.js.map +1 -1
  152. package/dist/canvas-backend/chip.d.ts.map +1 -1
  153. package/dist/canvas-backend/chip.js +16 -2
  154. package/dist/canvas-backend/chip.js.map +1 -1
  155. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  156. package/dist/canvas-backend/headerFooter.js +7 -3
  157. package/dist/canvas-backend/headerFooter.js.map +1 -1
  158. package/dist/canvas-backend/index.d.ts.map +1 -1
  159. package/dist/canvas-backend/index.js +9 -4
  160. package/dist/canvas-backend/index.js.map +1 -1
  161. package/dist/canvas-backend/mirrorFrame.d.ts +38 -0
  162. package/dist/canvas-backend/mirrorFrame.d.ts.map +1 -0
  163. package/dist/canvas-backend/mirrorFrame.js +129 -0
  164. package/dist/canvas-backend/mirrorFrame.js.map +1 -0
  165. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  166. package/dist/canvas-backend/renderResourceBlock.js +16 -5
  167. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  168. package/dist/canvas-backend/runDirection.d.ts +21 -0
  169. package/dist/canvas-backend/runDirection.d.ts.map +1 -0
  170. package/dist/canvas-backend/runDirection.js +46 -0
  171. package/dist/canvas-backend/runDirection.js.map +1 -0
  172. package/dist/canvas-backend/wordRuns.d.ts +49 -0
  173. package/dist/canvas-backend/wordRuns.d.ts.map +1 -0
  174. package/dist/canvas-backend/wordRuns.js +111 -0
  175. package/dist/canvas-backend/wordRuns.js.map +1 -0
  176. package/dist/columnClip.d.ts +4 -1
  177. package/dist/columnClip.d.ts.map +1 -1
  178. package/dist/columnClip.js +8 -3
  179. package/dist/columnClip.js.map +1 -1
  180. package/dist/configWarnings.d.ts +3 -1
  181. package/dist/configWarnings.d.ts.map +1 -1
  182. package/dist/configWarnings.js +59 -5
  183. package/dist/configWarnings.js.map +1 -1
  184. package/dist/defaults/bodyText.d.ts +28 -6
  185. package/dist/defaults/bodyText.d.ts.map +1 -1
  186. package/dist/defaults/bodyText.js +158 -30
  187. package/dist/defaults/bodyText.js.map +1 -1
  188. package/dist/defaults/calloutStyles.js +1 -1
  189. package/dist/defaults/calloutStyles.js.map +1 -1
  190. package/dist/defaults/captionStyle.js +5 -5
  191. package/dist/defaults/captionStyle.js.map +1 -1
  192. package/dist/defaults/folio.d.ts +4 -0
  193. package/dist/defaults/folio.d.ts.map +1 -1
  194. package/dist/defaults/folio.js +12 -1
  195. package/dist/defaults/folio.js.map +1 -1
  196. package/dist/defaults/footnotes.d.ts.map +1 -1
  197. package/dist/defaults/footnotes.js +12 -2
  198. package/dist/defaults/footnotes.js.map +1 -1
  199. package/dist/defaults/headerFooter.d.ts.map +1 -1
  200. package/dist/defaults/headerFooter.js +1 -0
  201. package/dist/defaults/headerFooter.js.map +1 -1
  202. package/dist/defaults/headingStyles.d.ts.map +1 -1
  203. package/dist/defaults/headingStyles.js +2 -1
  204. package/dist/defaults/headingStyles.js.map +1 -1
  205. package/dist/defaults/headings.d.ts.map +1 -1
  206. package/dist/defaults/headings.js +9 -2
  207. package/dist/defaults/headings.js.map +1 -1
  208. package/dist/defaults/index.d.ts +1 -1
  209. package/dist/defaults/index.d.ts.map +1 -1
  210. package/dist/defaults/index.js +7 -1
  211. package/dist/defaults/index.js.map +1 -1
  212. package/dist/defaults/indexConfig.d.ts +6 -2
  213. package/dist/defaults/indexConfig.d.ts.map +1 -1
  214. package/dist/defaults/indexConfig.js +25 -5
  215. package/dist/defaults/indexConfig.js.map +1 -1
  216. package/dist/defaults/page.d.ts +7 -4
  217. package/dist/defaults/page.d.ts.map +1 -1
  218. package/dist/defaults/page.js +10 -7
  219. package/dist/defaults/page.js.map +1 -1
  220. package/dist/defaults/paragraphStyles.js +2 -2
  221. package/dist/defaults/paragraphStyles.js.map +1 -1
  222. package/dist/defaults/parts.d.ts.map +1 -1
  223. package/dist/defaults/parts.js +2 -1
  224. package/dist/defaults/parts.js.map +1 -1
  225. package/dist/defaults/resourceTypes.d.ts +1 -1
  226. package/dist/defaults/resourceTypes.d.ts.map +1 -1
  227. package/dist/defaults/resourceTypes.js +10 -2
  228. package/dist/defaults/resourceTypes.js.map +1 -1
  229. package/dist/defaults/shared.d.ts +9 -0
  230. package/dist/defaults/shared.d.ts.map +1 -1
  231. package/dist/defaults/shared.js +15 -0
  232. package/dist/defaults/shared.js.map +1 -1
  233. package/dist/defaults/tableStyle.d.ts.map +1 -1
  234. package/dist/defaults/tableStyle.js +5 -1
  235. package/dist/defaults/tableStyle.js.map +1 -1
  236. package/dist/design/bidiText.d.ts +89 -0
  237. package/dist/design/bidiText.d.ts.map +1 -0
  238. package/dist/design/bidiText.js +165 -0
  239. package/dist/design/bidiText.js.map +1 -0
  240. package/dist/design/layout.d.ts +20 -0
  241. package/dist/design/layout.d.ts.map +1 -1
  242. package/dist/design/layout.js +46 -5
  243. package/dist/design/layout.js.map +1 -1
  244. package/dist/design/placeholders.d.ts +7 -1
  245. package/dist/design/placeholders.d.ts.map +1 -1
  246. package/dist/design/placeholders.js +6 -3
  247. package/dist/design/placeholders.js.map +1 -1
  248. package/dist/design/richText.d.ts +5 -2
  249. package/dist/design/richText.d.ts.map +1 -1
  250. package/dist/design/richText.js +35 -2
  251. package/dist/design/richText.js.map +1 -1
  252. package/dist/emphasisOverline.d.ts +27 -0
  253. package/dist/emphasisOverline.d.ts.map +1 -0
  254. package/dist/emphasisOverline.js +107 -0
  255. package/dist/emphasisOverline.js.map +1 -0
  256. package/dist/frontmatter.d.ts +25 -6
  257. package/dist/frontmatter.d.ts.map +1 -1
  258. package/dist/frontmatter.js +51 -10
  259. package/dist/frontmatter.js.map +1 -1
  260. package/dist/html-backend.d.ts +4 -1
  261. package/dist/html-backend.d.ts.map +1 -1
  262. package/dist/html-backend.js +363 -87
  263. package/dist/html-backend.js.map +1 -1
  264. package/dist/hyphenate.d.ts.map +1 -1
  265. package/dist/hyphenate.js +4 -1
  266. package/dist/hyphenate.js.map +1 -1
  267. package/dist/index.d.ts +11 -8
  268. package/dist/index.d.ts.map +1 -1
  269. package/dist/index.js +6 -4
  270. package/dist/index.js.map +1 -1
  271. package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
  272. package/dist/knuthPlass/breakpoints.js +3 -0
  273. package/dist/knuthPlass/breakpoints.js.map +1 -1
  274. package/dist/knuthPlass/pretextAdapter.d.ts.map +1 -1
  275. package/dist/knuthPlass/pretextAdapter.js +9 -3
  276. package/dist/knuthPlass/pretextAdapter.js.map +1 -1
  277. package/dist/knuthPlass/richAdapter.d.ts +11 -0
  278. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  279. package/dist/knuthPlass/richAdapter.js +11 -4
  280. package/dist/knuthPlass/richAdapter.js.map +1 -1
  281. package/dist/knuthPlass/tracking.d.ts +2 -1
  282. package/dist/knuthPlass/tracking.d.ts.map +1 -1
  283. package/dist/knuthPlass/tracking.js +5 -2
  284. package/dist/knuthPlass/tracking.js.map +1 -1
  285. package/dist/knuthPlass/types.d.ts +4 -0
  286. package/dist/knuthPlass/types.d.ts.map +1 -1
  287. package/dist/locale.d.ts +63 -9
  288. package/dist/locale.d.ts.map +1 -1
  289. package/dist/locale.js +129 -12
  290. package/dist/locale.js.map +1 -1
  291. package/dist/measure/bidiLines.d.ts +91 -0
  292. package/dist/measure/bidiLines.d.ts.map +1 -0
  293. package/dist/measure/bidiLines.js +293 -0
  294. package/dist/measure/bidiLines.js.map +1 -0
  295. package/dist/measure/cache.d.ts.map +1 -1
  296. package/dist/measure/cache.js +10 -4
  297. package/dist/measure/cache.js.map +1 -1
  298. package/dist/measure/joining.d.ts +39 -0
  299. package/dist/measure/joining.d.ts.map +1 -0
  300. package/dist/measure/joining.js +91 -0
  301. package/dist/measure/joining.js.map +1 -0
  302. package/dist/measure/joiningGroups.d.ts +7 -0
  303. package/dist/measure/joiningGroups.d.ts.map +1 -0
  304. package/dist/measure/joiningGroups.js +110 -0
  305. package/dist/measure/joiningGroups.js.map +1 -0
  306. package/dist/measure/kashida.d.ts +97 -0
  307. package/dist/measure/kashida.d.ts.map +1 -0
  308. package/dist/measure/kashida.js +285 -0
  309. package/dist/measure/kashida.js.map +1 -0
  310. package/dist/measure/kashidaPatterns.d.ts +109 -0
  311. package/dist/measure/kashidaPatterns.d.ts.map +1 -0
  312. package/dist/measure/kashidaPatterns.js +519 -0
  313. package/dist/measure/kashidaPatterns.js.map +1 -0
  314. package/dist/measure/links.d.ts.map +1 -1
  315. package/dist/measure/links.js +5 -2
  316. package/dist/measure/links.js.map +1 -1
  317. package/dist/measure/plain.d.ts.map +1 -1
  318. package/dist/measure/plain.js +31 -0
  319. package/dist/measure/plain.js.map +1 -1
  320. package/dist/measure/rich.d.ts +24 -0
  321. package/dist/measure/rich.d.ts.map +1 -1
  322. package/dist/measure/rich.js +250 -22
  323. package/dist/measure/rich.js.map +1 -1
  324. package/dist/measure/types.d.ts +14 -0
  325. package/dist/measure/types.d.ts.map +1 -1
  326. package/dist/measure/types.js.map +1 -1
  327. package/dist/numberWords.d.ts +17 -4
  328. package/dist/numberWords.d.ts.map +1 -1
  329. package/dist/numberWords.js +19 -13
  330. package/dist/numberWords.js.map +1 -1
  331. package/dist/numbering.d.ts +49 -11
  332. package/dist/numbering.d.ts.map +1 -1
  333. package/dist/numbering.js +117 -21
  334. package/dist/numbering.js.map +1 -1
  335. package/dist/parse/annotations.d.ts +6 -3
  336. package/dist/parse/annotations.d.ts.map +1 -1
  337. package/dist/parse/annotations.js +31 -7
  338. package/dist/parse/annotations.js.map +1 -1
  339. package/dist/parse/attrs.d.ts +3 -3
  340. package/dist/parse/attrs.d.ts.map +1 -1
  341. package/dist/parse/attrs.js +5 -4
  342. package/dist/parse/attrs.js.map +1 -1
  343. package/dist/parse/blockParser.d.ts.map +1 -1
  344. package/dist/parse/blockParser.js +158 -14
  345. package/dist/parse/blockParser.js.map +1 -1
  346. package/dist/parse/index.d.ts +1 -1
  347. package/dist/parse/index.d.ts.map +1 -1
  348. package/dist/parse/index.js.map +1 -1
  349. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  350. package/dist/parse/inlineFormatting.js +5 -4
  351. package/dist/parse/inlineFormatting.js.map +1 -1
  352. package/dist/parse/types.d.ts +63 -1
  353. package/dist/parse/types.d.ts.map +1 -1
  354. package/dist/pipeline/build.d.ts.map +1 -1
  355. package/dist/pipeline/build.js +161 -43
  356. package/dist/pipeline/build.js.map +1 -1
  357. package/dist/pipeline/buildBlockKind.d.ts +2 -0
  358. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  359. package/dist/pipeline/buildBlockKind.js +67 -2
  360. package/dist/pipeline/buildBlockKind.js.map +1 -1
  361. package/dist/pipeline/buildHelpers.d.ts +22 -1
  362. package/dist/pipeline/buildHelpers.d.ts.map +1 -1
  363. package/dist/pipeline/buildHelpers.js +55 -5
  364. package/dist/pipeline/buildHelpers.js.map +1 -1
  365. package/dist/pipeline/calloutLayout.d.ts +6 -1
  366. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  367. package/dist/pipeline/calloutLayout.js +63 -18
  368. package/dist/pipeline/calloutLayout.js.map +1 -1
  369. package/dist/pipeline/citations.d.ts +2 -1
  370. package/dist/pipeline/citations.d.ts.map +1 -1
  371. package/dist/pipeline/citations.js +29 -9
  372. package/dist/pipeline/citations.js.map +1 -1
  373. package/dist/pipeline/cjkGrid.d.ts +3 -2
  374. package/dist/pipeline/cjkGrid.d.ts.map +1 -1
  375. package/dist/pipeline/cjkGrid.js +3 -2
  376. package/dist/pipeline/cjkGrid.js.map +1 -1
  377. package/dist/pipeline/config.d.ts +13 -1
  378. package/dist/pipeline/config.d.ts.map +1 -1
  379. package/dist/pipeline/config.js +32 -3
  380. package/dist/pipeline/config.js.map +1 -1
  381. package/dist/pipeline/contentWarnings.d.ts +10 -0
  382. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  383. package/dist/pipeline/contentWarnings.js +88 -0
  384. package/dist/pipeline/contentWarnings.js.map +1 -1
  385. package/dist/pipeline/continuation.d.ts.map +1 -1
  386. package/dist/pipeline/continuation.js +1 -1
  387. package/dist/pipeline/continuation.js.map +1 -1
  388. package/dist/pipeline/crossRefs.d.ts.map +1 -1
  389. package/dist/pipeline/crossRefs.js +2 -0
  390. package/dist/pipeline/crossRefs.js.map +1 -1
  391. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  392. package/dist/pipeline/floatPlacement.js +2 -1
  393. package/dist/pipeline/floatPlacement.js.map +1 -1
  394. package/dist/pipeline/footnotes.d.ts +13 -5
  395. package/dist/pipeline/footnotes.d.ts.map +1 -1
  396. package/dist/pipeline/footnotes.js +19 -8
  397. package/dist/pipeline/footnotes.js.map +1 -1
  398. package/dist/pipeline/headerFooter.d.ts +4 -0
  399. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  400. package/dist/pipeline/headerFooter.js +41 -13
  401. package/dist/pipeline/headerFooter.js.map +1 -1
  402. package/dist/pipeline/headingDesignCuts.d.ts +1 -1
  403. package/dist/pipeline/headingDesignCuts.d.ts.map +1 -1
  404. package/dist/pipeline/headingDesignCuts.js +2 -1
  405. package/dist/pipeline/headingDesignCuts.js.map +1 -1
  406. package/dist/pipeline/headingStyles.d.ts +10 -0
  407. package/dist/pipeline/headingStyles.d.ts.map +1 -1
  408. package/dist/pipeline/headingStyles.js +46 -0
  409. package/dist/pipeline/headingStyles.js.map +1 -1
  410. package/dist/pipeline/indexDirective.d.ts.map +1 -1
  411. package/dist/pipeline/indexDirective.js +33 -6
  412. package/dist/pipeline/indexDirective.js.map +1 -1
  413. package/dist/pipeline/indexGroups.d.ts +23 -1
  414. package/dist/pipeline/indexGroups.d.ts.map +1 -1
  415. package/dist/pipeline/indexGroups.js +50 -1
  416. package/dist/pipeline/indexGroups.js.map +1 -1
  417. package/dist/pipeline/lists.d.ts +16 -4
  418. package/dist/pipeline/lists.d.ts.map +1 -1
  419. package/dist/pipeline/lists.js +51 -12
  420. package/dist/pipeline/lists.js.map +1 -1
  421. package/dist/pipeline/measureContentBlock.d.ts +5 -0
  422. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  423. package/dist/pipeline/measureContentBlock.js +63 -4
  424. package/dist/pipeline/measureContentBlock.js.map +1 -1
  425. package/dist/pipeline/mirrorFrame.d.ts +37 -0
  426. package/dist/pipeline/mirrorFrame.d.ts.map +1 -0
  427. package/dist/pipeline/mirrorFrame.js +143 -0
  428. package/dist/pipeline/mirrorFrame.js.map +1 -0
  429. package/dist/pipeline/outline.d.ts +2 -2
  430. package/dist/pipeline/outline.d.ts.map +1 -1
  431. package/dist/pipeline/outline.js +33 -6
  432. package/dist/pipeline/outline.js.map +1 -1
  433. package/dist/pipeline/paragraphContainers.d.ts +5 -0
  434. package/dist/pipeline/paragraphContainers.d.ts.map +1 -1
  435. package/dist/pipeline/paragraphContainers.js +12 -0
  436. package/dist/pipeline/paragraphContainers.js.map +1 -1
  437. package/dist/pipeline/parts.d.ts +1 -1
  438. package/dist/pipeline/parts.d.ts.map +1 -1
  439. package/dist/pipeline/parts.js +3 -2
  440. package/dist/pipeline/parts.js.map +1 -1
  441. package/dist/pipeline/placeholders.d.ts +13 -6
  442. package/dist/pipeline/placeholders.d.ts.map +1 -1
  443. package/dist/pipeline/placeholders.js +15 -11
  444. package/dist/pipeline/placeholders.js.map +1 -1
  445. package/dist/pipeline/placement.d.ts +3 -2
  446. package/dist/pipeline/placement.d.ts.map +1 -1
  447. package/dist/pipeline/placement.js +18 -6
  448. package/dist/pipeline/placement.js.map +1 -1
  449. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  450. package/dist/pipeline/resourceLayout.js +70 -7
  451. package/dist/pipeline/resourceLayout.js.map +1 -1
  452. package/dist/pipeline/resourceNumbering.d.ts +5 -3
  453. package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
  454. package/dist/pipeline/resourceNumbering.js +11 -8
  455. package/dist/pipeline/resourceNumbering.js.map +1 -1
  456. package/dist/pipeline/styles.d.ts +6 -1
  457. package/dist/pipeline/styles.d.ts.map +1 -1
  458. package/dist/pipeline/styles.js +44 -14
  459. package/dist/pipeline/styles.js.map +1 -1
  460. package/dist/pipeline/tashkil.d.ts +27 -0
  461. package/dist/pipeline/tashkil.d.ts.map +1 -0
  462. package/dist/pipeline/tashkil.js +161 -0
  463. package/dist/pipeline/tashkil.js.map +1 -0
  464. package/dist/pipeline/toc.d.ts +12 -0
  465. package/dist/pipeline/toc.d.ts.map +1 -1
  466. package/dist/pipeline/toc.js +64 -4
  467. package/dist/pipeline/toc.js.map +1 -1
  468. package/dist/pipeline/verse.d.ts +65 -0
  469. package/dist/pipeline/verse.d.ts.map +1 -0
  470. package/dist/pipeline/verse.js +252 -0
  471. package/dist/pipeline/verse.js.map +1 -0
  472. package/dist/pipeline/verticalMetrics.d.ts +1 -1
  473. package/dist/pipeline/verticalMetrics.d.ts.map +1 -1
  474. package/dist/pipeline/verticalMetrics.js +7 -5
  475. package/dist/pipeline/verticalMetrics.js.map +1 -1
  476. package/dist/table/model.d.ts +4 -3
  477. package/dist/table/model.d.ts.map +1 -1
  478. package/dist/table/model.js.map +1 -1
  479. package/dist/types.d.ts +286 -36
  480. package/dist/types.d.ts.map +1 -1
  481. package/dist/uprightArabic.d.ts +39 -0
  482. package/dist/uprightArabic.d.ts.map +1 -0
  483. package/dist/uprightArabic.js +105 -0
  484. package/dist/uprightArabic.js.map +1 -0
  485. package/dist/vdt.d.ts +276 -11
  486. package/dist/vdt.d.ts.map +1 -1
  487. package/dist/vdt.js +46 -9
  488. package/dist/vdt.js.map +1 -1
  489. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { lineTextAlign } from '../vdt';
1
2
  import { getMathRaster } from '../math/rasterCache';
2
3
  import { renderHeaderFooterSlot } from './headerFooter';
3
4
  import { renderResourceBlock } from './renderResourceBlock';
@@ -5,10 +6,13 @@ import { paintSwatch } from './swatch';
5
6
  import { paintChip } from './chip';
6
7
  import { lineInkExtent, lineTrailingTracking } from '../lineInk';
7
8
  import { fillFlowText, verticalPaintActive } from './verticalText';
9
+ import { counterFlipBox } from './mirrorFrame';
8
10
  import { fillSegmentText, fillWordsText } from './segmentText';
9
11
  import { lineMarkCuts } from '../measure/markCuts';
10
12
  import { hasCJK } from '../measure/cjk';
11
13
  import { paintLineMarks, paintRuby, paintWarichu } from './annotations';
14
+ import { fillSegmentWord } from './wordRuns';
15
+ import { joiningScriptIn } from '../measure/joining';
12
16
  function pickSegmentFont(bold, italic, font, boldFont, italicFont, boldItalicFont) {
13
17
  if (bold && italic && boldItalicFont)
14
18
  return boldItalicFont;
@@ -54,15 +58,19 @@ function renderMathRender(ctx, render, topLeftX, topLeftY, fallbackColor) {
54
58
  const sx = widthPx / viewBox.width;
55
59
  const sy = heightPx / viewBox.height;
56
60
  const path2ds = getMathPaths(render);
57
- ctx.save();
58
- ctx.translate(topLeftX, topLeftY);
59
- ctx.scale(sx, sy);
60
- ctx.translate(-viewBox.minX, -viewBox.minY);
61
- for (let i = 0; i < paths.length; i++) {
62
- ctx.fillStyle = paths[i].fill === 'currentColor' ? fallbackColor : paths[i].fill;
63
- ctx.fill(path2ds[i]);
64
- }
65
- ctx.restore();
61
+ // Paths are not a run or a picture the mirrored frame turns back on its
62
+ // own (see `mirrorFrame.ts`): the formula asks for it.
63
+ counterFlipBox(ctx, topLeftX, widthPx, () => {
64
+ ctx.save();
65
+ ctx.translate(topLeftX, topLeftY);
66
+ ctx.scale(sx, sy);
67
+ ctx.translate(-viewBox.minX, -viewBox.minY);
68
+ for (let i = 0; i < paths.length; i++) {
69
+ ctx.fillStyle = paths[i].fill === 'currentColor' ? fallbackColor : paths[i].fill;
70
+ ctx.fill(path2ds[i]);
71
+ }
72
+ ctx.restore();
73
+ });
66
74
  }
67
75
  function renderMathSegment(ctx, seg, x, baselineY, fallbackColor) {
68
76
  if (!seg.mathRender)
@@ -77,12 +85,26 @@ function renderMathSegment(ctx, seg, x, baselineY, fallbackColor) {
77
85
  * redundant state changes (segments overwhelmingly share styling). `cjk`:
78
86
  * the line may hold CJK text, whose marks that meet are painted apart
79
87
  * (`fillWordsText`); without it, each segment is one `fillText`.
88
+ * `tracking` is the context's `letterSpacing` on entry: a word of a joining
89
+ * script is painted without it, and a word set in several styles is painted
90
+ * as one shaped word (see `fillSegmentWord`). `order`: the order to advance
91
+ * through the segments in (`VDTLine.order`, a line holding right-to-left
92
+ * text), each right-to-left one painted as a right-to-left run; the spaces
93
+ * go with their words, so justification is unchanged.
80
94
  */
81
- function renderSegments(ctx, segments, startX, baseline, style, justifiedSpaceWidth, cjk) {
95
+ function renderSegments(ctx, segments, startX, baseline, style, justifiedSpaceWidth, cjk, tracking = 0, order) {
82
96
  let x = startX;
83
97
  let currentFont = '';
84
98
  let currentFill = '';
85
- for (const seg of segments) {
99
+ const paint = cjk
100
+ ? (text, px, py) => fillWordsText(ctx, text, px, py)
101
+ : (text, px, py) => ctx.fillText(text, px, py);
102
+ const runStyle = (run) => ({
103
+ font: pickSegmentFont(!!run.bold, !!run.italic, style.font, style.boldFont, style.italicFont, style.boldItalicFont),
104
+ fill: pickSegmentColor(!!run.bold, !!run.italic, style.color, style.boldColor, style.italicColor),
105
+ });
106
+ for (let k = 0; k < segments.length; k++) {
107
+ const seg = segments[order ? order[k] : k];
86
108
  if (seg.kind === 'space') {
87
109
  x += justifiedSpaceWidth ?? seg.width;
88
110
  continue;
@@ -122,10 +144,7 @@ function renderSegments(ctx, segments, startX, baseline, style, justifiedSpaceWi
122
144
  ctx.fillStyle = fill;
123
145
  currentFill = fill;
124
146
  }
125
- if (cjk)
126
- fillWordsText(ctx, seg.text, x, baseline + (seg.baselineShift ?? 0));
127
- else
128
- ctx.fillText(seg.text, x, baseline + (seg.baselineShift ?? 0));
147
+ fillSegmentWord(ctx, seg, x, baseline + (seg.baselineShift ?? 0), tracking, paint, runStyle);
129
148
  x += seg.width;
130
149
  }
131
150
  }
@@ -135,7 +154,7 @@ function renderSegments(ctx, segments, startX, baseline, style, justifiedSpaceWi
135
154
  function segmentIsStyled(s) {
136
155
  return !!s.bold || !!s.italic || s.kind === 'math' || s.kind === 'swatch' || s.kind === 'chip' || s.refResourceId !== undefined
137
156
  || s.fontString !== undefined || s.color !== undefined || s.baselineShift !== undefined
138
- || s.tcy !== undefined || s.orientation !== undefined || s.labelTab !== undefined;
157
+ || s.tcy !== undefined || s.orientation !== undefined || s.labelTab !== undefined || s.runs !== undefined;
139
158
  }
140
159
  /**
141
160
  * {@link renderSegments} for a line of the CJK composer or any line down a
@@ -244,10 +263,21 @@ function renderLine(ctx, line, style, textAlign, columnWidth, columnX, trailing,
244
263
  }
245
264
  const cjk = tocEntry || hasCJK(line.text);
246
265
  ctx.textBaseline = 'alphabetic';
266
+ // A line whose block runs against its frame (a right-to-left paragraph on
267
+ // a left-to-right page) carries its span (`measure`): it is justified
268
+ // across it and set ragged from its start side, the right.
269
+ const span = line.measure;
270
+ const lineX = span ? span.x : line.bbox.x;
271
+ const align = lineTextAlign(line, textAlign);
247
272
  // Effective width accounts for line-level indent (e.g. first-line or hanging indent)
248
- const lineIndent = line.bbox.x - columnX;
249
- const effectiveWidth = columnWidth - lineIndent;
273
+ const lineIndent = lineX - columnX;
274
+ const effectiveWidth = span ? span.width : columnWidth - lineIndent;
250
275
  const segments = line.segments;
276
+ // Right-to-left runs on the line: painted in `order`, never as one text.
277
+ // A line with none (a Latin line of a mirrored page, whose `order` only
278
+ // turns the flow around) reads the same painted as one text.
279
+ const order = segments && line.order?.length === segments.length ? line.order : undefined;
280
+ const directed = segments?.some((s) => s.rtl) ?? false;
251
281
  // Justified rendering with per-segment spacing. Last lines render ragged at
252
282
  // natural width — except when overfull: Knuth-Plass may accept a final line
253
283
  // wider than the measure on the assumption that its inter-word glue shrinks
@@ -266,7 +296,7 @@ function renderLine(ctx, line, style, textAlign, columnWidth, columnX, trailing,
266
296
  }
267
297
  if (spaceCount > 0 && ((!line.isLastLine && !line.ragged) || naturalWidth > effectiveWidth)) {
268
298
  const justifiedSpaceWidth = (effectiveWidth - wordWidth) / spaceCount;
269
- renderSegments(ctx, segments, line.bbox.x, line.baseline, style, justifiedSpaceWidth, cjk);
299
+ renderSegments(ctx, segments, lineX, line.baseline, style, justifiedSpaceWidth, cjk, tracking, order);
270
300
  return;
271
301
  }
272
302
  }
@@ -274,27 +304,28 @@ function renderLine(ctx, line, style, textAlign, columnWidth, columnX, trailing,
274
304
  // set ragged from the left. Distribute the remaining space. The tracking
275
305
  // after the last glyph (`trailing`) is advance, not ink: left out, so the
276
306
  // letters are centred or end on the edge (EF-153).
277
- if ((textAlign === 'center' || textAlign === 'right') && segments) {
307
+ if ((align === 'center' || align === 'right') && segments) {
278
308
  let contentWidth = 0;
279
309
  for (const seg of segments)
280
310
  contentWidth += seg.width;
281
311
  const slack = Math.max(0, effectiveWidth - (contentWidth - trailing));
282
- const startX = line.bbox.x + (textAlign === 'center' ? slack / 2 : slack);
283
- renderSegments(ctx, segments, startX, line.baseline, style, undefined, cjk);
312
+ const startX = lineX + (align === 'center' ? slack / 2 : slack);
313
+ renderSegments(ctx, segments, startX, line.baseline, style, undefined, cjk, tracking, order);
284
314
  return;
285
315
  }
286
316
  // Ragged (left-aligned) rendering — also used for last lines of justified
287
317
  // blocks. Segments are needed when any of them styles differently from the
288
- // block (bold/italic/math/ref/own font or colour); otherwise one fillText
289
- // paints the line.
290
- if (segments && segments.some(segmentIsStyled)) {
291
- renderSegments(ctx, segments, line.bbox.x, line.baseline, style, undefined, cjk);
318
+ // block (bold/italic/math/ref/own font or colour), or when a tracked line
319
+ // holds a word of a joining script, which is painted untracked; otherwise
320
+ // one fillText paints the line.
321
+ if (segments && (directed || segments.some(segmentIsStyled) || (tracking !== 0 && joiningScriptIn(line.text)))) {
322
+ renderSegments(ctx, segments, lineX, line.baseline, style, undefined, cjk, tracking, order);
292
323
  return;
293
324
  }
294
325
  ctx.font = style.font;
295
326
  ctx.fillStyle = style.color;
296
327
  const plainSlack = Math.max(0, effectiveWidth - (line.bbox.width - trailing));
297
- const plainX = line.bbox.x + (textAlign === 'right' ? plainSlack : textAlign === 'center' ? plainSlack / 2 : 0);
328
+ const plainX = lineX + (align === 'right' ? plainSlack : align === 'center' ? plainSlack / 2 : 0);
298
329
  if (cjk)
299
330
  fillWordsText(ctx, line.text, plainX, line.baseline);
300
331
  else
@@ -1 +1 @@
1
- {"version":3,"file":"blockRender.js","sourceRoot":"","sources":["../../src/canvas-backend/blockRender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockRender.js","sourceRoot":"","sources":["../../src/canvas-backend/blockRender.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/chip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAiBlD;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,OAAO,EACb,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,GAClC,IAAI,CA0BN"}
1
+ {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/chip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAmBlD;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,OAAO,EACb,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,GAClC,IAAI,CAoCN"}
@@ -1,3 +1,5 @@
1
+ import { joiningScriptIn } from '../measure/joining';
2
+ import { paintRunInDirection, runPaintOrder } from './runDirection';
1
3
  /** Trace a rounded rect (radius already clamped to half the box). */
2
4
  function roundedRectPath(ctx, x, y, w, h, r) {
3
5
  ctx.beginPath();
@@ -38,10 +40,22 @@ export function paintChip(ctx, chip, x, baseline, inkFor) {
38
40
  }
39
41
  ctx.textBaseline = 'alphabetic';
40
42
  let tx = bx + chip.borderWidth + chip.paddingX;
41
- for (const run of chip.runs) {
43
+ // The block's tracking, which a run of a joining script (measured
44
+ // untracked, `measure/joining.ts`) is painted without.
45
+ const spacing = 'letterSpacing' in ctx ? ctx.letterSpacing : undefined;
46
+ const tracked = spacing !== undefined && spacing !== '0px' && spacing !== 'normal';
47
+ // The runs in the chip's paint order, each in its own direction.
48
+ for (const i of runPaintOrder(chip.order, chip.runs.length)) {
49
+ const run = chip.runs[i];
42
50
  ctx.font = run.fontString;
43
51
  ctx.fillStyle = chip.color ?? inkFor(run);
44
- ctx.fillText(run.text, tx, baseline + (run.baselineShift ?? 0));
52
+ const untracked = tracked && joiningScriptIn(run.text);
53
+ if (untracked)
54
+ ctx.letterSpacing = '0px';
55
+ const runX = tx;
56
+ paintRunInDirection(ctx, run.rtl, () => ctx.fillText(run.text, runX, baseline + (run.baselineShift ?? 0)));
57
+ if (untracked)
58
+ ctx.letterSpacing = spacing;
45
59
  tx += run.width;
46
60
  }
47
61
  ctx.restore();
@@ -1 +1 @@
1
- {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../src/canvas-backend/chip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../src/canvas-backend/chip.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/headerFooter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,QAAQ,CAAC;AAuMhB,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,aAAa;AACnB,mEAAmE;AACnE,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,IAAI,CAON"}
1
+ {"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/headerFooter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,QAAQ,CAAC;AA2MhB,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,aAAa;AACnB,mEAAmE;AACnE,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,IAAI,CAON"}
@@ -1,6 +1,7 @@
1
1
  import { drawResourceImage, roundedOutlinePath } from './renderResourceBlock';
2
2
  import { fillFlowText, drawUprightInBox, setVerticalPaint } from './verticalText';
3
3
  import { segmentOrientation } from '../writingMode';
4
+ import { paintRunInDirection, runPaintOrder } from './runDirection';
4
5
  /** Adds a rounded rectangle to the current path, as a closed subpath. */
5
6
  function traceRoundedRect(ctx, x, y, w, h, r) {
6
7
  const radius = Math.max(0, Math.min(r, w / 2, h / 2));
@@ -111,13 +112,16 @@ function renderTextBlock(ctx, block) {
111
112
  paint(line.text, originX + line.xOffset, line.baselineY);
112
113
  continue;
113
114
  }
114
- // Inline marks: each run in its own font, one after another.
115
+ // Inline marks, or a line with right-to-left text: each run in its own
116
+ // font and direction, one after another in the line's paint order.
115
117
  let x = originX + line.xOffset;
116
- for (const run of line.runs) {
118
+ for (const i of runPaintOrder(line.order, line.runs.length)) {
119
+ const run = line.runs[i];
117
120
  ctx.font = run.fontString;
118
121
  // A vertical line: the orientation its author gave the run
119
122
  // (`:tcy`, `:upright`, `:sideways`).
120
- paint(run.text, x, line.baselineY + (run.baselineShift ?? 0), segmentOrientation(run));
123
+ const runX = x;
124
+ paintRunInDirection(ctx, run.rtl, () => paint(run.text, runX, line.baselineY + (run.baselineShift ?? 0), segmentOrientation(run)));
121
125
  x += run.width;
122
126
  }
123
127
  ctx.font = block.fontString;
@@ -1 +1 @@
1
- {"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/canvas-backend/headerFooter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/canvas-backend/headerFooter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAA0B,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpE,yEAAyE;AACzE,SAAS,gBAAgB,CACvB,GAA6B,EAC7B,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS;IAET,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9B,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAClC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACvD,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC1B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACvC,GAAG,CAAC,SAAS,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAA6B,EAC7B,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS;IAET,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB,CACxB,GAA6B,EAC7B,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,KAAwB;IAExB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO;IAC7B,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO;IACzD,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,EAAE,CAAC;YACnC,mBAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,CAAC,CAAC,CAAC,KAAK,CAAC,eAAgB,CAAC;YACpE,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QACD,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;gBAAE,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;YAC9G,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,WAAY,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,EAAE,CAAC;YACnC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,CAAC,CAAC,CAAC,KAAK,CAAC,eAAgB,CAAC;YACpE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;YACnB,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,WAAY,CAAC;YACrC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,GAA6B,EAAE,KAAyB;IAC/E,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrG,CAAC;IACD,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;IAC5B,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAChC,kDAAkD;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,CAAC,CAAC;IACnF,IAAI,OAAO;QAAE,GAAG,CAAC,aAAa,GAAG,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC;IAC9D,qEAAqE;IACrE,sEAAsE;IACtE,4BAA4B;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAA0B,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjJ,uEAAuE;IACvE,qEAAqE;IACrE,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,UAAU,GAAwC,IAAI,CAAC;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACxB,UAAU,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrI,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;YAC1B,2DAA2D;YAC3D,qCAAqC;YACrC,MAAM,IAAI,GAAG,CAAC,CAAC;YACf,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;QACjB,CAAC;QACD,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;IAC9B,CAAC;IACD,IAAI,QAAQ;QAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,OAAO;QAAE,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;IACvC,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,GAA6B,EAAE,KAAyB;IAC/E,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,2EAA2E;IAC3E,iDAAiD;IACjD,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAChF,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,GAA6B,EAAE,KAAwB;IAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACnG,OAAO;IACT,CAAC;IACD,uEAAuE;IACvE,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9B,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACnG,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED;8EAC8E;AAC9E,SAAS,gBAAgB,CAAC,GAA6B,EAAE,KAA0B,EAAE,MAAqB;IACxG,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IAC3C,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO;IACtC,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,qEAAqE;IACrE,kCAAkC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC;IAClF,4DAA4D;IAC5D,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,SAAS,GAAG,wBAAwB,CAAC;YACzC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,CAAC,WAAW,GAAG,uBAAuB,CAAC;YAC1C,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;YAClB,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAC3B,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAA6B,EAC7B,IAAmB;AACnB,mEAAmE;AACnE,SAAwB,IAAI;IAE5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAClD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACvD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;;YACjE,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAalE,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC/J,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;gEAG4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;6CAGyC;IACzC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C;;;;;;;+DAO2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;4EAGwE;IACxE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAQD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAsBN;AAqMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAI1G;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAejG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAclE,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC/J,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;gEAG4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;6CAGyC;IACzC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C;;;;;;;+DAO2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;4EAGwE;IACxE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAQD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAsBN;AAyMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAI1G;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAejG"}
@@ -1,4 +1,4 @@
1
- import { computePageTextExtent } from '../vdt';
1
+ import { computePageTextExtent, verticalFlowOf } from '../vdt';
2
2
  import { dimensionToPx } from '../units';
3
3
  import { columnClipRect } from '../columnClip';
4
4
  import { pageColumnRule } from '../columnRule';
@@ -10,6 +10,7 @@ import { documentInkHex } from '../svg/singleInk';
10
10
  import { renderLangOf } from '../locale';
11
11
  import { setMissingImageSink, setTintUnflagged } from './renderResourceBlock';
12
12
  import { setVerticalPaint } from './verticalText';
13
+ import { beginMirroredFlow } from './mirrorFrame';
13
14
  export { registerResourceImage, unregisterResourceImage, clearResourceImages, getResourceImage, } from './renderResourceBlock';
14
15
  export { registerVerticalAlternates, unregisterVerticalAlternates, loadVerticalAlternates, verticalTwinName, VERTICAL_ALTERNATE_SAMPLE } from './verticalText';
15
16
  /** How far the painted area sits inside the sheet: the trim offset when
@@ -124,9 +125,11 @@ function paintContext(ctx, canvas, page, doc, options) {
124
125
  ctx.clip();
125
126
  }
126
127
  // A vertical page paints its flow through the page's frame — a quarter
127
- // turn clockwise — with the vertical text painter on; the running heads,
128
- // folios, background and crop marks stay on the sheet.
129
- const flow = page.flow;
128
+ // turn clockwise — with the vertical text painter on; a right-to-left
129
+ // page through its mirror, text and pictures turned back about their
130
+ // boxes (`beginMirroredFlow`). The running heads, folios, background and
131
+ // crop marks stay on the sheet.
132
+ const flow = verticalFlowOf(page);
130
133
  let outerVertical = null;
131
134
  if (flow) {
132
135
  ctx.save();
@@ -137,6 +140,7 @@ function paintContext(ctx, canvas, page, doc, options) {
137
140
  ...(flow.centralBaselines ? { axes: flow.centralBaselines } : {}),
138
141
  });
139
142
  }
143
+ const endMirror = page.flow?.writingMode === 'horizontal-tb' ? beginMirroredFlow(ctx, page.flow.mirror.originX) : undefined;
140
144
  if (doc.config.page.baselineGrid.enabled) {
141
145
  // Bound the grid to the page's actual text: from the first text line to
142
146
  // the last. Pages with no text (blank parity pages) draw no grid, and
@@ -199,6 +203,7 @@ function paintContext(ctx, canvas, page, doc, options) {
199
203
  setVerticalPaint(outerVertical);
200
204
  ctx.restore();
201
205
  }
206
+ endMirror?.();
202
207
  if (page.header)
203
208
  renderHeaderFooterSlot(ctx, page.header, inkHex);
204
209
  if (page.footer)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Painting the flow of a right-to-left page on the canvas
3
+ * (`VDTMirroredFlowFrame`).
4
+ *
5
+ * The flow is laid out as a left-to-right page and turned over the sheet's
6
+ * vertical axis: the page paints it through `transform(-1, 0, 0, 1, W, 0)`,
7
+ * so columns, rules, frames, backgrounds and every position land mirrored,
8
+ * as the layout means them. Text and pictures must not read mirrored:
9
+ * while the frame is on, the context's `fillText`, `strokeText` and
10
+ * `drawImage` turn what they paint back about its own box (the run's
11
+ * advance from where its alignment puts it, the image's destination
12
+ * rect), so a glyph run lands where the mirrored layout puts its box and
13
+ * reads as written. Every painter of the flow (lines, bullets, chips,
14
+ * ruby, captions, table cells, callout icons, figures) goes through these
15
+ * three calls, so none of them needs to know about the frame; a run the
16
+ * painter sets right to left (`ctx.direction = 'rtl'`) is turned about the
17
+ * box its direction and alignment give it, and shapes as it would on a
18
+ * left-to-right page. A formula drawn as paths rather than a bitmap asks
19
+ * {@link counterFlipBox} itself.
20
+ *
21
+ * The interception is an own property on the context instance, set for
22
+ * the flow pass and removed after it: running heads, folios and crop marks
23
+ * paint on the sheet untouched.
24
+ */
25
+ export declare function mirroredPaintActive(): boolean;
26
+ /** Turn what `paint` draws back about the horizontal extent
27
+ * `[left, left + width]`, inside a mirrored frame: the box stays where
28
+ * the layout put it and its content reads unmirrored. Outside a mirrored
29
+ * frame it just paints. */
30
+ export declare function counterFlipBox(ctx: CanvasRenderingContext2D, left: number, width: number, paint: () => void): void;
31
+ /**
32
+ * Begin painting the flow of a page mirrored about `originX` (its
33
+ * `flow.mirror.originX`): saves the context, applies the frame and turns
34
+ * text runs and images back (see the module comment). Returns the
35
+ * function that ends it, restoring the context.
36
+ */
37
+ export declare function beginMirroredFlow(ctx: CanvasRenderingContext2D, originX: number): () => void;
38
+ //# sourceMappingURL=mirrorFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mirrorFrame.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/mirrorFrame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAiBD;;;4BAG4B;AAC5B,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAalH;AAWD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CAyC5F"}