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.
- 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/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EastAsianNumeralStyle, NumberFormatStyle, NumeralStyle } from './numbering';
|
|
1
|
+
import type { ArabicNumeralStyle, EastAsianNumeralStyle, NumberFormatStyle, NumeralStyle } from './numbering';
|
|
2
2
|
/** @deprecated Legacy content-model resource used by the VDT renderer
|
|
3
3
|
* (`VDTBlock.resource`). The Resources-panel feature uses the newer
|
|
4
4
|
* `Resource` / `ResourceType` model below. Retained until the renderer
|
|
@@ -13,9 +13,10 @@ export interface PostextResource {
|
|
|
13
13
|
width?: number;
|
|
14
14
|
height?: number;
|
|
15
15
|
}
|
|
16
|
-
/** How a counter renders for a given resource type. The East Asian
|
|
17
|
-
* keep their CSS names (`simp-chinese-informal`,
|
|
18
|
-
|
|
16
|
+
/** How a counter renders for a given resource type. The East Asian and
|
|
17
|
+
* Arabic styles keep their CSS names (`simp-chinese-informal`,
|
|
18
|
+
* `circled-decimal`, `arabic-indic`…). */
|
|
19
|
+
export type ResourceCounterFormat = 'decimal' | 'roman-lower' | 'roman-upper' | 'alpha-lower' | 'alpha-upper' | EastAsianNumeralStyle | ArabicNumeralStyle;
|
|
19
20
|
/** When the per-type counter resets back to its starting value. `'never'`
|
|
20
21
|
* yields a single document-wide running count; `'h1'..'h6'` resets the
|
|
21
22
|
* counter whenever a heading of that level is encountered. */
|
|
@@ -68,8 +69,10 @@ export interface ResourcePlacement {
|
|
|
68
69
|
* shrank — whose caption and note keep the slot's measure. A turned
|
|
69
70
|
* figure and one with its caption beside it stay flush left. Default
|
|
70
71
|
* `'left'` (up to postext 1.4 a narrower picture was always set flush
|
|
71
|
-
* left).
|
|
72
|
-
|
|
72
|
+
* left). Sides of the body flow, so on a right-to-left document's
|
|
73
|
+
* mirrored pages `'left'` is the sheet's right; `'start'` / `'end'`
|
|
74
|
+
* (#371) are the same sides by their logical names. */
|
|
75
|
+
align?: 'left' | 'center' | 'right' | 'start' | 'end';
|
|
73
76
|
/** Set the caption beside the figure, in the float-only side column of
|
|
74
77
|
* a `oneAndHalf` layout (`layout.sideColumnRole: 'floats'`): the body
|
|
75
78
|
* keeps its column, the caption goes to the margin level with the
|
|
@@ -117,6 +120,12 @@ export interface ResourceType {
|
|
|
117
120
|
export type ResourceKind = 'bitmap' | 'svg' | 'table';
|
|
118
121
|
/** Horizontal alignment of a table cell's content. */
|
|
119
122
|
export type TableCellAlign = 'left' | 'center' | 'right';
|
|
123
|
+
/** A cell's alignment as a table model writes it: a {@link TableCellAlign},
|
|
124
|
+
* or the logical `'start'` / `'end'` (#371), the side the cell's text
|
|
125
|
+
* starts or ends on. Cell text reads like body text: `'left'` is the
|
|
126
|
+
* start side too, the right in a right-to-left table (see
|
|
127
|
+
* {@link TextAlignKeyword}); the layout keeps only the physical values. */
|
|
128
|
+
export type TableCellAlignKeyword = TableCellAlign | 'start' | 'end';
|
|
120
129
|
/** Vertical alignment of a table cell's content. */
|
|
121
130
|
export type TableCellVerticalAlign = 'top' | 'middle' | 'bottom';
|
|
122
131
|
/** Position of a cell within a {@link TableModel} grid (zero-based). */
|
|
@@ -151,7 +160,7 @@ export interface TableCell {
|
|
|
151
160
|
rowSpan?: number;
|
|
152
161
|
/** When true, render as a header cell (`<th>`). */
|
|
153
162
|
isHeader?: boolean;
|
|
154
|
-
align?:
|
|
163
|
+
align?: TableCellAlignKeyword;
|
|
155
164
|
verticalAlign?: TableCellVerticalAlign;
|
|
156
165
|
/** Fill colour of this cell, painted instead of the table style's header
|
|
157
166
|
* / body background. A palette-linked value (`paletteId`) follows the
|
|
@@ -231,6 +240,15 @@ export interface Resource {
|
|
|
231
240
|
* set in. Unset, or an id no style declares, falls back to the
|
|
232
241
|
* document's `tableStyle`. */
|
|
233
242
|
styleId?: string;
|
|
243
|
+
/** The direction the table runs in (#371), when it is not the
|
|
244
|
+
* document's: `'ltr'` for an English data table in an Arabic book,
|
|
245
|
+
* `'rtl'` for an Arabic one in an English book. Its first column then
|
|
246
|
+
* sits on the side its text starts on, its cells are read in that
|
|
247
|
+
* direction and align from that side (`'left'` / `'start'` being the
|
|
248
|
+
* start). Unset, the table runs with the document (in a right-to-left
|
|
249
|
+
* document, first column on the right). Its caption and note follow
|
|
250
|
+
* the document. */
|
|
251
|
+
direction?: 'ltr' | 'rtl';
|
|
234
252
|
};
|
|
235
253
|
/** Optional per-resource placement override. When unset, the resource's
|
|
236
254
|
* type default (then `top` / `column`) applies. A `position` of `'top'` or
|
|
@@ -517,7 +535,7 @@ export interface CutLinesConfig {
|
|
|
517
535
|
* separation), so they print on every plate. Default black. */
|
|
518
536
|
color?: ColorValue;
|
|
519
537
|
}
|
|
520
|
-
export type PageNumberFormat = 'decimal' | 'lower-roman' | 'upper-roman' | 'lower-alpha' | 'upper-alpha' | EastAsianNumeralStyle;
|
|
538
|
+
export type PageNumberFormat = 'decimal' | 'lower-roman' | 'upper-roman' | 'lower-alpha' | 'upper-alpha' | EastAsianNumeralStyle | ArabicNumeralStyle;
|
|
521
539
|
export interface PageNumberingConfig {
|
|
522
540
|
/** Format for page labels. Default: `'decimal'`. The list and resource
|
|
523
541
|
* spellings of a format are read too (`'arabic'`, `'roman-lower'`,
|
|
@@ -547,12 +565,14 @@ export interface PageConfig {
|
|
|
547
565
|
pageNumbering?: PageNumberingConfig;
|
|
548
566
|
/** The edge the book is bound on. `'left'`: pages turn right to left, as
|
|
549
567
|
* in any Western book. `'right'`: the book is bound on its right edge,
|
|
550
|
-
* as vertical Chinese and Japanese books
|
|
568
|
+
* as vertical Chinese and Japanese books and Arabic and Hebrew books
|
|
569
|
+
* are (clreq §7.1.1.1): page 1 is
|
|
551
570
|
* still the recto (odd), but it is the LEFT page of a spread, its inner
|
|
552
571
|
* margin is on its right, and viewers show the pairs `[3 | 2]`. With
|
|
553
572
|
* mirrored margins the recto therefore swaps `left` and `right`: `left`
|
|
554
573
|
* stays the inner margin. `'auto'` (the default) is `'right'` when
|
|
555
|
-
* `layout.writingMode` is `'vertical-rl'
|
|
574
|
+
* `layout.writingMode` is `'vertical-rl'` or the document runs right to
|
|
575
|
+
* left (`PostextConfig.direction`), else `'left'`. Book-level:
|
|
556
576
|
* a heading style's own `layout` never changes it. */
|
|
557
577
|
binding?: PageBinding;
|
|
558
578
|
}
|
|
@@ -698,6 +718,18 @@ export interface ResolvedLayoutConfig {
|
|
|
698
718
|
writingMode: WritingMode;
|
|
699
719
|
}
|
|
700
720
|
export type TextAlign = 'left' | 'justify' | 'center' | 'right';
|
|
721
|
+
/**
|
|
722
|
+
* A text alignment as a config writes it (#371): a {@link TextAlign}, or the
|
|
723
|
+
* logical `'start'` / `'end'`. Running text reads its alignment in its own
|
|
724
|
+
* direction: `'left'` and `'start'` are the side a line starts on, `'right'`
|
|
725
|
+
* and `'end'` the side it ends on — the left and the right of an English
|
|
726
|
+
* paragraph, the right and the left of an Arabic one, on a page of either
|
|
727
|
+
* direction (a right-to-left document's pages are mirrored, so its body
|
|
728
|
+
* flow's left is the sheet's right). The last line of a justified paragraph
|
|
729
|
+
* goes to the start side. `'start'` / `'end'` say so explicitly; a resolved
|
|
730
|
+
* config carries `'left'` / `'right'` only.
|
|
731
|
+
*/
|
|
732
|
+
export type TextAlignKeyword = TextAlign | 'start' | 'end';
|
|
701
733
|
export type HyphenationLocale = 'en-us' | 'es' | 'fr' | 'de' | 'it' | 'pt' | 'ca' | 'nl';
|
|
702
734
|
/**
|
|
703
735
|
* A BCP 47 language tag: one of the bundled {@link HyphenationLocale} ids,
|
|
@@ -708,6 +740,19 @@ export type HyphenationLocale = 'en-us' | 'es' | 'fr' | 'de' | 'it' | 'pt' | 'ca
|
|
|
708
740
|
* console. The tag itself is kept as the PDF's document language.
|
|
709
741
|
*/
|
|
710
742
|
export type LocaleTag = HyphenationLocale | (string & {});
|
|
743
|
+
/** The direction a document's text runs (`PostextConfig.direction`):
|
|
744
|
+
* `'ltr'` left to right, `'rtl'` right to left (Arabic, Hebrew), `'auto'`
|
|
745
|
+
* from the script of the document language. */
|
|
746
|
+
export type DocumentDirection = 'auto' | 'ltr' | 'rtl';
|
|
747
|
+
/** A digit system, named as the Unicode `-u-nu-` keyword names it: `'latn'`
|
|
748
|
+
* the European digits 0–9, `'arab'` the Arabic-Indic digits ٠–٩ of the
|
|
749
|
+
* Mashriq (U+0660–0669), `'arabext'` the Extended Arabic-Indic digits
|
|
750
|
+
* ۰–۹ of Persian and Urdu (U+06F0–06F9). */
|
|
751
|
+
export type DigitSystem = 'latn' | 'arab' | 'arabext';
|
|
752
|
+
/** The digits a document's generated numbers are written in (see
|
|
753
|
+
* `PostextConfig.numerals`): a {@link DigitSystem}, or `'auto'` to take
|
|
754
|
+
* the one of the document language (`defaultNumeralsFor`). */
|
|
755
|
+
export type NumeralsSetting = 'auto' | DigitSystem;
|
|
711
756
|
export interface HyphenationConfig {
|
|
712
757
|
enabled?: boolean;
|
|
713
758
|
/** Language of the hyphenation patterns. Defaults to the top-level
|
|
@@ -751,6 +796,17 @@ export interface ResolvedHyphenationConfig {
|
|
|
751
796
|
zone: Dimension;
|
|
752
797
|
compounds: boolean;
|
|
753
798
|
}
|
|
799
|
+
/** `BodyTextConfig.kashida`. */
|
|
800
|
+
export type KashidaSetting = 'auto' | 'none';
|
|
801
|
+
/** `BodyTextConfig.kashidaPatterns`. */
|
|
802
|
+
export type KashidaPatterns = 'auto' | 'naskh' | 'simple' | 'nastaliq';
|
|
803
|
+
/** Kashida justification as resolved (see `BodyTextConfig.kashida`). */
|
|
804
|
+
export interface ResolvedKashidaConfig {
|
|
805
|
+
patterns: KashidaPatterns;
|
|
806
|
+
perWord: number;
|
|
807
|
+
/** Longest elongation at one join, em. */
|
|
808
|
+
maxLength: number;
|
|
809
|
+
}
|
|
754
810
|
export interface BodyTextConfig {
|
|
755
811
|
/** One family, as every `fontFamily` field: a CSS font stack is set in
|
|
756
812
|
* its first family (see `primaryFontFamily`) and reported by
|
|
@@ -769,7 +825,7 @@ export interface BodyTextConfig {
|
|
|
769
825
|
referenceBold?: boolean;
|
|
770
826
|
/** Whether reference labels are rendered italic. Default `false`. */
|
|
771
827
|
referenceItalic?: boolean;
|
|
772
|
-
textAlign?:
|
|
828
|
+
textAlign?: TextAlignKeyword;
|
|
773
829
|
fontWeight?: number;
|
|
774
830
|
boldFontWeight?: number;
|
|
775
831
|
hyphenation?: HyphenationConfig;
|
|
@@ -802,6 +858,39 @@ export interface BodyTextConfig {
|
|
|
802
858
|
* is taken only where word spacing alone would pass its limits), so it
|
|
803
859
|
* needs `optimalLineBreaking`. 0 (the default) turns it off. */
|
|
804
860
|
maxJustifyTracking?: number;
|
|
861
|
+
/** Kashida justification (#375): a justified line of Arabic-script text
|
|
862
|
+
* takes part of its slack by elongating letter joins with tatweels
|
|
863
|
+
* (U+0640), the rest in its word spaces. Each word gets at most
|
|
864
|
+
* {@link kashidaPerWord} elongations, at the joins the pattern set
|
|
865
|
+
* ({@link kashidaPatterns}) ranks best, never after a letter that does
|
|
866
|
+
* not join onward (ا د ذ ر ز و ة), never at the end of a word, never
|
|
867
|
+
* inside lām-alif; a word that holds a tatweel the author typed is
|
|
868
|
+
* lengthened there. Never in Latin text, digits, a heading, a ragged
|
|
869
|
+
* line or a paragraph's last line, and never as letter-spacing.
|
|
870
|
+
* Knuth–Plass counts each word's elongation as stretch, so lines with
|
|
871
|
+
* Arabic words choose their breaks knowing they can stretch there.
|
|
872
|
+
* The tatweels are painted as text; copied and extracted text leaves
|
|
873
|
+
* them out (see `VDTLineSegment.kashida`).
|
|
874
|
+
* `'auto'` elongates; `'none'` justifies with the spaces alone. Unset:
|
|
875
|
+
* `'auto'` in a document whose language is written in the Arabic
|
|
876
|
+
* script (`ar`, `fa`, `ur`…), `'none'` otherwise. */
|
|
877
|
+
kashida?: KashidaSetting;
|
|
878
|
+
/** Which joins take a kashida, and in what order (#375): `'naskh'`, the
|
|
879
|
+
* classical Naskh rules (Benatia's matrix with Afifi's prohibitions, as
|
|
880
|
+
* in raqim-kashida), for Amiri, Noto Naskh, Scheherazade and their
|
|
881
|
+
* kind; `'simple'`, the Microsoft priorities, for simple modern faces;
|
|
882
|
+
* `'nastaliq'`, the Naskh rules tailored for Nastaʿlīq. `'auto'` (the
|
|
883
|
+
* default) reads the body font's family: no kashida at all in a Ruqʿa
|
|
884
|
+
* or Dīwānī face (`Aref Ruqaa`), whose letters do not elongate,
|
|
885
|
+
* `'nastaliq'` in a Nastaʿlīq one, else `'naskh'`. */
|
|
886
|
+
kashidaPatterns?: KashidaPatterns;
|
|
887
|
+
/** Most elongations in one word (#375). Default 1, the rule of book
|
|
888
|
+
* typography; a classical verse line (`:::verse`) may take more. */
|
|
889
|
+
kashidaPerWord?: number;
|
|
890
|
+
/** Longest elongation at one join, in ems (#375): the tatweels inserted
|
|
891
|
+
* there are whole ones, as many as fit in this. Default 0.6 (three
|
|
892
|
+
* tatweels of Amiri, two of Noto Naskh Arabic). */
|
|
893
|
+
kashidaMaxLength?: number;
|
|
805
894
|
/** Use Knuth-Plass optimal line breaking instead of greedy first-fit. Default true. */
|
|
806
895
|
optimalLineBreaking?: boolean;
|
|
807
896
|
/** Break ragged paragraphs with Knuth–Plass too: body text, blockquotes
|
|
@@ -996,7 +1085,44 @@ export interface BodyTextConfig {
|
|
|
996
1085
|
* container that closes on a list is set as in 1.4 under both rules: the
|
|
997
1086
|
* list keeps its own space in its snap, and `marginBottom` follows. */
|
|
998
1087
|
paragraphContainerSpacing?: ParagraphContainerSpacing;
|
|
999
|
-
}
|
|
1088
|
+
/** How Markdown emphasis (`*…*`) is set (see {@link EmphasisStyle}).
|
|
1089
|
+
* `'auto'` (the default): `'bold'` in a document whose language is
|
|
1090
|
+
* written in Arabic script (`ar`, `fa`, `ur`…), whose type has no
|
|
1091
|
+
* italics, and `'italic'` in any other. Whatever is chosen, the engine
|
|
1092
|
+
* never slants Arabic letters: an italic run sets its Arabic words
|
|
1093
|
+
* upright (#376). */
|
|
1094
|
+
emphasis?: 'auto' | EmphasisStyle;
|
|
1095
|
+
/** Arabic vowel marks (tashkīl) in the text (see {@link TashkilMode}).
|
|
1096
|
+
* Default `'keep'`. */
|
|
1097
|
+
tashkil?: TashkilMode;
|
|
1098
|
+
}
|
|
1099
|
+
/** How `*…*` is set (`BodyTextConfig.emphasis`):
|
|
1100
|
+
* - `'italic'`: in the italic face, as postext always did;
|
|
1101
|
+
* - `'bold'`: in the bold face and `boldColor`, as `**…**` is (bold
|
|
1102
|
+
* and italic together stay bold);
|
|
1103
|
+
* - `'color'`: upright, in `italicColor`;
|
|
1104
|
+
* - `'overline'`: upright, in `italicColor`, with a rule over the words
|
|
1105
|
+
* (the Arabic khaṭṭ fawqī).
|
|
1106
|
+
* It applies to the body text and to what is set in its faces: lists,
|
|
1107
|
+
* blockquotes, paragraph styles, callout bodies, notes and headings.
|
|
1108
|
+
* Captions, table cells, the contents and the index keep their own
|
|
1109
|
+
* italic settings. */
|
|
1110
|
+
export type EmphasisStyle = 'italic' | 'bold' | 'color' | 'overline';
|
|
1111
|
+
/** What becomes of the Arabic vowel marks of the text
|
|
1112
|
+
* (`BodyTextConfig.tashkil`), for an edition without them made from a
|
|
1113
|
+
* vocalised source:
|
|
1114
|
+
* - `'keep'`: set as written;
|
|
1115
|
+
* - `'strip'`: every vowel and Qurʾānic mark is dropped: fatḥa, ḍamma,
|
|
1116
|
+
* kasra, their tanwīn, sukūn, shadda, the superscript (dagger) alef
|
|
1117
|
+
* U+0670 (هٰذا is set هذا) and the other marks U+0656–U+065F, and the
|
|
1118
|
+
* Qurʾānic annotation signs U+06D6–U+06ED;
|
|
1119
|
+
* - `'strip-vowels'`: as `'strip'`, but the shadda stays, as most modern
|
|
1120
|
+
* books print it.
|
|
1121
|
+
* Hamza and madda are kept in both: أ إ آ ؤ ئ are letters, also when
|
|
1122
|
+
* written with the combining U+0653–U+0655. The marks leave the text the
|
|
1123
|
+
* layout sets (body, headings, notes, the contents); the source keeps
|
|
1124
|
+
* them, and every character set still maps to its place in it. */
|
|
1125
|
+
export type TashkilMode = 'keep' | 'strip' | 'strip-vowels';
|
|
1000
1126
|
/** The room kept for a list under the colon line that introduces it
|
|
1001
1127
|
* (`BodyTextConfig.colonListRoom`). */
|
|
1002
1128
|
export type ColonListRoom = 'item' | 'line';
|
|
@@ -1053,6 +1179,14 @@ export interface ResolvedBodyTextConfig {
|
|
|
1053
1179
|
maxWordSpacing: number;
|
|
1054
1180
|
minWordSpacing: number;
|
|
1055
1181
|
maxJustifyTracking: number;
|
|
1182
|
+
/** Kashida justification (see `BodyTextConfig.kashida`): `'auto'` and
|
|
1183
|
+
* its three details, all resolved, when it is on; all four absent when
|
|
1184
|
+
* it is off, so a document that does not use it resolves as it did
|
|
1185
|
+
* before kashidas existed. Read them with `resolvedKashida`. */
|
|
1186
|
+
kashida?: 'auto';
|
|
1187
|
+
kashidaPatterns?: KashidaPatterns;
|
|
1188
|
+
kashidaPerWord?: number;
|
|
1189
|
+
kashidaMaxLength?: number;
|
|
1056
1190
|
optimalLineBreaking: boolean;
|
|
1057
1191
|
optimalRagged: boolean;
|
|
1058
1192
|
breakAfterDashes: boolean;
|
|
@@ -1079,6 +1213,10 @@ export interface ResolvedBodyTextConfig {
|
|
|
1079
1213
|
colonListRoom: ColonListRoom;
|
|
1080
1214
|
hyphenateAcrossColumns: boolean;
|
|
1081
1215
|
paragraphContainerSpacing: ParagraphContainerSpacing;
|
|
1216
|
+
/** `emphasis` resolved; absent when `*…*` is set in italics. */
|
|
1217
|
+
emphasis?: Exclude<EmphasisStyle, 'italic'>;
|
|
1218
|
+
/** `tashkil`; absent when the marks are kept. */
|
|
1219
|
+
tashkil?: Exclude<TashkilMode, 'keep'>;
|
|
1082
1220
|
/** Set only in the derived config a callout lays its children out with
|
|
1083
1221
|
* (a style's `body.italic` / `body.smallCaps`): the running text of a
|
|
1084
1222
|
* document is always upright, in lowercase. */
|
|
@@ -1234,7 +1372,7 @@ export interface CaptionNoteStyleConfig {
|
|
|
1234
1372
|
/** Gap between the note and what precedes it (body or caption). Default `0.35em`. */
|
|
1235
1373
|
gap?: Dimension;
|
|
1236
1374
|
/** Horizontal alignment of the note. Default `'left'`. */
|
|
1237
|
-
align?:
|
|
1375
|
+
align?: TextAlignKeyword;
|
|
1238
1376
|
}
|
|
1239
1377
|
export interface ResolvedCaptionNoteStyleConfig {
|
|
1240
1378
|
fontSize: Dimension;
|
|
@@ -1256,7 +1394,7 @@ export interface CaptionStyleConfig {
|
|
|
1256
1394
|
/** Description text colour. Defaults to the body-text colour. */
|
|
1257
1395
|
color?: ColorValue;
|
|
1258
1396
|
/** Horizontal alignment of caption text. Default `'left'`. */
|
|
1259
|
-
align?:
|
|
1397
|
+
align?: TextAlignKeyword;
|
|
1260
1398
|
/** Gap between the figure body and the caption. Default `0.75em`. */
|
|
1261
1399
|
gap?: Dimension;
|
|
1262
1400
|
/** Render the numbered label bold. Default `true`. */
|
|
@@ -1342,7 +1480,7 @@ export interface ParagraphStyleConfig {
|
|
|
1342
1480
|
color?: ColorValue;
|
|
1343
1481
|
/** Defaults to the body alignment. `'center'` and `'right'` set every
|
|
1344
1482
|
* line ragged from the other side (a dedication, a signature block). */
|
|
1345
|
-
textAlign?:
|
|
1483
|
+
textAlign?: TextAlignKeyword;
|
|
1346
1484
|
/** Colour of bold runs. Defaults to `bodyText.boldColor`. */
|
|
1347
1485
|
boldColor?: ColorValue;
|
|
1348
1486
|
/** Colour of italic (`*…*`) runs — in an {@link italic} style, the runs
|
|
@@ -1460,7 +1598,13 @@ export interface CalloutFixedConfig {
|
|
|
1460
1598
|
/** `'fill'` spans the available width; `'auto'` shrink-wraps the title
|
|
1461
1599
|
* (badge use — children are ignored). */
|
|
1462
1600
|
export type CalloutWidth = 'fill' | 'auto';
|
|
1463
|
-
|
|
1601
|
+
/** The edge a callout's stripe runs along. `'left'` / `'right'` are sides
|
|
1602
|
+
* of the body flow (on a right-to-left document's mirrored pages, its left
|
|
1603
|
+
* is the sheet's right); `'start'` / `'end'` (#371) are the box's own: the
|
|
1604
|
+
* side its text starts or ends on, which differs from the flow's in a box
|
|
1605
|
+
* set against the document's direction (`:::callout{dir=ltr}` in an
|
|
1606
|
+
* Arabic book). */
|
|
1607
|
+
export type CalloutStripeSide = 'left' | 'right' | 'top' | 'start' | 'end';
|
|
1464
1608
|
export type CalloutIconKind = 'none' | 'glyph' | 'resource';
|
|
1465
1609
|
export type CalloutIconAlign = 'top' | 'center';
|
|
1466
1610
|
/** Where the in-box icon sits: `'inline'` (the default) in a column of its
|
|
@@ -1469,10 +1613,16 @@ export type CalloutIconAlign = 'top' | 'center';
|
|
|
1469
1613
|
* border, taking no room from the content (the icon of a marginal box). */
|
|
1470
1614
|
export type CalloutIconPosition = 'inline' | 'corner';
|
|
1471
1615
|
/** Which corner a `position: 'corner'` icon hangs on: `'right'` (the
|
|
1472
|
-
* default) / `'left'` are fixed; `'outer'` /
|
|
1473
|
-
* parity when the margins are mirrored (outer =
|
|
1474
|
-
* a verso), like the side column of a
|
|
1475
|
-
|
|
1616
|
+
* default) / `'left'` are fixed sides of the body flow; `'outer'` /
|
|
1617
|
+
* `'inner'` follow the page parity when the margins are mirrored (outer =
|
|
1618
|
+
* right on a recto, left on a verso), like the side column of a
|
|
1619
|
+
* `oneAndHalf` layout; `'start'` / `'end'` (#371) the box's own direction
|
|
1620
|
+
* (see {@link CalloutStripeSide}). */
|
|
1621
|
+
export type CalloutIconCornerSide = 'right' | 'left' | 'outer' | 'inner' | 'start' | 'end';
|
|
1622
|
+
/** The top corner a callout's label tab hugs: `'top-right'` / `'top-left'`
|
|
1623
|
+
* in the body flow's terms, `'top-start'` / `'top-end'` (#371) in the box's
|
|
1624
|
+
* own direction (see {@link CalloutStripeSide}). */
|
|
1625
|
+
export type CalloutLabelPosition = 'top-right' | 'top-left' | 'top-start' | 'top-end';
|
|
1476
1626
|
export type CalloutTextTransform = 'none' | 'uppercase';
|
|
1477
1627
|
export interface CalloutBorderConfig {
|
|
1478
1628
|
enabled?: boolean;
|
|
@@ -1535,7 +1685,7 @@ export interface CalloutLabelConfig {
|
|
|
1535
1685
|
/** Tab fill. Default: the main colour. */
|
|
1536
1686
|
background?: ColorValue;
|
|
1537
1687
|
/** Default `'top-right'`. */
|
|
1538
|
-
position?:
|
|
1688
|
+
position?: CalloutLabelPosition;
|
|
1539
1689
|
/** Tab height. Default `1.4em` of the label size. */
|
|
1540
1690
|
height?: Dimension;
|
|
1541
1691
|
/** Horizontal padding on each side of the text. Default `0.6em`. */
|
|
@@ -1630,7 +1780,8 @@ export interface CalloutBodyStyleConfig {
|
|
|
1630
1780
|
/** Set the box's paragraphs and list items in small capitals (see
|
|
1631
1781
|
* `ParagraphStyleConfig.smallCaps`). Default `false`. */
|
|
1632
1782
|
smallCaps?: boolean;
|
|
1633
|
-
|
|
1783
|
+
/** `'start'` is `'left'` (see {@link TextAlignKeyword}). */
|
|
1784
|
+
textAlign?: 'left' | 'justify' | 'start';
|
|
1634
1785
|
/** Hyphenate when justified — and, when `bodyText.hyphenation.ragged` is
|
|
1635
1786
|
* on, when ragged too. Defaults to the body hyphenation setting. */
|
|
1636
1787
|
hyphenation?: boolean;
|
|
@@ -1833,7 +1984,7 @@ export interface ResolvedCalloutStyleConfig {
|
|
|
1833
1984
|
fontWeight: number;
|
|
1834
1985
|
color: ColorValue;
|
|
1835
1986
|
background: ColorValue;
|
|
1836
|
-
position:
|
|
1987
|
+
position: CalloutLabelPosition;
|
|
1837
1988
|
height: Dimension;
|
|
1838
1989
|
paddingX: Dimension;
|
|
1839
1990
|
offset: Dimension;
|
|
@@ -2072,6 +2223,9 @@ export interface ResolvedHeadingAdvancedDesignConfig {
|
|
|
2072
2223
|
slot: ResolvedDesignSlot;
|
|
2073
2224
|
minHeight?: Dimension;
|
|
2074
2225
|
}
|
|
2226
|
+
/** Where a heading's generated number stands (see
|
|
2227
|
+
* `HeadingLevelConfig.numberPosition`). */
|
|
2228
|
+
export type HeadingNumberPosition = 'before' | 'replace';
|
|
2075
2229
|
export interface HeadingLevelConfig {
|
|
2076
2230
|
level: number;
|
|
2077
2231
|
fontSize?: Dimension;
|
|
@@ -2094,6 +2248,14 @@ export interface HeadingLevelConfig {
|
|
|
2094
2248
|
* Chinese sets U+3000 (`' '`) or nothing (`''`). The contents keep
|
|
2095
2249
|
* their own number column (`toc.levels[].numberGap`). */
|
|
2096
2250
|
numberSeparator?: string;
|
|
2251
|
+
/** Where the generated number stands. `'before'` (default): before the
|
|
2252
|
+
* title, joined by `numberSeparator`. `'replace'`: the number is the
|
|
2253
|
+
* whole title, and the title written in the source is not printed: a
|
|
2254
|
+
* `# Night` under `الليلة {1:ordinal-feminine}` prints الليلة الثانية,
|
|
2255
|
+
* and its contents row, bookmark and running head read the same. Only
|
|
2256
|
+
* for numbered headings with a template (the level's, or their style's);
|
|
2257
|
+
* any other keeps its title. */
|
|
2258
|
+
numberPosition?: HeadingNumberPosition;
|
|
2097
2259
|
italic?: boolean;
|
|
2098
2260
|
/** Tracking after every glyph of the heading (spaces and the numbering
|
|
2099
2261
|
* prefix included), as CSS `letter-spacing`: positive spreads the
|
|
@@ -2152,6 +2314,11 @@ export interface ResolvedHeadingLevelConfig {
|
|
|
2152
2314
|
numberingTemplate: string;
|
|
2153
2315
|
/** The level's own separator, else `' '`. */
|
|
2154
2316
|
numberSeparator: string;
|
|
2317
|
+
/** `'replace'` when the number stands for the title; absent for the
|
|
2318
|
+
* default `'before'` on a level. A heading style's overrides carry
|
|
2319
|
+
* `'before'` when the style sets it, to keep the title its level would
|
|
2320
|
+
* replace. */
|
|
2321
|
+
numberPosition?: HeadingNumberPosition;
|
|
2155
2322
|
italic: boolean;
|
|
2156
2323
|
/** The level's own tracking, else `0`. */
|
|
2157
2324
|
letterSpacing: Dimension;
|
|
@@ -2167,7 +2334,7 @@ export interface HeadingsConfig {
|
|
|
2167
2334
|
fontFamily?: string;
|
|
2168
2335
|
lineHeight?: Dimension;
|
|
2169
2336
|
color?: ColorValue;
|
|
2170
|
-
textAlign?:
|
|
2337
|
+
textAlign?: TextAlignKeyword;
|
|
2171
2338
|
fontWeight?: number;
|
|
2172
2339
|
marginTop?: Dimension;
|
|
2173
2340
|
marginBottom?: Dimension;
|
|
@@ -2413,7 +2580,7 @@ export interface ResolvedUnorderedListsConfig {
|
|
|
2413
2580
|
/** Undefined => inherit body text color at render time. */
|
|
2414
2581
|
taskCompletedColor?: ColorValue;
|
|
2415
2582
|
}
|
|
2416
|
-
export type OrderedListNumberFormat = 'arabic' | 'lower-alpha' | 'upper-alpha' | 'lower-roman' | 'upper-roman' | EastAsianNumeralStyle;
|
|
2583
|
+
export type OrderedListNumberFormat = 'arabic' | 'lower-alpha' | 'upper-alpha' | 'lower-roman' | 'upper-roman' | EastAsianNumeralStyle | ArabicNumeralStyle;
|
|
2417
2584
|
export interface OrderedListLevelConfig {
|
|
2418
2585
|
level: number;
|
|
2419
2586
|
/** Number style of this level (see `OrderedListsConfig.numberFormat`). */
|
|
@@ -2709,9 +2876,15 @@ export interface FolioLightingConfig {
|
|
|
2709
2876
|
* the view, the paper, the binding, the surface it lies on and the light.
|
|
2710
2877
|
* Canvas, PDF and HTML ignore it. */
|
|
2711
2878
|
export interface FolioConfig {
|
|
2712
|
-
/** How far the view is tilted from straight above, in degrees (0 …
|
|
2713
|
-
* the foot of the pages comes
|
|
2879
|
+
/** How far the view is tilted from straight above, in degrees (0 … 70,
|
|
2880
|
+
* the lowest the reader can orbit it): the foot of the pages comes
|
|
2881
|
+
* closer. Default 22. */
|
|
2714
2882
|
tilt?: number;
|
|
2883
|
+
/** How far the view is turned round the book, in degrees (−180 … 180;
|
|
2884
|
+
* positive brings the eye round to the right of the book): 0 faces the
|
|
2885
|
+
* foot of the pages.
|
|
2886
|
+
* Default 0. */
|
|
2887
|
+
yaw?: number;
|
|
2715
2888
|
paper?: FolioPaperConfig;
|
|
2716
2889
|
binding?: FolioBindingConfig;
|
|
2717
2890
|
surface?: FolioSurfaceConfig;
|
|
@@ -2719,6 +2892,7 @@ export interface FolioConfig {
|
|
|
2719
2892
|
}
|
|
2720
2893
|
export interface ResolvedFolioConfig {
|
|
2721
2894
|
tilt: number;
|
|
2895
|
+
yaw: number;
|
|
2722
2896
|
paper: {
|
|
2723
2897
|
type: FolioPaperType;
|
|
2724
2898
|
grammage: number;
|
|
@@ -2974,6 +3148,18 @@ export interface FootnotesConfig {
|
|
|
2974
3148
|
/** Size of an inline marker in the text, `em` of the text around it.
|
|
2975
3149
|
* Default `1em`. No effect on a superscript marker. */
|
|
2976
3150
|
markerSize?: Dimension;
|
|
3151
|
+
/** How a note's number is written, `{n}` standing for it in its number
|
|
3152
|
+
* format and the document's digits: `'({n})'` sets the parentheses of
|
|
3153
|
+
* Arabic books, «(١)» (#376). It writes the marker in the text and the
|
|
3154
|
+
* number that opens the note alike. Default `'{n}'`; a template
|
|
3155
|
+
* without `{n}` is read as the default. */
|
|
3156
|
+
markerTemplate?: string;
|
|
3157
|
+
/** Where the number that opens the note itself stands: raised
|
|
3158
|
+
* (`'superscript'`) or on the baseline at the note's size
|
|
3159
|
+
* (`'inline'`). Default `'auto'`: as the marker in the text
|
|
3160
|
+
* ({@link markerPosition}). Arabic books raise the marker in the text
|
|
3161
|
+
* and set the note's own «(١)» on the line. */
|
|
3162
|
+
noteNumberPosition?: FootnoteMarkerPosition;
|
|
2977
3163
|
/** `'chapterEnd'` placement: where the notes stand in the columns that
|
|
2978
3164
|
* close the chapter. `'foot'` sets them at the foot of the column, the
|
|
2979
3165
|
* room left over staying between the text and them (as notes at the
|
|
@@ -2989,7 +3175,7 @@ export interface FootnotesConfig {
|
|
|
2989
3175
|
/** Note text colour. Defaults to the body colour. */
|
|
2990
3176
|
color?: ColorValue;
|
|
2991
3177
|
/** Alignment of the note text. Defaults to the body alignment. */
|
|
2992
|
-
textAlign?:
|
|
3178
|
+
textAlign?: TextAlignKeyword;
|
|
2993
3179
|
/** Indent of the turnover lines of a note, so they align past its
|
|
2994
3180
|
* number. Default `0` (the lines run flush under the number). */
|
|
2995
3181
|
hangingIndent?: Dimension;
|
|
@@ -3010,6 +3196,11 @@ export interface ResolvedFootnotesConfig {
|
|
|
3010
3196
|
/** `'auto'` resolved against the number format. */
|
|
3011
3197
|
markerPosition: 'superscript' | 'inline';
|
|
3012
3198
|
markerSize: Dimension;
|
|
3199
|
+
/** Set when it is not `'{n}'` (and holds `{n}`). */
|
|
3200
|
+
markerTemplate?: string;
|
|
3201
|
+
/** Set when it is not `'auto'`: the note's own number then stands so,
|
|
3202
|
+
* whatever {@link markerPosition} is. */
|
|
3203
|
+
noteNumberPosition?: 'superscript' | 'inline';
|
|
3013
3204
|
chapterEndAlign: 'foot' | 'text';
|
|
3014
3205
|
fontSize: Dimension;
|
|
3015
3206
|
lineHeight: Dimension;
|
|
@@ -3306,9 +3497,10 @@ export type PageRole = 'body' | 'opener' | 'part' | 'blank';
|
|
|
3306
3497
|
* on every page the parity filter admits. */
|
|
3307
3498
|
export type PageRoleFilter = 'all' | PageRole;
|
|
3308
3499
|
export type HAlign = 'left' | 'center' | 'right';
|
|
3309
|
-
/** Alignment of a design text's lines: an {@link HAlign},
|
|
3500
|
+
/** Alignment of a design text's lines: an {@link HAlign}, `'justify'`, or
|
|
3501
|
+
* `'start'` / `'end'`, the sides its base direction reads from and to
|
|
3310
3502
|
* (see `DesignTextElement.align`). */
|
|
3311
|
-
export type DesignTextAlign = HAlign | 'justify';
|
|
3503
|
+
export type DesignTextAlign = HAlign | 'justify' | 'start' | 'end';
|
|
3312
3504
|
export type VAlign = 'top' | 'middle' | 'bottom';
|
|
3313
3505
|
export type AnchorEdge = 'top-left' | 'top' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom' | 'bottom-right' | 'right-of' | 'left-of' | 'below' | 'above' | 'align-top' | 'align-bottom' | 'align-left' | 'align-right';
|
|
3314
3506
|
export interface ElementAnchor {
|
|
@@ -3416,8 +3608,24 @@ export interface DesignTextElement {
|
|
|
3416
3608
|
* but the last of each paragraph so it fills the box (the lines beside a
|
|
3417
3609
|
* drop cap fill the room beside it); with `hyphenate` a word that does not
|
|
3418
3610
|
* fit is also cut at a syllable to fill the line. A line with no space,
|
|
3419
|
-
* and a text that does not wrap, is set flush left
|
|
3611
|
+
* and a text that does not wrap, is set flush with the start (left for
|
|
3612
|
+
* left-to-right text). `'start'` and `'end'` follow the text's base
|
|
3613
|
+
* direction (`direction`): the right and the left of a right-to-left
|
|
3614
|
+
* text. `'left'` and `'right'` are the box's own sides; in a design laid
|
|
3615
|
+
* out in the flow of a right-to-left page (an opener, a heading design)
|
|
3616
|
+
* the flow is mirrored, so they are its start and end sides, as in the
|
|
3617
|
+
* body text. */
|
|
3420
3618
|
align?: DesignTextAlign;
|
|
3619
|
+
/** Base direction of the text (UAX #9 paragraph level): `'auto'` takes
|
|
3620
|
+
* it from the first strong letter of the resolved text, falling back to
|
|
3621
|
+
* the document's. Default: the document's direction
|
|
3622
|
+
* (`PostextConfig.direction`). Right-to-left runs (Arabic, Hebrew) are
|
|
3623
|
+
* ordered and painted right to left whatever the base; the base decides
|
|
3624
|
+
* where neutral characters go, the order of the runs on a line and the
|
|
3625
|
+
* sides `'start'` / `'end'` mean. A text with Arabic letters is never
|
|
3626
|
+
* tracked (`letterSpacing` is ignored), and its words are never cut
|
|
3627
|
+
* while wrapping or truncating. */
|
|
3628
|
+
direction?: 'ltr' | 'rtl' | 'auto';
|
|
3421
3629
|
/** Vertical alignment within the element's box. */
|
|
3422
3630
|
verticalAlign?: VAlign;
|
|
3423
3631
|
/** Leading of the element's lines. A number is a multiplier of
|
|
@@ -3643,7 +3851,7 @@ export interface PartsBodyStyleConfig {
|
|
|
3643
3851
|
fontSize?: Dimension;
|
|
3644
3852
|
lineHeight?: Dimension;
|
|
3645
3853
|
color?: ColorValue;
|
|
3646
|
-
textAlign?:
|
|
3854
|
+
textAlign?: TextAlignKeyword;
|
|
3647
3855
|
/** Bullet colour of unordered lists inside the part. */
|
|
3648
3856
|
bulletColor?: ColorValue;
|
|
3649
3857
|
/** Number colour of ordered lists inside the part (numbers are set bold). */
|
|
@@ -3830,7 +4038,9 @@ export interface TocEntryStyleConfig {
|
|
|
3830
4038
|
indent?: Dimension;
|
|
3831
4039
|
/** Width of the number column: the title starts after it plus
|
|
3832
4040
|
* `numberGap`; numbers are right-aligned in it, on the baseline of the
|
|
3833
|
-
* title's first line whatever their face and size.
|
|
4041
|
+
* title's first line whatever their face and size. A number wider than
|
|
4042
|
+
* this (`الفصل الحادي عشر`, `Chapter 12`) widens the column of its
|
|
4043
|
+
* level in that contents to the widest number. Default `2em`. */
|
|
3834
4044
|
numberWidth?: Dimension;
|
|
3835
4045
|
/** Gap between the number column and the title. Default `0.5em`. */
|
|
3836
4046
|
numberGap?: Dimension;
|
|
@@ -4003,9 +4213,11 @@ export interface IndexConfig {
|
|
|
4003
4213
|
turnoverIndent?: Dimension;
|
|
4004
4214
|
/** Space above each main entry. Default `0`. */
|
|
4005
4215
|
entrySpacing?: Dimension;
|
|
4006
|
-
/** Between the term and its first page number. Default `', '
|
|
4216
|
+
/** Between the term and its first page number. Default `', '` (the
|
|
4217
|
+
* Arabic comma `'، '` in an index sorted in a language written in
|
|
4218
|
+
* Arabic script). */
|
|
4007
4219
|
separator?: string;
|
|
4008
|
-
/** Between two page numbers. Default `', '
|
|
4220
|
+
/** Between two page numbers. Default `', '` (`'، '` in Arabic script). */
|
|
4009
4221
|
locatorSeparator?: string;
|
|
4010
4222
|
/** Between the ends of a page range. Default `'–'` (en dash). */
|
|
4011
4223
|
rangeSeparator?: string;
|
|
@@ -4023,7 +4235,8 @@ export interface IndexConfig {
|
|
|
4023
4235
|
italic?: boolean;
|
|
4024
4236
|
};
|
|
4025
4237
|
/** Cross-references. The labels default to `See` / `See also` (Spanish
|
|
4026
|
-
* `Véase` / `Véase también
|
|
4238
|
+
* `Véase` / `Véase también`, Arabic `انظر` / `انظر أيضًا`), in italics
|
|
4239
|
+
* — upright in an Arabic-script index, whose fonts have no italics. */
|
|
4027
4240
|
see?: {
|
|
4028
4241
|
label?: string;
|
|
4029
4242
|
alsoLabel?: string;
|
|
@@ -4053,6 +4266,14 @@ export interface IndexConfig {
|
|
|
4053
4266
|
* Chinese collation data sets a pinyin or stroke index with no heads. */
|
|
4054
4267
|
groupBy?: IndexGroupBy;
|
|
4055
4268
|
groups?: IndexGroupsConfig;
|
|
4269
|
+
/** Sort and group Arabic entries as if a leading article `ال` (`ٱل`)
|
|
4270
|
+
* were not there: البصرة files under ب, between بدر and بغداد, and
|
|
4271
|
+
* prints as written. The article is the definite `al-` only — `ابن`,
|
|
4272
|
+
* `أبو`, `وال`… are kept — and an entry with its own `sort` key is
|
|
4273
|
+
* sorted by that key as given. Default: `true` when the index sorts in
|
|
4274
|
+
* Arabic (`locale`, else the document language, is `ar` or `ar-…`),
|
|
4275
|
+
* else `false`. */
|
|
4276
|
+
ignoreArticle?: boolean;
|
|
4056
4277
|
}
|
|
4057
4278
|
/** See {@link IndexConfig.groupBy}. */
|
|
4058
4279
|
export type IndexGroupBy = 'auto' | 'letter' | 'pinyin' | 'stroke' | 'none';
|
|
@@ -4082,6 +4303,7 @@ export interface ResolvedIndexConfig {
|
|
|
4082
4303
|
};
|
|
4083
4304
|
locale?: string;
|
|
4084
4305
|
groupBy: IndexGroupBy;
|
|
4306
|
+
ignoreArticle: boolean;
|
|
4085
4307
|
groups: {
|
|
4086
4308
|
enabled: boolean;
|
|
4087
4309
|
fontFamily: string;
|
|
@@ -4154,6 +4376,34 @@ export interface PostextConfig {
|
|
|
4154
4376
|
* bundled hyphenation languages; any other language gets the English
|
|
4155
4377
|
* ones. Defaults to `'en-us'`. */
|
|
4156
4378
|
locale?: LocaleTag;
|
|
4379
|
+
/** The base direction of the document's text. `'rtl'` sets paragraphs
|
|
4380
|
+
* right to left (Arabic, Hebrew, Persian, Urdu), `'ltr'` left to right;
|
|
4381
|
+
* `'auto'` (the default) takes it from the script of the document
|
|
4382
|
+
* language ({@link locale}, else the hyphenation locale): right to left
|
|
4383
|
+
* for a language written in Arabic, Hebrew, Syriac, Thaana, N'Ko, Adlam
|
|
4384
|
+
* or another right-to-left script (`directionOf`), else left to right.
|
|
4385
|
+
* A right-to-left document is bound on the right when `page.binding` is
|
|
4386
|
+
* `'auto'`. A block sets its own with `{dir=ltr}` / `{dir=rtl}` (a
|
|
4387
|
+
* heading, a `:::` container), a run of text with `:ltr[…]` /
|
|
4388
|
+
* `:rtl[…]`; inside a paragraph the order of mixed text follows the
|
|
4389
|
+
* Unicode Bidirectional Algorithm (`bidi.ts`). Any other value counts
|
|
4390
|
+
* as `'auto'` and is reported (`unknownConfigValue`). */
|
|
4391
|
+
direction?: DocumentDirection;
|
|
4392
|
+
/** The digits of every number the engine writes — page numbers (and the
|
|
4393
|
+
* page labels of the contents, the index and page references), ordered
|
|
4394
|
+
* list and footnote numbers, heading, chapter and resource counters, the
|
|
4395
|
+
* `{h1}` and `{n}` of a figure number, `{totalPages}`,
|
|
4396
|
+
* `{numberDecimal}`: `'latn'` 0–9, `'arab'` ٠–٩, `'arabext'` ۰–۹. Only
|
|
4397
|
+
* numbers in the decimal format change (`decimal`, the lists'
|
|
4398
|
+
* `arabic`, or no format at all); a format the author names —
|
|
4399
|
+
* `lower-roman`, `arabic-indic`, `persian` — prints as named, and the
|
|
4400
|
+
* author's own text is never rewritten. Default `'auto'`: the digits of
|
|
4401
|
+
* {@link locale} (`defaultNumeralsFor`) — `'arab'` for Arabic (`ar`,
|
|
4402
|
+
* `ar-EG`, `ar-SA`…) but `'latn'` in the Maghreb (`ar-MA`, `ar-DZ`,
|
|
4403
|
+
* `ar-TN`, `ar-LY`, `ar-MR`, `ar-EH`), `'arabext'` for Persian, Pashto
|
|
4404
|
+
* and the Urdu of India, `'latn'` for every other language; a tag that
|
|
4405
|
+
* names its digits (`ar-MA-u-nu-arab`) has them. */
|
|
4406
|
+
numerals?: NumeralsSetting;
|
|
4157
4407
|
debug?: DebugConfig;
|
|
4158
4408
|
htmlViewer?: HtmlViewerConfig;
|
|
4159
4409
|
/** The 3D book viewer (`postext-folio`): paper, binding, surface, light. */
|