postext 1.24.0 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/dist/__tests__/bundle/cjkRulesPin.test.d.ts +2 -0
  2. package/dist/__tests__/bundle/cjkRulesPin.test.d.ts.map +1 -0
  3. package/dist/__tests__/bundle/cjkRulesPin.test.js +78 -0
  4. package/dist/__tests__/bundle/cjkRulesPin.test.js.map +1 -0
  5. package/dist/__tests__/bundle/designOverflowPin.test.js +4 -2
  6. package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -1
  7. package/dist/__tests__/bundle/flowColumnsPin.test.d.ts +2 -0
  8. package/dist/__tests__/bundle/flowColumnsPin.test.d.ts.map +1 -0
  9. package/dist/__tests__/bundle/flowColumnsPin.test.js +40 -0
  10. package/dist/__tests__/bundle/flowColumnsPin.test.js.map +1 -0
  11. package/dist/__tests__/bundle/gridBalancingPin.test.d.ts +2 -0
  12. package/dist/__tests__/bundle/gridBalancingPin.test.d.ts.map +1 -0
  13. package/dist/__tests__/bundle/gridBalancingPin.test.js +53 -0
  14. package/dist/__tests__/bundle/gridBalancingPin.test.js.map +1 -0
  15. package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts +2 -0
  16. package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts.map +1 -0
  17. package/dist/__tests__/bundle/inlineTableSplitPin.test.js +43 -0
  18. package/dist/__tests__/bundle/inlineTableSplitPin.test.js.map +1 -0
  19. package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts +2 -0
  20. package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts.map +1 -0
  21. package/dist/__tests__/bundle/openerHeadFloatsPin.test.js +50 -0
  22. package/dist/__tests__/bundle/openerHeadFloatsPin.test.js.map +1 -0
  23. package/dist/__tests__/bundle.test.js +11 -1
  24. package/dist/__tests__/bundle.test.js.map +1 -1
  25. package/dist/__tests__/cjk/annotationsRender.test.js +5 -2
  26. package/dist/__tests__/cjk/annotationsRender.test.js.map +1 -1
  27. package/dist/__tests__/cjk/circledNumbers.test.d.ts +2 -0
  28. package/dist/__tests__/cjk/circledNumbers.test.d.ts.map +1 -0
  29. package/dist/__tests__/cjk/circledNumbers.test.js +83 -0
  30. package/dist/__tests__/cjk/circledNumbers.test.js.map +1 -0
  31. package/dist/__tests__/cjk/gridBalancing.test.d.ts +2 -0
  32. package/dist/__tests__/cjk/gridBalancing.test.d.ts.map +1 -0
  33. package/dist/__tests__/cjk/gridBalancing.test.js +227 -0
  34. package/dist/__tests__/cjk/gridBalancing.test.js.map +1 -0
  35. package/dist/__tests__/cjk/justifyRender.test.js +2 -1
  36. package/dist/__tests__/cjk/justifyRender.test.js.map +1 -1
  37. package/dist/__tests__/cjk/titleBreaks.test.d.ts +2 -0
  38. package/dist/__tests__/cjk/titleBreaks.test.d.ts.map +1 -0
  39. package/dist/__tests__/cjk/titleBreaks.test.js +76 -0
  40. package/dist/__tests__/cjk/titleBreaks.test.js.map +1 -0
  41. package/dist/__tests__/cjk/wordJoiner.test.js +13 -4
  42. package/dist/__tests__/cjk/wordJoiner.test.js.map +1 -1
  43. package/dist/__tests__/codeBlocks.test.js +1 -1
  44. package/dist/__tests__/design/cjkDesignText.test.d.ts +2 -0
  45. package/dist/__tests__/design/cjkDesignText.test.d.ts.map +1 -0
  46. package/dist/__tests__/design/cjkDesignText.test.js +130 -0
  47. package/dist/__tests__/design/cjkDesignText.test.js.map +1 -0
  48. package/dist/__tests__/design/cjkDesignTextRender.test.d.ts +2 -0
  49. package/dist/__tests__/design/cjkDesignTextRender.test.d.ts.map +1 -0
  50. package/dist/__tests__/design/cjkDesignTextRender.test.js +100 -0
  51. package/dist/__tests__/design/cjkDesignTextRender.test.js.map +1 -0
  52. package/dist/__tests__/exports.test.js +49 -0
  53. package/dist/__tests__/exports.test.js.map +1 -1
  54. package/dist/__tests__/hardBreaks.test.js +1 -1
  55. package/dist/__tests__/headingInlineMarks.test.js +1 -1
  56. package/dist/__tests__/headingNumberSpans.test.d.ts +2 -0
  57. package/dist/__tests__/headingNumberSpans.test.d.ts.map +1 -0
  58. package/dist/__tests__/headingNumberSpans.test.js +96 -0
  59. package/dist/__tests__/headingNumberSpans.test.js.map +1 -0
  60. package/dist/__tests__/mathSizeMigration.test.js +2 -2
  61. package/dist/__tests__/multipleColumns.test.js +207 -0
  62. package/dist/__tests__/multipleColumns.test.js.map +1 -1
  63. package/dist/__tests__/parse/citations.test.js +29 -0
  64. package/dist/__tests__/parse/citations.test.js.map +1 -1
  65. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +10 -6
  66. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js.map +1 -1
  67. package/dist/__tests__/pipeline/calloutOverflow.test.js +4 -2
  68. package/dist/__tests__/pipeline/calloutOverflow.test.js.map +1 -1
  69. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
  70. package/dist/__tests__/pipeline/calloutTallKeepTogether.test.js +6 -5
  71. package/dist/__tests__/pipeline/calloutTallKeepTogether.test.js.map +1 -1
  72. package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
  73. package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
  74. package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
  75. package/dist/__tests__/pipeline/floatCitingPage.test.d.ts +2 -0
  76. package/dist/__tests__/pipeline/floatCitingPage.test.d.ts.map +1 -0
  77. package/dist/__tests__/pipeline/floatCitingPage.test.js +241 -0
  78. package/dist/__tests__/pipeline/floatCitingPage.test.js.map +1 -0
  79. package/dist/__tests__/pipeline/floatOverInlineResource.test.js +18 -6
  80. package/dist/__tests__/pipeline/floatOverInlineResource.test.js.map +1 -1
  81. package/dist/__tests__/pipeline/floatPlacement.test.js +3 -3
  82. package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
  83. package/dist/__tests__/pipeline/flowColumns.test.d.ts +2 -0
  84. package/dist/__tests__/pipeline/flowColumns.test.d.ts.map +1 -0
  85. package/dist/__tests__/pipeline/flowColumns.test.js +261 -0
  86. package/dist/__tests__/pipeline/flowColumns.test.js.map +1 -0
  87. package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts +2 -0
  88. package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts.map +1 -0
  89. package/dist/__tests__/pipeline/headingKeepFitEps.test.js +83 -0
  90. package/dist/__tests__/pipeline/headingKeepFitEps.test.js.map +1 -0
  91. package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
  92. package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
  93. package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts +2 -0
  94. package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts.map +1 -0
  95. package/dist/__tests__/pipeline/inlineTableSplit.test.js +238 -0
  96. package/dist/__tests__/pipeline/inlineTableSplit.test.js.map +1 -0
  97. package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
  98. package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
  99. package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js +3 -2
  100. package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js.map +1 -1
  101. package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts +2 -0
  102. package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts.map +1 -0
  103. package/dist/__tests__/pipeline/sideBoxAfterText.test.js +163 -0
  104. package/dist/__tests__/pipeline/sideBoxAfterText.test.js.map +1 -0
  105. package/dist/__tests__/prepareFonts.test.d.ts +2 -0
  106. package/dist/__tests__/prepareFonts.test.d.ts.map +1 -0
  107. package/dist/__tests__/prepareFonts.test.js +358 -0
  108. package/dist/__tests__/prepareFonts.test.js.map +1 -0
  109. package/dist/__tests__/svgFonts.test.d.ts +2 -0
  110. package/dist/__tests__/svgFonts.test.d.ts.map +1 -0
  111. package/dist/__tests__/svgFonts.test.js +286 -0
  112. package/dist/__tests__/svgFonts.test.js.map +1 -0
  113. package/dist/__tests__/verseLines.test.js +1 -1
  114. package/dist/__tests__/vertical/measurePaint.test.js +16 -0
  115. package/dist/__tests__/vertical/measurePaint.test.js.map +1 -1
  116. package/dist/bundle/adapters.d.ts +31 -7
  117. package/dist/bundle/adapters.d.ts.map +1 -1
  118. package/dist/bundle/adapters.js +113 -34
  119. package/dist/bundle/adapters.js.map +1 -1
  120. package/dist/bundle/codec.d.ts.map +1 -1
  121. package/dist/bundle/codec.js +1 -0
  122. package/dist/bundle/codec.js.map +1 -1
  123. package/dist/bundle/configVersion.d.ts +127 -10
  124. package/dist/bundle/configVersion.d.ts.map +1 -1
  125. package/dist/bundle/configVersion.js +260 -9
  126. package/dist/bundle/configVersion.js.map +1 -1
  127. package/dist/bundle/index.d.ts +3 -3
  128. package/dist/bundle/index.d.ts.map +1 -1
  129. package/dist/bundle/index.js +2 -2
  130. package/dist/bundle/index.js.map +1 -1
  131. package/dist/bundle/manifest.d.ts.map +1 -1
  132. package/dist/bundle/manifest.js +3 -2
  133. package/dist/bundle/manifest.js.map +1 -1
  134. package/dist/bundle/types.d.ts +4 -0
  135. package/dist/bundle/types.d.ts.map +1 -1
  136. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  137. package/dist/canvas-backend/headerFooter.js +3 -1
  138. package/dist/canvas-backend/headerFooter.js.map +1 -1
  139. package/dist/columnRule.d.ts.map +1 -1
  140. package/dist/columnRule.js +5 -2
  141. package/dist/columnRule.js.map +1 -1
  142. package/dist/configWarnings.js +1 -1
  143. package/dist/configWarnings.js.map +1 -1
  144. package/dist/defaults/cjk.d.ts +2 -1
  145. package/dist/defaults/cjk.d.ts.map +1 -1
  146. package/dist/defaults/cjk.js +17 -1
  147. package/dist/defaults/cjk.js.map +1 -1
  148. package/dist/defaults/diagramStyle.d.ts.map +1 -1
  149. package/dist/defaults/diagramStyle.js +6 -0
  150. package/dist/defaults/diagramStyle.js.map +1 -1
  151. package/dist/defaults/headings.d.ts.map +1 -1
  152. package/dist/defaults/headings.js +3 -0
  153. package/dist/defaults/headings.js.map +1 -1
  154. package/dist/defaults/index.d.ts +1 -1
  155. package/dist/defaults/index.d.ts.map +1 -1
  156. package/dist/defaults/index.js +1 -1
  157. package/dist/defaults/index.js.map +1 -1
  158. package/dist/defaults/layout.d.ts +5 -0
  159. package/dist/defaults/layout.d.ts.map +1 -1
  160. package/dist/defaults/layout.js +32 -0
  161. package/dist/defaults/layout.js.map +1 -1
  162. package/dist/defaults/tableStyle.d.ts.map +1 -1
  163. package/dist/defaults/tableStyle.js +6 -0
  164. package/dist/defaults/tableStyle.js.map +1 -1
  165. package/dist/design/cjkText.d.ts +34 -0
  166. package/dist/design/cjkText.d.ts.map +1 -0
  167. package/dist/design/cjkText.js +82 -0
  168. package/dist/design/cjkText.js.map +1 -0
  169. package/dist/design/layout.d.ts.map +1 -1
  170. package/dist/design/layout.js +103 -5
  171. package/dist/design/layout.js.map +1 -1
  172. package/dist/design/richText.d.ts +24 -0
  173. package/dist/design/richText.d.ts.map +1 -1
  174. package/dist/design/richText.js +37 -1
  175. package/dist/design/richText.js.map +1 -1
  176. package/dist/fonts/buildWithFonts.d.ts +19 -0
  177. package/dist/fonts/buildWithFonts.d.ts.map +1 -0
  178. package/dist/fonts/buildWithFonts.js +16 -0
  179. package/dist/fonts/buildWithFonts.js.map +1 -0
  180. package/dist/fonts/faces.d.ts +88 -0
  181. package/dist/fonts/faces.d.ts.map +1 -0
  182. package/dist/fonts/faces.js +264 -0
  183. package/dist/fonts/faces.js.map +1 -0
  184. package/dist/fonts/fontSet.d.ts +34 -0
  185. package/dist/fonts/fontSet.d.ts.map +1 -0
  186. package/dist/fonts/fontSet.js +173 -0
  187. package/dist/fonts/fontSet.js.map +1 -0
  188. package/dist/fonts/prepare.d.ts +120 -0
  189. package/dist/fonts/prepare.d.ts.map +1 -0
  190. package/dist/fonts/prepare.js +375 -0
  191. package/dist/fonts/prepare.js.map +1 -0
  192. package/dist/html-backend.d.ts +17 -0
  193. package/dist/html-backend.d.ts.map +1 -1
  194. package/dist/html-backend.js +87 -3
  195. package/dist/html-backend.js.map +1 -1
  196. package/dist/index.d.ts +25 -5
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js +18 -2
  199. package/dist/index.js.map +1 -1
  200. package/dist/measure/cache.d.ts.map +1 -1
  201. package/dist/measure/cache.js +32 -2
  202. package/dist/measure/cache.js.map +1 -1
  203. package/dist/measure/canvas.d.ts +15 -0
  204. package/dist/measure/canvas.d.ts.map +1 -1
  205. package/dist/measure/canvas.js +68 -4
  206. package/dist/measure/canvas.js.map +1 -1
  207. package/dist/measure/cjk.d.ts.map +1 -1
  208. package/dist/measure/cjk.js +4 -1
  209. package/dist/measure/cjk.js.map +1 -1
  210. package/dist/measure/cjkClasses.d.ts +17 -0
  211. package/dist/measure/cjkClasses.d.ts.map +1 -1
  212. package/dist/measure/cjkClasses.js +41 -1
  213. package/dist/measure/cjkClasses.js.map +1 -1
  214. package/dist/measure/cjkCompose.d.ts.map +1 -1
  215. package/dist/measure/cjkCompose.js +119 -7
  216. package/dist/measure/cjkCompose.js.map +1 -1
  217. package/dist/measure/cjkPunctuation.d.ts +18 -1
  218. package/dist/measure/cjkPunctuation.d.ts.map +1 -1
  219. package/dist/measure/cjkPunctuation.js +13 -1
  220. package/dist/measure/cjkPunctuation.js.map +1 -1
  221. package/dist/measure/font.d.ts +8 -0
  222. package/dist/measure/font.d.ts.map +1 -1
  223. package/dist/measure/font.js +13 -2
  224. package/dist/measure/font.js.map +1 -1
  225. package/dist/measure/fontString.d.ts +14 -0
  226. package/dist/measure/fontString.d.ts.map +1 -0
  227. package/dist/measure/fontString.js +55 -0
  228. package/dist/measure/fontString.js.map +1 -0
  229. package/dist/measure/index.d.ts +4 -1
  230. package/dist/measure/index.d.ts.map +1 -1
  231. package/dist/measure/index.js +3 -1
  232. package/dist/measure/index.js.map +1 -1
  233. package/dist/measure/types.d.ts +4 -0
  234. package/dist/measure/types.d.ts.map +1 -1
  235. package/dist/measure/types.js.map +1 -1
  236. package/dist/parse/citations.d.ts.map +1 -1
  237. package/dist/parse/citations.js +7 -3
  238. package/dist/parse/citations.js.map +1 -1
  239. package/dist/pipeline/build.d.ts +36 -0
  240. package/dist/pipeline/build.d.ts.map +1 -1
  241. package/dist/pipeline/build.js +1065 -193
  242. package/dist/pipeline/build.js.map +1 -1
  243. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  244. package/dist/pipeline/buildBlockKind.js +20 -6
  245. package/dist/pipeline/buildBlockKind.js.map +1 -1
  246. package/dist/pipeline/buildMeasurement.d.ts +6 -0
  247. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  248. package/dist/pipeline/buildMeasurement.js +3 -2
  249. package/dist/pipeline/buildMeasurement.js.map +1 -1
  250. package/dist/pipeline/calloutLayout.d.ts +59 -0
  251. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  252. package/dist/pipeline/calloutLayout.js +287 -65
  253. package/dist/pipeline/calloutLayout.js.map +1 -1
  254. package/dist/pipeline/columnBalancing.d.ts +20 -0
  255. package/dist/pipeline/columnBalancing.d.ts.map +1 -1
  256. package/dist/pipeline/columnBalancing.js +22 -4
  257. package/dist/pipeline/columnBalancing.js.map +1 -1
  258. package/dist/pipeline/columnsGroup.d.ts +61 -0
  259. package/dist/pipeline/columnsGroup.d.ts.map +1 -0
  260. package/dist/pipeline/columnsGroup.js +88 -0
  261. package/dist/pipeline/columnsGroup.js.map +1 -0
  262. package/dist/pipeline/config.d.ts +28 -0
  263. package/dist/pipeline/config.d.ts.map +1 -1
  264. package/dist/pipeline/config.js +67 -8
  265. package/dist/pipeline/config.js.map +1 -1
  266. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  267. package/dist/pipeline/contentWarnings.js +28 -0
  268. package/dist/pipeline/contentWarnings.js.map +1 -1
  269. package/dist/pipeline/floatPlacement.d.ts +16 -2
  270. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  271. package/dist/pipeline/floatPlacement.js +12 -4
  272. package/dist/pipeline/floatPlacement.js.map +1 -1
  273. package/dist/pipeline/floatSlots.d.ts +9 -3
  274. package/dist/pipeline/floatSlots.d.ts.map +1 -1
  275. package/dist/pipeline/floatSlots.js +15 -6
  276. package/dist/pipeline/floatSlots.js.map +1 -1
  277. package/dist/pipeline/flowColumns.d.ts +41 -0
  278. package/dist/pipeline/flowColumns.d.ts.map +1 -0
  279. package/dist/pipeline/flowColumns.js +116 -0
  280. package/dist/pipeline/flowColumns.js.map +1 -0
  281. package/dist/pipeline/measureContentBlock.d.ts +13 -1
  282. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  283. package/dist/pipeline/measureContentBlock.js +20 -5
  284. package/dist/pipeline/measureContentBlock.js.map +1 -1
  285. package/dist/pipeline/partPalette.d.ts +3 -0
  286. package/dist/pipeline/partPalette.d.ts.map +1 -1
  287. package/dist/pipeline/partPalette.js +5 -0
  288. package/dist/pipeline/partPalette.js.map +1 -1
  289. package/dist/pipeline/placement.d.ts +19 -0
  290. package/dist/pipeline/placement.d.ts.map +1 -1
  291. package/dist/pipeline/placement.js +5 -2
  292. package/dist/pipeline/placement.js.map +1 -1
  293. package/dist/pipeline/resourceLayout.d.ts +26 -0
  294. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  295. package/dist/pipeline/resourceLayout.js +53 -3
  296. package/dist/pipeline/resourceLayout.js.map +1 -1
  297. package/dist/pipeline/toc.d.ts.map +1 -1
  298. package/dist/pipeline/toc.js +6 -1
  299. package/dist/pipeline/toc.js.map +1 -1
  300. package/dist/svg/fontRegistry.d.ts +66 -0
  301. package/dist/svg/fontRegistry.d.ts.map +1 -0
  302. package/dist/svg/fontRegistry.js +294 -0
  303. package/dist/svg/fontRegistry.js.map +1 -0
  304. package/dist/svg/fonts.d.ts +140 -0
  305. package/dist/svg/fonts.d.ts.map +1 -0
  306. package/dist/svg/fonts.js +642 -0
  307. package/dist/svg/fonts.js.map +1 -0
  308. package/dist/svg/image.d.ts +44 -0
  309. package/dist/svg/image.d.ts.map +1 -0
  310. package/dist/svg/image.js +67 -0
  311. package/dist/svg/image.js.map +1 -0
  312. package/dist/types.d.ts +138 -2
  313. package/dist/types.d.ts.map +1 -1
  314. package/dist/util/stableHash.d.ts +20 -0
  315. package/dist/util/stableHash.d.ts.map +1 -0
  316. package/dist/util/stableHash.js +59 -0
  317. package/dist/util/stableHash.js.map +1 -0
  318. package/dist/vdt.d.ts +118 -3
  319. package/dist/vdt.d.ts.map +1 -1
  320. package/dist/vdt.js.map +1 -1
  321. package/dist/worker/client.d.ts +8 -0
  322. package/dist/worker/client.d.ts.map +1 -1
  323. package/dist/worker/client.js +22 -0
  324. package/dist/worker/client.js.map +1 -1
  325. package/dist/worker/fonts.d.ts +1 -13
  326. package/dist/worker/fonts.d.ts.map +1 -1
  327. package/dist/worker/fonts.js +3 -61
  328. package/dist/worker/fonts.js.map +1 -1
  329. package/dist/worker/layout.worker.js +23 -16
  330. package/dist/worker/layout.worker.js.map +1 -1
  331. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tableStyle.js","sourceRoot":"","sources":["../../src/defaults/tableStyle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tableStyle.js","sourceRoot":"","sources":["../../src/defaults/tableStyle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { InlineSpan } from '../parse/types';
2
+ import type { DesignTextRun } from './richText';
3
+ /** The fonts a CJK design text is set in: the element's, and the ones its
4
+ * inline marks pick (bold, italic). */
5
+ export interface CjkDesignFonts {
6
+ normal: string;
7
+ bold: string;
8
+ italic: string;
9
+ boldItalic: string;
10
+ }
11
+ /** A line of CJK design text: its text, width (a hung mark left out),
12
+ * runs (absent when the line is one run in the element's font at the
13
+ * glyphs' own advances) and where it starts in its room. */
14
+ export interface CjkDesignLine {
15
+ text: string;
16
+ width: number;
17
+ runs?: DesignTextRun[];
18
+ xOffset: number;
19
+ }
20
+ /** Whether a design text (one paragraph or line of it) is set by the CJK
21
+ * composer: the document composes design text (`cjk.composeDesignText`,
22
+ * on unless a configuration stored before #637 pins it off) and the text
23
+ * composes as CJK, as a body paragraph would. */
24
+ export declare function composesDesignAsCjk(text: string): boolean;
25
+ /**
26
+ * Compose one paragraph of design text (no newline in it) with the CJK
27
+ * composer: `spans` in `fonts`, lines `maxWidth` wide less `indents[i]`
28
+ * (the last repeating; the line starts that far in), or one line when
29
+ * `maxWidth` is undefined. `measureIn` measures a run's text as the
30
+ * renderers paint it (tracking included), so a run whose box is its
31
+ * glyphs' advance carries no `inkOffset`.
32
+ */
33
+ export declare function composeCjkDesignParagraph(spans: InlineSpan[], fonts: CjkDesignFonts, maxWidth: number | undefined, lineHeightPx: number, letterSpacingPx: number, measureIn: (text: string, font: string) => number, indents?: readonly number[]): CjkDesignLine[];
34
+ //# sourceMappingURL=cjkText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cjkText.d.ts","sourceRoot":"","sources":["../../src/design/cjkText.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;wCACwC;AACxC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;6DAE6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;kDAGkD;AAClD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAKD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,UAAU,EAAE,EACnB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,EACjD,OAAO,GAAE,SAAS,MAAM,EAAO,GAC9B,aAAa,EAAE,CAOjB"}
@@ -0,0 +1,82 @@
1
+ // Design text in Chinese or Japanese (#637): a heading design or an opener,
2
+ // a running head, a page design or a part page whose text composes as CJK
3
+ // is broken and spaced by the body's composer (`measure/cjkCompose.ts`):
4
+ // the line-start and line-end rules of `cjk.lineBreak`, the mark widths of
5
+ // `cjk.punctuationWidth` and `compressAdjacent`, the Han–Latin space,
6
+ // hanging punctuation and the book-title rule. Its lines come back as
7
+ // design runs: a mark that gave up blank, or a space whose width is not
8
+ // its glyph's, is a run of its own whose `width` is its box and whose
9
+ // `inkOffset` places the glyph in it, as on a body segment.
10
+ import { composeCjkParagraph, composesAsCjk } from '../measure/cjkCompose';
11
+ import { getCjkComposition } from '../measure/cjkPunctuation';
12
+ /** Whether a design text (one paragraph or line of it) is set by the CJK
13
+ * composer: the document composes design text (`cjk.composeDesignText`,
14
+ * on unless a configuration stored before #637 pins it off) and the text
15
+ * composes as CJK, as a body paragraph would. */
16
+ export function composesDesignAsCjk(text) {
17
+ return getCjkComposition().plainDesignText !== true && composesAsCjk(text);
18
+ }
19
+ /** Room for one line when a text is laid out on its natural width. */
20
+ const UNBOUNDED_PX = 1e7;
21
+ /**
22
+ * Compose one paragraph of design text (no newline in it) with the CJK
23
+ * composer: `spans` in `fonts`, lines `maxWidth` wide less `indents[i]`
24
+ * (the last repeating; the line starts that far in), or one line when
25
+ * `maxWidth` is undefined. `measureIn` measures a run's text as the
26
+ * renderers paint it (tracking included), so a run whose box is its
27
+ * glyphs' advance carries no `inkOffset`.
28
+ */
29
+ export function composeCjkDesignParagraph(spans, fonts, maxWidth, lineHeightPx, letterSpacingPx, measureIn, indents = []) {
30
+ const measured = composeCjkParagraph(spans, fonts.normal, fonts.bold, fonts.italic, fonts.boldItalic, maxWidth ?? UNBOUNDED_PX, lineHeightPx, {
31
+ textAlign: 'left',
32
+ ...(letterSpacingPx !== 0 ? { letterSpacingPx } : {}),
33
+ ...(indents.some((x) => x > 0) ? { lineIndentsPx: indents } : {}),
34
+ });
35
+ return measured.lines.map((line) => designLineOf(line, fonts, measureIn));
36
+ }
37
+ /** A composed line as design runs (see the module comment). */
38
+ function designLineOf(line, fonts, measureIn) {
39
+ const runs = [];
40
+ // Room a Han–Latin space (no text) left before the first run.
41
+ let lead = 0;
42
+ for (const seg of line.segments ?? []) {
43
+ if (seg.text === '') {
44
+ if (!(seg.width > 0))
45
+ continue;
46
+ const prev = runs[runs.length - 1];
47
+ if (prev) {
48
+ prev.width += seg.width;
49
+ prev.inkOffset ??= 0;
50
+ }
51
+ else
52
+ lead += seg.width;
53
+ continue;
54
+ }
55
+ const font = seg.fontString ?? (seg.bold ? (seg.italic ? fonts.boldItalic : fonts.bold) : seg.italic ? fonts.italic : fonts.normal);
56
+ const run = { text: seg.text, fontString: font, width: seg.width };
57
+ if (seg.baselineShift)
58
+ run.baselineShift = seg.baselineShift;
59
+ if (seg.stacked)
60
+ run.stacked = true;
61
+ if (seg.tcy)
62
+ run.tcy = true;
63
+ else if (seg.orientation)
64
+ run.orientation = seg.orientation;
65
+ if (seg.inkOffset !== undefined)
66
+ run.inkOffset = seg.inkOffset;
67
+ else if (!seg.stacked && Math.abs(measureIn(seg.text, font) - seg.width) > 0.01)
68
+ run.inkOffset = 0;
69
+ if (lead > 0) {
70
+ run.width += lead;
71
+ run.inkOffset = (run.inkOffset ?? 0) + lead;
72
+ lead = 0;
73
+ }
74
+ runs.push(run);
75
+ }
76
+ const text = runs.map((r) => r.text).join('');
77
+ const width = line.bbox.width;
78
+ const plain = runs.length === 1 && runs[0].fontString === fonts.normal && runs[0].inkOffset === undefined && !runs[0].baselineShift
79
+ && !runs[0].tcy && !runs[0].orientation;
80
+ return { text, width, ...(plain || runs.length === 0 ? {} : { runs }), xOffset: line.bbox.x };
81
+ }
82
+ //# sourceMappingURL=cjkText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cjkText.js","sourceRoot":"","sources":["../../src/design/cjkText.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/design/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/design/layout.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@ import { BREAKING_SPACE_RUNS_SPLIT_RE, NO_BREAK_SPACES, isBreakingSpaceRun } fro
13
13
  import { resolveDesignResourceId, resolveDesignText, } from './placeholders';
14
14
  import { hasJoiningScript, joinsWithNext } from '../bidi';
15
15
  import { designBaseDirection, directRuns } from './bidiText';
16
- import { RichMeasurer, ellipsisEndCut, ellipsisMiddleCut, ellipsisStartCut, parseRichDesignText, plainDesignText, singleRichLine, wrapRich, } from './richText';
16
+ import { composeCjkDesignParagraph, composesDesignAsCjk } from './cjkText';
17
+ import { RichMeasurer, ellipsisEndCut, ellipsisMiddleCut, ellipsisStartCut, parseRichDesignText, plainDesignText, richDesignSpans, richFontSet, singleRichLine, wrapRich, } from './richText';
17
18
  /** Placeholder characters the snippet parser leaves in span text (private
18
19
  * use, the object replacement character, the invisible separator and
19
20
  * plus of references and swatches): nothing a reader can read. */
@@ -505,6 +506,69 @@ maxContentWidth, hyphenate) {
505
506
  ...(truncated ? { truncated: true } : {}),
506
507
  };
507
508
  }
509
+ /**
510
+ * Lay out a text some of whose rows (`\n` apart) compose as CJK (#637):
511
+ * those rows are set by the CJK composer (`design/cjkText.ts`), wrapped
512
+ * when `overflow` wraps and set on one line otherwise; the others as
513
+ * `layoutText` (or, with inline marks, `layoutRichText`) sets them.
514
+ * Undefined when a line wider than its room should lose characters to an
515
+ * ellipsis: the caller then sets the text as before.
516
+ */
517
+ function layoutCjkRows(source, spansOf, fonts, richM, measure, measureIn, lineHeightPx, letterSpacingPx, overflow, maxContentWidth, hyphenate) {
518
+ const wrap = overflow === 'wrap' && maxContentWidth !== undefined;
519
+ const rows = [];
520
+ let truncated = false;
521
+ // A line wider than the room of a text that does not wrap: clipped, or
522
+ // left to the ellipsis of the plain path.
523
+ const tooWide = (width) => !wrap && maxContentWidth !== undefined && width > maxContentWidth + CLIP_SLACK_PX;
524
+ let start = 0;
525
+ for (const row of source.split('\n')) {
526
+ const end = start + row.length;
527
+ if (composesDesignAsCjk(row)) {
528
+ const lines = composeCjkDesignParagraph(spansOf(start, end), fonts, wrap ? maxContentWidth : undefined, lineHeightPx, letterSpacingPx, measureIn);
529
+ if (lines.some((l) => tooWide(l.width))) {
530
+ if (overflow !== 'clip')
531
+ return undefined;
532
+ truncated = true;
533
+ }
534
+ if (lines.length === 0)
535
+ rows.push({ text: '', width: 0 });
536
+ for (const l of lines)
537
+ rows.push({ text: l.text, width: l.width, ...(l.runs ? { runs: l.runs } : {}), ...(l.xOffset ? { xOffset: l.xOffset } : {}) });
538
+ }
539
+ else if (wrap) {
540
+ if (richM)
541
+ rows.push(...wrapRich(richM, start, end, () => maxContentWidth, hyphenate ?? false));
542
+ else
543
+ for (const t of wrapToWidth(row, measure, maxContentWidth, hyphenate ?? false))
544
+ rows.push({ text: t, width: measure(t) });
545
+ }
546
+ else {
547
+ const line = richM ? richM.rangeLine(start, end) : { text: row, width: measure(row) };
548
+ if (tooWide(line.width)) {
549
+ if (overflow !== 'clip')
550
+ return undefined;
551
+ truncated = true;
552
+ }
553
+ rows.push(line);
554
+ }
555
+ start = end + 1;
556
+ }
557
+ const lines = stackLines(rows, lineHeightPx);
558
+ rows.forEach((r, i) => {
559
+ if (r.xOffset)
560
+ lines[i].xOffset = r.xOffset;
561
+ });
562
+ const natural = lines.reduce((mx, l) => Math.max(mx, l.width + (l.xOffset ?? 0)), 0);
563
+ const clip = !wrap && maxContentWidth !== undefined;
564
+ return {
565
+ lines,
566
+ contentWidth: clip ? Math.min(natural, maxContentWidth) : natural,
567
+ contentHeight: lines.length * lineHeightPx,
568
+ needsClip: clip,
569
+ ...(truncated ? { truncated: true } : {}),
570
+ };
571
+ }
508
572
  /** Lay out a text with inline marks: the same rules as `layoutText`, with
509
573
  * every line built from runs. */
510
574
  function layoutRichText(m, lineHeightPx, overflow, maxContentWidth, hyphenate) {
@@ -975,6 +1039,13 @@ frame = {}) {
975
1039
  && !joinsWithNext(paragraphs[0], 0)
976
1040
  ? el.dropCap
977
1041
  : undefined;
1042
+ // Rows of Chinese or Japanese are set by the CJK composer (#637): the
1043
+ // fonts of their inline marks, and the spans of a range of `source`
1044
+ // (`plain`, the range's text, when the text has no marks).
1045
+ const cjkFonts = richM
1046
+ ? richFontSet({ family: el.fontFamily, sizePx: fontSizePx, weight: el.fontWeight, italic: el.italic })
1047
+ : { normal: fontString, bold: fontString, italic: fontString, boldItalic: fontString };
1048
+ const spansOf = (a, b, plain) => richM ? richDesignSpans(richM.rt, a, b) : [{ text: plain, bold: false, italic: false }];
978
1049
  let m;
979
1050
  let cap;
980
1051
  if ((dropCap || justify || (paraIndentPx > 0 && paragraphs.length > 1)) && wraps && contentMax !== undefined) {
@@ -1012,6 +1083,28 @@ frame = {}) {
1012
1083
  return paraIndentPx;
1013
1084
  return 0;
1014
1085
  };
1086
+ if (composesDesignAsCjk(para)) {
1087
+ // A paragraph of Chinese or Japanese (#637): set by the CJK
1088
+ // composer, ragged (its lines are not stretched at word spaces),
1089
+ // each line as far in as its offset says (the last entry repeats).
1090
+ const indents = [];
1091
+ for (let i = 0; i <= Math.max(capLines, 1); i++)
1092
+ indents.push(offsetOf(i));
1093
+ const [a, b] = paraRanges[p];
1094
+ for (const l of composeCjkDesignParagraph(spansOf(a, b, para), cjkFonts, maxW, lineHeightPx, letterSpacingPx, measureIn, indents)) {
1095
+ wrapped.push({
1096
+ text: l.text,
1097
+ width: l.width,
1098
+ xOffset: l.xOffset,
1099
+ topY: lineNo * lineHeightPx,
1100
+ baselineY: lineNo * lineHeightPx + lineHeightPx * 0.8,
1101
+ height: lineHeightPx,
1102
+ ...(l.runs ? { runs: l.runs } : {}),
1103
+ });
1104
+ lineNo++;
1105
+ }
1106
+ return;
1107
+ }
1015
1108
  const lines = richM
1016
1109
  ? wrapRich(richM, paraRanges[p][0], paraRanges[p][1], (i) => maxW - offsetOf(i), el.hyphenate ?? false, fill)
1017
1110
  : wrapWithWidths(para, measure, (i) => maxW - offsetOf(i), el.hyphenate ?? false, 0, fill).map((t) => ({ text: t, width: measure(t) }));
@@ -1038,11 +1131,16 @@ frame = {}) {
1038
1131
  const w = wrapped.reduce((mx, l) => Math.max(mx, l.width + (l.xOffset ?? 0)), 0);
1039
1132
  m = { lines: wrapped, contentWidth: w, contentHeight: wrapped.length * lineHeightPx, needsClip: false };
1040
1133
  }
1041
- else if (richM && contentMax !== undefined) {
1042
- m = layoutRichText(richM, lineHeightPx, el.overflow, contentMax, el.hyphenate);
1043
- }
1044
1134
  else {
1045
- m = layoutText(text, measure, lineHeightPx, el.overflow, contentMax, el.hyphenate);
1135
+ const cjk = source.split('\n').some(composesDesignAsCjk)
1136
+ ? layoutCjkRows(source, (a, b) => spansOf(a, b, source.slice(a, b)), cjkFonts, richM, measure, measureIn, lineHeightPx, letterSpacingPx, el.overflow, contentMax, el.hyphenate)
1137
+ : undefined;
1138
+ if (cjk)
1139
+ m = cjk;
1140
+ else if (richM && contentMax !== undefined)
1141
+ m = layoutRichText(richM, lineHeightPx, el.overflow, contentMax, el.hyphenate);
1142
+ else
1143
+ m = layoutText(text, measure, lineHeightPx, el.overflow, contentMax, el.hyphenate);
1046
1144
  }
1047
1145
  // Set vertically (in a vertical flow, or turned by `writingMode`): each
1048
1146
  // line's characters stand on the middle of its line box, as a vertical