postext 1.15.1 → 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 (421) 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__/pipeline/citationsJapanese.test.d.ts +2 -0
  87. package/dist/__tests__/pipeline/citationsJapanese.test.d.ts.map +1 -0
  88. package/dist/__tests__/pipeline/citationsJapanese.test.js +110 -0
  89. package/dist/__tests__/pipeline/citationsJapanese.test.js.map +1 -0
  90. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js +1 -1
  91. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js.map +1 -1
  92. package/dist/__tests__/pipeline/safeArea.test.d.ts +2 -0
  93. package/dist/__tests__/pipeline/safeArea.test.d.ts.map +1 -0
  94. package/dist/__tests__/pipeline/safeArea.test.js +207 -0
  95. package/dist/__tests__/pipeline/safeArea.test.js.map +1 -0
  96. package/dist/__tests__/vertical/compositionPaint.test.js +6 -5
  97. package/dist/__tests__/vertical/compositionPaint.test.js.map +1 -1
  98. package/dist/__tests__/vertical/japaneseVertical.test.d.ts +2 -0
  99. package/dist/__tests__/vertical/japaneseVertical.test.d.ts.map +1 -0
  100. package/dist/__tests__/vertical/japaneseVertical.test.js +247 -0
  101. package/dist/__tests__/vertical/japaneseVertical.test.js.map +1 -0
  102. package/dist/__tests__/vertical/verticalSpans.d.ts +2 -1
  103. package/dist/__tests__/vertical/verticalSpans.d.ts.map +1 -1
  104. package/dist/__tests__/vertical/verticalSpans.js +3 -2
  105. package/dist/__tests__/vertical/verticalSpans.js.map +1 -1
  106. package/dist/__tests__/video.test.d.ts +2 -0
  107. package/dist/__tests__/video.test.d.ts.map +1 -0
  108. package/dist/__tests__/video.test.js +305 -0
  109. package/dist/__tests__/video.test.js.map +1 -0
  110. package/dist/arabicMarks.d.ts +11 -1
  111. package/dist/arabicMarks.d.ts.map +1 -1
  112. package/dist/arabicMarks.js +72 -5
  113. package/dist/arabicMarks.js.map +1 -1
  114. package/dist/bundle/adapters.d.ts +6 -0
  115. package/dist/bundle/adapters.d.ts.map +1 -1
  116. package/dist/bundle/adapters.js +30 -0
  117. package/dist/bundle/adapters.js.map +1 -1
  118. package/dist/bundle/codec.d.ts.map +1 -1
  119. package/dist/bundle/codec.js +67 -3
  120. package/dist/bundle/codec.js.map +1 -1
  121. package/dist/bundle/index.d.ts +2 -2
  122. package/dist/bundle/index.d.ts.map +1 -1
  123. package/dist/bundle/index.js +2 -2
  124. package/dist/bundle/index.js.map +1 -1
  125. package/dist/bundle/manifest.d.ts +8 -0
  126. package/dist/bundle/manifest.d.ts.map +1 -1
  127. package/dist/bundle/manifest.js +48 -1
  128. package/dist/bundle/manifest.js.map +1 -1
  129. package/dist/bundle/types.d.ts +5 -0
  130. package/dist/bundle/types.d.ts.map +1 -1
  131. package/dist/bundle/zip.js +1 -1
  132. package/dist/bundle/zip.js.map +1 -1
  133. package/dist/canvas-backend/annotations.d.ts +20 -5
  134. package/dist/canvas-backend/annotations.d.ts.map +1 -1
  135. package/dist/canvas-backend/annotations.js +59 -6
  136. package/dist/canvas-backend/annotations.js.map +1 -1
  137. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  138. package/dist/canvas-backend/blockRender.js +29 -3
  139. package/dist/canvas-backend/blockRender.js.map +1 -1
  140. package/dist/canvas-backend/renderResourceBlock.d.ts +6 -1
  141. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  142. package/dist/canvas-backend/renderResourceBlock.js +124 -5
  143. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  144. package/dist/canvas-backend/verticalText.d.ts +9 -4
  145. package/dist/canvas-backend/verticalText.d.ts.map +1 -1
  146. package/dist/canvas-backend/verticalText.js +20 -9
  147. package/dist/canvas-backend/verticalText.js.map +1 -1
  148. package/dist/chineseNumerals.d.ts +3 -2
  149. package/dist/chineseNumerals.d.ts.map +1 -1
  150. package/dist/chineseNumerals.js +11 -8
  151. package/dist/chineseNumerals.js.map +1 -1
  152. package/dist/citations/bibtex.d.ts.map +1 -1
  153. package/dist/citations/bibtex.js +4 -0
  154. package/dist/citations/bibtex.js.map +1 -1
  155. package/dist/citations/data.d.ts.map +1 -1
  156. package/dist/citations/data.js +6 -1
  157. package/dist/citations/data.js.map +1 -1
  158. package/dist/citations/types.d.ts +8 -0
  159. package/dist/citations/types.d.ts.map +1 -1
  160. package/dist/cjkMarks.d.ts +23 -14
  161. package/dist/cjkMarks.d.ts.map +1 -1
  162. package/dist/cjkMarks.js +251 -49
  163. package/dist/cjkMarks.js.map +1 -1
  164. package/dist/configWarnings.js +9 -3
  165. package/dist/configWarnings.js.map +1 -1
  166. package/dist/defaults/cjk.d.ts +64 -14
  167. package/dist/defaults/cjk.d.ts.map +1 -1
  168. package/dist/defaults/cjk.js +203 -29
  169. package/dist/defaults/cjk.js.map +1 -1
  170. package/dist/defaults/footnotes.d.ts +27 -4
  171. package/dist/defaults/footnotes.d.ts.map +1 -1
  172. package/dist/defaults/footnotes.js +95 -36
  173. package/dist/defaults/footnotes.js.map +1 -1
  174. package/dist/defaults/headings.d.ts +5 -0
  175. package/dist/defaults/headings.d.ts.map +1 -1
  176. package/dist/defaults/headings.js +46 -1
  177. package/dist/defaults/headings.js.map +1 -1
  178. package/dist/defaults/index.d.ts +3 -2
  179. package/dist/defaults/index.d.ts.map +1 -1
  180. package/dist/defaults/index.js +12 -3
  181. package/dist/defaults/index.js.map +1 -1
  182. package/dist/defaults/indexConfig.d.ts.map +1 -1
  183. package/dist/defaults/indexConfig.js +7 -4
  184. package/dist/defaults/indexConfig.js.map +1 -1
  185. package/dist/defaults/paragraphStyles.d.ts.map +1 -1
  186. package/dist/defaults/paragraphStyles.js +4 -0
  187. package/dist/defaults/paragraphStyles.js.map +1 -1
  188. package/dist/defaults/resourceTypes.d.ts +16 -3
  189. package/dist/defaults/resourceTypes.d.ts.map +1 -1
  190. package/dist/defaults/resourceTypes.js +56 -8
  191. package/dist/defaults/resourceTypes.js.map +1 -1
  192. package/dist/defaults/shared.d.ts.map +1 -1
  193. package/dist/defaults/shared.js +21 -0
  194. package/dist/defaults/shared.js.map +1 -1
  195. package/dist/defaults/tableStyle.d.ts.map +1 -1
  196. package/dist/defaults/tableStyle.js +4 -1
  197. package/dist/defaults/tableStyle.js.map +1 -1
  198. package/dist/defaults/videoStyle.d.ts +9 -0
  199. package/dist/defaults/videoStyle.d.ts.map +1 -0
  200. package/dist/defaults/videoStyle.js +130 -0
  201. package/dist/defaults/videoStyle.js.map +1 -0
  202. package/dist/design/placeholders.d.ts.map +1 -1
  203. package/dist/design/placeholders.js +5 -3
  204. package/dist/design/placeholders.js.map +1 -1
  205. package/dist/html-backend.d.ts +13 -0
  206. package/dist/html-backend.d.ts.map +1 -1
  207. package/dist/html-backend.js +233 -26
  208. package/dist/html-backend.js.map +1 -1
  209. package/dist/htmlAnnotations.d.ts +47 -9
  210. package/dist/htmlAnnotations.d.ts.map +1 -1
  211. package/dist/htmlAnnotations.js +89 -17
  212. package/dist/htmlAnnotations.js.map +1 -1
  213. package/dist/index.d.ts +13 -7
  214. package/dist/index.d.ts.map +1 -1
  215. package/dist/index.js +8 -4
  216. package/dist/index.js.map +1 -1
  217. package/dist/japaneseNumerals.d.ts +44 -0
  218. package/dist/japaneseNumerals.d.ts.map +1 -0
  219. package/dist/japaneseNumerals.js +100 -0
  220. package/dist/japaneseNumerals.js.map +1 -0
  221. package/dist/knuthPlass/richAdapter.d.ts +5 -1
  222. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  223. package/dist/knuthPlass/richAdapter.js +2 -0
  224. package/dist/knuthPlass/richAdapter.js.map +1 -1
  225. package/dist/locale.d.ts +19 -12
  226. package/dist/locale.d.ts.map +1 -1
  227. package/dist/locale.js +24 -12
  228. package/dist/locale.js.map +1 -1
  229. package/dist/measure/cache.d.ts.map +1 -1
  230. package/dist/measure/cache.js +17 -8
  231. package/dist/measure/cache.js.map +1 -1
  232. package/dist/measure/canvas.d.ts +21 -0
  233. package/dist/measure/canvas.d.ts.map +1 -1
  234. package/dist/measure/canvas.js +82 -0
  235. package/dist/measure/canvas.js.map +1 -1
  236. package/dist/measure/cjk.d.ts +3 -1
  237. package/dist/measure/cjk.d.ts.map +1 -1
  238. package/dist/measure/cjk.js +4 -2
  239. package/dist/measure/cjk.js.map +1 -1
  240. package/dist/measure/cjkAnnotate.d.ts +62 -3
  241. package/dist/measure/cjkAnnotate.d.ts.map +1 -1
  242. package/dist/measure/cjkAnnotate.js +99 -2
  243. package/dist/measure/cjkAnnotate.js.map +1 -1
  244. package/dist/measure/cjkClasses.d.ts +93 -13
  245. package/dist/measure/cjkClasses.d.ts.map +1 -1
  246. package/dist/measure/cjkClasses.js +204 -14
  247. package/dist/measure/cjkClasses.js.map +1 -1
  248. package/dist/measure/cjkCompose.d.ts +10 -4
  249. package/dist/measure/cjkCompose.d.ts.map +1 -1
  250. package/dist/measure/cjkCompose.js +715 -75
  251. package/dist/measure/cjkCompose.js.map +1 -1
  252. package/dist/measure/cjkPunctuation.d.ts +68 -14
  253. package/dist/measure/cjkPunctuation.d.ts.map +1 -1
  254. package/dist/measure/cjkPunctuation.js +96 -21
  255. package/dist/measure/cjkPunctuation.js.map +1 -1
  256. package/dist/measure/plain.js +2 -2
  257. package/dist/measure/plain.js.map +1 -1
  258. package/dist/measure/rich.d.ts +12 -2
  259. package/dist/measure/rich.d.ts.map +1 -1
  260. package/dist/measure/rich.js +46 -8
  261. package/dist/measure/rich.js.map +1 -1
  262. package/dist/measure/rubyJis.d.ts +96 -0
  263. package/dist/measure/rubyJis.d.ts.map +1 -0
  264. package/dist/measure/rubyJis.js +245 -0
  265. package/dist/measure/rubyJis.js.map +1 -0
  266. package/dist/measure/vertical.d.ts +13 -5
  267. package/dist/measure/vertical.d.ts.map +1 -1
  268. package/dist/measure/vertical.js +16 -6
  269. package/dist/measure/vertical.js.map +1 -1
  270. package/dist/numberWords.d.ts +4 -3
  271. package/dist/numberWords.d.ts.map +1 -1
  272. package/dist/numberWords.js +15 -5
  273. package/dist/numberWords.js.map +1 -1
  274. package/dist/numbering.d.ts +24 -12
  275. package/dist/numbering.d.ts.map +1 -1
  276. package/dist/numbering.js +57 -11
  277. package/dist/numbering.js.map +1 -1
  278. package/dist/parse/annotations.d.ts +21 -18
  279. package/dist/parse/annotations.d.ts.map +1 -1
  280. package/dist/parse/annotations.js +140 -51
  281. package/dist/parse/annotations.js.map +1 -1
  282. package/dist/parse/index.d.ts +1 -1
  283. package/dist/parse/index.d.ts.map +1 -1
  284. package/dist/parse/index.js.map +1 -1
  285. package/dist/parse/indexMarks.d.ts.map +1 -1
  286. package/dist/parse/indexMarks.js +42 -0
  287. package/dist/parse/indexMarks.js.map +1 -1
  288. package/dist/parse/inlineFormatting.d.ts +4 -3
  289. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  290. package/dist/parse/inlineFormatting.js +9 -8
  291. package/dist/parse/inlineFormatting.js.map +1 -1
  292. package/dist/parse/types.d.ts +93 -5
  293. package/dist/parse/types.d.ts.map +1 -1
  294. package/dist/pipeline/annotations.d.ts +25 -15
  295. package/dist/pipeline/annotations.d.ts.map +1 -1
  296. package/dist/pipeline/annotations.js +102 -16
  297. package/dist/pipeline/annotations.js.map +1 -1
  298. package/dist/pipeline/build.d.ts.map +1 -1
  299. package/dist/pipeline/build.js +284 -31
  300. package/dist/pipeline/build.js.map +1 -1
  301. package/dist/pipeline/buildBlockKind.js +2 -1
  302. package/dist/pipeline/buildBlockKind.js.map +1 -1
  303. package/dist/pipeline/buildHelpers.d.ts +2 -0
  304. package/dist/pipeline/buildHelpers.d.ts.map +1 -1
  305. package/dist/pipeline/buildHelpers.js +17 -0
  306. package/dist/pipeline/buildHelpers.js.map +1 -1
  307. package/dist/pipeline/buildMeasurement.d.ts +3 -0
  308. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  309. package/dist/pipeline/buildMeasurement.js +1 -0
  310. package/dist/pipeline/buildMeasurement.js.map +1 -1
  311. package/dist/pipeline/calloutLayout.d.ts +2 -0
  312. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  313. package/dist/pipeline/calloutLayout.js +5 -5
  314. package/dist/pipeline/calloutLayout.js.map +1 -1
  315. package/dist/pipeline/citations.d.ts +1 -1
  316. package/dist/pipeline/citations.d.ts.map +1 -1
  317. package/dist/pipeline/citations.js +15 -7
  318. package/dist/pipeline/citations.js.map +1 -1
  319. package/dist/pipeline/columnBalancing.d.ts +22 -0
  320. package/dist/pipeline/columnBalancing.d.ts.map +1 -1
  321. package/dist/pipeline/columnBalancing.js +80 -3
  322. package/dist/pipeline/columnBalancing.js.map +1 -1
  323. package/dist/pipeline/config.d.ts.map +1 -1
  324. package/dist/pipeline/config.js +3 -2
  325. package/dist/pipeline/config.js.map +1 -1
  326. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  327. package/dist/pipeline/contentWarnings.js +19 -0
  328. package/dist/pipeline/contentWarnings.js.map +1 -1
  329. package/dist/pipeline/continuation.d.ts.map +1 -1
  330. package/dist/pipeline/continuation.js +3 -3
  331. package/dist/pipeline/continuation.js.map +1 -1
  332. package/dist/pipeline/crossRefs.d.ts.map +1 -1
  333. package/dist/pipeline/crossRefs.js +3 -0
  334. package/dist/pipeline/crossRefs.js.map +1 -1
  335. package/dist/pipeline/footnotes.d.ts +20 -12
  336. package/dist/pipeline/footnotes.d.ts.map +1 -1
  337. package/dist/pipeline/footnotes.js +62 -16
  338. package/dist/pipeline/footnotes.js.map +1 -1
  339. package/dist/pipeline/headingStyles.js +1 -1
  340. package/dist/pipeline/headingStyles.js.map +1 -1
  341. package/dist/pipeline/indexDirective.d.ts.map +1 -1
  342. package/dist/pipeline/indexDirective.js +89 -12
  343. package/dist/pipeline/indexDirective.js.map +1 -1
  344. package/dist/pipeline/indexGroups.d.ts +5 -3
  345. package/dist/pipeline/indexGroups.d.ts.map +1 -1
  346. package/dist/pipeline/indexGroups.js +9 -4
  347. package/dist/pipeline/indexGroups.js.map +1 -1
  348. package/dist/pipeline/indexJapanese.d.ts +75 -0
  349. package/dist/pipeline/indexJapanese.d.ts.map +1 -0
  350. package/dist/pipeline/indexJapanese.js +264 -0
  351. package/dist/pipeline/indexJapanese.js.map +1 -0
  352. package/dist/pipeline/lineSpan.d.ts +36 -0
  353. package/dist/pipeline/lineSpan.d.ts.map +1 -0
  354. package/dist/pipeline/lineSpan.js +36 -0
  355. package/dist/pipeline/lineSpan.js.map +1 -0
  356. package/dist/pipeline/lists.js +2 -2
  357. package/dist/pipeline/lists.js.map +1 -1
  358. package/dist/pipeline/measureContentBlock.d.ts +4 -0
  359. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  360. package/dist/pipeline/measureContentBlock.js +54 -5
  361. package/dist/pipeline/measureContentBlock.js.map +1 -1
  362. package/dist/pipeline/outline.d.ts.map +1 -1
  363. package/dist/pipeline/outline.js +3 -1
  364. package/dist/pipeline/outline.js.map +1 -1
  365. package/dist/pipeline/paragraphContainers.d.ts +25 -2
  366. package/dist/pipeline/paragraphContainers.d.ts.map +1 -1
  367. package/dist/pipeline/paragraphContainers.js +82 -2
  368. package/dist/pipeline/paragraphContainers.js.map +1 -1
  369. package/dist/pipeline/parts.d.ts +2 -2
  370. package/dist/pipeline/parts.js +3 -3
  371. package/dist/pipeline/parts.js.map +1 -1
  372. package/dist/pipeline/placement.d.ts.map +1 -1
  373. package/dist/pipeline/placement.js +2 -2
  374. package/dist/pipeline/placement.js.map +1 -1
  375. package/dist/pipeline/resourceLayout.d.ts +6 -0
  376. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  377. package/dist/pipeline/resourceLayout.js +85 -15
  378. package/dist/pipeline/resourceLayout.js.map +1 -1
  379. package/dist/pipeline/resourceNumbering.d.ts +5 -2
  380. package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
  381. package/dist/pipeline/resourceNumbering.js +12 -7
  382. package/dist/pipeline/resourceNumbering.js.map +1 -1
  383. package/dist/pipeline/safeArea.d.ts +29 -0
  384. package/dist/pipeline/safeArea.d.ts.map +1 -0
  385. package/dist/pipeline/safeArea.js +89 -0
  386. package/dist/pipeline/safeArea.js.map +1 -0
  387. package/dist/pipeline/styles.d.ts +12 -0
  388. package/dist/pipeline/styles.d.ts.map +1 -1
  389. package/dist/pipeline/styles.js +7 -1
  390. package/dist/pipeline/styles.js.map +1 -1
  391. package/dist/pipeline/verse.d.ts +3 -0
  392. package/dist/pipeline/verse.d.ts.map +1 -1
  393. package/dist/pipeline/verse.js +1 -1
  394. package/dist/pipeline/verse.js.map +1 -1
  395. package/dist/pipeline/verticalMetrics.d.ts.map +1 -1
  396. package/dist/pipeline/verticalMetrics.js +4 -0
  397. package/dist/pipeline/verticalMetrics.js.map +1 -1
  398. package/dist/pipeline/videoOverlay.d.ts +24 -0
  399. package/dist/pipeline/videoOverlay.d.ts.map +1 -0
  400. package/dist/pipeline/videoOverlay.js +134 -0
  401. package/dist/pipeline/videoOverlay.js.map +1 -0
  402. package/dist/types.d.ts +567 -50
  403. package/dist/types.d.ts.map +1 -1
  404. package/dist/uprightArabic.js +1 -1
  405. package/dist/uprightArabic.js.map +1 -1
  406. package/dist/vdt.d.ts +221 -17
  407. package/dist/vdt.d.ts.map +1 -1
  408. package/dist/vdt.js.map +1 -1
  409. package/dist/video/qr.d.ts +21 -0
  410. package/dist/video/qr.d.ts.map +1 -0
  411. package/dist/video/qr.js +326 -0
  412. package/dist/video/qr.js.map +1 -0
  413. package/dist/video/url.d.ts +62 -0
  414. package/dist/video/url.d.ts.map +1 -0
  415. package/dist/video/url.js +206 -0
  416. package/dist/video/url.js.map +1 -0
  417. package/dist/writingMode.d.ts +74 -20
  418. package/dist/writingMode.d.ts.map +1 -1
  419. package/dist/writingMode.js +146 -27
  420. package/dist/writingMode.js.map +1 -1
  421. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Geometry of ruby readings (#194) and warichu notes (#195) inside a line,
3
- * for the CJK composer.
2
+ * Geometry of ruby readings (#194), warichu notes (#195) and kanbun
3
+ * reading marks (#430) inside a line, for the CJK composer.
4
4
  *
5
5
  * Everything is in the flow frame: `dx` along the line from where the
6
6
  * annotated segment starts, `dy` across it from the line's baseline to the
@@ -32,8 +32,20 @@
32
32
  * never the longer), and one more while the lower row would open with a
33
33
  * mark that may not start a line or the upper row would end with one
34
34
  * that may not end a line (an opening bracket).
35
+ * - Kanbun marks (訓点, JIS X 4051 §5) go with the last character of
36
+ * their base, at half its size: the 返り点 right after it with its box
37
+ * against the line's foot side (the left half of a vertical line, the
38
+ * lower half of a horizontal one, §5.5), the 送り仮名 against its head
39
+ * side (right of vertical text, over horizontal text) from half-way
40
+ * along it, or right after a reading on that side (§5.6), the 竪点 a
41
+ * thin rule half an em long on the line's axis in the gap after the
42
+ * character (§5.7). Inline (the default) the room after the character
43
+ * is its own advance: the larger of the 返り点 and the 竪点, and as far
44
+ * as 送り仮名 reach (they never run beside the next character, §5.6.4).
45
+ * Interlinear, the 返り点 sit in the line gap beside the character's
46
+ * lower half and nothing takes advance.
35
47
  */
36
- import type { VDTAnnotationRun } from '../vdt';
48
+ import type { VDTAnnotationRun, VDTKunten } from '../vdt';
37
49
  /** The central axis of a face, in em above its baseline. */
38
50
  export declare const CENTRAL = 0.38;
39
51
  /** Zhuyin is set at this fraction of the ruby size (0.3 em of the text for
@@ -69,16 +81,63 @@ export interface RubyGeometry {
69
81
  /** What the reading could pass the box by on each side (the input's). */
70
82
  allowLeft: number;
71
83
  allowRight: number;
84
+ /** Space after each base character, px, counted in `width`: a base of
85
+ * several characters spread 1:2:1 under a longer reading (Japanese
86
+ * ruby, `rubyJis.ts`). Unset: the base keeps its own spacing. */
87
+ tracking?: number;
72
88
  }
89
+ /** The baseline (`dy`) of a reading over or under its base, px from the
90
+ * line's baseline: against the base's em box, a Latin reading over the
91
+ * base lifted clear of the base (`rubyLift.ts`). */
92
+ export declare function readingBaseline(reading: string, fontString: string, position: 'over' | 'under', em: number): number;
73
93
  /**
74
94
  * The geometry of a ruby base (see the module comment). Measured in the
75
95
  * writing mode the composer runs in: a vertical reading advances cell by
76
96
  * cell down the line.
77
97
  */
78
98
  export declare function rubyGeometry(input: RubyInput): RubyGeometry;
99
+ /**
100
+ * The run of a footnote marker set in the line gap (`footnotes.markerPosition:
101
+ * 'side'`, JLReq §4.2.3): `text` at `fontString` over the text — right of a
102
+ * vertical line, above a horizontal one — against the em box of the text
103
+ * (`em` px), as a ruby reading over its base. It ends where its segment
104
+ * starts, the end of the character it marks (the marker's foot aligned with
105
+ * the word's last character), and changes nothing in the line.
106
+ */
107
+ export declare function sideMarkerRun(text: string, fontString: string, em: number): VDTAnnotationRun;
79
108
  /** The advance of a reading along the line (a zhuyin reading: its
80
109
  * symbols' column, tone marks aside), before its base is sized. */
81
110
  export declare function readingAdvance(reading: string, fontString: string, position: 'over' | 'under' | 'right'): number;
111
+ /** What a character with kanbun marks is set with (see the module
112
+ * comment). Lengths are px along the line, from where its unit starts. */
113
+ export interface KuntenInput {
114
+ kaeri?: string;
115
+ okuri?: string;
116
+ tate?: boolean;
117
+ /** The marks' font (at their size) and colour. */
118
+ fontString: string;
119
+ color?: string;
120
+ placement: 'inline' | 'interlinear';
121
+ /** The text's em, px. */
122
+ em: number;
123
+ /** Where the character ends, and the unit's advance so far. */
124
+ baseEnd: number;
125
+ width: number;
126
+ /** Where a ruby reading over (right of vertical text) or under the base
127
+ * ends, if it has one on that side. */
128
+ readingOverEnd?: number;
129
+ readingUnderEnd?: number;
130
+ }
131
+ /**
132
+ * The marks of a character with kanbun marks, and the advance they add
133
+ * after its unit (0 when they are set interlinear). Measured in the
134
+ * writing mode the composer runs in: down a vertical line each mark is an
135
+ * upright cell.
136
+ */
137
+ export declare function kuntenGeometry(input: KuntenInput): {
138
+ extra: number;
139
+ kunten: VDTKunten;
140
+ };
82
141
  /** Where the upper row of a warichu part ends (units `[0, at)`): see the
83
142
  * module comment. `startProhibited[i]`: unit `i` may not open a row;
84
143
  * `endProhibited[i]`: unit `i` may not close one (an opening bracket), so
@@ -1 +1 @@
1
- {"version":3,"file":"cjkAnnotate.d.ts","sourceRoot":"","sources":["../../src/measure/cjkAnnotate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAO/C,4DAA4D;AAC5D,eAAO,MAAM,OAAO,OAA2B,CAAC;AAEhD;iCACiC;AACjC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAQrC,8CAA8C;AAC9C,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIjE;AAQD,oCAAoC;AACpC,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB;qCACiC;IACjC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACrC,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX;;+DAE2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;6DAC6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAkCD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAuF3D;AAED;oEACoE;AACpE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAMhH;AAED;;;iDAGiD;AACjD,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,eAAe,EAAE,SAAS,OAAO,EAAE,EAAE,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CASpI;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED;;aAEa;AACb,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAG7F"}
1
+ {"version":3,"file":"cjkAnnotate.d.ts","sourceRoot":"","sources":["../../src/measure/cjkAnnotate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Geometry of ruby readings (#194) and warichu notes (#195) inside a line,
3
- * for the CJK composer.
2
+ * Geometry of ruby readings (#194), warichu notes (#195) and kanbun
3
+ * reading marks (#430) inside a line, for the CJK composer.
4
4
  *
5
5
  * Everything is in the flow frame: `dx` along the line from where the
6
6
  * annotated segment starts, `dy` across it from the line's baseline to the
@@ -32,6 +32,18 @@
32
32
  * never the longer), and one more while the lower row would open with a
33
33
  * mark that may not start a line or the upper row would end with one
34
34
  * that may not end a line (an opening bracket).
35
+ * - Kanbun marks (訓点, JIS X 4051 §5) go with the last character of
36
+ * their base, at half its size: the 返り点 right after it with its box
37
+ * against the line's foot side (the left half of a vertical line, the
38
+ * lower half of a horizontal one, §5.5), the 送り仮名 against its head
39
+ * side (right of vertical text, over horizontal text) from half-way
40
+ * along it, or right after a reading on that side (§5.6), the 竪点 a
41
+ * thin rule half an em long on the line's axis in the gap after the
42
+ * character (§5.7). Inline (the default) the room after the character
43
+ * is its own advance: the larger of the 返り点 and the 竪点, and as far
44
+ * as 送り仮名 reach (they never run beside the next character, §5.6.4).
45
+ * Interlinear, the 返り点 sit in the line gap beside the character's
46
+ * lower half and nothing takes advance.
35
47
  */
36
48
  import { DEFAULT_CENTRAL_BASELINE } from '../vdt';
37
49
  import { measureInkBox, measureTextWidth, onTextWidthCacheClear } from './canvas';
@@ -64,6 +76,16 @@ export function withFontSize(font, sizePx) {
64
76
  function baselineOf(axis, rowEm) {
65
77
  return axis + CENTRAL * rowEm;
66
78
  }
79
+ /** The baseline (`dy`) of a reading over or under its base, px from the
80
+ * line's baseline: against the base's em box, a Latin reading over the
81
+ * base lifted clear of the base (`rubyLift.ts`). */
82
+ export function readingBaseline(reading, fontString, position, em) {
83
+ const rtEm = fontEm(fontString);
84
+ const side = position === 'under' ? 1 : -1;
85
+ const rtAxis = -CENTRAL * em + side * (em / 2 + rtEm / 2);
86
+ const lift = side < 0 ? latinReadingLift(reading, fontString, em) : 0;
87
+ return baselineOf(rtAxis, rtEm) - lift;
88
+ }
67
89
  /** Gap between a base and its zhuyin column, in em of the text. */
68
90
  const ZHUYIN_GAP_EM = 0.04;
69
91
  /** The space the neutral-tone dot takes along the column, in em of the
@@ -187,6 +209,19 @@ export function rubyGeometry(input) {
187
209
  const lift = side < 0 ? latinReadingLift(reading, fontString, em) : 0;
188
210
  return { width, inset, rtWidth, runs: [{ text: reading, dx: (width - rtWidth) / 2, dy: baselineOf(rtAxis, rtEm) - lift, fontString }], ...allow };
189
211
  }
212
+ /**
213
+ * The run of a footnote marker set in the line gap (`footnotes.markerPosition:
214
+ * 'side'`, JLReq §4.2.3): `text` at `fontString` over the text — right of a
215
+ * vertical line, above a horizontal one — against the em box of the text
216
+ * (`em` px), as a ruby reading over its base. It ends where its segment
217
+ * starts, the end of the character it marks (the marker's foot aligned with
218
+ * the word's last character), and changes nothing in the line.
219
+ */
220
+ export function sideMarkerRun(text, fontString, em) {
221
+ const markEm = fontEm(fontString);
222
+ const axis = -CENTRAL * em - (em / 2 + markEm / 2);
223
+ return { text, dx: -flowTextWidth(text, fontString), dy: baselineOf(axis, markEm), fontString };
224
+ }
190
225
  /** The advance of a reading along the line (a zhuyin reading: its
191
226
  * symbols' column, tone marks aside), before its base is sized. */
192
227
  export function readingAdvance(reading, fontString, position) {
@@ -198,6 +233,68 @@ export function readingAdvance(reading, fontString, position) {
198
233
  const symbols = graphemesOf(reading).filter((g) => !TONE_MARKS.has(g) && g !== NEUTRAL_TONE).join('');
199
234
  return flowTextWidth(symbols, withFontSize(fontString, zEm));
200
235
  }
236
+ /** Thickness of a 竪点, in em of the text (a thin rule, JIS X 4051 §5.7). */
237
+ const TATE_STROKE_EM = 0.06;
238
+ /**
239
+ * The marks of a character with kanbun marks, and the advance they add
240
+ * after its unit (0 when they are set interlinear). Measured in the
241
+ * writing mode the composer runs in: down a vertical line each mark is an
242
+ * upright cell.
243
+ */
244
+ export function kuntenGeometry(input) {
245
+ const { em, baseEnd, fontString } = input;
246
+ const kEm = fontEm(fontString);
247
+ const inline = input.placement === 'inline';
248
+ const axis = -CENTRAL * em;
249
+ const runs = [];
250
+ let advance = 0;
251
+ if (input.kaeri) {
252
+ // The 返り点, one run per mark (a combined form such as 一レ is the
253
+ // mark and the レ after it), along the line from the character's end
254
+ // (inline), or ending with it in the line gap (interlinear, after a
255
+ // reading on that side).
256
+ let at = inline ? baseEnd : Math.max(baseEnd - kEm, input.readingUnderEnd ?? -Infinity);
257
+ const start = at;
258
+ const dy = baselineOf(inline ? axis + em / 2 - kEm / 2 : axis + em / 2 + kEm / 2, kEm);
259
+ for (const g of graphemesOf(input.kaeri)) {
260
+ runs.push({ text: g, dx: at, dy, fontString, role: 'kaeri' });
261
+ at += flowTextWidth(g, fontString);
262
+ }
263
+ if (inline)
264
+ advance = at - start;
265
+ }
266
+ let tate;
267
+ if (input.tate) {
268
+ const thickness = Math.max(0.5, TATE_STROKE_EM * em);
269
+ if (inline) {
270
+ // Half an em of its own, unless the 返り点 beside it take more; the
271
+ // rule is centred in the gap.
272
+ advance = Math.max(advance, em / 2);
273
+ tate = { dx: baseEnd + (advance - em / 2) / 2, dy: axis, length: em / 2, thickness };
274
+ }
275
+ else {
276
+ // No gap: a short rule across the two characters' meeting point.
277
+ tate = { dx: baseEnd - em / 8, dy: axis, length: em / 4, thickness };
278
+ }
279
+ }
280
+ let reach = baseEnd + advance;
281
+ if (input.okuri) {
282
+ // From half-way along the character, or right after a reading on the
283
+ // same side (§5.6.3).
284
+ const dx = Math.max(baseEnd - em / 2, input.readingOverEnd ?? -Infinity);
285
+ runs.push({ text: input.okuri, dx, dy: baselineOf(axis - em / 2 - kEm / 2, kEm), fontString, role: 'okuri' });
286
+ reach = Math.max(reach, dx + flowTextWidth(input.okuri, fontString));
287
+ }
288
+ const kunten = {
289
+ ...(input.kaeri ? { kaeri: input.kaeri } : {}),
290
+ ...(input.okuri ? { okuri: input.okuri } : {}),
291
+ fontString,
292
+ ...(input.color ? { color: input.color } : {}),
293
+ runs,
294
+ ...(tate ? { tate } : {}),
295
+ };
296
+ return { extra: inline ? Math.max(0, reach - input.width) : 0, kunten };
297
+ }
201
298
  /** Where the upper row of a warichu part ends (units `[0, at)`): see the
202
299
  * module comment. `startProhibited[i]`: unit `i` may not open a row;
203
300
  * `endProhibited[i]`: unit `i` may not close one (an opening bracket), so
@@ -1 +1 @@
1
- {"version":3,"file":"cjkAnnotate.js","sourceRoot":"","sources":["../../src/measure/cjkAnnotate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cjkAnnotate.js","sourceRoot":"","sources":["../../src/measure/cjkAnnotate.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,14 @@ import type { CjkLineBreak } from '../types';
6
6
  * level, which marks never part (—— ……), and which characters take no
7
7
  * inter-character space when a justified line is spread.
8
8
  *
9
+ * Japanese line breaking (kinsoku shori, JLReq §3.1.7–§3.1.10, JIS X 4051)
10
+ * tells apart characters these classes merge: the small kana and ー (ideograph
11
+ * and iteration here), 々 among the iteration marks, the hyphens among the
12
+ * connectors, ?! among the stops, :; among the pauses. The Japanese
13
+ * levels read them from the grapheme ({@link breakClassOf}); every other
14
+ * use of a class (widths, spacing, justification) and the Chinese levels
15
+ * see only the classes below.
16
+ *
9
17
  * A class is read from the first code point of a grapheme. The marks Latin
10
18
  * text shares with Chinese (— … · “ ” ‘ ’) are classed as Chinese marks
11
19
  * here: the table is only consulted for paragraphs set by the CJK composer
@@ -13,15 +21,20 @@ import type { CjkLineBreak } from '../types';
13
21
  * are Chinese punctuation. The apostrophe of a Latin word ("don’t") and the
14
22
  * interpunct inside one ("l·l") are kept in their word by the unit builder.
15
23
  */
16
- /** How strictly lines avoid starting or ending with punctuation (clreq
17
- * §6.1.1). `none`: anywhere between characters (Taiwan and Hong Kong
18
- * newspapers). `basic`: no pause or stop mark, closing bracket or quote,
19
- * connector, interpunct or iteration mark opens a line, and no opening
20
- * bracket or quote closes one. `gb`: `basic` plus the solidus at either
21
- * end (GB/T 15834—2011 §5.1.9). `strict`: `gb` plus the two-em dash and
22
- * the ellipsis at the start of a line. */
24
+ /** How strictly lines avoid starting or ending with punctuation. The
25
+ * Chinese levels (clreq §6.1.1): `none`: anywhere between characters
26
+ * (Taiwan and Hong Kong newspapers). `basic`: no pause or stop mark,
27
+ * closing bracket or quote, connector, interpunct or iteration mark opens
28
+ * a line, and no opening bracket or quote closes one. `gb`: `basic` plus
29
+ * the solidus at either end (GB/T 15834—2011 §5.1.9). `strict`: `gb` plus
30
+ * the two-em dash and the ellipsis at the start of a line. The Japanese
31
+ * levels (JLReq Appendix C.3): `ja-very-strict` (JIS X 4051), `ja-strict`
32
+ * (small kana, ー and 々 may open a line) and `ja-loose` (newspapers); see
33
+ * {@link isLineStartProhibited}. */
23
34
  export type CjkLineBreakLevel = CjkLineBreak;
24
35
  export declare const CJK_LINE_BREAK_LEVELS: readonly CjkLineBreakLevel[];
36
+ /** Whether a level is one of the Japanese ones (`ja-…`). */
37
+ export declare function isJapaneseLineBreak(level: CjkLineBreakLevel): boolean;
25
38
  export type CjkClass =
26
39
  /** Han, kana, hangul, bopomofo, fullwidth letters and digits, 〇, emoji
27
40
  * and the CJK symbols: a line may break before and after each (the
@@ -63,6 +76,31 @@ export type CjkClass =
63
76
  | 'western'
64
77
  /** U+200B, the zero-width space: a break opportunity, not printed. */
65
78
  | 'zwsp';
79
+ /** The classes the Japanese levels break by: the {@link CjkClass} of a
80
+ * grapheme, or one of the JLReq classes (Appendix A) a Chinese class holds
81
+ * together with others, which {@link breakClassOf} reads from the
82
+ * grapheme under a Japanese level only. */
83
+ export type CjkBreakClass = CjkClass
84
+ /** Small kana, cl-11: ぁぃぅぇぉっゃゅょゎゕゖ ァィゥェォッャュョヮヵヶ ㇰ–ㇿ
85
+ * ァ–ッ and the small kana of the Kana Extended blocks (ideographs to
86
+ * the Chinese levels). */
87
+ | 'smallKana'
88
+ /** The prolonged sound mark ー (ー), cl-10. */
89
+ | 'prolonged'
90
+ /** 々, the one iteration mark `ja-strict` lets open a line. */
91
+ | 'kanjiIteration'
92
+ /** Hyphens, cl-03: ‐ – ゠ 〜 and ~ (U+FF5E, which Japanese text types for
93
+ * 〜; JLReq §3.1.7 note). */
94
+ | 'hyphen'
95
+ /** Dividing punctuation, cl-04: ?!‼⁇⁈⁉ (stops to the Chinese levels). */
96
+ | 'dividing'
97
+ /** Middle dots, cl-05: ・ : ; and the other interpuncts (pauses or
98
+ * interpuncts to the Chinese levels). */
99
+ | 'middleDot'
100
+ /** 〳 〴 〵, the halves of the vertical kana repeat mark: cl-08
101
+ * inseparable characters, which may open a line but never part from
102
+ * each other (iteration marks to the Chinese levels). */
103
+ | 'inseparable';
66
104
  /** Set the level {@link getCjkLineBreak} returns (the build does, from the
67
105
  * resolved `cjk.lineBreak`). */
68
106
  export declare function setCjkLineBreak(level: CjkLineBreakLevel): void;
@@ -73,12 +111,54 @@ export declare function getCjkLineBreak(): CjkLineBreakLevel;
73
111
  * `aCls`, a CJK grapheme when `aCjk`) and `b` after it. Only next to a CJK
74
112
  * grapheme — two Western graphemes never part here — and never before the
75
113
  * ideographic space; at `level`, no prohibited mark opens or closes a
76
- * line. */
77
- export declare function cjkBreakAllowed(aCls: CjkClass, aCjk: boolean, bCls: CjkClass, bCjk: boolean, level: CjkLineBreakLevel): boolean;
78
- /** Whether a grapheme of `cls` may not open a line at `level`. */
79
- export declare function isLineStartProhibited(cls: CjkClass, level: CjkLineBreakLevel): boolean;
80
- /** Whether a grapheme of `cls` may not close a line at `level`. */
81
- export declare function isLineEndProhibited(cls: CjkClass, level: CjkLineBreakLevel): boolean;
114
+ * line. Under a Japanese level the graphemes, when given (`aG`, `bG`: the
115
+ * last of the text before and the first after), refine the classes
116
+ * ({@link breakClassOf}) and keep the inseparable pairs whole
117
+ * ({@link isInseparablePair}). */
118
+ export declare function cjkBreakAllowed(aCls: CjkClass, aCjk: boolean, bCls: CjkClass, bCjk: boolean, level: CjkLineBreakLevel, aG?: string, bG?: string): boolean;
119
+ /** Whether a grapheme of `cls` may not open a line at `level`. Under a
120
+ * Japanese level `grapheme`, when given, refines the class
121
+ * ({@link breakClassOf}); the Chinese levels never read it.
122
+ *
123
+ * The Japanese levels (JLReq §3.1.7 and Appendix C.3). At all three no
124
+ * line opens with a closing bracket or quote (cl-02, and the warichu's
125
+ * cl-29), 、, (cl-07) or 。. (cl-06). `ja-very-strict` (JIS X 4051's
126
+ * default) adds the hyphens (cl-03), ?! (cl-04), the middle dots (cl-05),
127
+ * the iteration marks (cl-09), ー (cl-10), the small kana (cl-11) and a unit
128
+ * sign; `ja-strict` lets a small kana, ー and 々 open a line (JLReq's
129
+ * convention for books in general); `ja-loose` (the newspapers' very
130
+ * loose convention) lets all of them but the first group. The two-em
131
+ * dash and the ellipsis (cl-08) may open a line at every Japanese level,
132
+ * and the solidus has no rule (GB/T's only). */
133
+ export declare function isLineStartProhibited(cls: CjkBreakClass, level: CjkLineBreakLevel, grapheme?: string): boolean;
134
+ /** Whether a grapheme of `cls` may not close a line at `level` (`grapheme`
135
+ * as for {@link isLineStartProhibited}). At every Japanese level an
136
+ * opening bracket or quote (cl-01, and the warichu's cl-28); a currency
137
+ * sign (cl-12) too, but at `ja-loose`, which lets one end a line away
138
+ * from a number (a number keeps its signs at every level). */
139
+ export declare function isLineEndProhibited(cls: CjkBreakClass, level: CjkLineBreakLevel, grapheme?: string): boolean;
140
+ /**
141
+ * The class a Japanese level breaks `grapheme` by, given its class `cls`
142
+ * (as the composer set it on the grapheme's unit): the JLReq class
143
+ * (Appendix A) where the clreq class merges several, else `cls`. Under a
144
+ * Chinese level, `cls` unchanged. Only a grapheme whose `cls` is the one
145
+ * {@link cjkClassOf} gives it is refined, so a unit whose class the
146
+ * composer set (an upright number cell, a single em dash read as a
147
+ * connector) keeps what the composer meant:
148
+ * - an ideograph that is a small kana → `smallKana`;
149
+ * - ー → `prolonged`; 々 → `kanjiIteration`; 〳 〴 〵 → `inseparable`;
150
+ * - a hyphen, connector or Western grapheme in {@link HYPHEN} → `hyphen`;
151
+ * a single — or ― (a connector to clreq) → `dash`, which may open a
152
+ * Japanese line;
153
+ * - ?! → `dividing`; :; and the interpuncts → `middleDot`.
154
+ */
155
+ export declare function breakClassOf(grapheme: string, cls: CjkBreakClass, level: CjkLineBreakLevel): CjkBreakClass;
156
+ /** Two graphemes a Japanese line never breaks between (分離禁止, JLReq
157
+ * §3.1.10): the same inseparable character twice (―― —— …… ‥‥, cl-08;
158
+ * the composer sets ――, —— and …… as one unit already, this keeps a third
159
+ * with them and ‥‥ whole), and the two halves of the vertical kana repeat
160
+ * mark (〳〵, 〴〵). Two different ones may part. */
161
+ export declare function isInseparablePair(a: string, b: string): boolean;
82
162
  /** The squared Latin abbreviations of units in the CJK compatibility
83
163
  * block: ㍱ hPa to ㍺ IU, ㎀ pA to ㏟ A∕m, ㏿ gal. They follow a number as
84
164
  * % does, in any script, and are no CJK text. */
@@ -1 +1 @@
1
- {"version":3,"file":"cjkClasses.d.ts","sourceRoot":"","sources":["../../src/measure/cjkClasses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AAEH;;;;;;2CAM2C;AAC3C,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE7C,eAAO,MAAM,qBAAqB,EAAE,SAAS,iBAAiB,EAAsC,CAAC;AAErG,MAAM,MAAM,QAAQ;AAClB;;;iCAGiC;AAC/B,WAAW;AACb,iEAAiE;GAC/D,SAAS;AACX,iEAAiE;GAC/D,SAAS;AACX,wCAAwC;GACtC,OAAO;AACT,2CAA2C;GACzC,MAAM;AACR,2BAA2B;GACzB,YAAY;AACd,4DAA4D;GAC1D,WAAW;AACb,+DAA+D;GAC7D,MAAM;AACR,wDAAwD;GACtD,UAAU;AACZ,8BAA8B;GAC5B,WAAW;AACb,mBAAmB;GACjB,SAAS;AACX;wCACwC;GACtC,WAAW;AACb;mDACmD;GACjD,QAAQ;AACV;;0CAE0C;GACxC,SAAS;AACX;uCACuC;GACrC,SAAS;AACX,sEAAsE;GACpE,MAAM,CAAC;AAQX;iCACiC;AACjC,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAE9D;AAED;iEACiE;AACjE,wBAAgB,eAAe,IAAI,iBAAiB,CAEnD;AAED;;;;YAIY;AACZ,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAK/H;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CActF;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAWpF;AAeD;;kDAEkD;AAClD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,4BAA4B;AAC5B,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;cAEc;AACd,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEpD;AA+BD,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAqBrD;AAED;;;;;sDAKsD;AACtD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAcvD;AAED;6DAC6D;AAC7D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAKvE;AAED;;;;iBAIiB;AACjB,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE7G;AAED;;;;;0CAK0C;AAC1C,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CASpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAWnE;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAWrE"}
1
+ {"version":3,"file":"cjkClasses.d.ts","sourceRoot":"","sources":["../../src/measure/cjkClasses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;;;qCASqC;AACrC,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE7C,eAAO,MAAM,qBAAqB,EAAE,SAAS,iBAAiB,EAAiF,CAAC;AAEhJ,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAErE;AAED,MAAM,MAAM,QAAQ;AAClB;;;iCAGiC;AAC/B,WAAW;AACb,iEAAiE;GAC/D,SAAS;AACX,iEAAiE;GAC/D,SAAS;AACX,wCAAwC;GACtC,OAAO;AACT,2CAA2C;GACzC,MAAM;AACR,2BAA2B;GACzB,YAAY;AACd,4DAA4D;GAC1D,WAAW;AACb,+DAA+D;GAC7D,MAAM;AACR,wDAAwD;GACtD,UAAU;AACZ,8BAA8B;GAC5B,WAAW;AACb,mBAAmB;GACjB,SAAS;AACX;wCACwC;GACtC,WAAW;AACb;mDACmD;GACjD,QAAQ;AACV;;0CAE0C;GACxC,SAAS;AACX;uCACuC;GACrC,SAAS;AACX,sEAAsE;GACpE,MAAM,CAAC;AAEX;;;4CAG4C;AAC5C,MAAM,MAAM,aAAa,GACrB,QAAQ;AACV;;2BAE2B;GACzB,WAAW;AACb,6CAA6C;GAC3C,WAAW;AACb,8DAA8D;GAC5D,gBAAgB;AAClB;6BAC6B;GAC3B,QAAQ;AACV,yEAAyE;GACvE,UAAU;AACZ;0CAC0C;GACxC,WAAW;AACb;;0DAE0D;GACxD,aAAa,CAAC;AAQlB;iCACiC;AACjC,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAE9D;AAED;iEACiE;AACjE,wBAAgB,eAAe,IAAI,iBAAiB,CAEnD;AAED;;;;;;;mCAOmC;AACnC,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,iBAAiB,EACxB,EAAE,CAAC,EAAE,MAAM,EACX,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAMT;AAED;;;;;;;;;;;;;iDAaiD;AACjD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAqB9G;AAeD;;;;+DAI+D;AAC/D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAoB5G;AAuCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,GAAG,aAAa,CAyB1G;AAED;;;;kDAIkD;AAClD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAM/D;AAeD;;kDAEkD;AAClD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,4BAA4B;AAC5B,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;cAEc;AACd,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEpD;AA+BD,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAqBrD;AAED;;;;;sDAKsD;AACtD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAcvD;AAED;6DAC6D;AAC7D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAKvE;AAED;;;;iBAIiB;AACjB,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE7G;AAED;;;;;0CAK0C;AAC1C,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CASpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAWnE;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAWrE"}