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
package/dist/numbering.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { caseWords, numberToWords } from './numberWords';
2
- import { localeScript } from './locale';
2
+ import { languageOf, localeScript } from './locale';
3
3
  import { chineseNumeral, cjkDecimal, circledDecimal, fullwidthDecimal, fixedSymbol, CJK_HEAVENLY_STEMS, CJK_EARTHLY_BRANCHES } from './chineseNumerals';
4
+ import { japaneseNumeral, japaneseZero, kanaSeries, HIRAGANA, HIRAGANA_IROHA, KATAKANA, KATAKANA_IROHA } from './japaneseNumerals';
4
5
  import { abjadNumeral, arabicIndicDecimal, arabicLettering, asciiDigits, persianDecimal, withDigits, ABJAD_LETTERS, HIJAI_LETTERS } from './arabicNumerals';
5
6
  /** Every {@link EastAsianNumeralStyle}, in the order a picker lists them. */
6
7
  export const EAST_ASIAN_NUMERAL_STYLES = Object.freeze([
@@ -8,6 +9,12 @@ export const EAST_ASIAN_NUMERAL_STYLES = Object.freeze([
8
9
  'trad-chinese-informal',
9
10
  'simp-chinese-formal',
10
11
  'trad-chinese-formal',
12
+ 'japanese-informal',
13
+ 'japanese-formal',
14
+ 'hiragana',
15
+ 'katakana',
16
+ 'hiragana-iroha',
17
+ 'katakana-iroha',
11
18
  'cjk-decimal',
12
19
  'cjk-heavenly-stem',
13
20
  'cjk-earthly-branch',
@@ -72,7 +79,9 @@ const NUMBER_FORMAT_NAMES = new Map([
72
79
  /** The one-character tokens of the heading templates (`{1:i}`), which the
73
80
  * format fields accept as well. Case-sensitive: `i` and `I` differ. The
74
81
  * Chinese tokens `一` and `壹` are read apart: they follow the document's
75
- * script (see {@link parseNumberFormat}). */
82
+ * language and script (see {@link parseNumberFormat}). Each kana token is
83
+ * the first of its series: あ and ア open the gojūon, い and イ the iroha
84
+ * (い is the second gojūon kana, never a series of its own). */
76
85
  const NUMBER_FORMAT_TOKENS = new Map([
77
86
  ['1', 'decimal'],
78
87
  ['i', 'lower-roman'],
@@ -84,6 +93,11 @@ const NUMBER_FORMAT_TOKENS = new Map([
84
93
  ['甲', 'cjk-heavenly-stem'],
85
94
  ['子', 'cjk-earthly-branch'],
86
95
  ['1', 'fullwidth-decimal'],
96
+ ['壱', 'japanese-formal'],
97
+ ['あ', 'hiragana'],
98
+ ['ア', 'katakana'],
99
+ ['い', 'hiragana-iroha'],
100
+ ['イ', 'katakana-iroha'],
87
101
  // A single أ cannot tell the two Arabic letter series apart: their first
88
102
  // letters name them (أبجد, أبتث).
89
103
  ['١', 'arabic-indic'],
@@ -97,29 +111,44 @@ function traditional(locale) {
97
111
  return localeScript(locale) === 'Hant';
98
112
  }
99
113
  /** The informal Chinese style of a document's script: `trad-chinese-informal`
100
- * for a Traditional tag, else `simp-chinese-informal`. What `{1:一}`, the
101
- * `{numberHan}` placeholder and spelled-out Chinese numbers use. */
114
+ * for a Traditional tag, else `simp-chinese-informal`. What spelled-out
115
+ * Chinese numbers use. */
102
116
  export function chineseInformalStyle(locale) {
103
117
  return traditional(locale) ? 'trad-chinese-informal' : 'simp-chinese-informal';
104
118
  }
119
+ /** Whether `locale` is Japanese (`ja`, `ja-JP`, `ja-Jpan`…), by its
120
+ * language subtag. */
121
+ function japanese(locale) {
122
+ return languageOf(locale) === 'ja';
123
+ }
124
+ /** The counted kanji numerals of a document's language: `japanese-informal`
125
+ * for a Japanese tag (百一, ja-typography §9), else the informal Chinese
126
+ * style of its script (一百零一). What `{1:一}` and the `{numberHan}`
127
+ * placeholder write. */
128
+ export function hanInformalStyle(locale) {
129
+ return japanese(locale) ? 'japanese-informal' : chineseInformalStyle(locale);
130
+ }
105
131
  /**
106
132
  * The numeral style a numbering-format value names, in any of the
107
133
  * spellings the engine accepts (see `NUMBER_FORMAT_NAMES`: `decimal` /
108
134
  * `arabic`, `lower-roman` / `roman-lower` / `i`, `upper-alpha` /
109
135
  * `alpha-upper` / `upper-latin` / `A`, the CSS names of the East Asian
110
136
  * styles and their one-character tokens `〇`, `①`, `甲`, `子`, `1`…, the
111
- * Arabic styles and their tokens `١`, `۱`, `أبجد`, `أبتث`; names are
112
- * case-insensitive). `一` and `壹` name the informal and formal Chinese
113
- * numerals of the document's script: Traditional when `locale` is
114
- * (`zh-Hant`, `zh-TW`…), else Simplified. `undefined` for anything else —
115
- * the caller numbers in decimal.
137
+ * Japanese tokens `壱`, `あ`, `ア`, `い`, `イ`, the Arabic styles and their
138
+ * tokens `١`, `۱`, `أبجد`, `أبتث`; names are case-insensitive). `一` names
139
+ * the counted numerals of the document's language: `japanese-informal`
140
+ * when `locale` is Japanese, else the informal Chinese of its script. `壹`
141
+ * names the formal Chinese numerals of the script (Japanese daiji are
142
+ * `壱`). The script is Traditional when `locale` is (`zh-Hant`, `zh-TW`…),
143
+ * else Simplified. `undefined` for anything else — the caller numbers in
144
+ * decimal.
116
145
  */
117
146
  export function parseNumberFormat(value, locale) {
118
147
  if (typeof value !== 'string')
119
148
  return undefined;
120
149
  const v = value.trim();
121
150
  if (v === '一')
122
- return chineseInformalStyle(locale);
151
+ return hanInformalStyle(locale);
123
152
  if (v === '壹')
124
153
  return traditional(locale) ? 'trad-chinese-formal' : 'simp-chinese-formal';
125
154
  return NUMBER_FORMAT_TOKENS.get(v) ?? NUMBER_FORMAT_NAMES.get(v.toLowerCase());
@@ -184,7 +213,8 @@ export function formatCounter(n, style, locale, digits) {
184
213
  return caseWords(numberToWords(n, spelled.kind, locale, spelled.options), spelled.wordsCase, locale);
185
214
  }
186
215
  /** The tokens of a numbering template. `locale` (the document language)
187
- * decides the script of the `{1:一}` and `{1:壹}` tokens. */
216
+ * decides the numerals of the `{1:一}` token (Japanese or the Chinese of
217
+ * its script) and the script of `{1:壹}`. */
188
218
  export function parseTemplate(tpl, locale) {
189
219
  const tokens = [];
190
220
  let buf = '';
@@ -292,6 +322,10 @@ export function formatNumeral(n, style, digits) {
292
322
  case 'simp-chinese-formal':
293
323
  case 'trad-chinese-formal':
294
324
  return '零';
325
+ case 'japanese-informal':
326
+ return japaneseZero('informal');
327
+ case 'japanese-formal':
328
+ return japaneseZero('formal');
295
329
  case 'cjk-decimal':
296
330
  return '〇';
297
331
  case 'circled-decimal':
@@ -329,6 +363,18 @@ export function formatNumeral(n, style, digits) {
329
363
  return chineseNumeral(n, 'formal', false);
330
364
  case 'trad-chinese-formal':
331
365
  return chineseNumeral(n, 'formal', true);
366
+ case 'japanese-informal':
367
+ return japaneseNumeral(n, 'informal');
368
+ case 'japanese-formal':
369
+ return japaneseNumeral(n, 'formal');
370
+ case 'hiragana':
371
+ return kanaSeries(n, HIRAGANA);
372
+ case 'katakana':
373
+ return kanaSeries(n, KATAKANA);
374
+ case 'hiragana-iroha':
375
+ return kanaSeries(n, HIRAGANA_IROHA);
376
+ case 'katakana-iroha':
377
+ return kanaSeries(n, KATAKANA_IROHA);
332
378
  case 'cjk-decimal':
333
379
  return cjkDecimal(n);
334
380
  case 'cjk-heavenly-stem':
@@ -1 +1 @@
1
- {"version":3,"file":"numbering.js","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numbering.js","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  /**
2
- * Chinese inline annotations (#193, #194, #195): emphasis dots
3
- * (`:dots[…]`), the proper-name and book-title marks (`:name[…]`,
4
- * `:book[…]`), ruby (`:ruby[…]{rt="…"}` and the compact `{紅樓|hóng|lóu}`)
5
- * and warichu notes (`:warichu[…]{open close}`); and the directional
6
- * isolates (`:rtl[…]`, `:ltr[…]`, with an optional `{lang=…}`, #367), which
7
- * set a run in its own direction inside text of the other.
2
+ * Chinese and Japanese inline annotations (#193, #194, #195, #421, #430):
3
+ * emphasis dots (`:dots[…]`), the proper-name and book-title marks
4
+ * (`:name[…]`, `:book[…]`), side lines (傍線, `:sideline[…]{style pos}`),
5
+ * kanbun reading marks (訓点, `:kunten[字]{kaeri okuri tate}`), ruby
6
+ * (`:ruby[…]{rt="…" mode align}` and the compact `{紅樓|hóng|lóu}`) and
7
+ * warichu notes (`:warichu[…]{open close}`); and the directional isolates
8
+ * (`:rtl[…]`, `:ltr[…]`, with an optional `{lang=…}`, #367), which set a
9
+ * run in its own direction inside text of the other.
8
10
  *
9
11
  * They preserve their text, as `:smallcaps[…]` does: the characters between
10
12
  * the brackets stay in the paragraph's plain text (search, the contents,
@@ -18,7 +20,7 @@
18
20
  */
19
21
  import type { DirectiveAttrs, InlineSpan } from './types';
20
22
  /** The inline annotation directives, by name. */
21
- export declare const ANNOTATION_NAMES: readonly ["dots", "name", "book", "ruby", "warichu", "ltr", "rtl"];
23
+ export declare const ANNOTATION_NAMES: readonly ["dots", "name", "book", "ruby", "warichu", "ltr", "rtl", "sideline", "kunten"];
22
24
  export type AnnotationName = (typeof ANNOTATION_NAMES)[number];
23
25
  /** One annotation as written: its kind, its attributes, and (a compact
24
26
  * ruby) its readings. Queued in the order of the marks in the text. */
@@ -90,15 +92,16 @@ export declare function annotationSourceSkips(markdown: string, from: number, en
90
92
  * closer with its attributes or readings (`[contentEnd, end)`).
91
93
  */
92
94
  export declare function findAnnotations(text: string): FoundAnnotation[];
93
- /** 《》 around the titles of `:book[…]` (〈〉 for a title inside one), as
94
- * spans flagged `inserted` (they take no character of the plain text);
95
- * the titles lose their `bookTitle`. `cjk.bookTitleMark: 'brackets'`. */
96
- export declare function withBookBrackets(spans: readonly InlineSpan[]): InlineSpan[];
97
- /** `spans` without their Chinese annotations: the text as written, set
98
- * plain (captions, table cells and notes, which do not draw them). The
99
- * same array when none has one. With `bookBrackets` (`cjk.bookTitleMark:
100
- * 'brackets'`) a book title keeps its 《》, which are then punctuation of
101
- * the text, not a mark. Directional isolates (`:rtl[…]`, `:ltr[…]`)
102
- * stay: they decide the order of the text, which no setting drops. */
103
- export declare function dropAnnotations(spans: InlineSpan[], bookBrackets?: boolean): InlineSpan[];
95
+ /** An opening and a closing bracket (`cjk.bookTitleBrackets`). */
96
+ export interface BracketPair {
97
+ open: string;
98
+ close: string;
99
+ }
100
+ /** The brackets of `pairs` around the titles of `:book[…]` (`《》` and
101
+ * `〈〉` for a title inside one unless `pairs` says otherwise; a title
102
+ * nested deeper than the list takes its last pair), as spans flagged
103
+ * `inserted` (they take no character of the plain text); the titles lose
104
+ * their `bookTitle`. A bracket written empty is left out.
105
+ * `cjk.bookTitleMark: 'brackets'` with `cjk.bookTitleBrackets`. */
106
+ export declare function withBookBrackets(spans: readonly InlineSpan[], pairs?: readonly BracketPair[]): InlineSpan[];
104
107
  //# sourceMappingURL=annotations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/parse/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA6C,UAAU,EAAiB,MAAM,SAAS,CAAC;AAIpH,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,oEAAqE,CAAC;AACnG,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAmB/D;wEACwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AASD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAoB,GAAG,MAAM,CAgB5F;AAkDD;yCACyC;AACzC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAkED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,OAAO,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAiB,GAAG,MAAM,CA2B1H;AAED;;qBAEqB;AACrB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAIpE;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAiED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,UAAU,EAAE,CAsI1G;AAED;;yEAEyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAUvF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA0B1G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAa/D;AAED;;0EAE0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CAgC3E;AAED;;;;;uEAKuE;AACvE,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,YAAY,UAAQ,GAAG,UAAU,EAAE,CASvF"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/parse/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA2E,UAAU,EAAiB,MAAM,SAAS,CAAC;AAIlJ,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,0FAA2F,CAAC;AACzH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAqB/D;wEACwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AASD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAoB,GAAG,MAAM,CAgB5F;AAkDD;yCACyC;AACzC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,OAAO,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAiB,GAAG,MAAM,CA2B1H;AAED;;qBAEqB;AACrB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAIpE;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AA4HD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,UAAU,EAAE,CAgJ1G;AAED;;yEAEyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAYvF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA0B1G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAa/D;AAMD,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAiBD;;;;;oEAKoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,GAAE,SAAS,WAAW,EAA0B,GAAG,UAAU,EAAE,CAuClI"}
@@ -1,10 +1,12 @@
1
1
  /**
2
- * Chinese inline annotations (#193, #194, #195): emphasis dots
3
- * (`:dots[…]`), the proper-name and book-title marks (`:name[…]`,
4
- * `:book[…]`), ruby (`:ruby[…]{rt="…"}` and the compact `{紅樓|hóng|lóu}`)
5
- * and warichu notes (`:warichu[…]{open close}`); and the directional
6
- * isolates (`:rtl[…]`, `:ltr[…]`, with an optional `{lang=…}`, #367), which
7
- * set a run in its own direction inside text of the other.
2
+ * Chinese and Japanese inline annotations (#193, #194, #195, #421, #430):
3
+ * emphasis dots (`:dots[…]`), the proper-name and book-title marks
4
+ * (`:name[…]`, `:book[…]`), side lines (傍線, `:sideline[…]{style pos}`),
5
+ * kanbun reading marks (訓点, `:kunten[字]{kaeri okuri tate}`), ruby
6
+ * (`:ruby[…]{rt="…" mode align}` and the compact `{紅樓|hóng|lóu}`) and
7
+ * warichu notes (`:warichu[…]{open close}`); and the directional isolates
8
+ * (`:rtl[…]`, `:ltr[…]`, with an optional `{lang=…}`, #367), which set a
9
+ * run in its own direction inside text of the other.
8
10
  *
9
11
  * They preserve their text, as `:smallcaps[…]` does: the characters between
10
12
  * the brackets stay in the paragraph's plain text (search, the contents,
@@ -19,7 +21,7 @@
19
21
  import { parseDirectiveAttrs } from './attrs';
20
22
  import { graphemesOf } from '../measure/graphemes';
21
23
  /** The inline annotation directives, by name. */
22
- export const ANNOTATION_NAMES = ['dots', 'name', 'book', 'ruby', 'warichu', 'ltr', 'rtl'];
24
+ export const ANNOTATION_NAMES = ['dots', 'name', 'book', 'ruby', 'warichu', 'ltr', 'rtl', 'sideline', 'kunten'];
23
25
  /** Private-use marks opening each kind of annotation while the emphasis
24
26
  * scanners run (after the small-caps and link marks, outside the escape
25
27
  * range), and the one mark that closes any of them. */
@@ -31,13 +33,15 @@ const OPEN = {
31
33
  warichu: '',
32
34
  ltr: '',
33
35
  rtl: '',
36
+ sideline: '',
37
+ kunten: '',
34
38
  };
35
39
  const CLOSE = '';
36
40
  const KIND_OF_OPEN = new Map(ANNOTATION_NAMES.map((n) => [OPEN[n], n]));
37
- const MARK_RE = /[-]/;
38
- const MARKS_RE = /[-]/g;
41
+ const MARK_RE = /[-]/;
42
+ const MARKS_RE = /[-]/g;
39
43
  /** `:dots[`, `:name[`… at the start of a match. */
40
- const OPENER_RE = /:(dots|name|book|ruby|warichu|ltr|rtl)\[/y;
44
+ const OPENER_RE = /:(dots|name|book|ruby|warichu|ltr|rtl|sideline|kunten)\[/y;
41
45
  /** Letters that make a `{…|…}` a compact ruby: Han, kana, bopomofo. A
42
46
  * brace group without one (`{x|x>0}`) stays text. */
43
47
  const RUBY_BASE_RE = /[\p{sc=Han}\p{sc=Hiragana}\p{sc=Katakana}\p{sc=Bopomofo}々〇]/u;
@@ -142,8 +146,11 @@ function nextAnnotation(text, from, end) {
142
146
  if (close < 0 || close === open + 1)
143
147
  continue;
144
148
  // A compact ruby right after the bracket is text, not attributes
145
- // (`:name[賈寶玉]{紅|hóng}`).
146
- const blob = compactRubyAt(text, close + 1, end) ? -1 : attrBlobEnd(text, close + 1, end);
149
+ // (`:name[賈寶玉]{紅|hóng}`); a brace whose "base" assigns a value is
150
+ // attributes (`:ruby[東京]{rt="とう|きょう"}`, kana readings split
151
+ // on bars, #422).
152
+ const compact = compactRubyAt(text, close + 1, end);
153
+ const blob = compact && !text.slice(close + 2, compact.bar).includes('=') ? -1 : attrBlobEnd(text, close + 1, end);
147
154
  return {
148
155
  name: m[1],
149
156
  start: i,
@@ -245,6 +252,7 @@ function innermostRuby(stack) {
245
252
  }
246
253
  const DOT_STYLES = new Set(['dot', 'circle', 'sesame']);
247
254
  const SIDES = new Set(['over', 'under']);
255
+ const SIDELINE_STYLES = new Set(['solid', 'double', 'wavy', 'dotted']);
248
256
  const RUBY_SIDES = new Set(['over', 'under', 'right']);
249
257
  function emphasisOf(attrs) {
250
258
  const mark = {};
@@ -258,18 +266,72 @@ function emphasisOf(attrs) {
258
266
  mark.position = pos;
259
267
  return mark;
260
268
  }
269
+ /** A side line's look as written: `style` and `pos` (or `position`);
270
+ * values the engine does not know are left unset. */
271
+ function sidelineOf(id, attrs) {
272
+ const line = { id };
273
+ if (attrs.style && SIDELINE_STYLES.has(attrs.style))
274
+ line.style = attrs.style;
275
+ const pos = attrs.pos ?? attrs.position;
276
+ if (pos && SIDES.has(pos))
277
+ line.position = pos;
278
+ return line;
279
+ }
280
+ /** The kanbun code points (U+3191–319F, ㆑ ㆒ … ㆟): the 返り点 they
281
+ * stand for, set as ordinary characters at the marks' size (the fonts
282
+ * that have these glyphs draw them small and placed, differently from
283
+ * each other). U+3190 ㆐ is the 竪点. */
284
+ const KANBUN_MARKS = {
285
+ '㆑': 'レ', '㆒': '一', '㆓': '二', '㆔': '三', '㆕': '四', '㆖': '上', '㆗': '中', '㆘': '下',
286
+ '㆙': '甲', '㆚': '乙', '㆛': '丙', '㆜': '丁', '㆝': '天', '㆞': '地', '㆟': '人',
287
+ };
288
+ /** A kanbun mark as written: `kaeri` (返り点, kanbun code points read as
289
+ * the characters they stand for), `okuri` (送り仮名, `(ヲ)` read as
290
+ * ヲ) and the flag `tate` (竪点); empty values are left unset. */
291
+ function kuntenOf(id, attrs) {
292
+ const k = { id };
293
+ const kaeri = (attrs.kaeri ?? '').replace(/[㆑-㆟]/g, (c) => KANBUN_MARKS[c] ?? c).trim();
294
+ if (kaeri.length > 0)
295
+ k.kaeri = kaeri;
296
+ const okuri = (attrs.okuri ?? '').trim().replace(/^[((](.*)[))]$/, '$1');
297
+ if (okuri.length > 0)
298
+ k.okuri = okuri;
299
+ if (flag(attrs.tate))
300
+ k.tate = true;
301
+ return k;
302
+ }
261
303
  /** A flag attribute: present, and not written `false` or `no`. */
262
304
  function flag(value) {
263
305
  return value !== undefined && value !== 'false' && value !== 'no';
264
306
  }
307
+ const RUBY_MODES = new Set(['mono', 'group', 'jukugo']);
308
+ const RUBY_ALIGNS = new Set(['center', 'jis', 'start']);
309
+ /** A ruby's `mode` (#422): `mono`, `group` or `jukugo` as written (the
310
+ * `group` flag is `mode=group`); undefined when it says none. */
311
+ function rubyMode(attrs) {
312
+ if (flag(attrs.group))
313
+ return 'group';
314
+ const mode = attrs.mode?.trim();
315
+ return mode && RUBY_MODES.has(mode) ? mode : undefined;
316
+ }
317
+ /** The fields `mode` and `align` give each span of a ruby (#422). */
318
+ function rubyFlags(attrs, perCharacter, count) {
319
+ const mode = rubyMode(attrs);
320
+ const align = attrs.align?.trim();
321
+ return {
322
+ ...(perCharacter && mode === 'jukugo' && count > 1 ? { jukugo: true } : {}),
323
+ ...(perCharacter && mode === 'mono' ? { mono: true } : {}),
324
+ ...(align && RUBY_ALIGNS.has(align) ? { align: align } : {}),
325
+ };
326
+ }
265
327
  /**
266
328
  * The readings of a ruby, one per base character when they pair up (a mono
267
- * ruby), else undefined (a group ruby): the `rt` attribute split on `|` or
268
- * spaces, or the readings of a compact ruby (one `|` each; a single one
269
- * split on spaces).
329
+ * ruby, or a jukugo ruby), else undefined (a group ruby): the `rt`
330
+ * attribute split on `|` or spaces, or the readings of a compact ruby (one
331
+ * `|` each; a single one split on spaces).
270
332
  */
271
333
  function monoReadings(entry, count) {
272
- if (flag(entry.attrs.group))
334
+ if (rubyMode(entry.attrs) === 'group')
273
335
  return undefined;
274
336
  let readings;
275
337
  if (entry.readings) {
@@ -326,6 +388,13 @@ export function applyAnnotationMarks(spans, queue) {
326
388
  // The innermost isolate: it names the ones around it.
327
389
  fields.direction = f.direction;
328
390
  break;
391
+ case 'sideline':
392
+ // The innermost line: a span takes one.
393
+ fields.sideline = f.sideline;
394
+ break;
395
+ case 'kunten':
396
+ fields.kunten = f.kunten;
397
+ break;
329
398
  case 'ruby':
330
399
  break;
331
400
  }
@@ -368,6 +437,10 @@ export function applyAnnotationMarks(spans, queue) {
368
437
  frame.pieces = [];
369
438
  rubies.push(frame);
370
439
  }
440
+ if (kind === 'sideline')
441
+ frame.sideline = sidelineOf(frame.id, entry.attrs);
442
+ if (kind === 'kunten')
443
+ frame.kunten = kuntenOf(frame.id, entry.attrs);
371
444
  if (kind === 'ltr' || kind === 'rtl') {
372
445
  let outer;
373
446
  for (let i = stack.length - 1; i >= 0 && !outer; i--)
@@ -406,13 +479,14 @@ export function applyAnnotationMarks(spans, queue) {
406
479
  const pos = frame.entry.attrs.pos ?? frame.entry.attrs.position;
407
480
  const position = pos && RUBY_SIDES.has(pos) ? pos : undefined;
408
481
  const readings = monoReadings(frame.entry, graphemes.length);
482
+ const flags = rubyFlags(frame.entry.attrs, readings !== undefined, graphemes.length);
409
483
  if (readings) {
410
484
  let r = 0;
411
485
  for (const i of pieces) {
412
486
  const span = out[i];
413
487
  const parts = [];
414
488
  for (const g of graphemesOf(span.text)) {
415
- parts.push({ ...span, text: g, ruby: { text: readings[r++], id: frame.id, ...(position ? { position } : {}) } });
489
+ parts.push({ ...span, text: g, ruby: { text: readings[r++], id: frame.id, ...(position ? { position } : {}), ...flags } });
416
490
  }
417
491
  replace.set(i, parts);
418
492
  }
@@ -423,7 +497,7 @@ export function applyAnnotationMarks(spans, queue) {
423
497
  replace.set(pieces[0], [{
424
498
  ...first,
425
499
  text: base,
426
- ...(reading.length > 0 ? { ruby: { text: reading, group: true, id: frame.id, ...(position ? { position } : {}) } } : {}),
500
+ ...(reading.length > 0 ? { ruby: { text: reading, group: true, id: frame.id, ...(position ? { position } : {}), ...flags } } : {}),
427
501
  }]);
428
502
  for (const i of pieces.slice(1))
429
503
  drop.add(i);
@@ -456,6 +530,10 @@ export function annotationFields(span, withRuby = true) {
456
530
  out.warichu = span.warichu;
457
531
  if (span.direction)
458
532
  out.direction = span.direction;
533
+ if (span.sideline)
534
+ out.sideline = span.sideline;
535
+ if (span.kunten)
536
+ out.kunten = span.kunten;
459
537
  if (withRuby && span.ruby)
460
538
  out.ruby = span.ruby;
461
539
  if (span.inserted)
@@ -473,7 +551,7 @@ export function annotationFields(span, withRuby = true) {
473
551
  export function annotationSourceSkips(markdown, from, end) {
474
552
  const out = [];
475
553
  const slice = markdown.slice(from, end);
476
- if (!/:(?:dots|name|book|ruby|warichu|ltr|rtl)\[|\{[^{}\n|]*\|/.test(slice))
554
+ if (!/:(?:dots|name|book|ruby|warichu|ltr|rtl|sideline|kunten)\[|\{[^{}\n|]*\|/.test(slice))
477
555
  return out;
478
556
  // Inline code spans, which the parser protects.
479
557
  const code = [];
@@ -521,60 +599,71 @@ export function findAnnotations(text) {
521
599
  walk(0, text.length);
522
600
  return out;
523
601
  }
524
- /** 《》 around the titles of `:book[…]` (〈〉 for a title inside one), as
525
- * spans flagged `inserted` (they take no character of the plain text);
526
- * the titles lose their `bookTitle`. `cjk.bookTitleMark: 'brackets'`. */
527
- export function withBookBrackets(spans) {
602
+ /** The brackets of a Chinese book title: 《》, 〈〉 for a title inside
603
+ * one (`defaultCjkBookTitleBrackets`). */
604
+ const CHINESE_BOOK_BRACKETS = [{ open: '《', close: '》' }, { open: '〈', close: '〉' }];
605
+ /** The side line the brackets of the title opening at `spans[at]` carry:
606
+ * the one its first and its last character share, if any (a line drawn
607
+ * under a whole title runs on under its brackets). */
608
+ function titleSideline(spans, at, depth, id) {
609
+ const line = spans[at].sideline;
610
+ if (!line)
611
+ return undefined;
612
+ let last = at;
613
+ for (let k = at + 1; k < spans.length; k++) {
614
+ const book = spans[k].bookTitle;
615
+ if (!book || book.depth < depth || (book.depth === depth && book.id !== id))
616
+ break;
617
+ last = k;
618
+ }
619
+ return spans[last].sideline?.id === line.id ? line : undefined;
620
+ }
621
+ /** The brackets of `pairs` around the titles of `:book[…]` (`《》` and
622
+ * `〈〉` for a title inside one unless `pairs` says otherwise; a title
623
+ * nested deeper than the list takes its last pair), as spans flagged
624
+ * `inserted` (they take no character of the plain text); the titles lose
625
+ * their `bookTitle`. A bracket written empty is left out.
626
+ * `cjk.bookTitleMark: 'brackets'` with `cjk.bookTitleBrackets`. */
627
+ export function withBookBrackets(spans, pairs = CHINESE_BOOK_BRACKETS) {
528
628
  const out = [];
529
- // Open titles, by depth (index 0 = depth 1): their run ids.
629
+ const list = pairs.length > 0 ? pairs : CHINESE_BOOK_BRACKETS;
630
+ const pairAt = (depth) => list[Math.min(depth, list.length) - 1];
631
+ // Open titles, by depth (index 0 = depth 1): their run ids, and the side
632
+ // line their brackets carry.
530
633
  const open = [];
531
- const bracket = (text) => ({ text, bold: false, italic: false, inserted: true });
634
+ const bracket = (text, line) => {
635
+ if (text.length > 0)
636
+ out.push({ text, bold: false, italic: false, inserted: true, ...(line ? { sideline: line } : {}) });
637
+ };
532
638
  const close = (toDepth) => {
533
639
  while (open.length > toDepth) {
534
- out.push(bracket(open.length > 1 ? '〉' : '》'));
640
+ bracket(pairAt(open.length).close, open[open.length - 1].line);
535
641
  open.pop();
536
642
  }
537
643
  };
538
- for (const span of spans) {
644
+ spans.forEach((span, i) => {
539
645
  const book = span.bookTitle;
540
646
  if (!book) {
541
647
  close(0);
542
648
  out.push(span);
543
- continue;
649
+ return;
544
650
  }
545
- if (open.length >= book.depth && open[book.depth - 1] === book.id)
651
+ if (open.length >= book.depth && open[book.depth - 1].id === book.id)
546
652
  close(book.depth);
547
653
  else {
548
654
  close(book.depth - 1);
549
655
  while (open.length < book.depth) {
550
- out.push(bracket(open.length > 0 ? '〈' : '《'));
551
- open.push(open.length === book.depth - 1 ? book.id : -1);
656
+ const own = open.length === book.depth - 1;
657
+ const line = own ? titleSideline(spans, i, book.depth, book.id) : undefined;
658
+ bracket(pairAt(open.length + 1).open, line);
659
+ open.push({ id: own ? book.id : -1, ...(line ? { line } : {}) });
552
660
  }
553
661
  }
554
662
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
555
663
  const { bookTitle: _b, ...rest } = span;
556
664
  out.push(rest);
557
- }
665
+ });
558
666
  close(0);
559
667
  return out;
560
668
  }
561
- /** `spans` without their Chinese annotations: the text as written, set
562
- * plain (captions, table cells and notes, which do not draw them). The
563
- * same array when none has one. With `bookBrackets` (`cjk.bookTitleMark:
564
- * 'brackets'`) a book title keeps its 《》, which are then punctuation of
565
- * the text, not a mark. Directional isolates (`:rtl[…]`, `:ltr[…]`)
566
- * stay: they decide the order of the text, which no setting drops. */
567
- export function dropAnnotations(spans, bookBrackets = false) {
568
- if (bookBrackets && spans.some((s) => s.bookTitle))
569
- spans = withBookBrackets(spans);
570
- if (!spans.some((s) => s.emphasisMark || s.properName !== undefined || s.bookTitle || s.ruby || s.warichu))
571
- return spans;
572
- return spans.map((s) => {
573
- if (!s.emphasisMark && s.properName === undefined && !s.bookTitle && !s.ruby && !s.warichu)
574
- return s;
575
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
576
- const { emphasisMark: _e, properName: _p, bookTitle: _b, ruby: _r, warichu: _w, ...rest } = s;
577
- return rest;
578
- });
579
- }
580
669
  //# sourceMappingURL=annotations.js.map