postext 1.15.0 → 1.16.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 (423) hide show
  1. package/dist/__tests__/arabic/harakatProfile.test.d.ts +2 -0
  2. package/dist/__tests__/arabic/harakatProfile.test.d.ts.map +1 -0
  3. package/dist/__tests__/arabic/harakatProfile.test.js +105 -0
  4. package/dist/__tests__/arabic/harakatProfile.test.js.map +1 -0
  5. package/dist/__tests__/bundleLocaleAndBytes.test.js +9 -9
  6. package/dist/__tests__/bundleLocaleAndBytes.test.js.map +1 -1
  7. package/dist/__tests__/chineseLocale.test.js +10 -5
  8. package/dist/__tests__/chineseLocale.test.js.map +1 -1
  9. package/dist/__tests__/cjk/annotationsRender.test.js +5 -2
  10. package/dist/__tests__/cjk/annotationsRender.test.js.map +1 -1
  11. package/dist/__tests__/cjk/chipTracking.test.d.ts +2 -0
  12. package/dist/__tests__/cjk/chipTracking.test.d.ts.map +1 -0
  13. package/dist/__tests__/cjk/chipTracking.test.js +52 -0
  14. package/dist/__tests__/cjk/chipTracking.test.js.map +1 -0
  15. package/dist/__tests__/cjk/japaneseHtml.test.d.ts +2 -0
  16. package/dist/__tests__/cjk/japaneseHtml.test.d.ts.map +1 -0
  17. package/dist/__tests__/cjk/japaneseHtml.test.js +163 -0
  18. package/dist/__tests__/cjk/japaneseHtml.test.js.map +1 -0
  19. package/dist/__tests__/cjk/japaneseMarks.test.d.ts +2 -0
  20. package/dist/__tests__/cjk/japaneseMarks.test.d.ts.map +1 -0
  21. package/dist/__tests__/cjk/japaneseMarks.test.js +289 -0
  22. package/dist/__tests__/cjk/japaneseMarks.test.js.map +1 -0
  23. package/dist/__tests__/cjk/japaneseMarksRender.test.d.ts +2 -0
  24. package/dist/__tests__/cjk/japaneseMarksRender.test.d.ts.map +1 -0
  25. package/dist/__tests__/cjk/japaneseMarksRender.test.js +161 -0
  26. package/dist/__tests__/cjk/japaneseMarksRender.test.js.map +1 -0
  27. package/dist/__tests__/cjk/japaneseRuby.test.d.ts +2 -0
  28. package/dist/__tests__/cjk/japaneseRuby.test.d.ts.map +1 -0
  29. package/dist/__tests__/cjk/japaneseRuby.test.js +457 -0
  30. package/dist/__tests__/cjk/japaneseRuby.test.js.map +1 -0
  31. package/dist/__tests__/cjk/japaneseSegmentLanguage.test.d.ts +2 -0
  32. package/dist/__tests__/cjk/japaneseSegmentLanguage.test.d.ts.map +1 -0
  33. package/dist/__tests__/cjk/japaneseSegmentLanguage.test.js +50 -0
  34. package/dist/__tests__/cjk/japaneseSegmentLanguage.test.js.map +1 -0
  35. package/dist/__tests__/cjk/japaneseSpacing.test.d.ts +2 -0
  36. package/dist/__tests__/cjk/japaneseSpacing.test.d.ts.map +1 -0
  37. package/dist/__tests__/cjk/japaneseSpacing.test.js +417 -0
  38. package/dist/__tests__/cjk/japaneseSpacing.test.js.map +1 -0
  39. package/dist/__tests__/cjk/kanbunKunten.test.d.ts +2 -0
  40. package/dist/__tests__/cjk/kanbunKunten.test.d.ts.map +1 -0
  41. package/dist/__tests__/cjk/kanbunKunten.test.js +230 -0
  42. package/dist/__tests__/cjk/kanbunKunten.test.js.map +1 -0
  43. package/dist/__tests__/cjk/kanbunKuntenRender.test.d.ts +2 -0
  44. package/dist/__tests__/cjk/kanbunKuntenRender.test.d.ts.map +1 -0
  45. package/dist/__tests__/cjk/kanbunKuntenRender.test.js +127 -0
  46. package/dist/__tests__/cjk/kanbunKuntenRender.test.js.map +1 -0
  47. package/dist/__tests__/cjk/kinsokuJa.test.d.ts +2 -0
  48. package/dist/__tests__/cjk/kinsokuJa.test.d.ts.map +1 -0
  49. package/dist/__tests__/cjk/kinsokuJa.test.js +388 -0
  50. package/dist/__tests__/cjk/kinsokuJa.test.js.map +1 -0
  51. package/dist/__tests__/cjk/kinsokuJaBuild.test.d.ts +2 -0
  52. package/dist/__tests__/cjk/kinsokuJaBuild.test.d.ts.map +1 -0
  53. package/dist/__tests__/cjk/kinsokuJaBuild.test.js +38 -0
  54. package/dist/__tests__/cjk/kinsokuJaBuild.test.js.map +1 -0
  55. package/dist/__tests__/cjk/resourceAnnotations.test.d.ts +2 -0
  56. package/dist/__tests__/cjk/resourceAnnotations.test.d.ts.map +1 -0
  57. package/dist/__tests__/cjk/resourceAnnotations.test.js +223 -0
  58. package/dist/__tests__/cjk/resourceAnnotations.test.js.map +1 -0
  59. package/dist/__tests__/defaults/cjk.test.js +10 -2
  60. package/dist/__tests__/defaults/cjk.test.js.map +1 -1
  61. package/dist/__tests__/exports.test.js +36 -0
  62. package/dist/__tests__/exports.test.js.map +1 -1
  63. package/dist/__tests__/headingLetterSpacing.test.js +2 -1
  64. package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
  65. package/dist/__tests__/indexChinese.test.js +1 -1
  66. package/dist/__tests__/indexJapanese.test.d.ts +2 -0
  67. package/dist/__tests__/indexJapanese.test.d.ts.map +1 -0
  68. package/dist/__tests__/indexJapanese.test.js +242 -0
  69. package/dist/__tests__/indexJapanese.test.js.map +1 -0
  70. package/dist/__tests__/japaneseHeadings.test.d.ts +2 -0
  71. package/dist/__tests__/japaneseHeadings.test.d.ts.map +1 -0
  72. package/dist/__tests__/japaneseHeadings.test.js +319 -0
  73. package/dist/__tests__/japaneseHeadings.test.js.map +1 -0
  74. package/dist/__tests__/japaneseLocale.test.d.ts +2 -0
  75. package/dist/__tests__/japaneseLocale.test.d.ts.map +1 -0
  76. package/dist/__tests__/japaneseLocale.test.js +201 -0
  77. package/dist/__tests__/japaneseLocale.test.js.map +1 -0
  78. package/dist/__tests__/japaneseNotes.test.d.ts +2 -0
  79. package/dist/__tests__/japaneseNotes.test.d.ts.map +1 -0
  80. package/dist/__tests__/japaneseNotes.test.js +336 -0
  81. package/dist/__tests__/japaneseNotes.test.js.map +1 -0
  82. package/dist/__tests__/japaneseNumbering.test.d.ts +2 -0
  83. package/dist/__tests__/japaneseNumbering.test.d.ts.map +1 -0
  84. package/dist/__tests__/japaneseNumbering.test.js +292 -0
  85. package/dist/__tests__/japaneseNumbering.test.js.map +1 -0
  86. package/dist/__tests__/parse/anchors.test.js +17 -0
  87. package/dist/__tests__/parse/anchors.test.js.map +1 -1
  88. package/dist/__tests__/pipeline/citationsJapanese.test.d.ts +2 -0
  89. package/dist/__tests__/pipeline/citationsJapanese.test.d.ts.map +1 -0
  90. package/dist/__tests__/pipeline/citationsJapanese.test.js +110 -0
  91. package/dist/__tests__/pipeline/citationsJapanese.test.js.map +1 -0
  92. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js +1 -1
  93. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js.map +1 -1
  94. package/dist/__tests__/pipeline/safeArea.test.d.ts +2 -0
  95. package/dist/__tests__/pipeline/safeArea.test.d.ts.map +1 -0
  96. package/dist/__tests__/pipeline/safeArea.test.js +207 -0
  97. package/dist/__tests__/pipeline/safeArea.test.js.map +1 -0
  98. package/dist/__tests__/vertical/compositionPaint.test.js +6 -5
  99. package/dist/__tests__/vertical/compositionPaint.test.js.map +1 -1
  100. package/dist/__tests__/vertical/japaneseVertical.test.d.ts +2 -0
  101. package/dist/__tests__/vertical/japaneseVertical.test.d.ts.map +1 -0
  102. package/dist/__tests__/vertical/japaneseVertical.test.js +247 -0
  103. package/dist/__tests__/vertical/japaneseVertical.test.js.map +1 -0
  104. package/dist/__tests__/vertical/verticalSpans.d.ts +2 -1
  105. package/dist/__tests__/vertical/verticalSpans.d.ts.map +1 -1
  106. package/dist/__tests__/vertical/verticalSpans.js +3 -2
  107. package/dist/__tests__/vertical/verticalSpans.js.map +1 -1
  108. package/dist/__tests__/video.test.d.ts +2 -0
  109. package/dist/__tests__/video.test.d.ts.map +1 -0
  110. package/dist/__tests__/video.test.js +305 -0
  111. package/dist/__tests__/video.test.js.map +1 -0
  112. package/dist/arabicMarks.d.ts +11 -1
  113. package/dist/arabicMarks.d.ts.map +1 -1
  114. package/dist/arabicMarks.js +72 -5
  115. package/dist/arabicMarks.js.map +1 -1
  116. package/dist/bundle/adapters.d.ts +6 -0
  117. package/dist/bundle/adapters.d.ts.map +1 -1
  118. package/dist/bundle/adapters.js +30 -0
  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 +67 -3
  122. package/dist/bundle/codec.js.map +1 -1
  123. package/dist/bundle/index.d.ts +2 -2
  124. package/dist/bundle/index.d.ts.map +1 -1
  125. package/dist/bundle/index.js +2 -2
  126. package/dist/bundle/index.js.map +1 -1
  127. package/dist/bundle/manifest.d.ts +8 -0
  128. package/dist/bundle/manifest.d.ts.map +1 -1
  129. package/dist/bundle/manifest.js +48 -1
  130. package/dist/bundle/manifest.js.map +1 -1
  131. package/dist/bundle/types.d.ts +5 -0
  132. package/dist/bundle/types.d.ts.map +1 -1
  133. package/dist/bundle/zip.js +1 -1
  134. package/dist/bundle/zip.js.map +1 -1
  135. package/dist/canvas-backend/annotations.d.ts +20 -5
  136. package/dist/canvas-backend/annotations.d.ts.map +1 -1
  137. package/dist/canvas-backend/annotations.js +59 -6
  138. package/dist/canvas-backend/annotations.js.map +1 -1
  139. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  140. package/dist/canvas-backend/blockRender.js +29 -3
  141. package/dist/canvas-backend/blockRender.js.map +1 -1
  142. package/dist/canvas-backend/renderResourceBlock.d.ts +6 -1
  143. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  144. package/dist/canvas-backend/renderResourceBlock.js +124 -5
  145. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  146. package/dist/canvas-backend/verticalText.d.ts +9 -4
  147. package/dist/canvas-backend/verticalText.d.ts.map +1 -1
  148. package/dist/canvas-backend/verticalText.js +20 -9
  149. package/dist/canvas-backend/verticalText.js.map +1 -1
  150. package/dist/chineseNumerals.d.ts +3 -2
  151. package/dist/chineseNumerals.d.ts.map +1 -1
  152. package/dist/chineseNumerals.js +11 -8
  153. package/dist/chineseNumerals.js.map +1 -1
  154. package/dist/citations/bibtex.d.ts.map +1 -1
  155. package/dist/citations/bibtex.js +4 -0
  156. package/dist/citations/bibtex.js.map +1 -1
  157. package/dist/citations/data.d.ts.map +1 -1
  158. package/dist/citations/data.js +6 -1
  159. package/dist/citations/data.js.map +1 -1
  160. package/dist/citations/types.d.ts +8 -0
  161. package/dist/citations/types.d.ts.map +1 -1
  162. package/dist/cjkMarks.d.ts +23 -14
  163. package/dist/cjkMarks.d.ts.map +1 -1
  164. package/dist/cjkMarks.js +251 -49
  165. package/dist/cjkMarks.js.map +1 -1
  166. package/dist/configWarnings.js +9 -3
  167. package/dist/configWarnings.js.map +1 -1
  168. package/dist/defaults/cjk.d.ts +64 -14
  169. package/dist/defaults/cjk.d.ts.map +1 -1
  170. package/dist/defaults/cjk.js +203 -29
  171. package/dist/defaults/cjk.js.map +1 -1
  172. package/dist/defaults/footnotes.d.ts +27 -4
  173. package/dist/defaults/footnotes.d.ts.map +1 -1
  174. package/dist/defaults/footnotes.js +95 -36
  175. package/dist/defaults/footnotes.js.map +1 -1
  176. package/dist/defaults/headings.d.ts +5 -0
  177. package/dist/defaults/headings.d.ts.map +1 -1
  178. package/dist/defaults/headings.js +46 -1
  179. package/dist/defaults/headings.js.map +1 -1
  180. package/dist/defaults/index.d.ts +3 -2
  181. package/dist/defaults/index.d.ts.map +1 -1
  182. package/dist/defaults/index.js +12 -3
  183. package/dist/defaults/index.js.map +1 -1
  184. package/dist/defaults/indexConfig.d.ts.map +1 -1
  185. package/dist/defaults/indexConfig.js +7 -4
  186. package/dist/defaults/indexConfig.js.map +1 -1
  187. package/dist/defaults/paragraphStyles.d.ts.map +1 -1
  188. package/dist/defaults/paragraphStyles.js +4 -0
  189. package/dist/defaults/paragraphStyles.js.map +1 -1
  190. package/dist/defaults/resourceTypes.d.ts +16 -3
  191. package/dist/defaults/resourceTypes.d.ts.map +1 -1
  192. package/dist/defaults/resourceTypes.js +56 -8
  193. package/dist/defaults/resourceTypes.js.map +1 -1
  194. package/dist/defaults/shared.d.ts.map +1 -1
  195. package/dist/defaults/shared.js +21 -0
  196. package/dist/defaults/shared.js.map +1 -1
  197. package/dist/defaults/tableStyle.d.ts.map +1 -1
  198. package/dist/defaults/tableStyle.js +4 -1
  199. package/dist/defaults/tableStyle.js.map +1 -1
  200. package/dist/defaults/videoStyle.d.ts +9 -0
  201. package/dist/defaults/videoStyle.d.ts.map +1 -0
  202. package/dist/defaults/videoStyle.js +130 -0
  203. package/dist/defaults/videoStyle.js.map +1 -0
  204. package/dist/design/placeholders.d.ts.map +1 -1
  205. package/dist/design/placeholders.js +5 -3
  206. package/dist/design/placeholders.js.map +1 -1
  207. package/dist/html-backend.d.ts +13 -0
  208. package/dist/html-backend.d.ts.map +1 -1
  209. package/dist/html-backend.js +233 -26
  210. package/dist/html-backend.js.map +1 -1
  211. package/dist/htmlAnnotations.d.ts +47 -9
  212. package/dist/htmlAnnotations.d.ts.map +1 -1
  213. package/dist/htmlAnnotations.js +89 -17
  214. package/dist/htmlAnnotations.js.map +1 -1
  215. package/dist/index.d.ts +13 -7
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +8 -4
  218. package/dist/index.js.map +1 -1
  219. package/dist/japaneseNumerals.d.ts +44 -0
  220. package/dist/japaneseNumerals.d.ts.map +1 -0
  221. package/dist/japaneseNumerals.js +100 -0
  222. package/dist/japaneseNumerals.js.map +1 -0
  223. package/dist/knuthPlass/richAdapter.d.ts +5 -1
  224. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  225. package/dist/knuthPlass/richAdapter.js +2 -0
  226. package/dist/knuthPlass/richAdapter.js.map +1 -1
  227. package/dist/locale.d.ts +19 -12
  228. package/dist/locale.d.ts.map +1 -1
  229. package/dist/locale.js +24 -12
  230. package/dist/locale.js.map +1 -1
  231. package/dist/measure/cache.d.ts.map +1 -1
  232. package/dist/measure/cache.js +17 -8
  233. package/dist/measure/cache.js.map +1 -1
  234. package/dist/measure/canvas.d.ts +21 -0
  235. package/dist/measure/canvas.d.ts.map +1 -1
  236. package/dist/measure/canvas.js +82 -0
  237. package/dist/measure/canvas.js.map +1 -1
  238. package/dist/measure/cjk.d.ts +3 -1
  239. package/dist/measure/cjk.d.ts.map +1 -1
  240. package/dist/measure/cjk.js +4 -2
  241. package/dist/measure/cjk.js.map +1 -1
  242. package/dist/measure/cjkAnnotate.d.ts +62 -3
  243. package/dist/measure/cjkAnnotate.d.ts.map +1 -1
  244. package/dist/measure/cjkAnnotate.js +99 -2
  245. package/dist/measure/cjkAnnotate.js.map +1 -1
  246. package/dist/measure/cjkClasses.d.ts +93 -13
  247. package/dist/measure/cjkClasses.d.ts.map +1 -1
  248. package/dist/measure/cjkClasses.js +204 -14
  249. package/dist/measure/cjkClasses.js.map +1 -1
  250. package/dist/measure/cjkCompose.d.ts +10 -4
  251. package/dist/measure/cjkCompose.d.ts.map +1 -1
  252. package/dist/measure/cjkCompose.js +715 -75
  253. package/dist/measure/cjkCompose.js.map +1 -1
  254. package/dist/measure/cjkPunctuation.d.ts +68 -14
  255. package/dist/measure/cjkPunctuation.d.ts.map +1 -1
  256. package/dist/measure/cjkPunctuation.js +96 -21
  257. package/dist/measure/cjkPunctuation.js.map +1 -1
  258. package/dist/measure/plain.js +2 -2
  259. package/dist/measure/plain.js.map +1 -1
  260. package/dist/measure/rich.d.ts +12 -2
  261. package/dist/measure/rich.d.ts.map +1 -1
  262. package/dist/measure/rich.js +46 -8
  263. package/dist/measure/rich.js.map +1 -1
  264. package/dist/measure/rubyJis.d.ts +96 -0
  265. package/dist/measure/rubyJis.d.ts.map +1 -0
  266. package/dist/measure/rubyJis.js +245 -0
  267. package/dist/measure/rubyJis.js.map +1 -0
  268. package/dist/measure/vertical.d.ts +13 -5
  269. package/dist/measure/vertical.d.ts.map +1 -1
  270. package/dist/measure/vertical.js +16 -6
  271. package/dist/measure/vertical.js.map +1 -1
  272. package/dist/numberWords.d.ts +4 -3
  273. package/dist/numberWords.d.ts.map +1 -1
  274. package/dist/numberWords.js +15 -5
  275. package/dist/numberWords.js.map +1 -1
  276. package/dist/numbering.d.ts +24 -12
  277. package/dist/numbering.d.ts.map +1 -1
  278. package/dist/numbering.js +57 -11
  279. package/dist/numbering.js.map +1 -1
  280. package/dist/parse/annotations.d.ts +21 -18
  281. package/dist/parse/annotations.d.ts.map +1 -1
  282. package/dist/parse/annotations.js +140 -51
  283. package/dist/parse/annotations.js.map +1 -1
  284. package/dist/parse/index.d.ts +1 -1
  285. package/dist/parse/index.d.ts.map +1 -1
  286. package/dist/parse/index.js.map +1 -1
  287. package/dist/parse/indexMarks.d.ts.map +1 -1
  288. package/dist/parse/indexMarks.js +74 -10
  289. package/dist/parse/indexMarks.js.map +1 -1
  290. package/dist/parse/inlineFormatting.d.ts +4 -3
  291. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  292. package/dist/parse/inlineFormatting.js +9 -8
  293. package/dist/parse/inlineFormatting.js.map +1 -1
  294. package/dist/parse/types.d.ts +93 -5
  295. package/dist/parse/types.d.ts.map +1 -1
  296. package/dist/pipeline/annotations.d.ts +25 -15
  297. package/dist/pipeline/annotations.d.ts.map +1 -1
  298. package/dist/pipeline/annotations.js +102 -16
  299. package/dist/pipeline/annotations.js.map +1 -1
  300. package/dist/pipeline/build.d.ts.map +1 -1
  301. package/dist/pipeline/build.js +284 -31
  302. package/dist/pipeline/build.js.map +1 -1
  303. package/dist/pipeline/buildBlockKind.js +2 -1
  304. package/dist/pipeline/buildBlockKind.js.map +1 -1
  305. package/dist/pipeline/buildHelpers.d.ts +2 -0
  306. package/dist/pipeline/buildHelpers.d.ts.map +1 -1
  307. package/dist/pipeline/buildHelpers.js +17 -0
  308. package/dist/pipeline/buildHelpers.js.map +1 -1
  309. package/dist/pipeline/buildMeasurement.d.ts +3 -0
  310. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  311. package/dist/pipeline/buildMeasurement.js +1 -0
  312. package/dist/pipeline/buildMeasurement.js.map +1 -1
  313. package/dist/pipeline/calloutLayout.d.ts +2 -0
  314. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  315. package/dist/pipeline/calloutLayout.js +5 -5
  316. package/dist/pipeline/calloutLayout.js.map +1 -1
  317. package/dist/pipeline/citations.d.ts +1 -1
  318. package/dist/pipeline/citations.d.ts.map +1 -1
  319. package/dist/pipeline/citations.js +15 -7
  320. package/dist/pipeline/citations.js.map +1 -1
  321. package/dist/pipeline/columnBalancing.d.ts +22 -0
  322. package/dist/pipeline/columnBalancing.d.ts.map +1 -1
  323. package/dist/pipeline/columnBalancing.js +80 -3
  324. package/dist/pipeline/columnBalancing.js.map +1 -1
  325. package/dist/pipeline/config.d.ts.map +1 -1
  326. package/dist/pipeline/config.js +3 -2
  327. package/dist/pipeline/config.js.map +1 -1
  328. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  329. package/dist/pipeline/contentWarnings.js +19 -0
  330. package/dist/pipeline/contentWarnings.js.map +1 -1
  331. package/dist/pipeline/continuation.d.ts.map +1 -1
  332. package/dist/pipeline/continuation.js +3 -3
  333. package/dist/pipeline/continuation.js.map +1 -1
  334. package/dist/pipeline/crossRefs.d.ts.map +1 -1
  335. package/dist/pipeline/crossRefs.js +3 -0
  336. package/dist/pipeline/crossRefs.js.map +1 -1
  337. package/dist/pipeline/footnotes.d.ts +20 -12
  338. package/dist/pipeline/footnotes.d.ts.map +1 -1
  339. package/dist/pipeline/footnotes.js +62 -16
  340. package/dist/pipeline/footnotes.js.map +1 -1
  341. package/dist/pipeline/headingStyles.js +1 -1
  342. package/dist/pipeline/headingStyles.js.map +1 -1
  343. package/dist/pipeline/indexDirective.d.ts.map +1 -1
  344. package/dist/pipeline/indexDirective.js +89 -12
  345. package/dist/pipeline/indexDirective.js.map +1 -1
  346. package/dist/pipeline/indexGroups.d.ts +5 -3
  347. package/dist/pipeline/indexGroups.d.ts.map +1 -1
  348. package/dist/pipeline/indexGroups.js +9 -4
  349. package/dist/pipeline/indexGroups.js.map +1 -1
  350. package/dist/pipeline/indexJapanese.d.ts +75 -0
  351. package/dist/pipeline/indexJapanese.d.ts.map +1 -0
  352. package/dist/pipeline/indexJapanese.js +264 -0
  353. package/dist/pipeline/indexJapanese.js.map +1 -0
  354. package/dist/pipeline/lineSpan.d.ts +36 -0
  355. package/dist/pipeline/lineSpan.d.ts.map +1 -0
  356. package/dist/pipeline/lineSpan.js +36 -0
  357. package/dist/pipeline/lineSpan.js.map +1 -0
  358. package/dist/pipeline/lists.js +2 -2
  359. package/dist/pipeline/lists.js.map +1 -1
  360. package/dist/pipeline/measureContentBlock.d.ts +4 -0
  361. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  362. package/dist/pipeline/measureContentBlock.js +54 -5
  363. package/dist/pipeline/measureContentBlock.js.map +1 -1
  364. package/dist/pipeline/outline.d.ts.map +1 -1
  365. package/dist/pipeline/outline.js +3 -1
  366. package/dist/pipeline/outline.js.map +1 -1
  367. package/dist/pipeline/paragraphContainers.d.ts +25 -2
  368. package/dist/pipeline/paragraphContainers.d.ts.map +1 -1
  369. package/dist/pipeline/paragraphContainers.js +82 -2
  370. package/dist/pipeline/paragraphContainers.js.map +1 -1
  371. package/dist/pipeline/parts.d.ts +2 -2
  372. package/dist/pipeline/parts.js +3 -3
  373. package/dist/pipeline/parts.js.map +1 -1
  374. package/dist/pipeline/placement.d.ts.map +1 -1
  375. package/dist/pipeline/placement.js +2 -2
  376. package/dist/pipeline/placement.js.map +1 -1
  377. package/dist/pipeline/resourceLayout.d.ts +6 -0
  378. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  379. package/dist/pipeline/resourceLayout.js +85 -15
  380. package/dist/pipeline/resourceLayout.js.map +1 -1
  381. package/dist/pipeline/resourceNumbering.d.ts +5 -2
  382. package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
  383. package/dist/pipeline/resourceNumbering.js +12 -7
  384. package/dist/pipeline/resourceNumbering.js.map +1 -1
  385. package/dist/pipeline/safeArea.d.ts +29 -0
  386. package/dist/pipeline/safeArea.d.ts.map +1 -0
  387. package/dist/pipeline/safeArea.js +89 -0
  388. package/dist/pipeline/safeArea.js.map +1 -0
  389. package/dist/pipeline/styles.d.ts +12 -0
  390. package/dist/pipeline/styles.d.ts.map +1 -1
  391. package/dist/pipeline/styles.js +7 -1
  392. package/dist/pipeline/styles.js.map +1 -1
  393. package/dist/pipeline/verse.d.ts +3 -0
  394. package/dist/pipeline/verse.d.ts.map +1 -1
  395. package/dist/pipeline/verse.js +1 -1
  396. package/dist/pipeline/verse.js.map +1 -1
  397. package/dist/pipeline/verticalMetrics.d.ts.map +1 -1
  398. package/dist/pipeline/verticalMetrics.js +4 -0
  399. package/dist/pipeline/verticalMetrics.js.map +1 -1
  400. package/dist/pipeline/videoOverlay.d.ts +24 -0
  401. package/dist/pipeline/videoOverlay.d.ts.map +1 -0
  402. package/dist/pipeline/videoOverlay.js +134 -0
  403. package/dist/pipeline/videoOverlay.js.map +1 -0
  404. package/dist/types.d.ts +567 -50
  405. package/dist/types.d.ts.map +1 -1
  406. package/dist/uprightArabic.js +1 -1
  407. package/dist/uprightArabic.js.map +1 -1
  408. package/dist/vdt.d.ts +221 -17
  409. package/dist/vdt.d.ts.map +1 -1
  410. package/dist/vdt.js.map +1 -1
  411. package/dist/video/qr.d.ts +21 -0
  412. package/dist/video/qr.d.ts.map +1 -0
  413. package/dist/video/qr.js +326 -0
  414. package/dist/video/qr.js.map +1 -0
  415. package/dist/video/url.d.ts +62 -0
  416. package/dist/video/url.d.ts.map +1 -0
  417. package/dist/video/url.js +206 -0
  418. package/dist/video/url.js.map +1 -0
  419. package/dist/writingMode.d.ts +74 -20
  420. package/dist/writingMode.d.ts.map +1 -1
  421. package/dist/writingMode.js +146 -27
  422. package/dist/writingMode.js.map +1 -1
  423. package/package.json +1 -1
@@ -21,13 +21,20 @@
21
21
  * which fixes :;?! at one em (clreq §6.3.2.1), and otherwise reuses them
22
22
  * as they are.
23
23
  *
24
+ * Japanese full-width text (`japan`, `fullwidth`) follows JLReq where it
25
+ * differs from clreq ({@link isJlreqSpacing}): ・:; hold a quarter em
26
+ * each side and ?! none; the half em after a closing mark or 、。 stays
27
+ * at the end of a line and is the first blank given up, all of it, to
28
+ * take one more character; inside the line 、「」・ give theirs up and 。
29
+ * never does (JLReq §3.1, §3.8.3).
30
+ *
24
31
  * Which blank a region's glyphs carry is decided by the region, not by the
25
32
  * font: a Traditional Chinese font set under a mainland tag (or the
26
33
  * reverse) puts its marks where its designer did, and compression then
27
34
  * trims the wrong side. Books should be set in a face of their region
28
35
  * (Noto Serif SC for the mainland, TC for Taiwan, HK for Hong Kong).
29
36
  */
30
- import type { CjkHangingPunctuation, CjkPunctuationWidth, CjkRegion, ResolvedCjkConfig } from '../types';
37
+ import type { CjkHangingPunctuation, CjkParagraphStartBracket, CjkPunctuationWidth, CjkRegion, ResolvedCjkConfig } from '../types';
31
38
  import type { CjkClass } from './cjkClasses';
32
39
  /** How CJK text is composed: the resolved `cjk` settings, as the composer
33
40
  * reads them. */
@@ -54,6 +61,12 @@ export interface CjkComposition {
54
61
  * Korean text keeps the marks it shares with Latin text at their own
55
62
  * advance (see {@link routesSharedMarks}). */
56
63
  language?: string;
64
+ /** One em of blank after a ? or ! that ends a sentence inside the
65
+ * paragraph (`cjk.spaceAfterQuestion`, JLReq §3.1.6); unset: none. */
66
+ spaceAfterQuestion?: boolean;
67
+ /** How an opening bracket that starts an indented paragraph is set
68
+ * (`cjk.paragraphStartBracket`); unset: as at any line start. */
69
+ paragraphStartBracket?: CjkParagraphStartBracket;
57
70
  }
58
71
  /** The composition outside a build: every mark at its full advance, no
59
72
  * compression, no hanging, no Han–Latin space — CJK text set as the
@@ -90,6 +103,16 @@ export declare function compositionFor(c: CjkComposition, vertical: boolean): Cj
90
103
  export declare function cjkCompositionKey(c: CjkComposition): string;
91
104
  /** Whether a composition changes nothing: the text is set as without it. */
92
105
  export declare function isPlainComposition(c: CjkComposition): boolean;
106
+ /**
107
+ * Whether marks are spaced as JLReq sets Japanese full-width text (§3.1,
108
+ * Appendix B): the `japan` region with `fullwidth` marks (its default).
109
+ * Then ・:; hold a quarter em on each side ({@link punctuationSide}), a
110
+ * closing mark or 、。 keeps its half em at a line end
111
+ * ({@link lineEndTrim}), and a line takes one more character by giving up
112
+ * blank in JLReq's order ({@link jlreqShrinkStep}); a Chinese region, or
113
+ * Japan under another width style, keeps clreq's rules.
114
+ */
115
+ export declare function isJlreqSpacing(c: CjkComposition): boolean;
93
116
  /** Where a full-width mark keeps the blank it may give up: before its
94
117
  * glyph (`start`), after it (`end`), a quarter em on each side (`both`),
95
118
  * or nowhere (`none`: a mark fixed at its advance). */
@@ -97,10 +120,12 @@ export type PunctuationSide = 'start' | 'end' | 'both' | 'none';
97
120
  /**
98
121
  * The side of a mark's blank along the line (clreq §6.3.2.1): opening
99
122
  * brackets and quotes before their glyph, closing ones after it; the
100
- * mainland's pause and stop marks (、,。.;:?!, in the corner of their
101
- * box) after it; the marks Taiwan and Hong Kong centre (、,。.;:) and
102
- * interpuncts on both sides. ?! are fixed at one em in horizontal Taiwan
103
- * and Hong Kong text, and :;?! in vertical text everywhere. Any other
123
+ * pause and stop marks of the mainland (、,。.;:?!, in the corner of
124
+ * their box) and Japan's 、,。. after it; the marks Taiwan and Hong Kong
125
+ * centre (、,。.;:), Japan's :; (a quarter em each side, as ・, JLReq
126
+ * §3.1.2 cl-05) and interpuncts on both sides. ?! are fixed at one em in
127
+ * horizontal Taiwan, Hong Kong and Japanese text (JLReq cl-04: a
128
+ * full-width glyph), and :;?! in vertical text everywhere. Any other
104
129
  * character has no blank.
105
130
  */
106
131
  export declare function punctuationSide(grapheme: string, cls: CjkClass, region: CjkRegion, vertical?: boolean): PunctuationSide;
@@ -131,6 +156,9 @@ export interface PunctuationBox {
131
156
  }
132
157
  /** A mark's advance now: its full advance less the blank it gave up. */
133
158
  export declare function boxCut(box: PunctuationBox): number;
159
+ /** The blank a mark still holds on each side. */
160
+ export declare function blankStart(box: PunctuationBox): number;
161
+ export declare function blankEnd(box: PunctuationBox): number;
134
162
  /**
135
163
  * A mark (`grapheme` of class `cls`, full advance `advance` px, font em
136
164
  * `em` px) with the blank its style sets aside (clreq §6.3.2.1): none under
@@ -139,8 +167,9 @@ export declare function boxCut(box: PunctuationBox): number;
139
167
  * half an em under every style (GB/T 15834, clreq §5.1), centred, in either
140
168
  * writing mode: a full-width glyph gives up its blank here, and in vertical
141
169
  * text its cell is half an em already (`verticalCellEms`), so it is no
142
- * adjustable mark there. Undefined for a character that is no adjustable
143
- * mark.
170
+ * adjustable mark there. The Japanese ・ keeps its em (half a glyph and a
171
+ * quarter em each side, JLReq §3.1.2), as in Taiwan and Hong Kong.
172
+ * Undefined for a character that is no adjustable mark.
144
173
  */
145
174
  export declare function punctuationBox(grapheme: string, cls: CjkClass, advance: number, em: number, c: CjkComposition): PunctuationBox | undefined;
146
175
  /**
@@ -154,8 +183,13 @@ export declare function punctuationBox(grapheme: string, cls: CjkClass, advance:
154
183
  * before it or an opening one after it. Only the blank between the two is
155
184
  * given up — the bracket's first — and never more than takes the pair to
156
185
  * 1.5 em, so a Kaiming pair that already takes 1.5 em (。”) keeps it.
186
+ *
187
+ * With `jlreq` ({@link isJlreqSpacing}) the same rules give JLReq §3.1.4's
188
+ * table: 、」 。」 」、 」。 」」 「「 solid, 、「 」「 half an em between,
189
+ * and 」・ ・「 (and :; in place of ・) a quarter em between: the
190
+ * bracket's whole half em goes, the middle dot keeps its quarter.
157
191
  */
158
- export declare function compressPair(a: PunctuationBox, b: PunctuationBox): void;
192
+ export declare function compressPair(a: PunctuationBox, b: PunctuationBox, jlreq?: boolean): void;
159
193
  /**
160
194
  * Under Kaiming a stop mark keeps its blank inside the line and a closing
161
195
  * mark gives its own up, so where the two meet (。” ?” 。)) the stop's half
@@ -177,8 +211,10 @@ export declare function lineStartTrim(box: PunctuationBox | undefined, c: CjkCom
177
211
  * `lineEndHalf` (GB/T 15834—2011 §5.1.10), the stop marks under
178
212
  * `kaiming` (the rest are half already, but for a closing mark holding a
179
213
  * stop's blank, {@link carryStopBlank}), a closing bracket or quote with
180
- * `trimLineStart` (clreq §6.3.2.3). A centred mark gives up a quarter em
181
- * each side. */
214
+ * `trimLineStart` (clreq §6.3.2.3) but in JLReq spacing, which keeps it
215
+ * (§3.1.9: the line gives it up only to take one more character,
216
+ * {@link punctuationShrink}). A centred mark gives up a quarter em each
217
+ * side. */
182
218
  export declare function lineEndTrim(box: PunctuationBox | undefined, c: CjkComposition): number;
183
219
  /** Apply the edge trims of a line to a mark: `start` from
184
220
  * {@link lineStartTrim}, `end` from {@link lineEndTrim}. */
@@ -207,15 +243,31 @@ export declare function lineEdgeCut(box: PunctuationBox, c: CjkComposition, star
207
243
  * line), and with them the stop's blank a closing mark holds
208
244
  * ({@link carryStopBlank}); `lineEndHalf` lets every mark go down to half an
209
245
  * em.
246
+ *
247
+ * JLReq spacing ({@link isJlreqSpacing}, §3.8.3) gives up more: a mark
248
+ * that ends the line (`atEnd`) the blank after its glyph, a middle dot
249
+ * (・:;) inside the line its quarter em on each side, and an opening
250
+ * bracket, a closing one or 、, inside the line their half em; never the
251
+ * half em after 。. inside the line.
210
252
  */
211
- export declare function punctuationShrink(box: PunctuationBox | undefined, c: CjkComposition): number;
253
+ export declare function punctuationShrink(box: PunctuationBox | undefined, c: CjkComposition, atEnd?: boolean): number;
212
254
  /** Give up `amount` px of a mark's blank to compress its line (see
213
- * {@link punctuationShrink}); returns what it gave. */
214
- export declare function shrinkPunctuation(box: PunctuationBox, amount: number): number;
255
+ * {@link punctuationShrink}); returns what it gave. `atEnd`: only the
256
+ * blank after the glyph of a mark that ends the line (JLReq spacing). */
257
+ export declare function shrinkPunctuation(box: PunctuationBox, amount: number, atEnd?: boolean): number;
215
258
  /** The step of clreq §6.2.2.3's reduction order a mark belongs to:
216
259
  * interpuncts, then brackets, then pause marks, then (after the Han–Latin
217
260
  * spaces) stop marks, and a closing mark holding a stop's blank. */
218
261
  export declare function shrinkStep(box: PunctuationBox): number;
262
+ /**
263
+ * The step of JLReq §3.8.3's reduction order (Table 3) a mark belongs to,
264
+ * after the word spaces (1): at the end of the line, the half em after a
265
+ * closing mark or 、。 (2), then the quarter em after a middle dot (3),
266
+ * each all or nothing (JLReq §3.1.9); inside the line, the middle dots'
267
+ * quarter ems (4), then the half ems of brackets and 、, (5); the space
268
+ * between Japanese and Latin text comes last (6).
269
+ */
270
+ export declare function jlreqShrinkStep(box: PunctuationBox, atEnd: boolean): number;
219
271
  /**
220
272
  * The advance of one mark and where its glyph is painted, px — the width
221
273
  * decision of {@link punctuationBox} and the line edges, for a single mark
@@ -234,7 +286,9 @@ export declare function punctuationAdvance(grapheme: string, cls: CjkClass, adva
234
286
  * (`cjk.hangingPunctuation`, clreq §6.1.3): 、,。. everywhere and, on the
235
287
  * mainland (whose marks sit at the start of their box), every pause and
236
288
  * stop mark; under `'allow'`, never in horizontal Taiwan and Hong Kong
237
- * text, whose centred marks look cut off.
289
+ * text, whose centred marks look cut off. Japan hangs 、,。. only, in
290
+ * either writing mode (ぶら下げ, JLReq §2.5.1: closing brackets and ?!
291
+ * never hang).
238
292
  */
239
293
  export declare function mayHang(grapheme: string, cls: CjkClass, c: CjkComposition): boolean;
240
294
  /** Whether a grapheme takes the Han–Latin space on its Latin side: a letter
@@ -1 +1 @@
1
- {"version":3,"file":"cjkPunctuation.d.ts","sourceRoot":"","sources":["../../src/measure/cjkPunctuation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cjkPunctuation.d.ts","sourceRoot":"","sources":["../../src/measure/cjkPunctuation.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,13 @@
21
21
  * which fixes :;?! at one em (clreq §6.3.2.1), and otherwise reuses them
22
22
  * as they are.
23
23
  *
24
+ * Japanese full-width text (`japan`, `fullwidth`) follows JLReq where it
25
+ * differs from clreq ({@link isJlreqSpacing}): ・:; hold a quarter em
26
+ * each side and ?! none; the half em after a closing mark or 、。 stays
27
+ * at the end of a line and is the first blank given up, all of it, to
28
+ * take one more character; inside the line 、「」・ give theirs up and 。
29
+ * never does (JLReq §3.1, §3.8.3).
30
+ *
24
31
  * Which blank a region's glyphs carry is decided by the region, not by the
25
32
  * font: a Traditional Chinese font set under a mainland tag (or the
26
33
  * reverse) puts its marks where its designer did, and compression then
@@ -66,6 +73,8 @@ export function cjkCompositionOf(cjk, dpi, locale) {
66
73
  hangingPunctuation: cjk.hangingPunctuation,
67
74
  latinSpacing: ls.unit === 'em' || ls.unit === 'rem' ? { em: Math.max(0, ls.value) } : { px: Math.max(0, dimensionToPx(ls, dpi)) },
68
75
  ...(language ? { language } : {}),
76
+ ...(cjk.spaceAfterQuestion ? { spaceAfterQuestion: true } : {}),
77
+ ...(cjk.paragraphStartBracket ? { paragraphStartBracket: cjk.paragraphStartBracket } : {}),
69
78
  };
70
79
  }
71
80
  /** Kana and hangul: a paragraph holding them is Japanese or Korean. */
@@ -115,12 +124,27 @@ export function cjkCompositionKey(c) {
115
124
  // Korean route no shared marks, and only a Chinese document routes them
116
125
  // in a paragraph with kana.
117
126
  const lang = japaneseOrKorean(c) ? ':jk' : c.language === 'zh' ? ':zh' : '';
118
- return `${c.region}:${c.punctuationWidth}:${c.compressAdjacent ? 1 : 0}:${c.trimLineStart ? 1 : 0}:${c.hangingPunctuation}:${ls}${c.vertical ? ':v' : ''}${lang}`;
127
+ // Japanese settings only where set, so other keys stay as they were.
128
+ const ja = `${c.spaceAfterQuestion ? ':q' : ''}${c.paragraphStartBracket ? `:p${c.paragraphStartBracket}` : ''}`;
129
+ return `${c.region}:${c.punctuationWidth}:${c.compressAdjacent ? 1 : 0}:${c.trimLineStart ? 1 : 0}:${c.hangingPunctuation}:${ls}${c.vertical ? ':v' : ''}${lang}${ja}`;
119
130
  }
120
131
  /** Whether a composition changes nothing: the text is set as without it. */
121
132
  export function isPlainComposition(c) {
122
133
  return c.punctuationWidth === 'fullwidth' && !c.compressAdjacent && !c.trimLineStart
123
- && c.hangingPunctuation === 'none' && (c.latinSpacing.px ?? c.latinSpacing.em ?? 0) === 0;
134
+ && c.hangingPunctuation === 'none' && (c.latinSpacing.px ?? c.latinSpacing.em ?? 0) === 0
135
+ && !c.spaceAfterQuestion && !c.paragraphStartBracket;
136
+ }
137
+ /**
138
+ * Whether marks are spaced as JLReq sets Japanese full-width text (§3.1,
139
+ * Appendix B): the `japan` region with `fullwidth` marks (its default).
140
+ * Then ・:; hold a quarter em on each side ({@link punctuationSide}), a
141
+ * closing mark or 、。 keeps its half em at a line end
142
+ * ({@link lineEndTrim}), and a line takes one more character by giving up
143
+ * blank in JLReq's order ({@link jlreqShrinkStep}); a Chinese region, or
144
+ * Japan under another width style, keeps clreq's rules.
145
+ */
146
+ export function isJlreqSpacing(c) {
147
+ return c.region === 'japan' && c.punctuationWidth === 'fullwidth';
124
148
  }
125
149
  /** ?! and their doubles. */
126
150
  const QUESTION_EXCLAMATION = new Set(['?', '!', '?', '!', '‼', '⁇', '⁈', '⁉', '﹖', '﹗', '︖', '︕']);
@@ -129,10 +153,12 @@ const COLON_SEMICOLON = new Set([':', ';', '﹕', '﹔', '︓', '︔']);
129
153
  /**
130
154
  * The side of a mark's blank along the line (clreq §6.3.2.1): opening
131
155
  * brackets and quotes before their glyph, closing ones after it; the
132
- * mainland's pause and stop marks (、,。.;:?!, in the corner of their
133
- * box) after it; the marks Taiwan and Hong Kong centre (、,。.;:) and
134
- * interpuncts on both sides. ?! are fixed at one em in horizontal Taiwan
135
- * and Hong Kong text, and :;?! in vertical text everywhere. Any other
156
+ * pause and stop marks of the mainland (、,。.;:?!, in the corner of
157
+ * their box) and Japan's 、,。. after it; the marks Taiwan and Hong Kong
158
+ * centre (、,。.;:), Japan's :; (a quarter em each side, as ・, JLReq
159
+ * §3.1.2 cl-05) and interpuncts on both sides. ?! are fixed at one em in
160
+ * horizontal Taiwan, Hong Kong and Japanese text (JLReq cl-04: a
161
+ * full-width glyph), and :;?! in vertical text everywhere. Any other
136
162
  * character has no blank.
137
163
  */
138
164
  export function punctuationSide(grapheme, cls, region, vertical = false) {
@@ -149,7 +175,13 @@ export function punctuationSide(grapheme, cls, region, vertical = false) {
149
175
  return 'none';
150
176
  if (region === 'mainland')
151
177
  return 'end';
152
- return QUESTION_EXCLAMATION.has(grapheme) ? 'none' : 'both';
178
+ if (QUESTION_EXCLAMATION.has(grapheme))
179
+ return 'none';
180
+ // Japan sets 、。,. in the corner of their box, as the mainland does
181
+ // (JLReq §3.1.2), and centres :; as Taiwan and Hong Kong do.
182
+ if (region === 'japan' && !COLON_SEMICOLON.has(grapheme))
183
+ return 'end';
184
+ return 'both';
153
185
  default:
154
186
  return 'none';
155
187
  }
@@ -159,14 +191,14 @@ export function boxCut(box) {
159
191
  return box.cutStart + box.cutEnd;
160
192
  }
161
193
  /** The blank a mark still holds on each side. */
162
- function blankStart(box) {
194
+ export function blankStart(box) {
163
195
  if (box.side === 'start')
164
196
  return box.blank - box.cutStart;
165
197
  if (box.side === 'both')
166
198
  return box.blank / 2 - box.cutStart;
167
199
  return 0;
168
200
  }
169
- function blankEnd(box) {
201
+ export function blankEnd(box) {
170
202
  if (box.side === 'end')
171
203
  return box.blank - box.cutEnd;
172
204
  if (box.side === 'both')
@@ -209,8 +241,9 @@ function isStop(box) {
209
241
  * half an em under every style (GB/T 15834, clreq §5.1), centred, in either
210
242
  * writing mode: a full-width glyph gives up its blank here, and in vertical
211
243
  * text its cell is half an em already (`verticalCellEms`), so it is no
212
- * adjustable mark there. Undefined for a character that is no adjustable
213
- * mark.
244
+ * adjustable mark there. The Japanese ・ keeps its em (half a glyph and a
245
+ * quarter em each side, JLReq §3.1.2), as in Taiwan and Hong Kong.
246
+ * Undefined for a character that is no adjustable mark.
214
247
  */
215
248
  export function punctuationBox(grapheme, cls, advance, em, c) {
216
249
  const side = punctuationSide(grapheme, cls, c.region, c.vertical);
@@ -237,8 +270,13 @@ function isMarkClass(cls) {
237
270
  * before it or an opening one after it. Only the blank between the two is
238
271
  * given up — the bracket's first — and never more than takes the pair to
239
272
  * 1.5 em, so a Kaiming pair that already takes 1.5 em (。”) keeps it.
273
+ *
274
+ * With `jlreq` ({@link isJlreqSpacing}) the same rules give JLReq §3.1.4's
275
+ * table: 、」 。」 」、 」。 」」 「「 solid, 、「 」「 half an em between,
276
+ * and 」・ ・「 (and :; in place of ・) a quarter em between: the
277
+ * bracket's whole half em goes, the middle dot keeps its quarter.
240
278
  */
241
- export function compressPair(a, b) {
279
+ export function compressPair(a, b, jlreq = false) {
242
280
  if (!isMarkClass(a.cls) || !isMarkClass(b.cls))
243
281
  return;
244
282
  let limit = Math.max(a.em, b.em) / 2;
@@ -251,7 +289,8 @@ export function compressPair(a, b) {
251
289
  ok = true;
252
290
  else if ((a.cls === 'closing' && b.cls === 'interpunct') || (a.cls === 'interpunct' && b.cls === 'opening')) {
253
291
  ok = true;
254
- limit = Math.max(a.em, b.em) / 4;
292
+ if (!jlreq)
293
+ limit = Math.max(a.em, b.em) / 4;
255
294
  }
256
295
  if (!ok)
257
296
  return;
@@ -324,8 +363,10 @@ export function lineStartTrim(box, c) {
324
363
  * `lineEndHalf` (GB/T 15834—2011 §5.1.10), the stop marks under
325
364
  * `kaiming` (the rest are half already, but for a closing mark holding a
326
365
  * stop's blank, {@link carryStopBlank}), a closing bracket or quote with
327
- * `trimLineStart` (clreq §6.3.2.3). A centred mark gives up a quarter em
328
- * each side. */
366
+ * `trimLineStart` (clreq §6.3.2.3) but in JLReq spacing, which keeps it
367
+ * (§3.1.9: the line gives it up only to take one more character,
368
+ * {@link punctuationShrink}). A centred mark gives up a quarter em each
369
+ * side. */
329
370
  export function lineEndTrim(box, c) {
330
371
  if (!box || box.side === 'start')
331
372
  return 0;
@@ -334,7 +375,7 @@ export function lineEndTrim(box, c) {
334
375
  return rest;
335
376
  if (c.punctuationWidth === 'kaiming' && (isStop(box) || box.cls === 'closing'))
336
377
  return rest;
337
- if (c.trimLineStart && box.cls === 'closing')
378
+ if (c.trimLineStart && box.cls === 'closing' && !isJlreqSpacing(c))
338
379
  return rest;
339
380
  return 0;
340
381
  }
@@ -407,11 +448,22 @@ export function lineEdgeCut(box, c, start, end) {
407
448
  * line), and with them the stop's blank a closing mark holds
408
449
  * ({@link carryStopBlank}); `lineEndHalf` lets every mark go down to half an
409
450
  * em.
451
+ *
452
+ * JLReq spacing ({@link isJlreqSpacing}, §3.8.3) gives up more: a mark
453
+ * that ends the line (`atEnd`) the blank after its glyph, a middle dot
454
+ * (・:;) inside the line its quarter em on each side, and an opening
455
+ * bracket, a closing one or 、, inside the line their half em; never the
456
+ * half em after 。. inside the line.
410
457
  */
411
- export function punctuationShrink(box, c) {
458
+ export function punctuationShrink(box, c, atEnd = false) {
412
459
  if (!box)
413
460
  return 0;
414
461
  const rest = Math.max(0, box.blank - boxCut(box));
462
+ if (isJlreqSpacing(c)) {
463
+ if (atEnd)
464
+ return Math.max(0, blankEnd(box));
465
+ return box.cls === 'stop' ? 0 : rest;
466
+ }
415
467
  switch (c.punctuationWidth) {
416
468
  case 'kaiming':
417
469
  return isStop(box) || box.carry ? rest : 0;
@@ -422,8 +474,16 @@ export function punctuationShrink(box, c) {
422
474
  }
423
475
  }
424
476
  /** Give up `amount` px of a mark's blank to compress its line (see
425
- * {@link punctuationShrink}); returns what it gave. */
426
- export function shrinkPunctuation(box, amount) {
477
+ * {@link punctuationShrink}); returns what it gave. `atEnd`: only the
478
+ * blank after the glyph of a mark that ends the line (JLReq spacing). */
479
+ export function shrinkPunctuation(box, amount, atEnd = false) {
480
+ if (atEnd) {
481
+ const take = Math.min(amount, Math.max(0, blankEnd(box)));
482
+ if (take <= 0)
483
+ return 0;
484
+ box.cutEnd += take;
485
+ return take;
486
+ }
427
487
  return giveUp(box, amount);
428
488
  }
429
489
  /** The step of clreq §6.2.2.3's reduction order a mark belongs to:
@@ -440,6 +500,19 @@ export function shrinkStep(box) {
440
500
  default: return 6;
441
501
  }
442
502
  }
503
+ /**
504
+ * The step of JLReq §3.8.3's reduction order (Table 3) a mark belongs to,
505
+ * after the word spaces (1): at the end of the line, the half em after a
506
+ * closing mark or 、。 (2), then the quarter em after a middle dot (3),
507
+ * each all or nothing (JLReq §3.1.9); inside the line, the middle dots'
508
+ * quarter ems (4), then the half ems of brackets and 、, (5); the space
509
+ * between Japanese and Latin text comes last (6).
510
+ */
511
+ export function jlreqShrinkStep(box, atEnd) {
512
+ if (atEnd)
513
+ return box.side === 'both' ? 3 : 2;
514
+ return box.side === 'both' ? 4 : 5;
515
+ }
443
516
  /**
444
517
  * The advance of one mark and where its glyph is painted, px — the width
445
518
  * decision of {@link punctuationBox} and the line edges, for a single mark
@@ -460,14 +533,16 @@ const HANG_ANYWHERE = new Set(['、', ',', '。', '.', '、', '。']);
460
533
  * (`cjk.hangingPunctuation`, clreq §6.1.3): 、,。. everywhere and, on the
461
534
  * mainland (whose marks sit at the start of their box), every pause and
462
535
  * stop mark; under `'allow'`, never in horizontal Taiwan and Hong Kong
463
- * text, whose centred marks look cut off.
536
+ * text, whose centred marks look cut off. Japan hangs 、,。. only, in
537
+ * either writing mode (ぶら下げ, JLReq §2.5.1: closing brackets and ?!
538
+ * never hang).
464
539
  */
465
540
  export function mayHang(grapheme, cls, c) {
466
541
  if (c.hangingPunctuation === 'none')
467
542
  return false;
468
543
  if (cls !== 'pause' && cls !== 'stop')
469
544
  return false;
470
- if (c.hangingPunctuation === 'allow' && c.region !== 'mainland' && !c.vertical)
545
+ if (c.hangingPunctuation === 'allow' && c.region !== 'mainland' && c.region !== 'japan' && !c.vertical)
471
546
  return false;
472
547
  return HANG_ANYWHERE.has(grapheme) || c.region === 'mainland';
473
548
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cjkPunctuation.js","sourceRoot":"","sources":["../../src/measure/cjkPunctuation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cjkPunctuation.js","sourceRoot":"","sources":["../../src/measure/cjkPunctuation.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { measureRichBlock } from './rich';
11
11
  import { hasCJK, hasCJKRun } from './cjk';
12
12
  import { composesAsCjk } from './cjkCompose';
13
13
  import { markCuts } from './markCuts';
14
- import { getMeasureUprightDigits, getMeasureWritingMode, lineBaselineOffset, measuringVertically, withMeasureWritingMode } from './vertical';
14
+ import { getMeasureRegion, getMeasureUprightDigits, getMeasureWritingMode, lineBaselineOffset, measuringVertically, withMeasureWritingMode } from './vertical';
15
15
  import { holdsVerticalCell } from '../writingMode';
16
16
  import { WORDS_AND_SPACES_RE } from './spaces';
17
17
  import { breaksAfterHardHyphen, hasCompound, raggedStretchPx } from './breakRules';
@@ -211,7 +211,7 @@ export function measureBlock(text, font, maxWidthPx, lineHeightPx, options) {
211
211
  // that meet (`本)》录`): pretext would measure it with the browser's
212
212
  // trimming, where the renderers paint such marks apart (`markCuts`).
213
213
  // Each of the three CJK tests needs CJK text (`hasCJK`), looked for once.
214
- if ((hasCJK(text) && (hasCJKRun(text) || composesAsCjk(text) || markCuts(text, 'words').length > 0)) || (measuringVertically() && holdsVerticalCell(text, getMeasureUprightDigits()))) {
214
+ if ((hasCJK(text) && (hasCJKRun(text) || composesAsCjk(text) || markCuts(text, 'words').length > 0)) || (measuringVertically() && holdsVerticalCell(text, getMeasureUprightDigits(), getMeasureRegion()))) {
215
215
  return measureRichBlock([{ text, bold: false, italic: false }], font, font, font, font, maxWidthPx, lineHeightPx, options);
216
216
  }
217
217
  // A paragraph set right to left, or holding right-to-left text: the
@@ -1 +1 @@
1
- {"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/measure/plain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/measure/plain.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { VDTChip, VDTLine, VDTLineSegment, VDTSegmentMarks } from '../vdt';
1
+ import type { VDTAnnotationRun, VDTChip, VDTLine, VDTLineSegment, VDTSegmentMarks } from '../vdt';
2
2
  import type { MathRender } from '../math/types';
3
3
  import type { InlineSpan } from '../parse';
4
4
  import { type MeasuredBlock, type MeasureBlockOptions } from './types';
@@ -76,6 +76,15 @@ export interface RichToken {
76
76
  /** A footnote marker (`[^id]`): atomic like a reference; the id flows
77
77
  * onto the segment. */
78
78
  footnoteId?: string;
79
+ /** A footnote marker set in the line gap (`footnotes.markerPosition:
80
+ * 'side'`): what is painted there; the token is 0 wide (see
81
+ * `VDTLineSegment.sideMarker`). */
82
+ sideRuns?: VDTAnnotationRun[];
83
+ /** A footnote marker set flush with the right side of a vertical line
84
+ * (`footnotes.markerPosition: 'right'`): how far its baseline moves
85
+ * across the line (negative: right), px, for its em box at
86
+ * `markerFont` to end where the line's does. */
87
+ markerShift?: number;
79
88
  /** True when this token belongs to a caption's numbered label. Flows to the
80
89
  * segment so renderers can apply the label colour. */
81
90
  captionLabel?: boolean;
@@ -189,7 +198,8 @@ export declare function smallCapsWidth(text: string, font: string): number;
189
198
  * In vertical text (`measuringVertically`) a character that stands in a
190
199
  * cell of its own advances its cell (`verticalTextWidth`), as the
191
200
  * renderers paint it, and so does a short number set in one cell
192
- * (`cjk.uprightDigits`); no other ASCII text holds one. */
201
+ * (`cjk.uprightDigits`) and a Japanese pair of !? marks
202
+ * (`mayHoldVerticalCell`). */
193
203
  export declare function textWidth(text: string, font: string, smallCaps: boolean | undefined): number;
194
204
  /** Segments that still carry the small-caps flag of their token. */
195
205
  export type PendingSegment = VDTLineSegment & {