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/locale.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CjkRegion, HyphenationLocale, LocaleTag } from './types';
|
|
1
|
+
import type { CjkRegion, DigitSystem, HyphenationLocale, LocaleTag, NumeralsSetting } from './types';
|
|
2
2
|
/** The languages whose hyphenation patterns ship with the engine. */
|
|
3
3
|
export declare const HYPHENATION_LOCALES: readonly HyphenationLocale[];
|
|
4
4
|
/** The primary language subtag of a BCP 47 tag, lower-cased (`'pt_BR'` →
|
|
@@ -12,10 +12,27 @@ export declare function presentTag(tag: unknown): string | undefined;
|
|
|
12
12
|
* hyphenation patterns: hyphenation is off unless the author turns it on
|
|
13
13
|
* and names a language for the Latin words. */
|
|
14
14
|
export declare function isCjkLanguage(tag: unknown): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether `tag` names a language set without hyphenation: Chinese,
|
|
17
|
+
* Japanese and Korean ({@link isCjkLanguage}), and the languages written in
|
|
18
|
+
* a right-to-left script — Arabic, Persian, Urdu, Hebrew, Yiddish… An
|
|
19
|
+
* Arabic word is never divided at a line end: its letters join, and the
|
|
20
|
+
* line is justified with the spaces and kashida instead (arabic-typography
|
|
21
|
+
* §5); Hebrew books do not divide words either. No patterns ship for any
|
|
22
|
+
* of them, and asking for none is not a fallback worth reporting.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isUnhyphenatedLanguage(tag: unknown): boolean;
|
|
15
25
|
/** The script of a tag, as `Intl.Locale(tag).maximize()` reads it: `'Hans'`
|
|
16
26
|
* for `zh`, `zh-CN`, `zh-SG`; `'Hant'` for `zh-TW`, `zh-HK`, `zh-MO` and
|
|
17
27
|
* `zh-Hant`; `'Latn'` for `en`. `undefined` for a missing or invalid tag. */
|
|
18
28
|
export declare function localeScript(tag: unknown): string | undefined;
|
|
29
|
+
/** The direction text in `tag`'s language runs, from the script the tag
|
|
30
|
+
* names or implies once maximised (`localeScript`): `'rtl'` for Arabic
|
|
31
|
+
* (`ar`, `fa`, `ur`, `ps`, `ug`, `az-Arab`), Hebrew (`he`, `yi`), Syriac,
|
|
32
|
+
* Thaana (`dv`), N'Ko, Adlam (`ff-Adlm`) and the other right-to-left
|
|
33
|
+
* scripts; `'ltr'` for every other tag, and for a missing or invalid
|
|
34
|
+
* one. */
|
|
35
|
+
export declare function directionOf(tag: unknown): 'ltr' | 'rtl';
|
|
19
36
|
/** The typographic region of a Chinese tag, which decides its typographic
|
|
20
37
|
* defaults (clreq §1.2: rules follow the region, not the script): CN, SG
|
|
21
38
|
* and MY are `'mainland'`, TW `'taiwan'`, HK and MO `'hongkong'`; a tag
|
|
@@ -38,12 +55,17 @@ export declare function stringsKeyOf(tag: unknown): string;
|
|
|
38
55
|
* PDF `/Lang` and a Sandbox permalink's `lang=` carry. */
|
|
39
56
|
export declare function canonicalLocaleTag(tag: unknown): string | undefined;
|
|
40
57
|
/** The `lang` a renderer declares for a resolved document (the HTML root,
|
|
41
|
-
* the canvas context): its language in canonical form (`zh-Hant-TW
|
|
42
|
-
* from `locale`, else the hyphenation tag. Only
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
58
|
+
* the canvas context): its language in canonical form (`zh-Hant-TW`,
|
|
59
|
+
* `ar-EG`), from `locale`, else the hyphenation tag. Only two kinds of
|
|
60
|
+
* document declare one, so the output of every other document is
|
|
61
|
+
* unchanged:
|
|
62
|
+
* - Chinese, Japanese and Korean: the browser picks regional glyph forms
|
|
63
|
+
* from it (Han characters unified in Unicode, punctuation set in the
|
|
64
|
+
* corner or the centre of the em box);
|
|
65
|
+
* - languages written right to left (Arabic, Persian, Urdu, Hebrew…): the
|
|
66
|
+
* font's language-specific forms (`locl`: the Urdu and Persian digits
|
|
67
|
+
* and letter shapes of a shared Arabic font) and the fallback font
|
|
68
|
+
* follow it, and assistive technology reads the text in its language. */
|
|
47
69
|
export declare function renderLangOf(config: {
|
|
48
70
|
locale?: string;
|
|
49
71
|
bodyText?: {
|
|
@@ -70,7 +92,11 @@ export interface DocumentLanguage {
|
|
|
70
92
|
/** The document languages with built-in strings, in the order a language
|
|
71
93
|
* picker lists them: the eight hyphenation languages, then Chinese in
|
|
72
94
|
* Simplified characters, in Traditional characters (Taiwan) and in
|
|
73
|
-
* Traditional characters as set in Hong Kong
|
|
95
|
+
* Traditional characters as set in Hong Kong, then Arabic — bare, as set
|
|
96
|
+
* in Egypt and as set in Morocco. The strings are the same in the three
|
|
97
|
+
* Arabic entries; the region decides what a regional default reads from
|
|
98
|
+
* the tag (digits: Arabic-Indic ٠–٩ in the Mashriq, European 0–9 in the
|
|
99
|
+
* Maghreb; month names in dates). */
|
|
74
100
|
export declare const DOCUMENT_LANGUAGES: readonly DocumentLanguage[];
|
|
75
101
|
/**
|
|
76
102
|
* The bundled hyphenation locale for a BCP 47 language tag, or `undefined`
|
|
@@ -84,7 +110,8 @@ export declare function matchHyphenationLocale(tag: string): HyphenationLocale |
|
|
|
84
110
|
* {@link matchHyphenationLocale}, falling back to `'en-us'` for a language
|
|
85
111
|
* with no bundled patterns. The fallback is reported once per tag on the
|
|
86
112
|
* console, since the text is then hyphenated with another language's rules
|
|
87
|
-
* (Chinese, Japanese and
|
|
113
|
+
* (Chinese, Japanese, Korean and the right-to-left languages excepted: they
|
|
114
|
+
* are set without hyphenation, see {@link isUnhyphenatedLanguage});
|
|
88
115
|
* `warn: false` skips the report (hyphenation is off, so no text uses the
|
|
89
116
|
* patterns). A missing or blank tag gives `'en-us'` silently.
|
|
90
117
|
*/
|
|
@@ -111,4 +138,31 @@ export declare function sameContentLocale(a: unknown, b: unknown): boolean;
|
|
|
111
138
|
* always answers.
|
|
112
139
|
*/
|
|
113
140
|
export declare function matchContentLocale(candidates: readonly string[], wanted: string): string | undefined;
|
|
141
|
+
/** Whether `value` names a digit system (`'latn'`, `'arab'`, `'arabext'`). */
|
|
142
|
+
export declare function isDigitSystem(value: unknown): value is DigitSystem;
|
|
143
|
+
/**
|
|
144
|
+
* The digits a book in `tag` prints its page numbers, list and note numbers
|
|
145
|
+
* and counters in (`PostextConfig.numerals: 'auto'`):
|
|
146
|
+
*
|
|
147
|
+
* - Arabic (`ar`): the Arabic-Indic digits (`'arab'`, ٠–٩) without a region
|
|
148
|
+
* or with any region but the Maghreb's, whose books print European digits
|
|
149
|
+
* (`'latn'`: `ar-MA`, `ar-DZ`, `ar-TN`, `ar-LY`, `ar-MR`, `ar-EH`).
|
|
150
|
+
* CLDR's own defaults give `latn` for a bare `ar` and for `ar-AE`; Arabic
|
|
151
|
+
* book publishing in the Mashriq and the Gulf prints ٠–٩, and a book is
|
|
152
|
+
* what this setting is for.
|
|
153
|
+
* - Persian (`fa`), Pashto (`ps`) and the Urdu of India (`ur-IN`): the
|
|
154
|
+
* Extended Arabic-Indic digits (`'arabext'`, ۰–۹). The Urdu of Pakistan
|
|
155
|
+
* (`ur`, `ur-PK`) takes `'latn'`, as CLDR does: Pakistani books print
|
|
156
|
+
* both, and the European digits are the safe default.
|
|
157
|
+
* - Every other language: `'latn'`.
|
|
158
|
+
*
|
|
159
|
+
* A tag that names its digits in a Unicode extension
|
|
160
|
+
* (`ar-MA-u-nu-arab`, `fa-u-nu-latn`) has those when they are one of the
|
|
161
|
+
* three. A missing or invalid tag gives `'latn'`.
|
|
162
|
+
*/
|
|
163
|
+
export declare function defaultNumeralsFor(tag: unknown): DigitSystem;
|
|
164
|
+
/** The digit system of a `numerals` setting for a document in `tag`: the
|
|
165
|
+
* setting itself when it names one, else (`'auto'`, unset, or a value the
|
|
166
|
+
* engine does not know) the language's ({@link defaultNumeralsFor}). */
|
|
167
|
+
export declare function resolveNumerals(setting: NumeralsSetting | undefined, tag: unknown): DigitSystem;
|
|
114
168
|
//# sourceMappingURL=locale.d.ts.map
|
package/dist/locale.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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"}
|
package/dist/locale.js
CHANGED
|
@@ -28,6 +28,24 @@ const CJK_LANGUAGES = new Set(['zh', 'ja', 'ko']);
|
|
|
28
28
|
export function isCjkLanguage(tag) {
|
|
29
29
|
return isTag(tag) && CJK_LANGUAGES.has(languageOf(tag));
|
|
30
30
|
}
|
|
31
|
+
/** Whether `tag` names a language written in a right-to-left script once
|
|
32
|
+
* maximised (`'ar'`, `'fa-IR'`, `'ur'`, `'he'`, `'yi'`, `'ks-Arab'`); not
|
|
33
|
+
* `'ks-Deva'` or `'az'` (Latin). See {@link directionOf}. */
|
|
34
|
+
function isRightToLeftLanguage(tag) {
|
|
35
|
+
return directionOf(tag) === 'rtl';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Whether `tag` names a language set without hyphenation: Chinese,
|
|
39
|
+
* Japanese and Korean ({@link isCjkLanguage}), and the languages written in
|
|
40
|
+
* a right-to-left script — Arabic, Persian, Urdu, Hebrew, Yiddish… An
|
|
41
|
+
* Arabic word is never divided at a line end: its letters join, and the
|
|
42
|
+
* line is justified with the spaces and kashida instead (arabic-typography
|
|
43
|
+
* §5); Hebrew books do not divide words either. No patterns ship for any
|
|
44
|
+
* of them, and asking for none is not a fallback worth reporting.
|
|
45
|
+
*/
|
|
46
|
+
export function isUnhyphenatedLanguage(tag) {
|
|
47
|
+
return isCjkLanguage(tag) || isRightToLeftLanguage(tag);
|
|
48
|
+
}
|
|
31
49
|
/** `Intl.Locale(tag).maximize()`, memoised; `undefined` for a tag the
|
|
32
50
|
* runtime rejects (or a runtime without `Intl.Locale`). */
|
|
33
51
|
const maximized = new Map();
|
|
@@ -51,6 +69,28 @@ function maximize(tag) {
|
|
|
51
69
|
export function localeScript(tag) {
|
|
52
70
|
return isTag(tag) ? maximize(tag)?.script : undefined;
|
|
53
71
|
}
|
|
72
|
+
/** Scripts written from right to left (ISO 15924 codes): Arabic (and its
|
|
73
|
+
* Nastaliq variant), Hebrew, Syriac, Thaana, N'Ko, Adlam, Hanifi Rohingya,
|
|
74
|
+
* Mandaic, Samaritan, Mende Kikakui, Garay, and the historic ones
|
|
75
|
+
* (Imperial Aramaic, Avestan, Chorasmian, Cypriot, Elymaic, Hatran, Old
|
|
76
|
+
* Hungarian, Kharoshthi, Lydian, Manichaean, Old North and South Arabian,
|
|
77
|
+
* Nabataean, Old Turkic, Old Uyghur, Palmyrene, Inscriptional and Psalter
|
|
78
|
+
* Pahlavi, Phoenician, Parthian, Sogdian and Old Sogdian, Yezidi). */
|
|
79
|
+
const RTL_SCRIPTS = new Set([
|
|
80
|
+
'Arab', 'Aran', 'Hebr', 'Syrc', 'Thaa', 'Nkoo', 'Adlm', 'Rohg', 'Mand', 'Samr', 'Mend', 'Gara',
|
|
81
|
+
'Armi', 'Avst', 'Chrs', 'Cprt', 'Elym', 'Hatr', 'Hung', 'Khar', 'Lydi', 'Mani', 'Narb', 'Sarb',
|
|
82
|
+
'Nbat', 'Orkh', 'Ougr', 'Palm', 'Phli', 'Phlp', 'Phnx', 'Prti', 'Sogd', 'Sogo', 'Yezi',
|
|
83
|
+
]);
|
|
84
|
+
/** The direction text in `tag`'s language runs, from the script the tag
|
|
85
|
+
* names or implies once maximised (`localeScript`): `'rtl'` for Arabic
|
|
86
|
+
* (`ar`, `fa`, `ur`, `ps`, `ug`, `az-Arab`), Hebrew (`he`, `yi`), Syriac,
|
|
87
|
+
* Thaana (`dv`), N'Ko, Adlam (`ff-Adlm`) and the other right-to-left
|
|
88
|
+
* scripts; `'ltr'` for every other tag, and for a missing or invalid
|
|
89
|
+
* one. */
|
|
90
|
+
export function directionOf(tag) {
|
|
91
|
+
const script = localeScript(tag);
|
|
92
|
+
return script !== undefined && RTL_SCRIPTS.has(script) ? 'rtl' : 'ltr';
|
|
93
|
+
}
|
|
54
94
|
/** The typographic region of a Chinese tag, which decides its typographic
|
|
55
95
|
* defaults (clreq §1.2: rules follow the region, not the script): CN, SG
|
|
56
96
|
* and MY are `'mainland'`, TW `'taiwan'`, HK and MO `'hongkong'`; a tag
|
|
@@ -104,16 +144,21 @@ export function canonicalLocaleTag(tag) {
|
|
|
104
144
|
}
|
|
105
145
|
}
|
|
106
146
|
/** The `lang` a renderer declares for a resolved document (the HTML root,
|
|
107
|
-
* the canvas context): its language in canonical form (`zh-Hant-TW
|
|
108
|
-
* from `locale`, else the hyphenation tag. Only
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
147
|
+
* the canvas context): its language in canonical form (`zh-Hant-TW`,
|
|
148
|
+
* `ar-EG`), from `locale`, else the hyphenation tag. Only two kinds of
|
|
149
|
+
* document declare one, so the output of every other document is
|
|
150
|
+
* unchanged:
|
|
151
|
+
* - Chinese, Japanese and Korean: the browser picks regional glyph forms
|
|
152
|
+
* from it (Han characters unified in Unicode, punctuation set in the
|
|
153
|
+
* corner or the centre of the em box);
|
|
154
|
+
* - languages written right to left (Arabic, Persian, Urdu, Hebrew…): the
|
|
155
|
+
* font's language-specific forms (`locl`: the Urdu and Persian digits
|
|
156
|
+
* and letter shapes of a shared Arabic font) and the fallback font
|
|
157
|
+
* follow it, and assistive technology reads the text in its language. */
|
|
113
158
|
export function renderLangOf(config) {
|
|
114
159
|
const h = config?.bodyText?.hyphenation;
|
|
115
160
|
const tag = presentTag(config?.locale) ?? presentTag(h?.tag) ?? presentTag(h?.locale);
|
|
116
|
-
return isCjkLanguage(tag) ? canonicalLocaleTag(tag) : undefined;
|
|
161
|
+
return isCjkLanguage(tag) || isRightToLeftLanguage(tag) ? canonicalLocaleTag(tag) : undefined;
|
|
117
162
|
}
|
|
118
163
|
/**
|
|
119
164
|
* The entry of a built-in string table for `tag`, keyed by
|
|
@@ -128,7 +173,11 @@ export function stringsFor(table, tag) {
|
|
|
128
173
|
/** The document languages with built-in strings, in the order a language
|
|
129
174
|
* picker lists them: the eight hyphenation languages, then Chinese in
|
|
130
175
|
* Simplified characters, in Traditional characters (Taiwan) and in
|
|
131
|
-
* Traditional characters as set in Hong Kong
|
|
176
|
+
* Traditional characters as set in Hong Kong, then Arabic — bare, as set
|
|
177
|
+
* in Egypt and as set in Morocco. The strings are the same in the three
|
|
178
|
+
* Arabic entries; the region decides what a regional default reads from
|
|
179
|
+
* the tag (digits: Arabic-Indic ٠–٩ in the Mashriq, European 0–9 in the
|
|
180
|
+
* Maghreb; month names in dates). */
|
|
132
181
|
export const DOCUMENT_LANGUAGES = Object.freeze([
|
|
133
182
|
{ tag: 'en-us', name: 'English' },
|
|
134
183
|
{ tag: 'es', name: 'Español' },
|
|
@@ -141,6 +190,9 @@ export const DOCUMENT_LANGUAGES = Object.freeze([
|
|
|
141
190
|
{ tag: 'zh-Hans', name: '中文(简体)' },
|
|
142
191
|
{ tag: 'zh-Hant', name: '中文(繁體)' },
|
|
143
192
|
{ tag: 'zh-Hant-HK', name: '中文(香港)' },
|
|
193
|
+
{ tag: 'ar', name: 'العربية' },
|
|
194
|
+
{ tag: 'ar-EG', name: 'العربية (مصر)' },
|
|
195
|
+
{ tag: 'ar-MA', name: 'العربية (المغرب)' },
|
|
144
196
|
].map((l) => Object.freeze(l)));
|
|
145
197
|
/**
|
|
146
198
|
* The bundled hyphenation locale for a BCP 47 language tag, or `undefined`
|
|
@@ -168,7 +220,8 @@ const warnedTags = new Set();
|
|
|
168
220
|
* {@link matchHyphenationLocale}, falling back to `'en-us'` for a language
|
|
169
221
|
* with no bundled patterns. The fallback is reported once per tag on the
|
|
170
222
|
* console, since the text is then hyphenated with another language's rules
|
|
171
|
-
* (Chinese, Japanese and
|
|
223
|
+
* (Chinese, Japanese, Korean and the right-to-left languages excepted: they
|
|
224
|
+
* are set without hyphenation, see {@link isUnhyphenatedLanguage});
|
|
172
225
|
* `warn: false` skips the report (hyphenation is off, so no text uses the
|
|
173
226
|
* patterns). A missing or blank tag gives `'en-us'` silently.
|
|
174
227
|
*/
|
|
@@ -178,9 +231,9 @@ export function hyphenationLocaleFor(tag, warn = true) {
|
|
|
178
231
|
const match = matchHyphenationLocale(tag);
|
|
179
232
|
if (match)
|
|
180
233
|
return match;
|
|
181
|
-
// Chinese, Japanese
|
|
182
|
-
// body text resolves hyphenation off for them
|
|
183
|
-
if (
|
|
234
|
+
// Chinese, Japanese, Korean, Arabic, Hebrew… need no patterns: nothing
|
|
235
|
+
// to report (the body text resolves hyphenation off for them).
|
|
236
|
+
if (isUnhyphenatedLanguage(tag))
|
|
184
237
|
return 'en-us';
|
|
185
238
|
if (warn && !warnedTags.has(tag)) {
|
|
186
239
|
warnedTags.add(tag);
|
|
@@ -304,4 +357,68 @@ export function matchContentLocale(candidates, wanted) {
|
|
|
304
357
|
}
|
|
305
358
|
return best;
|
|
306
359
|
}
|
|
360
|
+
// ---------------------------------------------------------------------------
|
|
361
|
+
// Digits: which digit system a document's generated numbers are written in.
|
|
362
|
+
/** The Arabic-speaking Maghreb, where books print European digits (alreq
|
|
363
|
+
* §Numbers): Morocco, Algeria, Tunisia, Libya, Mauritania and Western
|
|
364
|
+
* Sahara. */
|
|
365
|
+
const MAGHREB_REGIONS = new Set(['MA', 'DZ', 'TN', 'LY', 'MR', 'EH']);
|
|
366
|
+
const DIGIT_SYSTEMS = new Set(['latn', 'arab', 'arabext']);
|
|
367
|
+
/** Whether `value` names a digit system (`'latn'`, `'arab'`, `'arabext'`). */
|
|
368
|
+
export function isDigitSystem(value) {
|
|
369
|
+
return typeof value === 'string' && DIGIT_SYSTEMS.has(value);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* The digits a book in `tag` prints its page numbers, list and note numbers
|
|
373
|
+
* and counters in (`PostextConfig.numerals: 'auto'`):
|
|
374
|
+
*
|
|
375
|
+
* - Arabic (`ar`): the Arabic-Indic digits (`'arab'`, ٠–٩) without a region
|
|
376
|
+
* or with any region but the Maghreb's, whose books print European digits
|
|
377
|
+
* (`'latn'`: `ar-MA`, `ar-DZ`, `ar-TN`, `ar-LY`, `ar-MR`, `ar-EH`).
|
|
378
|
+
* CLDR's own defaults give `latn` for a bare `ar` and for `ar-AE`; Arabic
|
|
379
|
+
* book publishing in the Mashriq and the Gulf prints ٠–٩, and a book is
|
|
380
|
+
* what this setting is for.
|
|
381
|
+
* - Persian (`fa`), Pashto (`ps`) and the Urdu of India (`ur-IN`): the
|
|
382
|
+
* Extended Arabic-Indic digits (`'arabext'`, ۰–۹). The Urdu of Pakistan
|
|
383
|
+
* (`ur`, `ur-PK`) takes `'latn'`, as CLDR does: Pakistani books print
|
|
384
|
+
* both, and the European digits are the safe default.
|
|
385
|
+
* - Every other language: `'latn'`.
|
|
386
|
+
*
|
|
387
|
+
* A tag that names its digits in a Unicode extension
|
|
388
|
+
* (`ar-MA-u-nu-arab`, `fa-u-nu-latn`) has those when they are one of the
|
|
389
|
+
* three. A missing or invalid tag gives `'latn'`.
|
|
390
|
+
*/
|
|
391
|
+
export function defaultNumeralsFor(tag) {
|
|
392
|
+
if (!isTag(tag))
|
|
393
|
+
return 'latn';
|
|
394
|
+
let locale;
|
|
395
|
+
try {
|
|
396
|
+
locale = typeof Intl.Locale === 'function' ? new Intl.Locale(tag.trim().replace(/_/g, '-')) : undefined;
|
|
397
|
+
}
|
|
398
|
+
catch {
|
|
399
|
+
locale = undefined;
|
|
400
|
+
}
|
|
401
|
+
if (isDigitSystem(locale?.numberingSystem))
|
|
402
|
+
return locale.numberingSystem;
|
|
403
|
+
const language = languageOf(tag);
|
|
404
|
+
// The region as written: a bare `ar` is not Egyptian Arabic.
|
|
405
|
+
const region = locale?.region ?? tag.trim().split(/[-_]/).slice(1).find((s) => /^[A-Za-z]{2}$|^\d{3}$/.test(s))?.toUpperCase();
|
|
406
|
+
switch (language) {
|
|
407
|
+
case 'ar':
|
|
408
|
+
return region !== undefined && MAGHREB_REGIONS.has(region) ? 'latn' : 'arab';
|
|
409
|
+
case 'fa':
|
|
410
|
+
case 'ps':
|
|
411
|
+
return 'arabext';
|
|
412
|
+
case 'ur':
|
|
413
|
+
return region === 'IN' ? 'arabext' : 'latn';
|
|
414
|
+
default:
|
|
415
|
+
return 'latn';
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
/** The digit system of a `numerals` setting for a document in `tag`: the
|
|
419
|
+
* setting itself when it names one, else (`'auto'`, unset, or a value the
|
|
420
|
+
* engine does not know) the language's ({@link defaultNumeralsFor}). */
|
|
421
|
+
export function resolveNumerals(setting, tag) {
|
|
422
|
+
return isDigitSystem(setting) ? setting : defaultNumeralsFor(tag);
|
|
423
|
+
}
|
|
307
424
|
//# sourceMappingURL=locale.js.map
|
package/dist/locale.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Right-to-left lines (UAX #9 on the measurer's output, #369).
|
|
3
|
+
*
|
|
4
|
+
* The line breakers work on the logical text and know nothing of
|
|
5
|
+
* direction: a line is a run of the paragraph, and its `segments` stay in
|
|
6
|
+
* logical order (copied text, links, source maps, the hyphen at the end of
|
|
7
|
+
* a line and every other engine rule read them as written). Once a
|
|
8
|
+
* paragraph is broken, {@link applyLineDirections} resolves its embedding
|
|
9
|
+
* levels once (`resolveParagraph`, with the inline `:rtl[…]` / `:ltr[…]`
|
|
10
|
+
* isolates) and, line by line, applies rule L1 to the line's characters,
|
|
11
|
+
* cuts each text segment where its level changes, marks the right-to-left
|
|
12
|
+
* ones (`VDTLineSegment.rtl`, and `level` past 1) and works out the order
|
|
13
|
+
* the renderers advance through the segments in (`VDTLine.order`, rule L2
|
|
14
|
+
* on the segments' levels): the visual order, left to right, whatever the
|
|
15
|
+
* frame; the build turns it around on a mirrored page (#370).
|
|
16
|
+
*
|
|
17
|
+
* A cut at a level change never falls inside a word of a joining script:
|
|
18
|
+
* Arabic letters next to each other have one level, and a cut between a
|
|
19
|
+
* letter and a digit or a Latin letter leaves both sides measured as they
|
|
20
|
+
* are painted. The pieces of a segment share its width in proportion to
|
|
21
|
+
* their own widths, so a line keeps the width it was broken with and no
|
|
22
|
+
* break changes.
|
|
23
|
+
*
|
|
24
|
+
* Only a paragraph that needs it pays for it: one set right to left, or
|
|
25
|
+
* one holding a right-to-left letter or control (`needsBidi`). Every other
|
|
26
|
+
* line is left exactly as it was, with none of these fields.
|
|
27
|
+
*/
|
|
28
|
+
import type { VDTLine, VDTLineSegment } from '../vdt';
|
|
29
|
+
import { type BidiParagraph } from '../bidi';
|
|
30
|
+
import { type LineWidthStep } from './types';
|
|
31
|
+
/** Set the base direction a paragraph is measured with when nothing sets
|
|
32
|
+
* its own (`MeasureBlockOptions.direction`): the document's
|
|
33
|
+
* (`resolvedDirection`). The build does, and puts back what it found when
|
|
34
|
+
* it is done; left to right outside a build. */
|
|
35
|
+
export declare function setMeasureDirection(direction: 'ltr' | 'rtl'): void;
|
|
36
|
+
/** See {@link setMeasureDirection}. */
|
|
37
|
+
export declare function getMeasureDirection(): 'ltr' | 'rtl';
|
|
38
|
+
/**
|
|
39
|
+
* Resolve the directions of a paragraph's lines (see the module comment):
|
|
40
|
+
* `par` is the paragraph's levels (`resolveParagraph` on the text the lines
|
|
41
|
+
* were cut from, the spans' texts joined, with its base direction and its
|
|
42
|
+
* inline `:rtl[…]` / `:ltr[…]` isolates); `widthOf` measures a piece of a
|
|
43
|
+
* segment in that segment's font, to share its width. The lines are
|
|
44
|
+
* changed in place.
|
|
45
|
+
*/
|
|
46
|
+
export declare function applyLineDirections(lines: VDTLine[], par: BidiParagraph, widthOf: (seg: VDTLineSegment, piece: string) => number): void;
|
|
47
|
+
/**
|
|
48
|
+
* The lines of a paragraph whose direction opposes its frame's: an Arabic
|
|
49
|
+
* quotation in an English book, or an English one in an Arabic book (whose
|
|
50
|
+
* pages are mirrored, #370, so that the flow's right is the sheet's left).
|
|
51
|
+
* Its start side is the frame's right. The breaker set each line's indent
|
|
52
|
+
* on the left (`bbox.x`); the line now fills the span from the block's left
|
|
53
|
+
* edge to its right edge less that indent (`VDTLine.measure`), so a
|
|
54
|
+
* first-line or hanging indent falls on the right, and its line box starts
|
|
55
|
+
* at the span's left edge. Renderers align the line in that span from its
|
|
56
|
+
* start side: a ragged line, or the last line of a justified paragraph,
|
|
57
|
+
* ends flush right (see `VDTLine.measure`). `maxWidthPx` and `restWidths`
|
|
58
|
+
* are the measures the lines were broken at, from the block's left edge.
|
|
59
|
+
*/
|
|
60
|
+
export declare function mirrorLineSpans(lines: VDTLine[], maxWidthPx: number, restWidths?: readonly LineWidthStep[]): void;
|
|
61
|
+
/** Move a line along x by `dx`, its {@link VDTLine.measure} with it. The
|
|
62
|
+
* measure is replaced, never changed in place: a cached measurement may
|
|
63
|
+
* share it. */
|
|
64
|
+
export declare function shiftLineX(line: VDTLine, dx: number): void;
|
|
65
|
+
/** A stretch of a paragraph's text in a language the author named on an
|
|
66
|
+
* inline isolate (`:ltr[…]{lang=en}`): `[start, end)` in the joined text. */
|
|
67
|
+
export interface LanguageRange {
|
|
68
|
+
start: number;
|
|
69
|
+
end: number;
|
|
70
|
+
lang: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The stretches of a paragraph's spans in a language their isolate names
|
|
74
|
+
* (`InlineSpan.direction.lang`, the innermost isolate that names one), as
|
|
75
|
+
* ranges of the joined text; empty when none does.
|
|
76
|
+
*/
|
|
77
|
+
export declare function spanLanguages(spans: readonly {
|
|
78
|
+
text: string;
|
|
79
|
+
direction?: {
|
|
80
|
+
lang?: string;
|
|
81
|
+
outer?: unknown;
|
|
82
|
+
};
|
|
83
|
+
}[]): LanguageRange[];
|
|
84
|
+
/**
|
|
85
|
+
* Stamps `VDTLineSegment.lang` on the segments of a paragraph's lines whose
|
|
86
|
+
* text lies in one of `ranges` (#379, see {@link spanLanguages}): a segment
|
|
87
|
+
* takes the language of its first character read from the paragraph text
|
|
88
|
+
* (`text`). Segments of a cut line are replaced, never changed in place.
|
|
89
|
+
*/
|
|
90
|
+
export declare function applySegmentLanguages(lines: VDTLine[], text: string, ranges: readonly LanguageRange[]): void;
|
|
91
|
+
//# sourceMappingURL=bidiLines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bidiLines.d.ts","sourceRoot":"","sources":["../../src/measure/bidiLines.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAI1D;;;iDAGiD;AACjD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAElE;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,IAAI,KAAK,GAAG,KAAK,CAEnD;AA2DD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EAAE,EAChB,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GACtD,IAAI,CAkFN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAMjH;AAED;;gBAEgB;AAChB,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED;8EAC8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,EAAE,GAAG,aAAa,EAAE,CAejI;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAoB5G"}
|