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
@@ -0,0 +1,245 @@
1
+ /**
2
+ * Japanese ruby geometry (furigana, #422), after JIS X 4051 §12 and JLReq
3
+ * §3.3: where a reading sits on its base, how far a longer one may run
4
+ * past the base before the base is spread, and how the readings of a
5
+ * jukugo ruby (熟語ルビ) share a word.
6
+ *
7
+ * Pure arithmetic along the line, in px of the flow frame: the composer
8
+ * (`cjkCompose.ts`) gives each base's advance and its reading's
9
+ * characters, and how far the reading may pass the base on each side
10
+ * (`allow`: what the neighbour outside takes, 0 at a line edge, where
11
+ * the reading is set flush with the edge and the base moves in); it gets
12
+ * back each base's box (its advance on the line), where the base's first
13
+ * glyph starts in the box (`inset`), the spacing after each base
14
+ * character (`tracking`) and the reading's pieces, placed from the box's
15
+ * start.
16
+ *
17
+ * - A reading no longer than its base (JLReq §3.3.6 a) leaves the box as
18
+ * the base: `center` centres it, `start` sets it from the base's start,
19
+ * `jis` spreads it 1:2:1 (half a unit before the first character and
20
+ * after the last, a unit between characters), or, when that half unit
21
+ * would be more than a ruby character, from one end of the base to the
22
+ * other (space-between). One character is centred by either.
23
+ * - A longer reading (§3.3.6 b) runs past the base as far as each side
24
+ * allows, evenly while both sides can take it; what is left spreads the
25
+ * base: 1:2:1 under `jis` (half a unit before the first character and
26
+ * after the last, a unit between), centred in its box otherwise. The
27
+ * reading is set solid.
28
+ * - A jukugo ruby (§3.3.7) is set as mono ruby while every reading fits
29
+ * its base. When one does not, each reading stays by its own base and
30
+ * may run onto the next or the previous base of the word by up to one
31
+ * ruby character, the readings never overlapping, the first and the
32
+ * last passing the word by what the neighbours outside allow. When even
33
+ * that does not hold them, the word takes its readings as one, a group
34
+ * ruby over the whole word.
35
+ */
36
+ const EPS = 1e-9;
37
+ /** The sum of the advances. */
38
+ function advance(reading) {
39
+ let w = 0;
40
+ for (const r of reading)
41
+ w += r.width;
42
+ return w;
43
+ }
44
+ /** Where each character of a reading starts when the first starts at `x`
45
+ * with `gap` after each but the last. */
46
+ function charStarts(reading, x, gap) {
47
+ const out = [];
48
+ let at = x;
49
+ for (const r of reading) {
50
+ out.push(at);
51
+ at += r.width + gap;
52
+ }
53
+ return out;
54
+ }
55
+ /** A reading's characters at `xs` as pieces: characters set solid share a
56
+ * piece. */
57
+ function piecesAt(reading, xs) {
58
+ const out = [];
59
+ reading.forEach((r, i) => {
60
+ const x = xs[i];
61
+ const last = out[out.length - 1];
62
+ if (last && Math.abs(last.dx + last.width - x) < EPS) {
63
+ last.text += r.text;
64
+ last.width += r.width;
65
+ }
66
+ else
67
+ out.push({ text: r.text, dx: x, width: r.width });
68
+ });
69
+ return out;
70
+ }
71
+ /** How far a longer reading passes its base on each side: evenly while
72
+ * both sides take it, then the side that takes more (`start` alignment:
73
+ * only after the base). */
74
+ export function overhangs(need, allow, align) {
75
+ const a = Math.max(0, allow.start);
76
+ const b = Math.max(0, allow.end);
77
+ if (align === 'start')
78
+ return { start: 0, end: Math.min(b, need) };
79
+ let start = Math.min(a, need / 2);
80
+ let end = Math.min(b, need / 2);
81
+ const left = need - start - end;
82
+ if (left > EPS) {
83
+ const more = Math.min(a - start, left);
84
+ start += more;
85
+ end += Math.min(b - end, left - more);
86
+ }
87
+ return { start, end };
88
+ }
89
+ /** {@link layoutJisRuby} with the reading's characters' starts (`xs`)
90
+ * instead of its pieces. */
91
+ function placeReading(base, align, rubyEm, allow) {
92
+ const reading = base.reading;
93
+ const r = advance(reading);
94
+ const b = base.width;
95
+ if (r <= b + EPS) {
96
+ const slack = Math.max(0, b - r);
97
+ const n = reading.length;
98
+ let x = slack / 2;
99
+ let gap = 0;
100
+ if (align === 'start')
101
+ x = 0;
102
+ else if (align === 'jis' && n > 1) {
103
+ // 1:2:1 (space-around); flush with both ends (space-between) when
104
+ // the half unit at each end would be more than a ruby character.
105
+ const unit = slack / n;
106
+ if (unit / 2 > rubyEm + EPS) {
107
+ x = 0;
108
+ gap = slack / (n - 1);
109
+ }
110
+ else {
111
+ x = unit / 2;
112
+ gap = unit;
113
+ }
114
+ }
115
+ return { width: b, inset: 0, tracking: 0, xs: charStarts(reading, x, gap) };
116
+ }
117
+ const over = overhangs(r - b, allow, align);
118
+ const spread = Math.max(0, r - b - over.start - over.end);
119
+ const m = Math.max(1, base.graphemes);
120
+ let inset = spread / 2;
121
+ let tracking = 0;
122
+ if (align === 'start')
123
+ inset = 0;
124
+ else if (align === 'jis' && m > 1) {
125
+ // The base spread 1:2:1: half a unit before its first character and
126
+ // after its last, a unit between.
127
+ tracking = spread / m;
128
+ inset = tracking / 2;
129
+ }
130
+ return { width: b + spread, inset, tracking, xs: charStarts(reading, 0 - over.start, 0) };
131
+ }
132
+ /**
133
+ * One base and its reading: a mono ruby's character, or a group ruby's
134
+ * base (see the module comment). `rubyEm` is the reading's em, for the
135
+ * limit of the 1:2:1 spread.
136
+ */
137
+ export function layoutJisRuby(base, align, rubyEm, allow) {
138
+ const { xs, ...box } = placeReading(base, align, rubyEm, allow);
139
+ return { ...box, pieces: piecesAt(base.reading, xs) };
140
+ }
141
+ /**
142
+ * A jukugo ruby's characters (a word, or the part of it on a line): one
143
+ * box per base (see the module comment). `allow` is what the word's
144
+ * neighbours outside it take.
145
+ */
146
+ export function layoutJukugo(bases, align, rubyEm, allow) {
147
+ if (bases.length === 1)
148
+ return [layoutJisRuby(bases[0], align, rubyEm, allow)];
149
+ // Every reading fits its base: mono ruby.
150
+ if (bases.every((b) => advance(b.reading) <= b.width + EPS)) {
151
+ return bases.map((b) => layoutJisRuby(b, align, rubyEm, { start: 0, end: 0 }));
152
+ }
153
+ // Each reading by its own base, running onto the bases next to it by up
154
+ // to a ruby character, never onto another reading: from the centred
155
+ // places, pushed after the reading before, then pulled back inside
156
+ // their limits.
157
+ const n = bases.length;
158
+ const starts = [];
159
+ let total = 0;
160
+ for (const b of bases) {
161
+ starts.push(total);
162
+ total += b.width;
163
+ }
164
+ const w = bases.map((b) => advance(b.reading));
165
+ const lo = bases.map((_, i) => starts[i] - (i === 0 ? Math.max(0, allow.start) : rubyEm));
166
+ const hi = bases.map((b, i) => starts[i] + b.width + (i === n - 1 ? Math.max(0, allow.end) : rubyEm));
167
+ const x = bases.map((b, i) => (align === 'start' ? starts[i] : starts[i] + (b.width - w[i]) / 2));
168
+ for (let i = 0; i < n; i++)
169
+ x[i] = Math.max(x[i], lo[i], i > 0 ? x[i - 1] + w[i - 1] : -Infinity);
170
+ for (let i = n - 1; i >= 0; i--)
171
+ x[i] = Math.min(x[i], hi[i] - w[i], i < n - 1 ? x[i + 1] - w[i] : Infinity);
172
+ const fits = x.every((xi, i) => xi >= lo[i] - EPS && xi + w[i] <= hi[i] + EPS && (i === 0 || xi >= x[i - 1] + w[i - 1] - EPS));
173
+ if (fits) {
174
+ return bases.map((b, i) => ({
175
+ width: b.width,
176
+ inset: 0,
177
+ tracking: 0,
178
+ pieces: piecesAt(b.reading, charStarts(b.reading, x[i] - starts[i], 0)),
179
+ }));
180
+ }
181
+ // The word shares its reading: a group ruby over it. Each base keeps a
182
+ // box of its own (its share of the word's spread) and its own
183
+ // characters of the reading, so the parts of a word broken across lines
184
+ // and the HTML `<ruby>` still pair each base with its reading.
185
+ const graphemes = bases.reduce((g, b) => g + Math.max(1, b.graphemes), 0);
186
+ const flat = bases.flatMap((b) => b.reading);
187
+ const word = placeReading({ width: total, graphemes, reading: flat }, align, rubyEm, allow);
188
+ const spread = word.width - total;
189
+ const boxes = [];
190
+ let boxAt = 0;
191
+ let ci = 0;
192
+ bases.forEach((b, i) => {
193
+ const m = Math.max(1, b.graphemes);
194
+ let width = b.width;
195
+ let inset = 0;
196
+ let tracking = 0;
197
+ if (spread > EPS) {
198
+ if (word.tracking > 0) {
199
+ // The word spread 1:2:1 over its characters: each base takes its
200
+ // characters' units, half of one before its first.
201
+ const unit = word.tracking;
202
+ width += unit * m;
203
+ inset = unit / 2;
204
+ tracking = m > 1 ? unit : 0;
205
+ }
206
+ else if (align === 'start') {
207
+ if (i === n - 1)
208
+ width += spread;
209
+ }
210
+ else {
211
+ // Centred: the spread before the first base and after the last.
212
+ if (i === 0) {
213
+ width += word.inset;
214
+ inset = word.inset;
215
+ }
216
+ if (i === n - 1)
217
+ width += spread - word.inset;
218
+ }
219
+ }
220
+ const xs = b.reading.map(() => word.xs[ci++] - boxAt);
221
+ boxes.push({ width, inset, tracking, pieces: piecesAt(b.reading, xs) });
222
+ boxAt += width;
223
+ });
224
+ return boxes;
225
+ }
226
+ /** The total advance of boxes. */
227
+ export function boxesWidth(boxes) {
228
+ let w = 0;
229
+ for (const b of boxes)
230
+ w += b.width;
231
+ return w;
232
+ }
233
+ /** Small kana and their full-size forms (`cjk.ruby.smallKana: 'full'`). */
234
+ const FULL_KANA = {
235
+ 'ぁ': 'あ', 'ぃ': 'い', 'ぅ': 'う', 'ぇ': 'え', 'ぉ': 'お', 'っ': 'つ', 'ゃ': 'や', 'ゅ': 'ゆ', 'ょ': 'よ', 'ゎ': 'わ', 'ゕ': 'か', 'ゖ': 'け',
236
+ 'ァ': 'ア', 'ィ': 'イ', 'ゥ': 'ウ', 'ェ': 'エ', 'ォ': 'オ', 'ッ': 'ツ', 'ャ': 'ヤ', 'ュ': 'ユ', 'ョ': 'ヨ', 'ヮ': 'ワ', 'ヵ': 'カ', 'ヶ': 'ケ',
237
+ 'ㇰ': 'ク', 'ㇱ': 'シ', 'ㇲ': 'ス', 'ㇳ': 'ト', 'ㇴ': 'ヌ', 'ㇵ': 'ハ', 'ㇶ': 'ヒ', 'ㇷ': 'フ', 'ㇸ': 'ヘ', 'ㇹ': 'ホ', 'ㇺ': 'ム', 'ㇻ': 'ラ', 'ㇼ': 'リ', 'ㇽ': 'ル', 'ㇾ': 'レ', 'ㇿ': 'ロ',
238
+ 'ァ': 'ア', 'ィ': 'イ', 'ゥ': 'ウ', 'ェ': 'エ', 'ォ': 'オ', 'ャ': 'ヤ', 'ュ': 'ユ', 'ョ': 'ヨ', 'ッ': 'ツ',
239
+ };
240
+ const SMALL_KANA_RE = /[ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰ-ㇿァ-ッ]/g;
241
+ /** A reading with its small kana full size (がっこう → がつこう). */
242
+ export function fullSizeKana(reading) {
243
+ return reading.replace(SMALL_KANA_RE, (c) => FULL_KANA[c] ?? c);
244
+ }
245
+ //# sourceMappingURL=rubyJis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rubyJis.js","sourceRoot":"","sources":["../../src/measure/rubyJis.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,9 @@
17
17
  import type { CjkRegion, WritingMode } from '../types';
18
18
  import type { CjkClass } from './cjkClasses';
19
19
  import { type UprightDigits } from '../writingMode';
20
- /** Set the writing mode text is measured in, and the Chinese region whose
21
- * cells it uses (the mainland interpunct takes half a cell). The build
20
+ /** Set the writing mode text is measured in, and the CJK region whose
21
+ * cells it uses (the mainland interpunct takes half a cell, Japan sets
22
+ * !? upright). The build
22
23
  * does, from the layout of the pages it is placing (a styled section may
23
24
  * change it), and puts back what it found when it is done. */
24
25
  export declare function setMeasureWritingMode(mode: WritingMode, region?: CjkRegion): void;
@@ -31,7 +32,8 @@ export declare function getMeasureWritingMode(): WritingMode;
31
32
  export declare function setMeasureUprightDigits(digits: UprightDigits): void;
32
33
  /** See {@link setMeasureUprightDigits}; 2 outside a build. */
33
34
  export declare function getMeasureUprightDigits(): UprightDigits;
34
- /** The Chinese region vertical cells are measured for. */
35
+ /** The CJK region (Chinese or Japanese) vertical cells are measured
36
+ * for. */
35
37
  export declare function getMeasureRegion(): CjkRegion;
36
38
  /** Whether text is measured vertically now. */
37
39
  export declare function measuringVertically(): boolean;
@@ -66,10 +68,16 @@ export declare function verticalTrackCount(text: string): number;
66
68
  * The advance of text painted in the page's flow (design text, list
67
69
  * markers, contents rows, box titles): `measureTextWidth`, except in
68
70
  * vertical text, where what stands in a cell advances its cell
69
- * ({@link verticalTextWidth}), as the renderers paint it. ASCII text reads
70
- * the same either way.
71
+ * ({@link verticalTextWidth}), as the renderers paint it. ASCII text with
72
+ * no cell reads the same either way ({@link mayHoldVerticalCell}).
71
73
  */
72
74
  export declare function flowTextWidth(text: string, font: string): number;
75
+ /** Whether `text` may hold a cell in vertical text (see `verticalRuns`):
76
+ * any non-ASCII character, a digit when short numbers stand in one cell
77
+ * (`cjk.uprightDigits`), two exclamation or question marks in Japanese
78
+ * text (`isUprightMarkPair`). ASCII text with none of them runs sideways
79
+ * whole. */
80
+ export declare function mayHoldVerticalCell(text: string): boolean;
73
81
  /** A font string's first family, unquoted: the key of
74
82
  * `VDTFlowFrame.centralBaselines`. */
75
83
  export declare function fontFamilyOf(font: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"vertical.d.ts","sourceRoot":"","sources":["../../src/measure/vertical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAiD,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAUnG;;;+DAG+D;AAC/D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,GAAE,SAAyB,GAAG,IAAI,CAGhG;AAED;kCACkC;AAClC,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD;AAED;;sEAEsE;AACtE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAEnE;AAED,8DAA8D;AAC9D,wBAAgB,uBAAuB,IAAI,aAAa,CAEvD;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,IAAI,SAAS,CAE5C;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;oDACoD;AACpD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAE,SAAyB,GAAG,CAAC,CAW9G;AAED,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,CAGrG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAA6C,GAAG,MAAM,CAMhJ;AAED;;uBAEuB;AACvB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;uCACuC;AACvC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAID,8CAA8C;AAC9C,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAW7D;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7E"}
1
+ {"version":3,"file":"vertical.d.ts","sourceRoot":"","sources":["../../src/measure/vertical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAiD,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAUnG;;;;+DAI+D;AAC/D,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,GAAE,SAAyB,GAAG,IAAI,CAGhG;AAED;kCACkC;AAClC,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD;AAED;;sEAEsE;AACtE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAEnE;AAED,8DAA8D;AAC9D,wBAAgB,uBAAuB,IAAI,aAAa,CAEvD;AAED;WACW;AACX,wBAAgB,gBAAgB,IAAI,SAAS,CAE5C;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;oDACoD;AACpD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAE,SAAyB,GAAG,CAAC,CAW9G;AAED,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,CAGrG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAA6C,GAAG,MAAM,CAMhJ;AAED;;uBAEuB;AACvB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;aAIa;AACb,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;uCACuC;AACvC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAID,8CAA8C;AAC9C,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAW7D;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7E"}
@@ -22,8 +22,9 @@ const FONT_SIZE_RE = /(\d*\.?\d+)px/;
22
22
  let measureWritingMode = 'horizontal-tb';
23
23
  let measureRegion = 'mainland';
24
24
  let measureUprightDigits = 2;
25
- /** Set the writing mode text is measured in, and the Chinese region whose
26
- * cells it uses (the mainland interpunct takes half a cell). The build
25
+ /** Set the writing mode text is measured in, and the CJK region whose
26
+ * cells it uses (the mainland interpunct takes half a cell, Japan sets
27
+ * !? upright). The build
27
28
  * does, from the layout of the pages it is placing (a styled section may
28
29
  * change it), and puts back what it found when it is done. */
29
30
  export function setMeasureWritingMode(mode, region = measureRegion) {
@@ -45,7 +46,8 @@ export function setMeasureUprightDigits(digits) {
45
46
  export function getMeasureUprightDigits() {
46
47
  return measureUprightDigits;
47
48
  }
48
- /** The Chinese region vertical cells are measured for. */
49
+ /** The CJK region (Chinese or Japanese) vertical cells are measured
50
+ * for. */
49
51
  export function getMeasureRegion() {
50
52
  return measureRegion;
51
53
  }
@@ -116,14 +118,22 @@ export function verticalTrackCount(text) {
116
118
  * The advance of text painted in the page's flow (design text, list
117
119
  * markers, contents rows, box titles): `measureTextWidth`, except in
118
120
  * vertical text, where what stands in a cell advances its cell
119
- * ({@link verticalTextWidth}), as the renderers paint it. ASCII text reads
120
- * the same either way.
121
+ * ({@link verticalTextWidth}), as the renderers paint it. ASCII text with
122
+ * no cell reads the same either way ({@link mayHoldVerticalCell}).
121
123
  */
122
124
  export function flowTextWidth(text, font) {
123
- if (measureWritingMode === 'vertical-rl' && (/[^\u0000-\u007F]/.test(text) || (measureUprightDigits > 0 && /[0-9]/.test(text))))
125
+ if (measureWritingMode === 'vertical-rl' && mayHoldVerticalCell(text))
124
126
  return verticalTextWidth(text, font);
125
127
  return measureTextWidth(text, font);
126
128
  }
129
+ /** Whether `text` may hold a cell in vertical text (see `verticalRuns`):
130
+ * any non-ASCII character, a digit when short numbers stand in one cell
131
+ * (`cjk.uprightDigits`), two exclamation or question marks in Japanese
132
+ * text (`isUprightMarkPair`). ASCII text with none of them runs sideways
133
+ * whole. */
134
+ export function mayHoldVerticalCell(text) {
135
+ return /[^\u0000-\u007F]/.test(text) || (measureUprightDigits > 0 && /[0-9]/.test(text)) || (measureRegion === 'japan' && /[!?][!?]/.test(text));
136
+ }
127
137
  /** A font string's first family, unquoted: the key of
128
138
  * `VDTFlowFrame.centralBaselines`. */
129
139
  export function fontFamilyOf(font) {
@@ -1 +1 @@
1
- {"version":3,"file":"vertical.js","sourceRoot":"","sources":["../../src/measure/vertical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertical.js","sourceRoot":"","sources":["../../src/measure/vertical.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,10 @@ export interface NumberWordsOptions {
14
14
  /**
15
15
  * `n` spelled out in lower case, in the document language (`locale`:
16
16
  * `'es'` or a Spanish tag gives Spanish, a Chinese tag Chinese numerals in
17
- * its script, an Arabic tag Arabic words in the gender and spelling of
18
- * `options`, anything else English). Numbers past 999 999 (Spanish
19
- * ordinals: past 999; Chinese: past 10¹⁶ − 1; Arabic: cardinals past
17
+ * its script, a Japanese tag Japanese kanji numerals, an Arabic tag Arabic
18
+ * words in the gender and spelling of `options`, anything else English).
19
+ * Numbers past 999 999 (Spanish ordinals: past 999; Chinese and Japanese:
20
+ * past 10¹⁶ − 1; Arabic: cardinals past
20
21
  * 99 999, ordinals past 9 999) print in digits; zero and below print
21
22
  * nothing, like the other numeral formats.
22
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"numberWords.d.ts","sourceRoot":"","sources":["../src/numberWords.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiC,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE5G,2DAA2D;AAC3D,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;AAErD;6DAC6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC;uDACmD;IACnD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;mCAC+B;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AA8HD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,eAA4B,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAetI;AAED;oBACoB;AACpB,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAMtF"}
1
+ {"version":3,"file":"numberWords.d.ts","sourceRoot":"","sources":["../src/numberWords.ts"],"names":[],"mappings":"AAeA,OAAO,EAAiC,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE5G,2DAA2D;AAC3D,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;AAErD;6DAC6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC;uDACmD;IACnD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;mCAC+B;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AA8HD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,eAA4B,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAsBtI;AAED;oBACoB;AACpB,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAMtF"}
@@ -3,7 +3,8 @@
3
3
  * "vigesimoprimero", 二十一, 第二十一, الحادي والعشرون — for heading numbering
4
4
  * templates (`{1:words}`, `{1:ordinal}`) and the `{numberWords}` /
5
5
  * `{numberOrdinalWords}` design placeholders. English, Spanish, Chinese
6
- * (in the document's script: 一万 / 一萬) and Arabic; any other language
6
+ * (in the document's script: 一万 / 一萬), Japanese (百一, where Chinese
7
+ * writes 一百零一) and Arabic; any other language
7
8
  * takes the English words, like the other localised strings (table
8
9
  * continuation labels). Masculine forms by default, as a chapter or a part
9
10
  * is numbered ("capítulo primero", الفصل الأول); Arabic also has the
@@ -11,13 +12,14 @@
11
12
  */
12
13
  import { stringsKeyOf } from './locale';
13
14
  import { chineseNumeral } from './chineseNumerals';
15
+ import { japaneseNumeral } from './japaneseNumerals';
14
16
  import { arabicCardinal, arabicOrdinal } from './arabicNumberWords';
15
17
  /** Largest number spelled out; anything past it prints in digits. */
16
18
  const MAX_CARDINAL = 999_999;
17
19
  const MAX_ORDINAL_ES = 999;
18
20
  function language(locale) {
19
21
  const key = stringsKeyOf(locale ?? 'en');
20
- return key === 'es' || key === 'zh-hans' || key === 'zh-hant' || key === 'ar' ? key : 'en';
22
+ return key === 'es' || key === 'zh-hans' || key === 'zh-hant' || key === 'ja' || key === 'ar' ? key : 'en';
21
23
  }
22
24
  // --- English ---------------------------------------------------------------
23
25
  const EN_ONES = [
@@ -135,9 +137,10 @@ function esOrdinal(n) {
135
137
  /**
136
138
  * `n` spelled out in lower case, in the document language (`locale`:
137
139
  * `'es'` or a Spanish tag gives Spanish, a Chinese tag Chinese numerals in
138
- * its script, an Arabic tag Arabic words in the gender and spelling of
139
- * `options`, anything else English). Numbers past 999 999 (Spanish
140
- * ordinals: past 999; Chinese: past 10¹⁶ − 1; Arabic: cardinals past
140
+ * its script, a Japanese tag Japanese kanji numerals, an Arabic tag Arabic
141
+ * words in the gender and spelling of `options`, anything else English).
142
+ * Numbers past 999 999 (Spanish ordinals: past 999; Chinese and Japanese:
143
+ * past 10¹⁶ − 1; Arabic: cardinals past
141
144
  * 99 999, ordinals past 9 999) print in digits; zero and below print
142
145
  * nothing, like the other numeral formats.
143
146
  */
@@ -152,6 +155,13 @@ export function numberToWords(n, kind = 'cardinal', locale, options = {}) {
152
155
  const numeral = chineseNumeral(n, 'informal', lang === 'zh-hant');
153
156
  return kind === 'ordinal' ? `第${numeral}` : numeral;
154
157
  }
158
+ if (lang === 'ja') {
159
+ // The counted kanji numerals as they are read (二十一, 百一, 一万一:
160
+ // no 一 before 十百千, no 零 for a gap); the ordinal is 第 before
161
+ // them (第一, 第二十一), as chapters are numbered (第一章).
162
+ const numeral = japaneseNumeral(n, 'informal');
163
+ return kind === 'ordinal' ? `第${numeral}` : numeral;
164
+ }
155
165
  if (kind === 'ordinal') {
156
166
  if (lang === 'es')
157
167
  return n <= MAX_ORDINAL_ES ? esOrdinal(n) : String(n);
@@ -1 +1 @@
1
- {"version":3,"file":"numberWords.js","sourceRoot":"","sources":["../src/numberWords.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numberWords.js","sourceRoot":"","sources":["../src/numberWords.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,13 @@ import type { ContentBlock } from './parse';
2
2
  import type { DigitSystem, OrderedListNumberFormat } from './types';
3
3
  /** The East Asian numeral styles, named as in CSS Counter Styles 3: Chinese
4
4
  * numerals in the informal (一百二十) and formal (壹佰贰拾) longhand of
5
- * either script, digit by digit (`cjk-decimal`, 二〇二六), the heavenly
6
- * stems (甲乙丙) and earthly branches (子丑寅), circled (①) and fullwidth
7
- * (123) digits. Every numbering setting takes them. */
8
- export type EastAsianNumeralStyle = 'simp-chinese-informal' | 'trad-chinese-informal' | 'simp-chinese-formal' | 'trad-chinese-formal' | 'cjk-decimal' | 'cjk-heavenly-stem' | 'cjk-earthly-branch' | 'circled-decimal' | 'fullwidth-decimal';
5
+ * either script, Japanese counted numerals (`japanese-informal` 百二十,
6
+ * `japanese-formal` 壱百弐拾), the kana series in gojūon (`hiragana`
7
+ * あいう, `katakana` アイウ) and iroha order (`hiragana-iroha` いろは,
8
+ * `katakana-iroha` イロハ), digit by digit (`cjk-decimal`, 二〇二六), the
9
+ * heavenly stems (甲乙丙) and earthly branches (子丑寅), circled (①) and
10
+ * fullwidth (123) digits. Every numbering setting takes them. */
11
+ export type EastAsianNumeralStyle = 'simp-chinese-informal' | 'trad-chinese-informal' | 'simp-chinese-formal' | 'trad-chinese-formal' | 'japanese-informal' | 'japanese-formal' | 'hiragana' | 'katakana' | 'hiragana-iroha' | 'katakana-iroha' | 'cjk-decimal' | 'cjk-heavenly-stem' | 'cjk-earthly-branch' | 'circled-decimal' | 'fullwidth-decimal';
9
12
  /** Every {@link EastAsianNumeralStyle}, in the order a picker lists them. */
10
13
  export declare const EAST_ASIAN_NUMERAL_STYLES: readonly EastAsianNumeralStyle[];
11
14
  /** The Arabic-script numeral styles: the Arabic-Indic digits of the
@@ -44,20 +47,28 @@ type Token = {
44
47
  * but the template-only zero-padded `decimal-02`. */
45
48
  export type NumberFormatStyle = Exclude<NumeralStyle, 'decimal-02'>;
46
49
  /** The informal Chinese style of a document's script: `trad-chinese-informal`
47
- * for a Traditional tag, else `simp-chinese-informal`. What `{1:一}`, the
48
- * `{numberHan}` placeholder and spelled-out Chinese numbers use. */
50
+ * for a Traditional tag, else `simp-chinese-informal`. What spelled-out
51
+ * Chinese numbers use. */
49
52
  export declare function chineseInformalStyle(locale?: string): 'simp-chinese-informal' | 'trad-chinese-informal';
53
+ /** The counted kanji numerals of a document's language: `japanese-informal`
54
+ * for a Japanese tag (百一, ja-typography §9), else the informal Chinese
55
+ * style of its script (一百零一). What `{1:一}` and the `{numberHan}`
56
+ * placeholder write. */
57
+ export declare function hanInformalStyle(locale?: string): 'japanese-informal' | 'simp-chinese-informal' | 'trad-chinese-informal';
50
58
  /**
51
59
  * The numeral style a numbering-format value names, in any of the
52
60
  * spellings the engine accepts (see `NUMBER_FORMAT_NAMES`: `decimal` /
53
61
  * `arabic`, `lower-roman` / `roman-lower` / `i`, `upper-alpha` /
54
62
  * `alpha-upper` / `upper-latin` / `A`, the CSS names of the East Asian
55
63
  * styles and their one-character tokens `〇`, `①`, `甲`, `子`, `1`…, the
56
- * Arabic styles and their tokens `١`, `۱`, `أبجد`, `أبتث`; names are
57
- * case-insensitive). `一` and `壹` name the informal and formal Chinese
58
- * numerals of the document's script: Traditional when `locale` is
59
- * (`zh-Hant`, `zh-TW`…), else Simplified. `undefined` for anything else —
60
- * the caller numbers in decimal.
64
+ * Japanese tokens `壱`, `あ`, `ア`, `い`, `イ`, the Arabic styles and their
65
+ * tokens `١`, `۱`, `أبجد`, `أبتث`; names are case-insensitive). `一` names
66
+ * the counted numerals of the document's language: `japanese-informal`
67
+ * when `locale` is Japanese, else the informal Chinese of its script. `壹`
68
+ * names the formal Chinese numerals of the script (Japanese daiji are
69
+ * `壱`). The script is Traditional when `locale` is (`zh-Hant`, `zh-TW`…),
70
+ * else Simplified. `undefined` for anything else — the caller numbers in
71
+ * decimal.
61
72
  */
62
73
  export declare function parseNumberFormat(value: unknown, locale?: string): NumberFormatStyle | undefined;
63
74
  /** A numeral style in the ordered-list vocabulary (`arabic` for decimal). */
@@ -66,7 +77,8 @@ export declare function toOrderedListNumberFormat(style: NumberFormatStyle): Ord
66
77
  * document language `locale`, decimal ones the document's `digits`. */
67
78
  export declare function formatCounter(n: number, style: CounterStyle, locale?: string, digits?: DigitSystem): string;
68
79
  /** The tokens of a numbering template. `locale` (the document language)
69
- * decides the script of the `{1:一}` and `{1:壹}` tokens. */
80
+ * decides the numerals of the `{1:一}` token (Japanese or the Chinese of
81
+ * its script) and the script of `{1:壹}`. */
70
82
  export declare function parseTemplate(tpl: string, locale?: string): Token[];
71
83
  /**
72
84
  * The style a document writes `style` in: `decimal` takes the document's
@@ -1 +1 @@
1
- {"version":3,"file":"numbering.d.ts","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numbering.d.ts","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"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"}