postext 1.14.1 → 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.
- package/dist/__tests__/arabic/blockLanguageDigits.test.d.ts +2 -0
- package/dist/__tests__/arabic/blockLanguageDigits.test.d.ts.map +1 -0
- package/dist/__tests__/arabic/blockLanguageDigits.test.js +54 -0
- package/dist/__tests__/arabic/blockLanguageDigits.test.js.map +1 -0
- package/dist/__tests__/arabic/emphasis.test.d.ts +2 -0
- package/dist/__tests__/arabic/emphasis.test.d.ts.map +1 -0
- package/dist/__tests__/arabic/emphasis.test.js +206 -0
- package/dist/__tests__/arabic/emphasis.test.js.map +1 -0
- package/dist/__tests__/arabic/footnotes.test.d.ts +2 -0
- package/dist/__tests__/arabic/footnotes.test.d.ts.map +1 -0
- package/dist/__tests__/arabic/footnotes.test.js +118 -0
- package/dist/__tests__/arabic/footnotes.test.js.map +1 -0
- package/dist/__tests__/arabic/harakat.test.d.ts +2 -0
- package/dist/__tests__/arabic/harakat.test.d.ts.map +1 -0
- package/dist/__tests__/arabic/harakat.test.js +167 -0
- package/dist/__tests__/arabic/harakat.test.js.map +1 -0
- package/dist/__tests__/arabic/ornateBrackets.test.d.ts +2 -0
- package/dist/__tests__/arabic/ornateBrackets.test.d.ts.map +1 -0
- package/dist/__tests__/arabic/ornateBrackets.test.js +71 -0
- package/dist/__tests__/arabic/ornateBrackets.test.js.map +1 -0
- package/dist/__tests__/arabic/tashkil.test.d.ts +2 -0
- package/dist/__tests__/arabic/tashkil.test.d.ts.map +1 -0
- package/dist/__tests__/arabic/tashkil.test.js +106 -0
- package/dist/__tests__/arabic/tashkil.test.js.map +1 -0
- package/dist/__tests__/arabicLocale.test.d.ts +2 -0
- package/dist/__tests__/arabicLocale.test.d.ts.map +1 -0
- package/dist/__tests__/arabicLocale.test.js +232 -0
- package/dist/__tests__/arabicLocale.test.js.map +1 -0
- package/dist/__tests__/arabicNumberWords.test.d.ts +2 -0
- package/dist/__tests__/arabicNumberWords.test.d.ts.map +1 -0
- package/dist/__tests__/arabicNumberWords.test.js +176 -0
- package/dist/__tests__/arabicNumberWords.test.js.map +1 -0
- package/dist/__tests__/arabicNumbering.test.d.ts +2 -0
- package/dist/__tests__/arabicNumbering.test.d.ts.map +1 -0
- package/dist/__tests__/arabicNumbering.test.js +257 -0
- package/dist/__tests__/arabicNumbering.test.js.map +1 -0
- package/dist/__tests__/arabicWords.test.d.ts +2 -0
- package/dist/__tests__/arabicWords.test.d.ts.map +1 -0
- package/dist/__tests__/arabicWords.test.js +302 -0
- package/dist/__tests__/arabicWords.test.js.map +1 -0
- package/dist/__tests__/bidi.test.d.ts +2 -0
- package/dist/__tests__/bidi.test.d.ts.map +1 -0
- package/dist/__tests__/bidi.test.js +282 -0
- package/dist/__tests__/bidi.test.js.map +1 -0
- package/dist/__tests__/blockHints.test.d.ts +2 -0
- package/dist/__tests__/blockHints.test.d.ts.map +1 -0
- package/dist/__tests__/blockHints.test.js +79 -0
- package/dist/__tests__/blockHints.test.js.map +1 -0
- package/dist/__tests__/chineseLocale.test.js +2 -2
- package/dist/__tests__/chineseLocale.test.js.map +1 -1
- package/dist/__tests__/cjk/grid.test.js +2 -2
- package/dist/__tests__/cjk/grid.test.js.map +1 -1
- package/dist/__tests__/cjk/justifyRender.test.js +2 -1
- package/dist/__tests__/cjk/justifyRender.test.js.map +1 -1
- package/dist/__tests__/defaults/folio.test.js +16 -1
- package/dist/__tests__/defaults/folio.test.js.map +1 -1
- package/dist/__tests__/direction.test.d.ts +2 -0
- package/dist/__tests__/direction.test.d.ts.map +1 -0
- package/dist/__tests__/direction.test.js +117 -0
- package/dist/__tests__/direction.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +29 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/headingLetterSpacing.test.js +1 -1
- package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
- package/dist/__tests__/headingNumberPosition.test.d.ts +2 -0
- package/dist/__tests__/headingNumberPosition.test.d.ts.map +1 -0
- package/dist/__tests__/headingNumberPosition.test.js +87 -0
- package/dist/__tests__/headingNumberPosition.test.js.map +1 -0
- package/dist/__tests__/htmlCopyText.test.d.ts +2 -0
- package/dist/__tests__/htmlCopyText.test.d.ts.map +1 -0
- package/dist/__tests__/htmlCopyText.test.js +153 -0
- package/dist/__tests__/htmlCopyText.test.js.map +1 -0
- package/dist/__tests__/kashida.test.d.ts +2 -0
- package/dist/__tests__/kashida.test.d.ts.map +1 -0
- package/dist/__tests__/kashida.test.js +281 -0
- package/dist/__tests__/kashida.test.js.map +1 -0
- package/dist/__tests__/kashidaPatterns.test.d.ts +2 -0
- package/dist/__tests__/kashidaPatterns.test.d.ts.map +1 -0
- package/dist/__tests__/kashidaPatterns.test.js +143 -0
- package/dist/__tests__/kashidaPatterns.test.js.map +1 -0
- package/dist/__tests__/links.test.js +3 -1
- package/dist/__tests__/links.test.js.map +1 -1
- package/dist/__tests__/parse/containers.test.js +1 -1
- package/dist/__tests__/parse/containers.test.js.map +1 -1
- package/dist/__tests__/rtl/designText.test.d.ts +2 -0
- package/dist/__tests__/rtl/designText.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/designText.test.js +301 -0
- package/dist/__tests__/rtl/designText.test.js.map +1 -0
- package/dist/__tests__/rtl/designTextPaint.test.d.ts +2 -0
- package/dist/__tests__/rtl/designTextPaint.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/designTextPaint.test.js +140 -0
- package/dist/__tests__/rtl/designTextPaint.test.js.map +1 -0
- package/dist/__tests__/rtl/htmlRtl.test.d.ts +2 -0
- package/dist/__tests__/rtl/htmlRtl.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/htmlRtl.test.js +175 -0
- package/dist/__tests__/rtl/htmlRtl.test.js.map +1 -0
- package/dist/__tests__/rtl/mirroredFrame.test.d.ts +2 -0
- package/dist/__tests__/rtl/mirroredFrame.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/mirroredFrame.test.js +313 -0
- package/dist/__tests__/rtl/mirroredFrame.test.js.map +1 -0
- package/dist/__tests__/rtl/mirroredPaint.test.d.ts +2 -0
- package/dist/__tests__/rtl/mirroredPaint.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/mirroredPaint.test.js +116 -0
- package/dist/__tests__/rtl/mirroredPaint.test.js.map +1 -0
- package/dist/__tests__/rtl/oppositeBlocks.test.d.ts +2 -0
- package/dist/__tests__/rtl/oppositeBlocks.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/oppositeBlocks.test.js +273 -0
- package/dist/__tests__/rtl/oppositeBlocks.test.js.map +1 -0
- package/dist/__tests__/rtl/segmentLang.test.d.ts +2 -0
- package/dist/__tests__/rtl/segmentLang.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/segmentLang.test.js +54 -0
- package/dist/__tests__/rtl/segmentLang.test.js.map +1 -0
- package/dist/__tests__/rtlLines.test.d.ts +2 -0
- package/dist/__tests__/rtlLines.test.d.ts.map +1 -0
- package/dist/__tests__/rtlLines.test.js +180 -0
- package/dist/__tests__/rtlLines.test.js.map +1 -0
- package/dist/__tests__/tocNumberColumn.test.d.ts +2 -0
- package/dist/__tests__/tocNumberColumn.test.d.ts.map +1 -0
- package/dist/__tests__/tocNumberColumn.test.js +67 -0
- package/dist/__tests__/tocNumberColumn.test.js.map +1 -0
- package/dist/__tests__/verse.test.d.ts +2 -0
- package/dist/__tests__/verse.test.d.ts.map +1 -0
- package/dist/__tests__/verse.test.js +232 -0
- package/dist/__tests__/verse.test.js.map +1 -0
- package/dist/__tests__/vertical/geometry.test.js +2 -2
- package/dist/__tests__/vertical/geometry.test.js.map +1 -1
- package/dist/__tests__/vertical/htmlTurnedCells.test.js +2 -2
- package/dist/__tests__/vertical/htmlTurnedCells.test.js.map +1 -1
- package/dist/arabicMarks.d.ts +80 -0
- package/dist/arabicMarks.d.ts.map +1 -0
- package/dist/arabicMarks.js +267 -0
- package/dist/arabicMarks.js.map +1 -0
- package/dist/arabicNumberWords.d.ts +43 -0
- package/dist/arabicNumberWords.d.ts.map +1 -0
- package/dist/arabicNumberWords.js +163 -0
- package/dist/arabicNumberWords.js.map +1 -0
- package/dist/arabicNumerals.d.ts +54 -0
- package/dist/arabicNumerals.d.ts.map +1 -0
- package/dist/arabicNumerals.js +143 -0
- package/dist/arabicNumerals.js.map +1 -0
- package/dist/bidi.d.ts +186 -0
- package/dist/bidi.d.ts.map +1 -0
- package/dist/bidi.js +851 -0
- package/dist/bidi.js.map +1 -0
- package/dist/bidiData.d.ts +13 -0
- package/dist/bidiData.d.ts.map +1 -0
- package/dist/bidiData.js +318 -0
- package/dist/bidiData.js.map +1 -0
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +58 -27
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/chip.d.ts.map +1 -1
- package/dist/canvas-backend/chip.js +16 -2
- package/dist/canvas-backend/chip.js.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +7 -3
- package/dist/canvas-backend/headerFooter.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +9 -4
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/mirrorFrame.d.ts +38 -0
- package/dist/canvas-backend/mirrorFrame.d.ts.map +1 -0
- package/dist/canvas-backend/mirrorFrame.js +129 -0
- package/dist/canvas-backend/mirrorFrame.js.map +1 -0
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +16 -5
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/canvas-backend/runDirection.d.ts +21 -0
- package/dist/canvas-backend/runDirection.d.ts.map +1 -0
- package/dist/canvas-backend/runDirection.js +46 -0
- package/dist/canvas-backend/runDirection.js.map +1 -0
- package/dist/canvas-backend/wordRuns.d.ts +49 -0
- package/dist/canvas-backend/wordRuns.d.ts.map +1 -0
- package/dist/canvas-backend/wordRuns.js +111 -0
- package/dist/canvas-backend/wordRuns.js.map +1 -0
- package/dist/columnClip.d.ts +4 -1
- package/dist/columnClip.d.ts.map +1 -1
- package/dist/columnClip.js +8 -3
- package/dist/columnClip.js.map +1 -1
- package/dist/configWarnings.d.ts +3 -1
- package/dist/configWarnings.d.ts.map +1 -1
- package/dist/configWarnings.js +59 -5
- package/dist/configWarnings.js.map +1 -1
- package/dist/defaults/bodyText.d.ts +28 -6
- package/dist/defaults/bodyText.d.ts.map +1 -1
- package/dist/defaults/bodyText.js +158 -30
- package/dist/defaults/bodyText.js.map +1 -1
- package/dist/defaults/calloutStyles.js +1 -1
- package/dist/defaults/calloutStyles.js.map +1 -1
- package/dist/defaults/captionStyle.js +5 -5
- package/dist/defaults/captionStyle.js.map +1 -1
- package/dist/defaults/folio.d.ts +4 -0
- package/dist/defaults/folio.d.ts.map +1 -1
- package/dist/defaults/folio.js +12 -1
- package/dist/defaults/folio.js.map +1 -1
- package/dist/defaults/footnotes.d.ts.map +1 -1
- package/dist/defaults/footnotes.js +12 -2
- package/dist/defaults/footnotes.js.map +1 -1
- package/dist/defaults/headerFooter.d.ts.map +1 -1
- package/dist/defaults/headerFooter.js +1 -0
- package/dist/defaults/headerFooter.js.map +1 -1
- package/dist/defaults/headingStyles.d.ts.map +1 -1
- package/dist/defaults/headingStyles.js +2 -1
- package/dist/defaults/headingStyles.js.map +1 -1
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +9 -2
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +1 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +7 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/indexConfig.d.ts +6 -2
- package/dist/defaults/indexConfig.d.ts.map +1 -1
- package/dist/defaults/indexConfig.js +25 -5
- package/dist/defaults/indexConfig.js.map +1 -1
- package/dist/defaults/page.d.ts +7 -4
- package/dist/defaults/page.d.ts.map +1 -1
- package/dist/defaults/page.js +10 -7
- package/dist/defaults/page.js.map +1 -1
- package/dist/defaults/paragraphStyles.js +2 -2
- package/dist/defaults/paragraphStyles.js.map +1 -1
- package/dist/defaults/parts.d.ts.map +1 -1
- package/dist/defaults/parts.js +2 -1
- package/dist/defaults/parts.js.map +1 -1
- package/dist/defaults/resourceTypes.d.ts +1 -1
- package/dist/defaults/resourceTypes.d.ts.map +1 -1
- package/dist/defaults/resourceTypes.js +10 -2
- package/dist/defaults/resourceTypes.js.map +1 -1
- package/dist/defaults/shared.d.ts +9 -0
- package/dist/defaults/shared.d.ts.map +1 -1
- package/dist/defaults/shared.js +15 -0
- package/dist/defaults/shared.js.map +1 -1
- package/dist/defaults/tableStyle.d.ts.map +1 -1
- package/dist/defaults/tableStyle.js +5 -1
- package/dist/defaults/tableStyle.js.map +1 -1
- package/dist/design/bidiText.d.ts +89 -0
- package/dist/design/bidiText.d.ts.map +1 -0
- package/dist/design/bidiText.js +165 -0
- package/dist/design/bidiText.js.map +1 -0
- package/dist/design/layout.d.ts +20 -0
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +46 -5
- package/dist/design/layout.js.map +1 -1
- package/dist/design/placeholders.d.ts +7 -1
- package/dist/design/placeholders.d.ts.map +1 -1
- package/dist/design/placeholders.js +6 -3
- package/dist/design/placeholders.js.map +1 -1
- package/dist/design/richText.d.ts +5 -2
- package/dist/design/richText.d.ts.map +1 -1
- package/dist/design/richText.js +35 -2
- package/dist/design/richText.js.map +1 -1
- package/dist/emphasisOverline.d.ts +27 -0
- package/dist/emphasisOverline.d.ts.map +1 -0
- package/dist/emphasisOverline.js +107 -0
- package/dist/emphasisOverline.js.map +1 -0
- package/dist/frontmatter.d.ts +25 -6
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +51 -10
- package/dist/frontmatter.js.map +1 -1
- package/dist/html-backend.d.ts +4 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +363 -87
- package/dist/html-backend.js.map +1 -1
- package/dist/hyphenate.d.ts.map +1 -1
- package/dist/hyphenate.js +4 -1
- package/dist/hyphenate.js.map +1 -1
- package/dist/index.d.ts +11 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
- package/dist/knuthPlass/breakpoints.js +3 -0
- package/dist/knuthPlass/breakpoints.js.map +1 -1
- package/dist/knuthPlass/pretextAdapter.d.ts.map +1 -1
- package/dist/knuthPlass/pretextAdapter.js +9 -3
- package/dist/knuthPlass/pretextAdapter.js.map +1 -1
- package/dist/knuthPlass/richAdapter.d.ts +11 -0
- package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
- package/dist/knuthPlass/richAdapter.js +11 -4
- package/dist/knuthPlass/richAdapter.js.map +1 -1
- package/dist/knuthPlass/tracking.d.ts +2 -1
- package/dist/knuthPlass/tracking.d.ts.map +1 -1
- package/dist/knuthPlass/tracking.js +5 -2
- package/dist/knuthPlass/tracking.js.map +1 -1
- package/dist/knuthPlass/types.d.ts +4 -0
- package/dist/knuthPlass/types.d.ts.map +1 -1
- package/dist/locale.d.ts +63 -9
- package/dist/locale.d.ts.map +1 -1
- package/dist/locale.js +129 -12
- package/dist/locale.js.map +1 -1
- package/dist/measure/bidiLines.d.ts +91 -0
- package/dist/measure/bidiLines.d.ts.map +1 -0
- package/dist/measure/bidiLines.js +293 -0
- package/dist/measure/bidiLines.js.map +1 -0
- package/dist/measure/cache.d.ts.map +1 -1
- package/dist/measure/cache.js +10 -4
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/joining.d.ts +39 -0
- package/dist/measure/joining.d.ts.map +1 -0
- package/dist/measure/joining.js +91 -0
- package/dist/measure/joining.js.map +1 -0
- package/dist/measure/joiningGroups.d.ts +7 -0
- package/dist/measure/joiningGroups.d.ts.map +1 -0
- package/dist/measure/joiningGroups.js +110 -0
- package/dist/measure/joiningGroups.js.map +1 -0
- package/dist/measure/kashida.d.ts +97 -0
- package/dist/measure/kashida.d.ts.map +1 -0
- package/dist/measure/kashida.js +285 -0
- package/dist/measure/kashida.js.map +1 -0
- package/dist/measure/kashidaPatterns.d.ts +109 -0
- package/dist/measure/kashidaPatterns.d.ts.map +1 -0
- package/dist/measure/kashidaPatterns.js +519 -0
- package/dist/measure/kashidaPatterns.js.map +1 -0
- package/dist/measure/links.d.ts.map +1 -1
- package/dist/measure/links.js +5 -2
- package/dist/measure/links.js.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +31 -0
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/rich.d.ts +24 -0
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +250 -22
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/types.d.ts +14 -0
- package/dist/measure/types.d.ts.map +1 -1
- package/dist/measure/types.js.map +1 -1
- package/dist/numberWords.d.ts +17 -4
- package/dist/numberWords.d.ts.map +1 -1
- package/dist/numberWords.js +19 -13
- package/dist/numberWords.js.map +1 -1
- package/dist/numbering.d.ts +49 -11
- package/dist/numbering.d.ts.map +1 -1
- package/dist/numbering.js +117 -21
- package/dist/numbering.js.map +1 -1
- package/dist/parse/annotations.d.ts +6 -3
- package/dist/parse/annotations.d.ts.map +1 -1
- package/dist/parse/annotations.js +31 -7
- package/dist/parse/annotations.js.map +1 -1
- package/dist/parse/attrs.d.ts +3 -3
- package/dist/parse/attrs.d.ts.map +1 -1
- package/dist/parse/attrs.js +5 -4
- package/dist/parse/attrs.js.map +1 -1
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +158 -14
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/index.d.ts +1 -1
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +5 -4
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/types.d.ts +63 -1
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +161 -43
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts +2 -0
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +67 -2
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildHelpers.d.ts +22 -1
- package/dist/pipeline/buildHelpers.d.ts.map +1 -1
- package/dist/pipeline/buildHelpers.js +55 -5
- package/dist/pipeline/buildHelpers.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts +6 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +63 -18
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/citations.d.ts +2 -1
- package/dist/pipeline/citations.d.ts.map +1 -1
- package/dist/pipeline/citations.js +29 -9
- package/dist/pipeline/citations.js.map +1 -1
- package/dist/pipeline/cjkGrid.d.ts +3 -2
- package/dist/pipeline/cjkGrid.d.ts.map +1 -1
- package/dist/pipeline/cjkGrid.js +3 -2
- package/dist/pipeline/cjkGrid.js.map +1 -1
- package/dist/pipeline/config.d.ts +13 -1
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +32 -3
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts +10 -0
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +88 -0
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/continuation.d.ts.map +1 -1
- package/dist/pipeline/continuation.js +1 -1
- package/dist/pipeline/continuation.js.map +1 -1
- package/dist/pipeline/crossRefs.d.ts.map +1 -1
- package/dist/pipeline/crossRefs.js +2 -0
- package/dist/pipeline/crossRefs.js.map +1 -1
- package/dist/pipeline/floatPlacement.d.ts.map +1 -1
- package/dist/pipeline/floatPlacement.js +2 -1
- package/dist/pipeline/floatPlacement.js.map +1 -1
- package/dist/pipeline/footnotes.d.ts +13 -5
- package/dist/pipeline/footnotes.d.ts.map +1 -1
- package/dist/pipeline/footnotes.js +19 -8
- package/dist/pipeline/footnotes.js.map +1 -1
- package/dist/pipeline/headerFooter.d.ts +4 -0
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +41 -13
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/headingDesignCuts.d.ts +1 -1
- package/dist/pipeline/headingDesignCuts.d.ts.map +1 -1
- package/dist/pipeline/headingDesignCuts.js +2 -1
- package/dist/pipeline/headingDesignCuts.js.map +1 -1
- package/dist/pipeline/headingStyles.d.ts +10 -0
- package/dist/pipeline/headingStyles.d.ts.map +1 -1
- package/dist/pipeline/headingStyles.js +46 -0
- package/dist/pipeline/headingStyles.js.map +1 -1
- package/dist/pipeline/indexDirective.d.ts.map +1 -1
- package/dist/pipeline/indexDirective.js +33 -6
- package/dist/pipeline/indexDirective.js.map +1 -1
- package/dist/pipeline/indexGroups.d.ts +23 -1
- package/dist/pipeline/indexGroups.d.ts.map +1 -1
- package/dist/pipeline/indexGroups.js +50 -1
- package/dist/pipeline/indexGroups.js.map +1 -1
- package/dist/pipeline/lists.d.ts +16 -4
- package/dist/pipeline/lists.d.ts.map +1 -1
- package/dist/pipeline/lists.js +51 -12
- package/dist/pipeline/lists.js.map +1 -1
- package/dist/pipeline/measureContentBlock.d.ts +5 -0
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +63 -4
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/mirrorFrame.d.ts +37 -0
- package/dist/pipeline/mirrorFrame.d.ts.map +1 -0
- package/dist/pipeline/mirrorFrame.js +143 -0
- package/dist/pipeline/mirrorFrame.js.map +1 -0
- package/dist/pipeline/outline.d.ts +2 -2
- package/dist/pipeline/outline.d.ts.map +1 -1
- package/dist/pipeline/outline.js +33 -6
- package/dist/pipeline/outline.js.map +1 -1
- package/dist/pipeline/paragraphContainers.d.ts +5 -0
- package/dist/pipeline/paragraphContainers.d.ts.map +1 -1
- package/dist/pipeline/paragraphContainers.js +12 -0
- package/dist/pipeline/paragraphContainers.js.map +1 -1
- package/dist/pipeline/parts.d.ts +1 -1
- package/dist/pipeline/parts.d.ts.map +1 -1
- package/dist/pipeline/parts.js +3 -2
- package/dist/pipeline/parts.js.map +1 -1
- package/dist/pipeline/placeholders.d.ts +13 -6
- package/dist/pipeline/placeholders.d.ts.map +1 -1
- package/dist/pipeline/placeholders.js +15 -11
- package/dist/pipeline/placeholders.js.map +1 -1
- package/dist/pipeline/placement.d.ts +3 -2
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +18 -6
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +70 -7
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/resourceNumbering.d.ts +5 -3
- package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
- package/dist/pipeline/resourceNumbering.js +11 -8
- package/dist/pipeline/resourceNumbering.js.map +1 -1
- package/dist/pipeline/styles.d.ts +6 -1
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +44 -14
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/pipeline/tashkil.d.ts +27 -0
- package/dist/pipeline/tashkil.d.ts.map +1 -0
- package/dist/pipeline/tashkil.js +161 -0
- package/dist/pipeline/tashkil.js.map +1 -0
- package/dist/pipeline/toc.d.ts +12 -0
- package/dist/pipeline/toc.d.ts.map +1 -1
- package/dist/pipeline/toc.js +64 -4
- package/dist/pipeline/toc.js.map +1 -1
- package/dist/pipeline/verse.d.ts +65 -0
- package/dist/pipeline/verse.d.ts.map +1 -0
- package/dist/pipeline/verse.js +252 -0
- package/dist/pipeline/verse.js.map +1 -0
- package/dist/pipeline/verticalMetrics.d.ts +1 -1
- package/dist/pipeline/verticalMetrics.d.ts.map +1 -1
- package/dist/pipeline/verticalMetrics.js +7 -5
- package/dist/pipeline/verticalMetrics.js.map +1 -1
- package/dist/table/model.d.ts +4 -3
- package/dist/table/model.d.ts.map +1 -1
- package/dist/table/model.js.map +1 -1
- package/dist/types.d.ts +286 -36
- package/dist/types.d.ts.map +1 -1
- package/dist/uprightArabic.d.ts +39 -0
- package/dist/uprightArabic.d.ts.map +1 -0
- package/dist/uprightArabic.js +105 -0
- package/dist/uprightArabic.js.map +1 -0
- package/dist/vdt.d.ts +276 -11
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +46 -9
- package/dist/vdt.js.map +1 -1
- package/package.json +1 -1
package/dist/numbering.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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 `〇`, `①`, `甲`, `子`,
|
|
40
|
-
*
|
|
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
|
-
|
|
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[]
|
|
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
|
|
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;
|
package/dist/numbering.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numbering.d.ts","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;
|
|
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 `〇`, `①`, `甲`, `子`,
|
|
85
|
-
*
|
|
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 (
|
|
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
|
-
|
|
124
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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
|
}
|
package/dist/numbering.js.map
CHANGED
|
@@ -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
|
|
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 = /[
|
|
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);
|