postext 1.14.0 → 1.15.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 (489) hide show
  1. package/dist/__tests__/arabic/blockLanguageDigits.test.d.ts +2 -0
  2. package/dist/__tests__/arabic/blockLanguageDigits.test.d.ts.map +1 -0
  3. package/dist/__tests__/arabic/blockLanguageDigits.test.js +54 -0
  4. package/dist/__tests__/arabic/blockLanguageDigits.test.js.map +1 -0
  5. package/dist/__tests__/arabic/emphasis.test.d.ts +2 -0
  6. package/dist/__tests__/arabic/emphasis.test.d.ts.map +1 -0
  7. package/dist/__tests__/arabic/emphasis.test.js +206 -0
  8. package/dist/__tests__/arabic/emphasis.test.js.map +1 -0
  9. package/dist/__tests__/arabic/footnotes.test.d.ts +2 -0
  10. package/dist/__tests__/arabic/footnotes.test.d.ts.map +1 -0
  11. package/dist/__tests__/arabic/footnotes.test.js +118 -0
  12. package/dist/__tests__/arabic/footnotes.test.js.map +1 -0
  13. package/dist/__tests__/arabic/harakat.test.d.ts +2 -0
  14. package/dist/__tests__/arabic/harakat.test.d.ts.map +1 -0
  15. package/dist/__tests__/arabic/harakat.test.js +167 -0
  16. package/dist/__tests__/arabic/harakat.test.js.map +1 -0
  17. package/dist/__tests__/arabic/ornateBrackets.test.d.ts +2 -0
  18. package/dist/__tests__/arabic/ornateBrackets.test.d.ts.map +1 -0
  19. package/dist/__tests__/arabic/ornateBrackets.test.js +71 -0
  20. package/dist/__tests__/arabic/ornateBrackets.test.js.map +1 -0
  21. package/dist/__tests__/arabic/tashkil.test.d.ts +2 -0
  22. package/dist/__tests__/arabic/tashkil.test.d.ts.map +1 -0
  23. package/dist/__tests__/arabic/tashkil.test.js +106 -0
  24. package/dist/__tests__/arabic/tashkil.test.js.map +1 -0
  25. package/dist/__tests__/arabicLocale.test.d.ts +2 -0
  26. package/dist/__tests__/arabicLocale.test.d.ts.map +1 -0
  27. package/dist/__tests__/arabicLocale.test.js +232 -0
  28. package/dist/__tests__/arabicLocale.test.js.map +1 -0
  29. package/dist/__tests__/arabicNumberWords.test.d.ts +2 -0
  30. package/dist/__tests__/arabicNumberWords.test.d.ts.map +1 -0
  31. package/dist/__tests__/arabicNumberWords.test.js +176 -0
  32. package/dist/__tests__/arabicNumberWords.test.js.map +1 -0
  33. package/dist/__tests__/arabicNumbering.test.d.ts +2 -0
  34. package/dist/__tests__/arabicNumbering.test.d.ts.map +1 -0
  35. package/dist/__tests__/arabicNumbering.test.js +257 -0
  36. package/dist/__tests__/arabicNumbering.test.js.map +1 -0
  37. package/dist/__tests__/arabicWords.test.d.ts +2 -0
  38. package/dist/__tests__/arabicWords.test.d.ts.map +1 -0
  39. package/dist/__tests__/arabicWords.test.js +302 -0
  40. package/dist/__tests__/arabicWords.test.js.map +1 -0
  41. package/dist/__tests__/bidi.test.d.ts +2 -0
  42. package/dist/__tests__/bidi.test.d.ts.map +1 -0
  43. package/dist/__tests__/bidi.test.js +282 -0
  44. package/dist/__tests__/bidi.test.js.map +1 -0
  45. package/dist/__tests__/blockHints.test.d.ts +2 -0
  46. package/dist/__tests__/blockHints.test.d.ts.map +1 -0
  47. package/dist/__tests__/blockHints.test.js +79 -0
  48. package/dist/__tests__/blockHints.test.js.map +1 -0
  49. package/dist/__tests__/chineseLocale.test.js +2 -2
  50. package/dist/__tests__/chineseLocale.test.js.map +1 -1
  51. package/dist/__tests__/cjk/grid.test.js +2 -2
  52. package/dist/__tests__/cjk/grid.test.js.map +1 -1
  53. package/dist/__tests__/cjk/justifyRender.test.js +2 -1
  54. package/dist/__tests__/cjk/justifyRender.test.js.map +1 -1
  55. package/dist/__tests__/defaults/folio.test.js +16 -1
  56. package/dist/__tests__/defaults/folio.test.js.map +1 -1
  57. package/dist/__tests__/direction.test.d.ts +2 -0
  58. package/dist/__tests__/direction.test.d.ts.map +1 -0
  59. package/dist/__tests__/direction.test.js +117 -0
  60. package/dist/__tests__/direction.test.js.map +1 -0
  61. package/dist/__tests__/exports.test.js +29 -0
  62. package/dist/__tests__/exports.test.js.map +1 -1
  63. package/dist/__tests__/headingLetterSpacing.test.js +1 -1
  64. package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
  65. package/dist/__tests__/headingNumberPosition.test.d.ts +2 -0
  66. package/dist/__tests__/headingNumberPosition.test.d.ts.map +1 -0
  67. package/dist/__tests__/headingNumberPosition.test.js +87 -0
  68. package/dist/__tests__/headingNumberPosition.test.js.map +1 -0
  69. package/dist/__tests__/htmlCopyText.test.d.ts +2 -0
  70. package/dist/__tests__/htmlCopyText.test.d.ts.map +1 -0
  71. package/dist/__tests__/htmlCopyText.test.js +153 -0
  72. package/dist/__tests__/htmlCopyText.test.js.map +1 -0
  73. package/dist/__tests__/kashida.test.d.ts +2 -0
  74. package/dist/__tests__/kashida.test.d.ts.map +1 -0
  75. package/dist/__tests__/kashida.test.js +281 -0
  76. package/dist/__tests__/kashida.test.js.map +1 -0
  77. package/dist/__tests__/kashidaPatterns.test.d.ts +2 -0
  78. package/dist/__tests__/kashidaPatterns.test.d.ts.map +1 -0
  79. package/dist/__tests__/kashidaPatterns.test.js +143 -0
  80. package/dist/__tests__/kashidaPatterns.test.js.map +1 -0
  81. package/dist/__tests__/links.test.js +3 -1
  82. package/dist/__tests__/links.test.js.map +1 -1
  83. package/dist/__tests__/parse/containers.test.js +1 -1
  84. package/dist/__tests__/parse/containers.test.js.map +1 -1
  85. package/dist/__tests__/rtl/designText.test.d.ts +2 -0
  86. package/dist/__tests__/rtl/designText.test.d.ts.map +1 -0
  87. package/dist/__tests__/rtl/designText.test.js +301 -0
  88. package/dist/__tests__/rtl/designText.test.js.map +1 -0
  89. package/dist/__tests__/rtl/designTextPaint.test.d.ts +2 -0
  90. package/dist/__tests__/rtl/designTextPaint.test.d.ts.map +1 -0
  91. package/dist/__tests__/rtl/designTextPaint.test.js +140 -0
  92. package/dist/__tests__/rtl/designTextPaint.test.js.map +1 -0
  93. package/dist/__tests__/rtl/htmlRtl.test.d.ts +2 -0
  94. package/dist/__tests__/rtl/htmlRtl.test.d.ts.map +1 -0
  95. package/dist/__tests__/rtl/htmlRtl.test.js +175 -0
  96. package/dist/__tests__/rtl/htmlRtl.test.js.map +1 -0
  97. package/dist/__tests__/rtl/mirroredFrame.test.d.ts +2 -0
  98. package/dist/__tests__/rtl/mirroredFrame.test.d.ts.map +1 -0
  99. package/dist/__tests__/rtl/mirroredFrame.test.js +313 -0
  100. package/dist/__tests__/rtl/mirroredFrame.test.js.map +1 -0
  101. package/dist/__tests__/rtl/mirroredPaint.test.d.ts +2 -0
  102. package/dist/__tests__/rtl/mirroredPaint.test.d.ts.map +1 -0
  103. package/dist/__tests__/rtl/mirroredPaint.test.js +116 -0
  104. package/dist/__tests__/rtl/mirroredPaint.test.js.map +1 -0
  105. package/dist/__tests__/rtl/oppositeBlocks.test.d.ts +2 -0
  106. package/dist/__tests__/rtl/oppositeBlocks.test.d.ts.map +1 -0
  107. package/dist/__tests__/rtl/oppositeBlocks.test.js +273 -0
  108. package/dist/__tests__/rtl/oppositeBlocks.test.js.map +1 -0
  109. package/dist/__tests__/rtl/segmentLang.test.d.ts +2 -0
  110. package/dist/__tests__/rtl/segmentLang.test.d.ts.map +1 -0
  111. package/dist/__tests__/rtl/segmentLang.test.js +54 -0
  112. package/dist/__tests__/rtl/segmentLang.test.js.map +1 -0
  113. package/dist/__tests__/rtlLines.test.d.ts +2 -0
  114. package/dist/__tests__/rtlLines.test.d.ts.map +1 -0
  115. package/dist/__tests__/rtlLines.test.js +180 -0
  116. package/dist/__tests__/rtlLines.test.js.map +1 -0
  117. package/dist/__tests__/tocNumberColumn.test.d.ts +2 -0
  118. package/dist/__tests__/tocNumberColumn.test.d.ts.map +1 -0
  119. package/dist/__tests__/tocNumberColumn.test.js +67 -0
  120. package/dist/__tests__/tocNumberColumn.test.js.map +1 -0
  121. package/dist/__tests__/verse.test.d.ts +2 -0
  122. package/dist/__tests__/verse.test.d.ts.map +1 -0
  123. package/dist/__tests__/verse.test.js +232 -0
  124. package/dist/__tests__/verse.test.js.map +1 -0
  125. package/dist/__tests__/vertical/geometry.test.js +2 -2
  126. package/dist/__tests__/vertical/geometry.test.js.map +1 -1
  127. package/dist/__tests__/vertical/htmlTurnedCells.test.js +2 -2
  128. package/dist/__tests__/vertical/htmlTurnedCells.test.js.map +1 -1
  129. package/dist/arabicMarks.d.ts +80 -0
  130. package/dist/arabicMarks.d.ts.map +1 -0
  131. package/dist/arabicMarks.js +267 -0
  132. package/dist/arabicMarks.js.map +1 -0
  133. package/dist/arabicNumberWords.d.ts +43 -0
  134. package/dist/arabicNumberWords.d.ts.map +1 -0
  135. package/dist/arabicNumberWords.js +163 -0
  136. package/dist/arabicNumberWords.js.map +1 -0
  137. package/dist/arabicNumerals.d.ts +54 -0
  138. package/dist/arabicNumerals.d.ts.map +1 -0
  139. package/dist/arabicNumerals.js +143 -0
  140. package/dist/arabicNumerals.js.map +1 -0
  141. package/dist/bidi.d.ts +186 -0
  142. package/dist/bidi.d.ts.map +1 -0
  143. package/dist/bidi.js +851 -0
  144. package/dist/bidi.js.map +1 -0
  145. package/dist/bidiData.d.ts +13 -0
  146. package/dist/bidiData.d.ts.map +1 -0
  147. package/dist/bidiData.js +318 -0
  148. package/dist/bidiData.js.map +1 -0
  149. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  150. package/dist/canvas-backend/blockRender.js +58 -27
  151. package/dist/canvas-backend/blockRender.js.map +1 -1
  152. package/dist/canvas-backend/chip.d.ts.map +1 -1
  153. package/dist/canvas-backend/chip.js +16 -2
  154. package/dist/canvas-backend/chip.js.map +1 -1
  155. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  156. package/dist/canvas-backend/headerFooter.js +7 -3
  157. package/dist/canvas-backend/headerFooter.js.map +1 -1
  158. package/dist/canvas-backend/index.d.ts.map +1 -1
  159. package/dist/canvas-backend/index.js +9 -4
  160. package/dist/canvas-backend/index.js.map +1 -1
  161. package/dist/canvas-backend/mirrorFrame.d.ts +38 -0
  162. package/dist/canvas-backend/mirrorFrame.d.ts.map +1 -0
  163. package/dist/canvas-backend/mirrorFrame.js +129 -0
  164. package/dist/canvas-backend/mirrorFrame.js.map +1 -0
  165. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  166. package/dist/canvas-backend/renderResourceBlock.js +16 -5
  167. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  168. package/dist/canvas-backend/runDirection.d.ts +21 -0
  169. package/dist/canvas-backend/runDirection.d.ts.map +1 -0
  170. package/dist/canvas-backend/runDirection.js +46 -0
  171. package/dist/canvas-backend/runDirection.js.map +1 -0
  172. package/dist/canvas-backend/wordRuns.d.ts +49 -0
  173. package/dist/canvas-backend/wordRuns.d.ts.map +1 -0
  174. package/dist/canvas-backend/wordRuns.js +111 -0
  175. package/dist/canvas-backend/wordRuns.js.map +1 -0
  176. package/dist/columnClip.d.ts +4 -1
  177. package/dist/columnClip.d.ts.map +1 -1
  178. package/dist/columnClip.js +8 -3
  179. package/dist/columnClip.js.map +1 -1
  180. package/dist/configWarnings.d.ts +3 -1
  181. package/dist/configWarnings.d.ts.map +1 -1
  182. package/dist/configWarnings.js +59 -5
  183. package/dist/configWarnings.js.map +1 -1
  184. package/dist/defaults/bodyText.d.ts +28 -6
  185. package/dist/defaults/bodyText.d.ts.map +1 -1
  186. package/dist/defaults/bodyText.js +158 -30
  187. package/dist/defaults/bodyText.js.map +1 -1
  188. package/dist/defaults/calloutStyles.js +1 -1
  189. package/dist/defaults/calloutStyles.js.map +1 -1
  190. package/dist/defaults/captionStyle.js +5 -5
  191. package/dist/defaults/captionStyle.js.map +1 -1
  192. package/dist/defaults/folio.d.ts +4 -0
  193. package/dist/defaults/folio.d.ts.map +1 -1
  194. package/dist/defaults/folio.js +12 -1
  195. package/dist/defaults/folio.js.map +1 -1
  196. package/dist/defaults/footnotes.d.ts.map +1 -1
  197. package/dist/defaults/footnotes.js +12 -2
  198. package/dist/defaults/footnotes.js.map +1 -1
  199. package/dist/defaults/headerFooter.d.ts.map +1 -1
  200. package/dist/defaults/headerFooter.js +1 -0
  201. package/dist/defaults/headerFooter.js.map +1 -1
  202. package/dist/defaults/headingStyles.d.ts.map +1 -1
  203. package/dist/defaults/headingStyles.js +2 -1
  204. package/dist/defaults/headingStyles.js.map +1 -1
  205. package/dist/defaults/headings.d.ts.map +1 -1
  206. package/dist/defaults/headings.js +9 -2
  207. package/dist/defaults/headings.js.map +1 -1
  208. package/dist/defaults/index.d.ts +1 -1
  209. package/dist/defaults/index.d.ts.map +1 -1
  210. package/dist/defaults/index.js +7 -1
  211. package/dist/defaults/index.js.map +1 -1
  212. package/dist/defaults/indexConfig.d.ts +6 -2
  213. package/dist/defaults/indexConfig.d.ts.map +1 -1
  214. package/dist/defaults/indexConfig.js +25 -5
  215. package/dist/defaults/indexConfig.js.map +1 -1
  216. package/dist/defaults/page.d.ts +7 -4
  217. package/dist/defaults/page.d.ts.map +1 -1
  218. package/dist/defaults/page.js +10 -7
  219. package/dist/defaults/page.js.map +1 -1
  220. package/dist/defaults/paragraphStyles.js +2 -2
  221. package/dist/defaults/paragraphStyles.js.map +1 -1
  222. package/dist/defaults/parts.d.ts.map +1 -1
  223. package/dist/defaults/parts.js +2 -1
  224. package/dist/defaults/parts.js.map +1 -1
  225. package/dist/defaults/resourceTypes.d.ts +1 -1
  226. package/dist/defaults/resourceTypes.d.ts.map +1 -1
  227. package/dist/defaults/resourceTypes.js +10 -2
  228. package/dist/defaults/resourceTypes.js.map +1 -1
  229. package/dist/defaults/shared.d.ts +9 -0
  230. package/dist/defaults/shared.d.ts.map +1 -1
  231. package/dist/defaults/shared.js +15 -0
  232. package/dist/defaults/shared.js.map +1 -1
  233. package/dist/defaults/tableStyle.d.ts.map +1 -1
  234. package/dist/defaults/tableStyle.js +5 -1
  235. package/dist/defaults/tableStyle.js.map +1 -1
  236. package/dist/design/bidiText.d.ts +89 -0
  237. package/dist/design/bidiText.d.ts.map +1 -0
  238. package/dist/design/bidiText.js +165 -0
  239. package/dist/design/bidiText.js.map +1 -0
  240. package/dist/design/layout.d.ts +20 -0
  241. package/dist/design/layout.d.ts.map +1 -1
  242. package/dist/design/layout.js +46 -5
  243. package/dist/design/layout.js.map +1 -1
  244. package/dist/design/placeholders.d.ts +7 -1
  245. package/dist/design/placeholders.d.ts.map +1 -1
  246. package/dist/design/placeholders.js +6 -3
  247. package/dist/design/placeholders.js.map +1 -1
  248. package/dist/design/richText.d.ts +5 -2
  249. package/dist/design/richText.d.ts.map +1 -1
  250. package/dist/design/richText.js +35 -2
  251. package/dist/design/richText.js.map +1 -1
  252. package/dist/emphasisOverline.d.ts +27 -0
  253. package/dist/emphasisOverline.d.ts.map +1 -0
  254. package/dist/emphasisOverline.js +107 -0
  255. package/dist/emphasisOverline.js.map +1 -0
  256. package/dist/frontmatter.d.ts +25 -6
  257. package/dist/frontmatter.d.ts.map +1 -1
  258. package/dist/frontmatter.js +51 -10
  259. package/dist/frontmatter.js.map +1 -1
  260. package/dist/html-backend.d.ts +4 -1
  261. package/dist/html-backend.d.ts.map +1 -1
  262. package/dist/html-backend.js +363 -87
  263. package/dist/html-backend.js.map +1 -1
  264. package/dist/hyphenate.d.ts.map +1 -1
  265. package/dist/hyphenate.js +4 -1
  266. package/dist/hyphenate.js.map +1 -1
  267. package/dist/index.d.ts +11 -8
  268. package/dist/index.d.ts.map +1 -1
  269. package/dist/index.js +6 -4
  270. package/dist/index.js.map +1 -1
  271. package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
  272. package/dist/knuthPlass/breakpoints.js +3 -0
  273. package/dist/knuthPlass/breakpoints.js.map +1 -1
  274. package/dist/knuthPlass/pretextAdapter.d.ts.map +1 -1
  275. package/dist/knuthPlass/pretextAdapter.js +9 -3
  276. package/dist/knuthPlass/pretextAdapter.js.map +1 -1
  277. package/dist/knuthPlass/richAdapter.d.ts +11 -0
  278. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  279. package/dist/knuthPlass/richAdapter.js +11 -4
  280. package/dist/knuthPlass/richAdapter.js.map +1 -1
  281. package/dist/knuthPlass/tracking.d.ts +2 -1
  282. package/dist/knuthPlass/tracking.d.ts.map +1 -1
  283. package/dist/knuthPlass/tracking.js +5 -2
  284. package/dist/knuthPlass/tracking.js.map +1 -1
  285. package/dist/knuthPlass/types.d.ts +4 -0
  286. package/dist/knuthPlass/types.d.ts.map +1 -1
  287. package/dist/locale.d.ts +63 -9
  288. package/dist/locale.d.ts.map +1 -1
  289. package/dist/locale.js +129 -12
  290. package/dist/locale.js.map +1 -1
  291. package/dist/measure/bidiLines.d.ts +91 -0
  292. package/dist/measure/bidiLines.d.ts.map +1 -0
  293. package/dist/measure/bidiLines.js +293 -0
  294. package/dist/measure/bidiLines.js.map +1 -0
  295. package/dist/measure/cache.d.ts.map +1 -1
  296. package/dist/measure/cache.js +10 -4
  297. package/dist/measure/cache.js.map +1 -1
  298. package/dist/measure/joining.d.ts +39 -0
  299. package/dist/measure/joining.d.ts.map +1 -0
  300. package/dist/measure/joining.js +91 -0
  301. package/dist/measure/joining.js.map +1 -0
  302. package/dist/measure/joiningGroups.d.ts +7 -0
  303. package/dist/measure/joiningGroups.d.ts.map +1 -0
  304. package/dist/measure/joiningGroups.js +110 -0
  305. package/dist/measure/joiningGroups.js.map +1 -0
  306. package/dist/measure/kashida.d.ts +97 -0
  307. package/dist/measure/kashida.d.ts.map +1 -0
  308. package/dist/measure/kashida.js +285 -0
  309. package/dist/measure/kashida.js.map +1 -0
  310. package/dist/measure/kashidaPatterns.d.ts +109 -0
  311. package/dist/measure/kashidaPatterns.d.ts.map +1 -0
  312. package/dist/measure/kashidaPatterns.js +519 -0
  313. package/dist/measure/kashidaPatterns.js.map +1 -0
  314. package/dist/measure/links.d.ts.map +1 -1
  315. package/dist/measure/links.js +5 -2
  316. package/dist/measure/links.js.map +1 -1
  317. package/dist/measure/plain.d.ts.map +1 -1
  318. package/dist/measure/plain.js +31 -0
  319. package/dist/measure/plain.js.map +1 -1
  320. package/dist/measure/rich.d.ts +24 -0
  321. package/dist/measure/rich.d.ts.map +1 -1
  322. package/dist/measure/rich.js +250 -22
  323. package/dist/measure/rich.js.map +1 -1
  324. package/dist/measure/types.d.ts +14 -0
  325. package/dist/measure/types.d.ts.map +1 -1
  326. package/dist/measure/types.js.map +1 -1
  327. package/dist/numberWords.d.ts +17 -4
  328. package/dist/numberWords.d.ts.map +1 -1
  329. package/dist/numberWords.js +19 -13
  330. package/dist/numberWords.js.map +1 -1
  331. package/dist/numbering.d.ts +49 -11
  332. package/dist/numbering.d.ts.map +1 -1
  333. package/dist/numbering.js +117 -21
  334. package/dist/numbering.js.map +1 -1
  335. package/dist/parse/annotations.d.ts +6 -3
  336. package/dist/parse/annotations.d.ts.map +1 -1
  337. package/dist/parse/annotations.js +31 -7
  338. package/dist/parse/annotations.js.map +1 -1
  339. package/dist/parse/attrs.d.ts +3 -3
  340. package/dist/parse/attrs.d.ts.map +1 -1
  341. package/dist/parse/attrs.js +5 -4
  342. package/dist/parse/attrs.js.map +1 -1
  343. package/dist/parse/blockParser.d.ts.map +1 -1
  344. package/dist/parse/blockParser.js +158 -14
  345. package/dist/parse/blockParser.js.map +1 -1
  346. package/dist/parse/index.d.ts +1 -1
  347. package/dist/parse/index.d.ts.map +1 -1
  348. package/dist/parse/index.js.map +1 -1
  349. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  350. package/dist/parse/inlineFormatting.js +5 -4
  351. package/dist/parse/inlineFormatting.js.map +1 -1
  352. package/dist/parse/types.d.ts +63 -1
  353. package/dist/parse/types.d.ts.map +1 -1
  354. package/dist/pipeline/build.d.ts.map +1 -1
  355. package/dist/pipeline/build.js +161 -43
  356. package/dist/pipeline/build.js.map +1 -1
  357. package/dist/pipeline/buildBlockKind.d.ts +2 -0
  358. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  359. package/dist/pipeline/buildBlockKind.js +67 -2
  360. package/dist/pipeline/buildBlockKind.js.map +1 -1
  361. package/dist/pipeline/buildHelpers.d.ts +22 -1
  362. package/dist/pipeline/buildHelpers.d.ts.map +1 -1
  363. package/dist/pipeline/buildHelpers.js +55 -5
  364. package/dist/pipeline/buildHelpers.js.map +1 -1
  365. package/dist/pipeline/calloutLayout.d.ts +6 -1
  366. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  367. package/dist/pipeline/calloutLayout.js +63 -18
  368. package/dist/pipeline/calloutLayout.js.map +1 -1
  369. package/dist/pipeline/citations.d.ts +2 -1
  370. package/dist/pipeline/citations.d.ts.map +1 -1
  371. package/dist/pipeline/citations.js +29 -9
  372. package/dist/pipeline/citations.js.map +1 -1
  373. package/dist/pipeline/cjkGrid.d.ts +3 -2
  374. package/dist/pipeline/cjkGrid.d.ts.map +1 -1
  375. package/dist/pipeline/cjkGrid.js +3 -2
  376. package/dist/pipeline/cjkGrid.js.map +1 -1
  377. package/dist/pipeline/config.d.ts +13 -1
  378. package/dist/pipeline/config.d.ts.map +1 -1
  379. package/dist/pipeline/config.js +32 -3
  380. package/dist/pipeline/config.js.map +1 -1
  381. package/dist/pipeline/contentWarnings.d.ts +10 -0
  382. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  383. package/dist/pipeline/contentWarnings.js +88 -0
  384. package/dist/pipeline/contentWarnings.js.map +1 -1
  385. package/dist/pipeline/continuation.d.ts.map +1 -1
  386. package/dist/pipeline/continuation.js +1 -1
  387. package/dist/pipeline/continuation.js.map +1 -1
  388. package/dist/pipeline/crossRefs.d.ts.map +1 -1
  389. package/dist/pipeline/crossRefs.js +2 -0
  390. package/dist/pipeline/crossRefs.js.map +1 -1
  391. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  392. package/dist/pipeline/floatPlacement.js +2 -1
  393. package/dist/pipeline/floatPlacement.js.map +1 -1
  394. package/dist/pipeline/footnotes.d.ts +13 -5
  395. package/dist/pipeline/footnotes.d.ts.map +1 -1
  396. package/dist/pipeline/footnotes.js +19 -8
  397. package/dist/pipeline/footnotes.js.map +1 -1
  398. package/dist/pipeline/headerFooter.d.ts +4 -0
  399. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  400. package/dist/pipeline/headerFooter.js +41 -13
  401. package/dist/pipeline/headerFooter.js.map +1 -1
  402. package/dist/pipeline/headingDesignCuts.d.ts +1 -1
  403. package/dist/pipeline/headingDesignCuts.d.ts.map +1 -1
  404. package/dist/pipeline/headingDesignCuts.js +2 -1
  405. package/dist/pipeline/headingDesignCuts.js.map +1 -1
  406. package/dist/pipeline/headingStyles.d.ts +10 -0
  407. package/dist/pipeline/headingStyles.d.ts.map +1 -1
  408. package/dist/pipeline/headingStyles.js +46 -0
  409. package/dist/pipeline/headingStyles.js.map +1 -1
  410. package/dist/pipeline/indexDirective.d.ts.map +1 -1
  411. package/dist/pipeline/indexDirective.js +33 -6
  412. package/dist/pipeline/indexDirective.js.map +1 -1
  413. package/dist/pipeline/indexGroups.d.ts +23 -1
  414. package/dist/pipeline/indexGroups.d.ts.map +1 -1
  415. package/dist/pipeline/indexGroups.js +50 -1
  416. package/dist/pipeline/indexGroups.js.map +1 -1
  417. package/dist/pipeline/lists.d.ts +16 -4
  418. package/dist/pipeline/lists.d.ts.map +1 -1
  419. package/dist/pipeline/lists.js +51 -12
  420. package/dist/pipeline/lists.js.map +1 -1
  421. package/dist/pipeline/measureContentBlock.d.ts +5 -0
  422. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  423. package/dist/pipeline/measureContentBlock.js +63 -4
  424. package/dist/pipeline/measureContentBlock.js.map +1 -1
  425. package/dist/pipeline/mirrorFrame.d.ts +37 -0
  426. package/dist/pipeline/mirrorFrame.d.ts.map +1 -0
  427. package/dist/pipeline/mirrorFrame.js +143 -0
  428. package/dist/pipeline/mirrorFrame.js.map +1 -0
  429. package/dist/pipeline/outline.d.ts +2 -2
  430. package/dist/pipeline/outline.d.ts.map +1 -1
  431. package/dist/pipeline/outline.js +33 -6
  432. package/dist/pipeline/outline.js.map +1 -1
  433. package/dist/pipeline/paragraphContainers.d.ts +5 -0
  434. package/dist/pipeline/paragraphContainers.d.ts.map +1 -1
  435. package/dist/pipeline/paragraphContainers.js +12 -0
  436. package/dist/pipeline/paragraphContainers.js.map +1 -1
  437. package/dist/pipeline/parts.d.ts +1 -1
  438. package/dist/pipeline/parts.d.ts.map +1 -1
  439. package/dist/pipeline/parts.js +3 -2
  440. package/dist/pipeline/parts.js.map +1 -1
  441. package/dist/pipeline/placeholders.d.ts +13 -6
  442. package/dist/pipeline/placeholders.d.ts.map +1 -1
  443. package/dist/pipeline/placeholders.js +15 -11
  444. package/dist/pipeline/placeholders.js.map +1 -1
  445. package/dist/pipeline/placement.d.ts +3 -2
  446. package/dist/pipeline/placement.d.ts.map +1 -1
  447. package/dist/pipeline/placement.js +18 -6
  448. package/dist/pipeline/placement.js.map +1 -1
  449. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  450. package/dist/pipeline/resourceLayout.js +70 -7
  451. package/dist/pipeline/resourceLayout.js.map +1 -1
  452. package/dist/pipeline/resourceNumbering.d.ts +5 -3
  453. package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
  454. package/dist/pipeline/resourceNumbering.js +11 -8
  455. package/dist/pipeline/resourceNumbering.js.map +1 -1
  456. package/dist/pipeline/styles.d.ts +6 -1
  457. package/dist/pipeline/styles.d.ts.map +1 -1
  458. package/dist/pipeline/styles.js +44 -14
  459. package/dist/pipeline/styles.js.map +1 -1
  460. package/dist/pipeline/tashkil.d.ts +27 -0
  461. package/dist/pipeline/tashkil.d.ts.map +1 -0
  462. package/dist/pipeline/tashkil.js +161 -0
  463. package/dist/pipeline/tashkil.js.map +1 -0
  464. package/dist/pipeline/toc.d.ts +12 -0
  465. package/dist/pipeline/toc.d.ts.map +1 -1
  466. package/dist/pipeline/toc.js +64 -4
  467. package/dist/pipeline/toc.js.map +1 -1
  468. package/dist/pipeline/verse.d.ts +65 -0
  469. package/dist/pipeline/verse.d.ts.map +1 -0
  470. package/dist/pipeline/verse.js +252 -0
  471. package/dist/pipeline/verse.js.map +1 -0
  472. package/dist/pipeline/verticalMetrics.d.ts +1 -1
  473. package/dist/pipeline/verticalMetrics.d.ts.map +1 -1
  474. package/dist/pipeline/verticalMetrics.js +7 -5
  475. package/dist/pipeline/verticalMetrics.js.map +1 -1
  476. package/dist/table/model.d.ts +4 -3
  477. package/dist/table/model.d.ts.map +1 -1
  478. package/dist/table/model.js.map +1 -1
  479. package/dist/types.d.ts +286 -36
  480. package/dist/types.d.ts.map +1 -1
  481. package/dist/uprightArabic.d.ts +39 -0
  482. package/dist/uprightArabic.d.ts.map +1 -0
  483. package/dist/uprightArabic.js +105 -0
  484. package/dist/uprightArabic.js.map +1 -0
  485. package/dist/vdt.d.ts +276 -11
  486. package/dist/vdt.d.ts.map +1 -1
  487. package/dist/vdt.js +46 -9
  488. package/dist/vdt.js.map +1 -1
  489. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { ContentBlock } from './parse';
2
- import type { OrderedListNumberFormat } from './types';
2
+ import type { DigitSystem, OrderedListNumberFormat } from './types';
3
3
  /** The East Asian numeral styles, named as in CSS Counter Styles 3: Chinese
4
4
  * numerals in the informal (一百二十) and formal (壹佰贰拾) longhand of
5
5
  * either script, digit by digit (`cjk-decimal`, 二〇二六), the heavenly
@@ -8,12 +8,28 @@ import type { OrderedListNumberFormat } from './types';
8
8
  export type EastAsianNumeralStyle = 'simp-chinese-informal' | 'trad-chinese-informal' | 'simp-chinese-formal' | 'trad-chinese-formal' | 'cjk-decimal' | 'cjk-heavenly-stem' | 'cjk-earthly-branch' | 'circled-decimal' | 'fullwidth-decimal';
9
9
  /** Every {@link EastAsianNumeralStyle}, in the order a picker lists them. */
10
10
  export declare const EAST_ASIAN_NUMERAL_STYLES: readonly EastAsianNumeralStyle[];
11
- export type NumeralStyle = 'decimal' | 'decimal-02' | 'upper-alpha' | 'lower-alpha' | 'upper-roman' | 'lower-roman' | EastAsianNumeralStyle;
11
+ /** The Arabic-script numeral styles: the Arabic-Indic digits of the
12
+ * Mashriq (`arabic-indic`, ١٢٣) and the Extended Arabic-Indic digits of
13
+ * Persian and Urdu (`persian`, ۱۲۳), named as in CSS Counter Styles 3; the
14
+ * additive abjad numerals of Classical Arabic (`arabic-abjad`, يا = 11)
15
+ * and their Maghrebi values (`arabic-abjad-maghrebi`); and the letter
16
+ * series of list items, in abjad order (`abjad`: أ ب ج د هـ) and in
17
+ * alphabetical order (`hijai`: أ ب ت ث). `'arabic'` is not among them: it
18
+ * has always meant the European decimal digits. */
19
+ export type ArabicNumeralStyle = 'arabic-indic' | 'persian' | 'arabic-abjad' | 'arabic-abjad-maghrebi' | 'abjad' | 'hijai';
20
+ /** Every {@link ArabicNumeralStyle}, in the order a picker lists them. */
21
+ export declare const ARABIC_NUMERAL_STYLES: readonly ArabicNumeralStyle[];
22
+ export type NumeralStyle = 'decimal' | 'decimal-02' | 'upper-alpha' | 'lower-alpha' | 'upper-roman' | 'lower-roman' | EastAsianNumeralStyle | ArabicNumeralStyle;
23
+ type SpelledBase = 'words' | 'Words' | 'WORDS' | 'ordinal' | 'Ordinal' | 'ORDINAL';
12
24
  /** A counter spelled out in words (heading templates only): cardinal
13
25
  * (`words`) or ordinal (`ordinal`), the case of the suffix picking the
14
26
  * case of the words — `{1:words}` "twenty-one", `{1:Words}` "Twenty-one",
15
- * `{1:WORDS}` "TWENTY-ONE". */
16
- export type SpelledNumeralStyle = 'words' | 'Words' | 'WORDS' | 'ordinal' | 'Ordinal' | 'ORDINAL';
27
+ * `{1:WORDS}` "TWENTY-ONE". Modifiers after a hyphen choose the gender
28
+ * and the spelling of a language that inflects them (Arabic):
29
+ * `{1:ordinal-feminine}` (or `-f`) الأولى, `-masculine` (`-m`, the
30
+ * default) الأول, `-classical` مائة for مئة; `{1:ordinal-f-classical}`
31
+ * combines them. Other languages ignore the modifiers. */
32
+ export type SpelledNumeralStyle = SpelledBase | `${SpelledBase}-${string}`;
17
33
  /** Format of a counter in a heading numbering template. */
18
34
  export type CounterStyle = NumeralStyle | SpelledNumeralStyle;
19
35
  type Token = {
@@ -36,8 +52,9 @@ export declare function chineseInformalStyle(locale?: string): 'simp-chinese-inf
36
52
  * spellings the engine accepts (see `NUMBER_FORMAT_NAMES`: `decimal` /
37
53
  * `arabic`, `lower-roman` / `roman-lower` / `i`, `upper-alpha` /
38
54
  * `alpha-upper` / `upper-latin` / `A`, the CSS names of the East Asian
39
- * styles and their one-character tokens `〇`, `①`, `甲`, `子`, `1`…; names
40
- * are case-insensitive). `一` and `壹` name the informal and formal Chinese
55
+ * styles and their one-character tokens `〇`, `①`, `甲`, `子`, `1`…, the
56
+ * Arabic styles and their tokens `١`, `۱`, `أبجد`, `أبتث`; names are
57
+ * case-insensitive). `一` and `壹` name the informal and formal Chinese
41
58
  * numerals of the document's script: Traditional when `locale` is
42
59
  * (`zh-Hant`, `zh-TW`…), else Simplified. `undefined` for anything else —
43
60
  * the caller numbers in decimal.
@@ -46,12 +63,25 @@ export declare function parseNumberFormat(value: unknown, locale?: string): Numb
46
63
  /** A numeral style in the ordered-list vocabulary (`arabic` for decimal). */
47
64
  export declare function toOrderedListNumberFormat(style: NumberFormatStyle): OrderedListNumberFormat;
48
65
  /** A counter value in a template style; spelled-out styles use the
49
- * document language `locale`. */
50
- export declare function formatCounter(n: number, style: CounterStyle, locale?: string): string;
66
+ * document language `locale`, decimal ones the document's `digits`. */
67
+ export declare function formatCounter(n: number, style: CounterStyle, locale?: string, digits?: DigitSystem): string;
51
68
  /** The tokens of a numbering template. `locale` (the document language)
52
69
  * decides the script of the `{1:一}` and `{1:壹}` tokens. */
53
70
  export declare function parseTemplate(tpl: string, locale?: string): Token[];
54
- export declare function formatNumeral(n: number, style: NumeralStyle): string;
71
+ /**
72
+ * The style a document writes `style` in: `decimal` takes the document's
73
+ * digit system (`'arab'` → `arabic-indic`, `'arabext'` → `persian`); every
74
+ * other style, and every style in a `'latn'` document, is kept. What a
75
+ * page label records as its format, so that the PDF's `/PageLabels` and a
76
+ * book's next chapter see the digits the page prints.
77
+ */
78
+ export declare function documentNumeralStyle<S extends NumeralStyle>(style: S, digits: DigitSystem | undefined): S | 'arabic-indic' | 'persian';
79
+ /**
80
+ * `n` in `style`. `digits`, the document's digit system, writes the
81
+ * decimal styles (`decimal`, `decimal-02`) in Arabic-Indic or Persian
82
+ * digits; a style the author names is printed as named.
83
+ */
84
+ export declare function formatNumeral(n: number, style: NumeralStyle, digits?: DigitSystem): string;
55
85
  /** A pre-resolved template piece fed to {@link renderCounterTemplate}. A
56
86
  * `counter` piece whose `text` is empty is treated as a "missing" counter and
57
87
  * triggers separator collapsing — its adjacent literal separator is dropped so
@@ -91,7 +121,11 @@ export interface PageLabelInfo {
91
121
  * treated as the document-wide default and must define both `format`
92
122
  * and `startAt`. Later segments with an omitted field carry over the
93
123
  * previous one. */
94
- export declare function buildPageLabels(pageCount: number, segments: PageNumberSegment[]): PageLabelInfo[];
124
+ export declare function buildPageLabels(pageCount: number, segments: PageNumberSegment[],
125
+ /** The document's digit system: a decimal page is labelled in it, and
126
+ * records `arabic-indic` or `persian` as its format (see
127
+ * {@link documentNumeralStyle}). */
128
+ digits?: DigitSystem): PageLabelInfo[];
95
129
  /** One contiguous run of pages sharing `(format, counter)`. Boundary rule:
96
130
  * a run starts whenever the format differs from the previous page or the
97
131
  * counter is not exactly `previous + 1`. Feeds the PDF `/PageLabels`
@@ -109,7 +143,8 @@ export declare function collectPageLabelRuns(labels: PageLabelInfo[]): PageLabel
109
143
  export type HeadingCounterStart = readonly number[];
110
144
  /** The value a heading's `startAt` attribute (`# Appendix {startAt=1}`)
111
145
  * sets its level's counter to, in place of advancing it: a positive
112
- * integer, else undefined (the attribute is ignored). */
146
+ * integer, in any digits (`{startAt=٣}`), else undefined (the attribute
147
+ * is ignored). */
113
148
  export declare function headingCounterStart(block: Pick<ContentBlock, 'attrs'>): number | undefined;
114
149
  /** A numbered heading's counter after it: its `startAt`, else one more
115
150
  * than the level's running count. */
@@ -118,6 +153,9 @@ export interface HeadingNumberingOptions {
118
153
  /** Document language of spelled-out counters (`{1:words}`,
119
154
  * `{1:ordinal}`). English when unset. */
120
155
  locale?: string;
156
+ /** The document's digit system, for the decimal counters (`{1}`,
157
+ * `{1:01}`); `'latn'` when unset. */
158
+ numerals?: DigitSystem;
121
159
  /** A template replacing the level's for one heading (a heading style's
122
160
  * `numberingTemplate`); `undefined` keeps the level's. */
123
161
  templateFor?: (block: ContentBlock) => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"numbering.d.ts","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numbering.d.ts","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"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"}
package/dist/numbering.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { caseWords, numberToWords } from './numberWords';
2
2
  import { localeScript } from './locale';
3
3
  import { chineseNumeral, cjkDecimal, circledDecimal, fullwidthDecimal, fixedSymbol, CJK_HEAVENLY_STEMS, CJK_EARTHLY_BRANCHES } from './chineseNumerals';
4
+ import { abjadNumeral, arabicIndicDecimal, arabicLettering, asciiDigits, persianDecimal, withDigits, ABJAD_LETTERS, HIJAI_LETTERS } from './arabicNumerals';
4
5
  /** Every {@link EastAsianNumeralStyle}, in the order a picker lists them. */
5
6
  export const EAST_ASIAN_NUMERAL_STYLES = Object.freeze([
6
7
  'simp-chinese-informal',
@@ -13,6 +14,15 @@ export const EAST_ASIAN_NUMERAL_STYLES = Object.freeze([
13
14
  'circled-decimal',
14
15
  'fullwidth-decimal',
15
16
  ]);
17
+ /** Every {@link ArabicNumeralStyle}, in the order a picker lists them. */
18
+ export const ARABIC_NUMERAL_STYLES = Object.freeze([
19
+ 'arabic-indic',
20
+ 'persian',
21
+ 'abjad',
22
+ 'hijai',
23
+ 'arabic-abjad',
24
+ 'arabic-abjad-maghrebi',
25
+ ]);
16
26
  const STYLE_ALIASES = {
17
27
  '1': 'decimal',
18
28
  decimal: 'decimal',
@@ -48,6 +58,16 @@ const NUMBER_FORMAT_NAMES = new Map([
48
58
  ...EAST_ASIAN_NUMERAL_STYLES.map((name) => [name, name]),
49
59
  // CSS keeps `cjk-ideographic` as another name of the traditional informal.
50
60
  ['cjk-ideographic', 'trad-chinese-informal'],
61
+ ...ARABIC_NUMERAL_STYLES.map((name) => [name, name]),
62
+ // The W3C "Ready-made Counter Styles" names: `urdu` is `persian` with a
63
+ // suffix of its own (a numbering format carries none), and
64
+ // `maghrebi-abjad` the Maghrebi values. Their `arabic-abjad` is a
65
+ // 28-letter series where 11 is ك; here it is the additive numeral (11
66
+ // يا), as in Arabic books, and the series is `abjad`.
67
+ ['urdu', 'persian'],
68
+ ['maghrebi-abjad', 'arabic-abjad-maghrebi'],
69
+ ['arabic-alpha', 'hijai'],
70
+ ['arabic-alphabetic', 'hijai'],
51
71
  ]);
52
72
  /** The one-character tokens of the heading templates (`{1:i}`), which the
53
73
  * format fields accept as well. Case-sensitive: `i` and `I` differ. The
@@ -64,6 +84,12 @@ const NUMBER_FORMAT_TOKENS = new Map([
64
84
  ['甲', 'cjk-heavenly-stem'],
65
85
  ['子', 'cjk-earthly-branch'],
66
86
  ['1', 'fullwidth-decimal'],
87
+ // A single أ cannot tell the two Arabic letter series apart: their first
88
+ // letters name them (أبجد, أبتث).
89
+ ['١', 'arabic-indic'],
90
+ ['۱', 'persian'],
91
+ ['أبجد', 'abjad'],
92
+ ['أبتث', 'hijai'],
67
93
  ]);
68
94
  /** Whether `locale` is written in Traditional characters (`zh-Hant`,
69
95
  * `zh-TW`, `zh-HK`…). */
@@ -81,8 +107,9 @@ export function chineseInformalStyle(locale) {
81
107
  * spellings the engine accepts (see `NUMBER_FORMAT_NAMES`: `decimal` /
82
108
  * `arabic`, `lower-roman` / `roman-lower` / `i`, `upper-alpha` /
83
109
  * `alpha-upper` / `upper-latin` / `A`, the CSS names of the East Asian
84
- * styles and their one-character tokens `〇`, `①`, `甲`, `子`, `1`…; names
85
- * are case-insensitive). `一` and `壹` name the informal and formal Chinese
110
+ * 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
86
113
  * numerals of the document's script: Traditional when `locale` is
87
114
  * (`zh-Hant`, `zh-TW`…), else Simplified. `undefined` for anything else —
88
115
  * the caller numbers in decimal.
@@ -109,24 +136,52 @@ function templateStyle(raw, locale) {
109
136
  return Object.prototype.hasOwnProperty.call(STYLE_ALIASES, s) ? STYLE_ALIASES[s] : parseNumberFormat(s, locale) ?? 'decimal';
110
137
  }
111
138
  const SPELLED_STYLES = new Set(['words', 'Words', 'WORDS', 'ordinal', 'Ordinal', 'ORDINAL']);
139
+ /** The modifiers a spelled style takes, lower-cased, and what each sets. */
140
+ const SPELLED_MODIFIERS = {
141
+ f: { gender: 'feminine' },
142
+ feminine: { gender: 'feminine' },
143
+ m: { gender: 'masculine' },
144
+ masculine: { gender: 'masculine' },
145
+ classical: { spelling: 'classical' },
146
+ modern: { spelling: 'modern' },
147
+ };
148
+ /** What a spelled style token says (`Ordinal-feminine` → an ordinal, first
149
+ * letter capital, feminine); `undefined` when the token is not one — an
150
+ * unknown modifier included. */
151
+ function parseSpelledStyle(token) {
152
+ const [base, ...mods] = token.split('-');
153
+ if (base === undefined || !SPELLED_STYLES.has(base))
154
+ return undefined;
155
+ let options = {};
156
+ for (const mod of mods) {
157
+ const set = SPELLED_MODIFIERS[mod.toLowerCase()];
158
+ if (!set)
159
+ return undefined;
160
+ options = { ...options, ...set };
161
+ }
162
+ return {
163
+ kind: base.toLowerCase() === 'ordinal' ? 'ordinal' : 'cardinal',
164
+ wordsCase: base === base.toUpperCase() ? 'upper' : base[0] === base[0].toUpperCase() ? 'capital' : 'lower',
165
+ options,
166
+ };
167
+ }
112
168
  function counterStyleOf(raw, locale) {
113
169
  if (!raw)
114
170
  return 'decimal';
115
171
  const key = raw.trim();
116
- if (SPELLED_STYLES.has(key))
172
+ if (parseSpelledStyle(key))
117
173
  return key;
118
174
  return templateStyle(key, locale);
119
175
  }
120
176
  /** A counter value in a template style; spelled-out styles use the
121
- * document language `locale`. */
122
- export function formatCounter(n, style, locale) {
123
- if (!SPELLED_STYLES.has(style))
124
- return formatNumeral(n, style);
177
+ * document language `locale`, decimal ones the document's `digits`. */
178
+ export function formatCounter(n, style, locale, digits) {
179
+ const spelled = parseSpelledStyle(style);
180
+ if (!spelled)
181
+ return formatNumeral(n, style, digits);
125
182
  if (n <= 0)
126
183
  return '';
127
- const kind = style.toLowerCase() === 'ordinal' ? 'ordinal' : 'cardinal';
128
- const wordsCase = style === style.toUpperCase() ? 'upper' : style[0] === style[0].toUpperCase() ? 'capital' : 'lower';
129
- return caseWords(numberToWords(n, kind, locale), wordsCase, locale);
184
+ return caseWords(numberToWords(n, spelled.kind, locale, spelled.options), spelled.wordsCase, locale);
130
185
  }
131
186
  /** The tokens of a numbering template. `locale` (the document language)
132
187
  * decides the script of the `{1:一}` and `{1:壹}` tokens. */
@@ -207,7 +262,27 @@ function toRoman(n) {
207
262
  }
208
263
  return s;
209
264
  }
210
- export function formatNumeral(n, style) {
265
+ /**
266
+ * The style a document writes `style` in: `decimal` takes the document's
267
+ * digit system (`'arab'` → `arabic-indic`, `'arabext'` → `persian`); every
268
+ * other style, and every style in a `'latn'` document, is kept. What a
269
+ * page label records as its format, so that the PDF's `/PageLabels` and a
270
+ * book's next chapter see the digits the page prints.
271
+ */
272
+ export function documentNumeralStyle(style, digits) {
273
+ if (style !== 'decimal' || !digits || digits === 'latn')
274
+ return style;
275
+ return digits === 'arab' ? 'arabic-indic' : 'persian';
276
+ }
277
+ /**
278
+ * `n` in `style`. `digits`, the document's digit system, writes the
279
+ * decimal styles (`decimal`, `decimal-02`) in Arabic-Indic or Persian
280
+ * digits; a style the author names is printed as named.
281
+ */
282
+ export function formatNumeral(n, style, digits) {
283
+ if (digits !== undefined && digits !== 'latn' && (style === 'decimal' || style === 'decimal-02')) {
284
+ return withDigits(formatNumeral(n, style), digits);
285
+ }
211
286
  if (n === 0) {
212
287
  // The positional East Asian styles have a zero; the others print
213
288
  // nothing for it, as before.
@@ -223,6 +298,10 @@ export function formatNumeral(n, style) {
223
298
  return '⓪';
224
299
  case 'fullwidth-decimal':
225
300
  return '0';
301
+ case 'arabic-indic':
302
+ return '٠';
303
+ case 'persian':
304
+ return '۰';
226
305
  default:
227
306
  return '';
228
307
  }
@@ -260,6 +339,18 @@ export function formatNumeral(n, style) {
260
339
  return circledDecimal(n);
261
340
  case 'fullwidth-decimal':
262
341
  return fullwidthDecimal(n);
342
+ case 'arabic-indic':
343
+ return arabicIndicDecimal(n);
344
+ case 'persian':
345
+ return persianDecimal(n);
346
+ case 'arabic-abjad':
347
+ return abjadNumeral(n, 'mashriqi');
348
+ case 'arabic-abjad-maghrebi':
349
+ return abjadNumeral(n, 'maghrebi');
350
+ case 'abjad':
351
+ return arabicLettering(n, ABJAD_LETTERS);
352
+ case 'hijai':
353
+ return arabicLettering(n, HIJAI_LETTERS);
263
354
  default:
264
355
  // A style from outside the type (a hand-written config, a stale
265
356
  // continuation) numbers in decimal rather than printing "undefined".
@@ -295,7 +386,7 @@ export function renderCounterTemplate(pieces) {
295
386
  }
296
387
  return out;
297
388
  }
298
- function renderTemplate(tokens, counters, currentLevel, locale) {
389
+ function renderTemplate(tokens, counters, currentLevel, locale, digits) {
299
390
  const pieces = [];
300
391
  for (const t of tokens) {
301
392
  if (t.kind === 'literal') {
@@ -305,7 +396,7 @@ function renderTemplate(tokens, counters, currentLevel, locale) {
305
396
  if (t.level > currentLevel)
306
397
  continue;
307
398
  const value = counters[t.level] ?? 0;
308
- const rendered = value > 0 ? formatCounter(value, t.style, locale) : '';
399
+ const rendered = value > 0 ? formatCounter(value, t.style, locale, digits) : '';
309
400
  pieces.push({ kind: 'counter', text: rendered });
310
401
  }
311
402
  return renderCounterTemplate(pieces);
@@ -316,15 +407,19 @@ function renderTemplate(tokens, counters, currentLevel, locale) {
316
407
  * treated as the document-wide default and must define both `format`
317
408
  * and `startAt`. Later segments with an omitted field carry over the
318
409
  * previous one. */
319
- export function buildPageLabels(pageCount, segments) {
410
+ export function buildPageLabels(pageCount, segments,
411
+ /** The document's digit system: a decimal page is labelled in it, and
412
+ * records `arabic-indic` or `persian` as its format (see
413
+ * {@link documentNumeralStyle}). */
414
+ digits) {
320
415
  if (pageCount <= 0)
321
416
  return [];
322
417
  if (segments.length === 0) {
323
418
  // Defensive default — behave as a plain decimal-from-1 sequence.
324
419
  return Array.from({ length: pageCount }, (_, i) => ({
325
420
  value: i + 1,
326
- label: String(i + 1),
327
- format: 'decimal',
421
+ label: formatNumeral(i + 1, 'decimal', digits),
422
+ format: documentNumeralStyle('decimal', digits),
328
423
  }));
329
424
  }
330
425
  const sorted = [...segments].sort((a, b) => a.startPageIndex - b.startPageIndex);
@@ -350,8 +445,8 @@ export function buildPageLabels(pageCount, segments) {
350
445
  curValue = s.startAt;
351
446
  segIdx++;
352
447
  }
353
- const label = formatNumeral(curValue, curFormat);
354
- out[i] = { value: curValue, label, format: curFormat };
448
+ const label = formatNumeral(curValue, curFormat, digits);
449
+ out[i] = { value: curValue, label, format: documentNumeralStyle(curFormat, digits) };
355
450
  curValue++;
356
451
  }
357
452
  return out;
@@ -381,12 +476,13 @@ export function collectPageLabelRuns(labels) {
381
476
  }
382
477
  /** The value a heading's `startAt` attribute (`# Appendix {startAt=1}`)
383
478
  * sets its level's counter to, in place of advancing it: a positive
384
- * integer, else undefined (the attribute is ignored). */
479
+ * integer, in any digits (`{startAt=٣}`), else undefined (the attribute
480
+ * is ignored). */
385
481
  export function headingCounterStart(block) {
386
482
  const raw = block.attrs?.startAt;
387
483
  if (raw === undefined)
388
484
  return undefined;
389
- const n = Number(raw);
485
+ const n = Number(asciiDigits(raw));
390
486
  return Number.isInteger(n) && n >= 1 ? n : undefined;
391
487
  }
392
488
  /** A numbered heading's counter after it: its `startAt`, else one more
@@ -428,7 +524,7 @@ isNumbered = () => true, options = {}) {
428
524
  const tokens = tokensOf(options.templateFor?.(b) ?? templates[lvl] ?? '');
429
525
  if (!tokens)
430
526
  continue;
431
- const rendered = renderTemplate(tokens, counters, lvl, options.locale);
527
+ const rendered = renderTemplate(tokens, counters, lvl, options.locale, options.numerals);
432
528
  if (rendered.length > 0)
433
529
  prefixes[i] = rendered;
434
530
  }
@@ -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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"}
@@ -2,7 +2,9 @@
2
2
  * Chinese inline annotations (#193, #194, #195): emphasis dots
3
3
  * (`:dots[…]`), the proper-name and book-title marks (`:name[…]`,
4
4
  * `:book[…]`), ruby (`:ruby[…]{rt="…"}` and the compact `{紅樓|hóng|lóu}`)
5
- * and warichu notes (`:warichu[…]{open close}`).
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.
6
8
  *
7
9
  * They preserve their text, as `:smallcaps[…]` does: the characters between
8
10
  * the brackets stay in the paragraph's plain text (search, the contents,
@@ -16,7 +18,7 @@
16
18
  */
17
19
  import type { DirectiveAttrs, InlineSpan } from './types';
18
20
  /** The inline annotation directives, by name. */
19
- export declare const ANNOTATION_NAMES: readonly ["dots", "name", "book", "ruby", "warichu"];
21
+ export declare const ANNOTATION_NAMES: readonly ["dots", "name", "book", "ruby", "warichu", "ltr", "rtl"];
20
22
  export type AnnotationName = (typeof ANNOTATION_NAMES)[number];
21
23
  /** One annotation as written: its kind, its attributes, and (a compact
22
24
  * ruby) its readings. Queued in the order of the marks in the text. */
@@ -96,6 +98,7 @@ export declare function withBookBrackets(spans: readonly InlineSpan[]): InlineSp
96
98
  * plain (captions, table cells and notes, which do not draw them). The
97
99
  * same array when none has one. With `bookBrackets` (`cjk.bookTitleMark:
98
100
  * 'brackets'`) a book title keeps its 《》, which are then punctuation of
99
- * the text, not a mark. */
101
+ * the text, not a mark. Directional isolates (`:rtl[…]`, `:ltr[…]`)
102
+ * stay: they decide the order of the text, which no setting drops. */
100
103
  export declare function dropAnnotations(spans: InlineSpan[], bookBrackets?: boolean): InlineSpan[];
101
104
  //# sourceMappingURL=annotations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/parse/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA4B,UAAU,EAAiB,MAAM,SAAS,CAAC;AAInG,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,sDAAuD,CAAC;AACrF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAiB/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;AA+DD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,UAAU,EAAE,CAsH1G;AAED;;yEAEyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CASvF;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;;;;4BAI4B;AAC5B,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;;;;;;;;;;;;;;;;;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"}
@@ -2,7 +2,9 @@
2
2
  * Chinese inline annotations (#193, #194, #195): emphasis dots
3
3
  * (`:dots[…]`), the proper-name and book-title marks (`:name[…]`,
4
4
  * `:book[…]`), ruby (`:ruby[…]{rt="…"}` and the compact `{紅樓|hóng|lóu}`)
5
- * and warichu notes (`:warichu[…]{open close}`).
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.
6
8
  *
7
9
  * They preserve their text, as `:smallcaps[…]` does: the characters between
8
10
  * the brackets stay in the paragraph's plain text (search, the contents,
@@ -17,7 +19,7 @@
17
19
  import { parseDirectiveAttrs } from './attrs';
18
20
  import { graphemesOf } from '../measure/graphemes';
19
21
  /** The inline annotation directives, by name. */
20
- export const ANNOTATION_NAMES = ['dots', 'name', 'book', 'ruby', 'warichu'];
22
+ export const ANNOTATION_NAMES = ['dots', 'name', 'book', 'ruby', 'warichu', 'ltr', 'rtl'];
21
23
  /** Private-use marks opening each kind of annotation while the emphasis
22
24
  * scanners run (after the small-caps and link marks, outside the escape
23
25
  * range), and the one mark that closes any of them. */
@@ -27,13 +29,15 @@ const OPEN = {
27
29
  book: '',
28
30
  ruby: '',
29
31
  warichu: '',
32
+ ltr: '',
33
+ rtl: '',
30
34
  };
31
35
  const CLOSE = '';
32
36
  const KIND_OF_OPEN = new Map(ANNOTATION_NAMES.map((n) => [OPEN[n], n]));
33
- const MARK_RE = /[-]/;
34
- const MARKS_RE = /[-]/g;
37
+ const MARK_RE = /[-]/;
38
+ const MARKS_RE = /[-]/g;
35
39
  /** `:dots[`, `:name[`… at the start of a match. */
36
- const OPENER_RE = /:(dots|name|book|ruby|warichu)\[/y;
40
+ const OPENER_RE = /:(dots|name|book|ruby|warichu|ltr|rtl)\[/y;
37
41
  /** Letters that make a `{…|…}` a compact ruby: Han, kana, bopomofo. A
38
42
  * brace group without one (`{x|x>0}`) stays text. */
39
43
  const RUBY_BASE_RE = /[\p{sc=Han}\p{sc=Hiragana}\p{sc=Katakana}\p{sc=Bopomofo}々〇]/u;
@@ -317,6 +321,11 @@ export function applyAnnotationMarks(spans, queue) {
317
321
  case 'warichu':
318
322
  fields.warichu = f.warichu;
319
323
  break;
324
+ case 'ltr':
325
+ case 'rtl':
326
+ // The innermost isolate: it names the ones around it.
327
+ fields.direction = f.direction;
328
+ break;
320
329
  case 'ruby':
321
330
  break;
322
331
  }
@@ -359,6 +368,18 @@ export function applyAnnotationMarks(spans, queue) {
359
368
  frame.pieces = [];
360
369
  rubies.push(frame);
361
370
  }
371
+ if (kind === 'ltr' || kind === 'rtl') {
372
+ let outer;
373
+ for (let i = stack.length - 1; i >= 0 && !outer; i--)
374
+ outer = stack[i].direction;
375
+ const lang = entry.attrs.lang?.trim();
376
+ frame.direction = {
377
+ dir: kind,
378
+ id: frame.id,
379
+ ...(lang ? { lang } : {}),
380
+ ...(outer ? { outer } : {}),
381
+ };
382
+ }
362
383
  stack.push(frame);
363
384
  continue;
364
385
  }
@@ -433,6 +454,8 @@ export function annotationFields(span, withRuby = true) {
433
454
  out.bookTitle = span.bookTitle;
434
455
  if (span.warichu)
435
456
  out.warichu = span.warichu;
457
+ if (span.direction)
458
+ out.direction = span.direction;
436
459
  if (withRuby && span.ruby)
437
460
  out.ruby = span.ruby;
438
461
  if (span.inserted)
@@ -450,7 +473,7 @@ export function annotationFields(span, withRuby = true) {
450
473
  export function annotationSourceSkips(markdown, from, end) {
451
474
  const out = [];
452
475
  const slice = markdown.slice(from, end);
453
- if (!/:(?:dots|name|book|ruby|warichu)\[|\{[^{}\n|]*\|/.test(slice))
476
+ if (!/:(?:dots|name|book|ruby|warichu|ltr|rtl)\[|\{[^{}\n|]*\|/.test(slice))
454
477
  return out;
455
478
  // Inline code spans, which the parser protects.
456
479
  const code = [];
@@ -539,7 +562,8 @@ export function withBookBrackets(spans) {
539
562
  * plain (captions, table cells and notes, which do not draw them). The
540
563
  * same array when none has one. With `bookBrackets` (`cjk.bookTitleMark:
541
564
  * 'brackets'`) a book title keeps its 《》, which are then punctuation of
542
- * the text, not a mark. */
565
+ * the text, not a mark. Directional isolates (`:rtl[…]`, `:ltr[…]`)
566
+ * stay: they decide the order of the text, which no setting drops. */
543
567
  export function dropAnnotations(spans, bookBrackets = false) {
544
568
  if (bookBrackets && spans.some((s) => s.bookTitle))
545
569
  spans = withBookBrackets(spans);