postext 1.22.3 → 1.24.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__/bundle/bitmapInfo.test.d.ts +2 -0
- package/dist/__tests__/bundle/bitmapInfo.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/bitmapInfo.test.js +78 -0
- package/dist/__tests__/bundle/bitmapInfo.test.js.map +1 -0
- package/dist/__tests__/bundle/designOverflowPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/designOverflowPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/designOverflowPin.test.js +87 -0
- package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -0
- package/dist/__tests__/bundle.test.js +1 -1
- package/dist/__tests__/bundle.test.js.map +1 -1
- package/dist/__tests__/codeBlocks.test.d.ts +2 -0
- package/dist/__tests__/codeBlocks.test.d.ts.map +1 -0
- package/dist/__tests__/codeBlocks.test.js +550 -0
- package/dist/__tests__/codeBlocks.test.js.map +1 -0
- package/dist/__tests__/design/designTextOverflow.test.d.ts +2 -0
- package/dist/__tests__/design/designTextOverflow.test.d.ts.map +1 -0
- package/dist/__tests__/design/designTextOverflow.test.js +102 -0
- package/dist/__tests__/design/designTextOverflow.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +30 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/frontmatterInvalid.test.d.ts +2 -0
- package/dist/__tests__/frontmatterInvalid.test.d.ts.map +1 -0
- package/dist/__tests__/frontmatterInvalid.test.js +101 -0
- package/dist/__tests__/frontmatterInvalid.test.js.map +1 -0
- package/dist/__tests__/hardBreaks.test.d.ts +2 -0
- package/dist/__tests__/hardBreaks.test.d.ts.map +1 -0
- package/dist/__tests__/hardBreaks.test.js +226 -0
- package/dist/__tests__/hardBreaks.test.js.map +1 -0
- package/dist/__tests__/headingFirstLineIndent.test.d.ts +2 -0
- package/dist/__tests__/headingFirstLineIndent.test.d.ts.map +1 -0
- package/dist/__tests__/headingFirstLineIndent.test.js +185 -0
- package/dist/__tests__/headingFirstLineIndent.test.js.map +1 -0
- package/dist/__tests__/headingInlineMarks.test.js +1 -1
- package/dist/__tests__/headingInlineMarks.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__/lineNumbers.test.d.ts +2 -0
- package/dist/__tests__/lineNumbers.test.d.ts.map +1 -0
- package/dist/__tests__/lineNumbers.test.js +304 -0
- package/dist/__tests__/lineNumbers.test.js.map +1 -0
- package/dist/__tests__/mathSizeMigration.test.js +2 -2
- package/dist/__tests__/mathSizeMigration.test.js.map +1 -1
- package/dist/__tests__/paragraphDropCap.test.d.ts +2 -0
- package/dist/__tests__/paragraphDropCap.test.d.ts.map +1 -0
- package/dist/__tests__/paragraphDropCap.test.js +442 -0
- package/dist/__tests__/paragraphDropCap.test.js.map +1 -0
- package/dist/__tests__/paragraphStyleIndent.test.js +26 -2
- package/dist/__tests__/paragraphStyleIndent.test.js.map +1 -1
- package/dist/__tests__/pipeline/bitmapResolution.test.d.ts +2 -0
- package/dist/__tests__/pipeline/bitmapResolution.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/bitmapResolution.test.js +139 -0
- package/dist/__tests__/pipeline/bitmapResolution.test.js.map +1 -0
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js.map +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js.map +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js.map +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js.map +1 -1
- package/dist/__tests__/pipeline/designTextTruncated.test.d.ts +2 -0
- package/dist/__tests__/pipeline/designTextTruncated.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/designTextTruncated.test.js +116 -0
- package/dist/__tests__/pipeline/designTextTruncated.test.js.map +1 -0
- package/dist/__tests__/pipeline/floatPlacement.test.js +3 -3
- package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
- package/dist/__tests__/pipeline/floatShrink.test.d.ts +2 -0
- package/dist/__tests__/pipeline/floatShrink.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/floatShrink.test.js +298 -0
- package/dist/__tests__/pipeline/floatShrink.test.js.map +1 -0
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js.map +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js.map +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js.map +1 -1
- package/dist/__tests__/pipeline/paragraphStyleFaces.test.js +7 -1
- package/dist/__tests__/pipeline/paragraphStyleFaces.test.js.map +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js.map +1 -1
- package/dist/__tests__/pipeline/textWrap.test.d.ts +2 -0
- package/dist/__tests__/pipeline/textWrap.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/textWrap.test.js +453 -0
- package/dist/__tests__/pipeline/textWrap.test.js.map +1 -0
- package/dist/__tests__/preflight.test.js +30 -1
- package/dist/__tests__/preflight.test.js.map +1 -1
- package/dist/__tests__/presets/showcaseDesignOverflow.test.d.ts +2 -0
- package/dist/__tests__/presets/showcaseDesignOverflow.test.d.ts.map +1 -0
- package/dist/__tests__/presets/showcaseDesignOverflow.test.js +58 -0
- package/dist/__tests__/presets/showcaseDesignOverflow.test.js.map +1 -0
- package/dist/__tests__/tabStops.test.d.ts +2 -0
- package/dist/__tests__/tabStops.test.d.ts.map +1 -0
- package/dist/__tests__/tabStops.test.js +394 -0
- package/dist/__tests__/tabStops.test.js.map +1 -0
- package/dist/__tests__/table/booktabs.test.d.ts +2 -0
- package/dist/__tests__/table/booktabs.test.d.ts.map +1 -0
- package/dist/__tests__/table/booktabs.test.js +290 -0
- package/dist/__tests__/table/booktabs.test.js.map +1 -0
- package/dist/__tests__/textWrapMeasure.test.d.ts +2 -0
- package/dist/__tests__/textWrapMeasure.test.d.ts.map +1 -0
- package/dist/__tests__/textWrapMeasure.test.js +162 -0
- package/dist/__tests__/textWrapMeasure.test.js.map +1 -0
- package/dist/__tests__/verseLines.test.d.ts +2 -0
- package/dist/__tests__/verseLines.test.d.ts.map +1 -0
- package/dist/__tests__/verseLines.test.js +505 -0
- package/dist/__tests__/verseLines.test.js.map +1 -0
- package/dist/bitmapResolution.d.ts +42 -0
- package/dist/bitmapResolution.d.ts.map +1 -0
- package/dist/bitmapResolution.js +82 -0
- package/dist/bitmapResolution.js.map +1 -0
- package/dist/bundle/codec.d.ts +9 -2
- package/dist/bundle/codec.d.ts.map +1 -1
- package/dist/bundle/codec.js +24 -2
- package/dist/bundle/codec.js.map +1 -1
- package/dist/bundle/configVersion.d.ts +119 -8
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +395 -6
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/index.d.ts +3 -3
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +2 -2
- package/dist/bundle/index.js.map +1 -1
- package/dist/bundle/manifest.d.ts +12 -2
- package/dist/bundle/manifest.d.ts.map +1 -1
- package/dist/bundle/manifest.js +132 -6
- package/dist/bundle/manifest.js.map +1 -1
- package/dist/bundle/types.d.ts +28 -2
- package/dist/bundle/types.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +45 -9
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +3 -0
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +15 -1
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/cjkMarks.js +1 -1
- package/dist/cjkMarks.js.map +1 -1
- package/dist/code/highlight.d.ts +34 -0
- package/dist/code/highlight.d.ts.map +1 -0
- package/dist/code/highlight.js +406 -0
- package/dist/code/highlight.js.map +1 -0
- package/dist/configWarnings.d.ts.map +1 -1
- package/dist/configWarnings.js +220 -4
- package/dist/configWarnings.js.map +1 -1
- package/dist/defaults/bodyText.d.ts.map +1 -1
- package/dist/defaults/bodyText.js +25 -0
- package/dist/defaults/bodyText.js.map +1 -1
- package/dist/defaults/calloutStyles.d.ts.map +1 -1
- package/dist/defaults/calloutStyles.js +7 -0
- package/dist/defaults/calloutStyles.js.map +1 -1
- package/dist/defaults/codeStyle.d.ts +29 -0
- package/dist/defaults/codeStyle.d.ts.map +1 -0
- package/dist/defaults/codeStyle.js +284 -0
- package/dist/defaults/codeStyle.js.map +1 -0
- package/dist/defaults/dropCap.d.ts +49 -0
- package/dist/defaults/dropCap.d.ts.map +1 -0
- package/dist/defaults/dropCap.js +66 -0
- package/dist/defaults/dropCap.js.map +1 -0
- package/dist/defaults/headerFooter.d.ts +21 -6
- package/dist/defaults/headerFooter.d.ts.map +1 -1
- package/dist/defaults/headerFooter.js +37 -14
- package/dist/defaults/headerFooter.js.map +1 -1
- package/dist/defaults/headings.d.ts +5 -4
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +26 -4
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +4 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +20 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/layout.d.ts +30 -1
- package/dist/defaults/layout.d.ts.map +1 -1
- package/dist/defaults/layout.js +105 -1
- package/dist/defaults/layout.js.map +1 -1
- package/dist/defaults/lineNumbers.d.ts +19 -0
- package/dist/defaults/lineNumbers.d.ts.map +1 -0
- package/dist/defaults/lineNumbers.js +101 -0
- package/dist/defaults/lineNumbers.js.map +1 -0
- package/dist/defaults/paragraphStyles.d.ts.map +1 -1
- package/dist/defaults/paragraphStyles.js +20 -0
- package/dist/defaults/paragraphStyles.js.map +1 -1
- package/dist/defaults/parts.js +4 -4
- package/dist/defaults/parts.js.map +1 -1
- package/dist/defaults/tabStops.d.ts +29 -0
- package/dist/defaults/tabStops.d.ts.map +1 -0
- package/dist/defaults/tabStops.js +94 -0
- package/dist/defaults/tabStops.js.map +1 -0
- package/dist/defaults/tableStyle.d.ts.map +1 -1
- package/dist/defaults/tableStyle.js +44 -0
- package/dist/defaults/tableStyle.js.map +1 -1
- package/dist/defaults/toc.js +2 -2
- package/dist/defaults/verse.d.ts +11 -0
- package/dist/defaults/verse.d.ts.map +1 -0
- package/dist/defaults/verse.js +57 -0
- package/dist/defaults/verse.js.map +1 -0
- package/dist/design/layout.d.ts +15 -1
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +28 -4
- package/dist/design/layout.js.map +1 -1
- package/dist/fonts/usage.d.ts +7 -0
- package/dist/fonts/usage.d.ts.map +1 -1
- package/dist/fonts/usage.js +71 -0
- package/dist/fonts/usage.js.map +1 -1
- package/dist/frontmatter.d.ts +20 -0
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +69 -3
- package/dist/frontmatter.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +107 -15
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +18 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/measure/bidiLines.d.ts +4 -3
- package/dist/measure/bidiLines.d.ts.map +1 -1
- package/dist/measure/bidiLines.js +14 -9
- package/dist/measure/bidiLines.js.map +1 -1
- package/dist/measure/cache.js +2 -2
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/cjkCompose.d.ts.map +1 -1
- package/dist/measure/cjkCompose.js +10 -6
- package/dist/measure/cjkCompose.js.map +1 -1
- package/dist/measure/hardBreaks.d.ts +46 -0
- package/dist/measure/hardBreaks.d.ts.map +1 -0
- package/dist/measure/hardBreaks.js +228 -0
- package/dist/measure/hardBreaks.js.map +1 -0
- package/dist/measure/index.d.ts +4 -3
- package/dist/measure/index.d.ts.map +1 -1
- package/dist/measure/index.js +5 -4
- package/dist/measure/index.js.map +1 -1
- package/dist/measure/leader.d.ts +20 -0
- package/dist/measure/leader.d.ts.map +1 -0
- package/dist/measure/leader.js +46 -0
- package/dist/measure/leader.js.map +1 -0
- package/dist/measure/links.js +1 -1
- package/dist/measure/links.js.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +23 -26
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/rich.d.ts +19 -0
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +215 -39
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/tabs.d.ts +103 -0
- package/dist/measure/tabs.d.ts.map +1 -0
- package/dist/measure/tabs.js +123 -0
- package/dist/measure/tabs.js.map +1 -0
- package/dist/measure/types.d.ts +72 -2
- package/dist/measure/types.d.ts.map +1 -1
- package/dist/measure/types.js +87 -3
- package/dist/measure/types.js.map +1 -1
- package/dist/parse/blockParser.d.ts +13 -6
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +457 -87
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/codeFence.d.ts +18 -0
- package/dist/parse/codeFence.d.ts.map +1 -0
- package/dist/parse/codeFence.js +52 -0
- package/dist/parse/codeFence.js.map +1 -0
- 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/indexMarks.d.ts +3 -1
- package/dist/parse/indexMarks.d.ts.map +1 -1
- package/dist/parse/indexMarks.js +22 -2
- package/dist/parse/indexMarks.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts +50 -0
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +94 -0
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/sourceMapping.d.ts.map +1 -1
- package/dist/parse/sourceMapping.js +65 -1
- package/dist/parse/sourceMapping.js.map +1 -1
- package/dist/parse/types.d.ts +144 -9
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +629 -47
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts +5 -0
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +74 -2
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildHelpers.d.ts +3 -0
- package/dist/pipeline/buildHelpers.d.ts.map +1 -1
- package/dist/pipeline/buildHelpers.js +7 -2
- package/dist/pipeline/buildHelpers.js.map +1 -1
- package/dist/pipeline/buildMeasurement.js +1 -1
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +33 -2
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/chips.d.ts.map +1 -1
- package/dist/pipeline/chips.js +4 -0
- package/dist/pipeline/chips.js.map +1 -1
- package/dist/pipeline/codeBlocks.d.ts +38 -0
- package/dist/pipeline/codeBlocks.d.ts.map +1 -0
- package/dist/pipeline/codeBlocks.js +146 -0
- package/dist/pipeline/codeBlocks.js.map +1 -0
- package/dist/pipeline/codeInline.d.ts +22 -0
- package/dist/pipeline/codeInline.d.ts.map +1 -0
- package/dist/pipeline/codeInline.js +93 -0
- package/dist/pipeline/codeInline.js.map +1 -0
- package/dist/pipeline/codeLines.d.ts +91 -0
- package/dist/pipeline/codeLines.d.ts.map +1 -0
- package/dist/pipeline/codeLines.js +399 -0
- package/dist/pipeline/codeLines.js.map +1 -0
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +5 -0
- package/dist/pipeline/columnBalancing.js.map +1 -1
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +8 -1
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts +25 -0
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +173 -19
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/continuation.d.ts.map +1 -1
- package/dist/pipeline/continuation.js +9 -2
- package/dist/pipeline/continuation.js.map +1 -1
- package/dist/pipeline/dropCap.d.ts +128 -0
- package/dist/pipeline/dropCap.d.ts.map +1 -0
- package/dist/pipeline/dropCap.js +412 -0
- package/dist/pipeline/dropCap.js.map +1 -0
- package/dist/pipeline/floatPlacement.d.ts +34 -4
- package/dist/pipeline/floatPlacement.d.ts.map +1 -1
- package/dist/pipeline/floatPlacement.js +35 -5
- package/dist/pipeline/floatPlacement.js.map +1 -1
- package/dist/pipeline/floatSlots.d.ts +7 -0
- package/dist/pipeline/floatSlots.d.ts.map +1 -1
- package/dist/pipeline/floatSlots.js.map +1 -1
- package/dist/pipeline/hardBreaks.d.ts +19 -0
- package/dist/pipeline/hardBreaks.d.ts.map +1 -0
- package/dist/pipeline/hardBreaks.js +36 -0
- package/dist/pipeline/hardBreaks.js.map +1 -0
- package/dist/pipeline/headerFooter.d.ts +4 -1
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +23 -6
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/lineNumbers.d.ts +37 -0
- package/dist/pipeline/lineNumbers.d.ts.map +1 -0
- package/dist/pipeline/lineNumbers.js +441 -0
- package/dist/pipeline/lineNumbers.js.map +1 -0
- package/dist/pipeline/measureContentBlock.d.ts +38 -5
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +284 -69
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/partPalette.d.ts +1 -1
- package/dist/pipeline/partPalette.d.ts.map +1 -1
- package/dist/pipeline/partPalette.js +24 -2
- package/dist/pipeline/partPalette.js.map +1 -1
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +7 -0
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +15 -0
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +95 -15
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/styles.d.ts +18 -2
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +23 -8
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/pipeline/tabs.d.ts +35 -0
- package/dist/pipeline/tabs.d.ts.map +1 -0
- package/dist/pipeline/tabs.js +99 -0
- package/dist/pipeline/tabs.js.map +1 -0
- package/dist/pipeline/textWrap.d.ts +94 -0
- package/dist/pipeline/textWrap.d.ts.map +1 -0
- package/dist/pipeline/textWrap.js +188 -0
- package/dist/pipeline/textWrap.js.map +1 -0
- package/dist/pipeline/toc.d.ts.map +1 -1
- package/dist/pipeline/toc.js +3 -38
- package/dist/pipeline/toc.js.map +1 -1
- package/dist/pipeline/verseLines.d.ts +98 -0
- package/dist/pipeline/verseLines.d.ts.map +1 -0
- package/dist/pipeline/verseLines.js +293 -0
- package/dist/pipeline/verseLines.js.map +1 -0
- package/dist/preflight.d.ts +46 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +43 -7
- package/dist/preflight.js.map +1 -1
- package/dist/table/booktabs.d.ts +37 -0
- package/dist/table/booktabs.d.ts.map +1 -0
- package/dist/table/booktabs.js +82 -0
- package/dist/table/booktabs.js.map +1 -0
- package/dist/types.d.ts +787 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +367 -9
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +9 -2
- package/dist/vdt.js.map +1 -1
- package/dist/word/docxRead.d.ts.map +1 -1
- package/dist/word/docxRead.js +15 -0
- package/dist/word/docxRead.js.map +1 -1
- package/dist/word/index.d.ts +1 -1
- package/dist/word/index.d.ts.map +1 -1
- package/dist/word/index.js +1 -1
- package/dist/word/index.js.map +1 -1
- package/dist/word/inline.d.ts +6 -1
- package/dist/word/inline.d.ts.map +1 -1
- package/dist/word/inline.js +35 -1
- package/dist/word/inline.js.map +1 -1
- package/dist/word/model.d.ts +14 -0
- package/dist/word/model.d.ts.map +1 -1
- package/dist/word/model.js.map +1 -1
- package/dist/word/template.d.ts +12 -3
- package/dist/word/template.d.ts.map +1 -1
- package/dist/word/template.js +13 -3
- package/dist/word/template.js.map +1 -1
- package/dist/word/toDocx.d.ts.map +1 -1
- package/dist/word/toDocx.js +52 -8
- package/dist/word/toDocx.js.map +1 -1
- package/dist/word/toMarkdown.d.ts +15 -1
- package/dist/word/toMarkdown.d.ts.map +1 -1
- package/dist/word/toMarkdown.js +133 -7
- package/dist/word/toMarkdown.js.map +1 -1
- package/dist/word/word.test.js +124 -2
- package/dist/word/word.test.js.map +1 -1
- package/dist/worker/fonts.d.ts +2 -1
- package/dist/worker/fonts.d.ts.map +1 -1
- package/dist/worker/fonts.js +6 -2
- package/dist/worker/fonts.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/measure/plain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/measure/plain.ts"],"names":[],"mappings":"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"}
|
package/dist/measure/rich.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type TabLeaderPlacement, type TabStopPx } from './tabs';
|
|
2
|
+
import type { TabStopAlign } from '../types';
|
|
1
3
|
import type { VDTAnnotationRun, VDTChip, VDTLine, VDTLineSegment, VDTSegmentMarks } from '../vdt';
|
|
2
4
|
import type { MathRender } from '../math/types';
|
|
3
5
|
import type { InlineSpan } from '../parse';
|
|
@@ -130,6 +132,20 @@ export interface RichToken {
|
|
|
130
132
|
/** How far kashidas may widen this word, px: its box's stretch in
|
|
131
133
|
* Knuth–Plass (`measure/kashida.ts`). Absent on any other token. */
|
|
132
134
|
kashida?: number;
|
|
135
|
+
/** A tab (#622, `InlineSpan.tab`): a `space` token whose width the line
|
|
136
|
+
* breaker sets where its line has got to (`measure/tabs.ts`); `stop` is
|
|
137
|
+
* the one-off stop of `:tab{at=…}`. Never skipped at a line's start nor
|
|
138
|
+
* trimmed at its end. */
|
|
139
|
+
tab?: {
|
|
140
|
+
stop?: TabStopPx;
|
|
141
|
+
};
|
|
142
|
+
/** A tab placed at its stop: the stop (see `VDTLineSegment.tab`) and its
|
|
143
|
+
* leader (see {@link setTabbedLine}). */
|
|
144
|
+
tabPlaced?: {
|
|
145
|
+
align: TabStopAlign;
|
|
146
|
+
at: number;
|
|
147
|
+
};
|
|
148
|
+
tabLeader?: TabLeaderPlacement;
|
|
133
149
|
}
|
|
134
150
|
/** Whether a resolved swatch colour can fill the square: a six- or
|
|
135
151
|
* eight-digit hex (`#rrggbb`, `#rrggbbaa`) or an `rgb()` / `rgba()`
|
|
@@ -325,4 +341,7 @@ export declare function measureRichBlock(spans: InlineSpan[], normalFont: string
|
|
|
325
341
|
* its parser drops such a paragraph too.
|
|
326
342
|
*/
|
|
327
343
|
export declare function measureRichSnippet(spans: InlineSpan[], normalFont: string, boldFont: string, italicFont: string, boldItalicFont: string, maxWidthPx: number, lineHeightPx: number, options?: MeasureBlockOptions): MeasuredBlock;
|
|
344
|
+
/** `spans` with their tabs (#622) set as word spaces: vertical text, and a
|
|
345
|
+
* paragraph the CJK composer sets for its ruby, warichu or kanbun marks. */
|
|
346
|
+
export declare function tabsAsSpaces(spans: readonly InlineSpan[]): InlineSpan[];
|
|
328
347
|
//# sourceMappingURL=rich.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich.d.ts","sourceRoot":"","sources":["../../src/measure/rich.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rich.d.ts","sourceRoot":"","sources":["../../src/measure/rich.ts"],"names":[],"mappings":"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"}
|
package/dist/measure/rich.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { FORCED_BREAK, measureForcedBreaks } from './hardBreaks';
|
|
2
|
+
import { placeTab } from './tabs';
|
|
1
3
|
import { uprightArabicSpans, uprightFace } from '../uprightArabic';
|
|
2
4
|
import { createBoundingBox } from '../vdt';
|
|
3
5
|
import { hyphenateText, withoutSlashJoints } from '../hyphenate';
|
|
4
6
|
import { richTokensToItems, computeBreakpoints, reconstructRichLines, } from '../knuthPlass';
|
|
5
7
|
import { SOFT_HYPHEN } from './types';
|
|
6
|
-
import {
|
|
8
|
+
import { lineStartAt, lineWidthAt, lineWidthFunction, markInsetLines, uniformMeasureFrom } from './types';
|
|
7
9
|
import { cleanSoftHyphens, measureTextWidth, normalSpaceWidthFor } from './canvas';
|
|
8
10
|
import { isRuntLastLine } from './runts';
|
|
9
11
|
import { computeJustifiedSpaceRatio, hasOverfullLine } from './plain';
|
|
@@ -188,7 +190,9 @@ export function expandSmallCaps(lines, normalFont, boldFont, italicFont, boldIta
|
|
|
188
190
|
const segs = line.segments;
|
|
189
191
|
if (!segs || !segs.some((s) => s.smallCaps))
|
|
190
192
|
continue;
|
|
191
|
-
|
|
193
|
+
// A leader (#622) is no text of the line.
|
|
194
|
+
const spelled = (list) => list.filter((s) => !s.leader).map((s) => s.text).join('');
|
|
195
|
+
const before = spelled(segs);
|
|
192
196
|
const out = [];
|
|
193
197
|
for (const seg of segs) {
|
|
194
198
|
if (!seg.smallCaps) {
|
|
@@ -225,7 +229,7 @@ export function expandSmallCaps(lines, normalFont, boldFont, italicFont, boldIta
|
|
|
225
229
|
}
|
|
226
230
|
line.segments = out;
|
|
227
231
|
if (line.text === before)
|
|
228
|
-
line.text = out
|
|
232
|
+
line.text = spelled(out);
|
|
229
233
|
}
|
|
230
234
|
}
|
|
231
235
|
/** The text band of a chip box around the baseline, as fractions of the
|
|
@@ -353,7 +357,8 @@ const TRAILING_NO_BREAK_RE = new RegExp(`[${NO_BREAK_SPACES}]+$`);
|
|
|
353
357
|
function applyChipGaps(tokens, noBreakWidth) {
|
|
354
358
|
for (let i = 0; i < tokens.length; i++) {
|
|
355
359
|
const space = tokens[i];
|
|
356
|
-
|
|
360
|
+
// A tab makes its own room (#622).
|
|
361
|
+
if (space.kind !== 'space' || space.tab)
|
|
357
362
|
continue;
|
|
358
363
|
const left = tokens[i - 1]?.chip ? tokens[i - 1] : undefined;
|
|
359
364
|
const right = tokens[i + 1]?.chip ? tokens[i + 1] : undefined;
|
|
@@ -894,7 +899,7 @@ export function tokenSegment(t) {
|
|
|
894
899
|
...(t.refResourceId !== undefined ? { refResourceId: t.refResourceId, ...(t.refAnchor ? { refAnchor: true } : {}), ...(t.refPageIndex !== undefined ? { refPageIndex: t.refPageIndex } : {}) } : {}),
|
|
895
900
|
...(t.footnoteId !== undefined ? { footnoteId: t.footnoteId } : {}),
|
|
896
901
|
...(t.captionLabel ? { captionLabel: true } : {}),
|
|
897
|
-
...(t.labelTab ? { labelTab: true } : {}),
|
|
902
|
+
...(t.labelTab || t.tab ? { labelTab: true } : {}),
|
|
898
903
|
...(t.script ? { script: t.script, fontString: t.scriptFont, baselineShift: t.baselineShift } : {}),
|
|
899
904
|
...(t.markerFont && !t.script ? { fontString: t.markerFont } : {}),
|
|
900
905
|
...(t.sideRuns ? { sideMarker: { runs: t.sideRuns } } : {}),
|
|
@@ -979,6 +984,16 @@ bidi) {
|
|
|
979
984
|
for (const span of spans) {
|
|
980
985
|
const spanBase = spanStart;
|
|
981
986
|
spanStart += span.text.length;
|
|
987
|
+
// A tab (#622): its width is set where its line gets to it.
|
|
988
|
+
// Tab characters in a row are one character of the text that goes on
|
|
989
|
+
// that many stops: the later ones have no text.
|
|
990
|
+
if (span.tab) {
|
|
991
|
+
const tab = span.tab.px ? { stop: span.tab.px } : {};
|
|
992
|
+
for (let k = 0; k < Math.max(1, span.tab.count ?? 1); k++) {
|
|
993
|
+
tokens.push({ text: k === 0 ? span.text : '', bold: span.bold, italic: span.italic, kind: 'space', width: 0, tab });
|
|
994
|
+
}
|
|
995
|
+
continue;
|
|
996
|
+
}
|
|
982
997
|
const atomic = atomicSpanToken(span, normalFont, boldFont, italicFont, boldItalicFont, letterSpacingPx);
|
|
983
998
|
if (atomic) {
|
|
984
999
|
tokens.push(atomic);
|
|
@@ -1387,6 +1402,15 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1387
1402
|
const opts = options;
|
|
1388
1403
|
return withMeasureWritingMode(opts.writingMode, () => measureRichText(spans, plainText, normalFont, boldFont, italicFont, boldItalicFont, maxWidthPx, lineHeightPx, opts));
|
|
1389
1404
|
}
|
|
1405
|
+
// Forced line breaks (#620): the text between two of them is broken on
|
|
1406
|
+
// its own, by whichever breaker sets it, and the pieces stacked
|
|
1407
|
+
// (`measure/hardBreaks.ts`).
|
|
1408
|
+
if (plainText.includes(FORCED_BREAK)) {
|
|
1409
|
+
return measureForcedBreaks(spans, maxWidthPx, lineHeightPx, options, (piece, opts) => measureRichText(piece, piece.map((s) => s.text).join(''), normalFont, boldFont, italicFont, boldItalicFont, maxWidthPx, lineHeightPx, opts));
|
|
1410
|
+
}
|
|
1411
|
+
// Tabs (#622) are word spaces in vertical text.
|
|
1412
|
+
if (measuringVertically() && spans.some((sp) => sp.tab))
|
|
1413
|
+
spans = tabsAsSpaces(spans);
|
|
1390
1414
|
// Vertical text: a short number inside a Latin sentence runs sideways
|
|
1391
1415
|
// with it, read against the whole paragraph (#222).
|
|
1392
1416
|
if (measuringVertically())
|
|
@@ -1402,13 +1426,19 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1402
1426
|
// #195, #430), which the composer alone lays out.
|
|
1403
1427
|
// The paragraph is looked at for CJK text once (`cjkText`); a Latin one
|
|
1404
1428
|
// then never looks into its words.
|
|
1429
|
+
// A paragraph with a tab (#622) is set by the line breaker below, which
|
|
1430
|
+
// breaks Chinese and Japanese words between their characters under the
|
|
1431
|
+
// document's rules; one with ruby, a warichu note or kanbun marks keeps
|
|
1432
|
+
// the composer, its tabs set as word spaces.
|
|
1405
1433
|
const cjkText = hasCJK(plainText);
|
|
1406
|
-
|
|
1407
|
-
|
|
1434
|
+
const annotated = spans.some((s) => s.ruby || s.warichu || s.kunten);
|
|
1435
|
+
const hasTabs = spans.some((s) => s.tab);
|
|
1436
|
+
if ((cjkText && composesAsCjk(plainText) && !hasTabs) || annotated) {
|
|
1437
|
+
return composeCjkParagraph(hasTabs ? tabsAsSpaces(spans) : spans, normalFont, boldFont, italicFont, boldItalicFont, maxWidthPx, lineHeightPx, options);
|
|
1408
1438
|
}
|
|
1409
1439
|
const shouldHyphenate = options?.hyphenate ?? false;
|
|
1410
|
-
|
|
1411
|
-
const
|
|
1440
|
+
// Each line's start: its indent past its inset beside a picture (#627).
|
|
1441
|
+
const indentOf = (li) => lineStartAt(options, li);
|
|
1412
1442
|
const textAlign = options?.textAlign ?? 'left';
|
|
1413
1443
|
const letterSpacingPx = options?.letterSpacingPx ?? 0;
|
|
1414
1444
|
const hyphenationZonePx = shouldHyphenate ? options?.hyphenationZonePx : undefined;
|
|
@@ -1436,8 +1466,7 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1436
1466
|
if (!kashida)
|
|
1437
1467
|
return;
|
|
1438
1468
|
justifyLinesWithKashida(lines, (li) => {
|
|
1439
|
-
|
|
1440
|
-
return lineMeasure(maxWidthPx, options?.restWidths, li) - indent;
|
|
1469
|
+
return lineWidthAt(maxWidthPx, options, li);
|
|
1441
1470
|
}, normalSpaceWidth, kashida, (seg, text) => textWidth(text, fontOf(seg), false));
|
|
1442
1471
|
};
|
|
1443
1472
|
// Knuth-Plass optimal line breaking path. A Latin paragraph quoting CJK
|
|
@@ -1446,25 +1475,16 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1446
1475
|
// it too with `optimalRagged`: its word spaces keep their width and each
|
|
1447
1476
|
// line gets the ragged stretch instead.
|
|
1448
1477
|
const ragged = textAlign !== 'justify';
|
|
1449
|
-
|
|
1478
|
+
// A paragraph that holds a tab is set line by line (#622): a tab's width
|
|
1479
|
+
// depends on where its line starts.
|
|
1480
|
+
if (options?.optimal && (!ragged || options.optimalRagged) && !hasTabs) {
|
|
1450
1481
|
const maxStretchRatio = ragged ? 1 : options.maxStretchRatio ?? 1.5;
|
|
1451
1482
|
const minShrinkRatio = ragged ? 1 : options.minShrinkRatio ?? 0.8;
|
|
1452
1483
|
// The runt threshold counts word spaces on ragged text too.
|
|
1453
1484
|
const spaceWidth = ragged ? normalSpaceWidthFor(normalFont) + letterSpacingPx : normalSpaceWidth;
|
|
1454
1485
|
const items = richTokensToItems(tokens, spaceWidth, maxStretchRatio, minShrinkRatio, repeatHyphen);
|
|
1455
|
-
const lineWidthFn = (
|
|
1456
|
-
|
|
1457
|
-
const indent = indentPx > 0
|
|
1458
|
-
? (hanging ? (isFirst ? 0 : indentPx) : (isFirst ? indentPx : 0))
|
|
1459
|
-
: 0;
|
|
1460
|
-
return lineMeasure(maxWidthPx, options.restWidths, li) - indent;
|
|
1461
|
-
};
|
|
1462
|
-
const lineIndentFn = (li) => {
|
|
1463
|
-
const isFirst = li === 0;
|
|
1464
|
-
return indentPx > 0
|
|
1465
|
-
? (hanging ? (isFirst ? 0 : indentPx) : (isFirst ? indentPx : 0))
|
|
1466
|
-
: 0;
|
|
1467
|
-
};
|
|
1486
|
+
const lineWidthFn = lineWidthFunction(maxWidthPx, options);
|
|
1487
|
+
const lineIndentFn = indentOf;
|
|
1468
1488
|
const runtPenalty = options.runtPenalty ?? 0;
|
|
1469
1489
|
const runtMinWidth = runtPenalty > 0
|
|
1470
1490
|
? (options.runtMinCharacters ?? 0) * spaceWidth
|
|
@@ -1481,7 +1501,7 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1481
1501
|
...(options.avoidHyphenAtLines ? { avoidHyphenAtLines: options.avoidHyphenAtLines } : {}),
|
|
1482
1502
|
...(options.keepBreaks?.path === 'rich' ? { fixedBreaks: options.keepBreaks.at } : {}),
|
|
1483
1503
|
looseness: options.looseness ?? 0,
|
|
1484
|
-
lineWidthUniformFrom: uniformMeasureFrom(options.restWidths),
|
|
1504
|
+
lineWidthUniformFrom: uniformMeasureFrom(options.restWidths, options.lineIndentsPx, options.lineInsets),
|
|
1485
1505
|
trackingPerChar,
|
|
1486
1506
|
...(ragged ? { raggedStretch: raggedStretchPx(normalFont) } : {}),
|
|
1487
1507
|
...(ragged && hyphenationZonePx !== undefined ? { hyphenationZone: hyphenationZonePx } : {}),
|
|
@@ -1496,6 +1516,7 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1496
1516
|
if (languages.length > 0)
|
|
1497
1517
|
applySegmentLanguages(kpLines, plainText, languages);
|
|
1498
1518
|
withKashida(kpLines);
|
|
1519
|
+
markInsetLines(kpLines, maxWidthPx, options);
|
|
1499
1520
|
return {
|
|
1500
1521
|
lines: kpLines,
|
|
1501
1522
|
totalHeight: kpLines.length * lineHeightPx,
|
|
@@ -1517,12 +1538,15 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1517
1538
|
// The line before broke after a compound's hyphen, which this one repeats
|
|
1518
1539
|
// (`repeatHyphen`).
|
|
1519
1540
|
let repeatPending = false;
|
|
1541
|
+
// Tabs (#622): a leader is measured in the paragraph's face, tracked as
|
|
1542
|
+
// its words are; a tab past the last stop is a word space.
|
|
1543
|
+
const leaderWidth = (text) => measureTextWidth(text, normalFont) + (letterSpacingPx === 0 ? 0 : letterSpacingPx * graphemeCount(text));
|
|
1544
|
+
const tabSpaceWidth = hasTabs ? normalSpaceWidthFor(normalFont) + letterSpacingPx : 0;
|
|
1545
|
+
// A word space a line may start or end at (a tab is none).
|
|
1546
|
+
const isBreakSpace = (t) => t.kind === 'space' && !t.tab;
|
|
1520
1547
|
while (tokenIdx < tokens.length) {
|
|
1521
|
-
const
|
|
1522
|
-
const
|
|
1523
|
-
? (hanging ? (isFirstLine ? 0 : indentPx) : (isFirstLine ? indentPx : 0))
|
|
1524
|
-
: 0;
|
|
1525
|
-
const lineMaxWidth = lineMeasure(maxWidthPx, options?.restWidths, lineIndex) - lineIndent;
|
|
1548
|
+
const lineIndent = indentOf(lineIndex);
|
|
1549
|
+
const lineMaxWidth = lineWidthAt(maxWidthPx, options, lineIndex);
|
|
1526
1550
|
const lineTokens = [];
|
|
1527
1551
|
let lineWidth = 0;
|
|
1528
1552
|
let lineHyphenated = false;
|
|
@@ -1531,8 +1555,10 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1531
1555
|
let lineHardHyphen = false;
|
|
1532
1556
|
// A word of a joining script wider than the line runs past it.
|
|
1533
1557
|
let lineWordOverflow = false;
|
|
1558
|
+
// The line holds a tab placed at a stop (#622).
|
|
1559
|
+
let lineTabbed = false;
|
|
1534
1560
|
// Consume leading spaces at line start (skip them)
|
|
1535
|
-
while (tokenIdx < tokens.length && tokens[tokenIdx]
|
|
1561
|
+
while (tokenIdx < tokens.length && isBreakSpace(tokens[tokenIdx])) {
|
|
1536
1562
|
tokenIdx++;
|
|
1537
1563
|
}
|
|
1538
1564
|
// The compound's hyphen, repeated: the tail it broke from opens the
|
|
@@ -1545,10 +1571,63 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1545
1571
|
repeatPending = false;
|
|
1546
1572
|
// This line ends after a compound's hyphen the next one repeats.
|
|
1547
1573
|
let lineRepeatNext = false;
|
|
1574
|
+
// Tabs (#622): the stop the line's last tab took, and that tab's place
|
|
1575
|
+
// among the line's tokens.
|
|
1576
|
+
let tabUsedPos = -Infinity;
|
|
1577
|
+
let lastTabAt = -1;
|
|
1548
1578
|
// Greedy: add tokens until we overflow
|
|
1549
1579
|
while (tokenIdx < tokens.length) {
|
|
1550
|
-
|
|
1551
|
-
if (
|
|
1580
|
+
let token = tokens[tokenIdx];
|
|
1581
|
+
if (token.tab) {
|
|
1582
|
+
const x = lineIndent + lineWidth;
|
|
1583
|
+
const placement = placeTab(x, tabRun(tokens, tokenIdx, normalFont, boldFont, italicFont, boldItalicFont, letterSpacingPx), { start: lineIndent, end: lineIndent + lineMaxWidth, measure: maxWidthPx, usedPos: tabUsedPos }, options?.tabs, token.tab.stop, leaderWidth);
|
|
1584
|
+
if (placement.kind === 'stop' || (placement.kind === 'overrun' && !lineTokens.some((t) => t.kind !== 'space'))) {
|
|
1585
|
+
// At its stop; or opening its line with no stop the text after
|
|
1586
|
+
// it fits: it takes no room.
|
|
1587
|
+
const width = placement.kind === 'stop' ? placement.width : 0;
|
|
1588
|
+
lineTokens.push({
|
|
1589
|
+
...token,
|
|
1590
|
+
width,
|
|
1591
|
+
tabPlaced: placement.kind === 'stop' ? { align: placement.align, at: placement.pos } : { align: 'start', at: x },
|
|
1592
|
+
...(placement.kind === 'stop' && placement.leader ? { tabLeader: placement.leader } : {}),
|
|
1593
|
+
});
|
|
1594
|
+
lineWidth += width;
|
|
1595
|
+
tokenIdx++;
|
|
1596
|
+
if (placement.kind === 'stop')
|
|
1597
|
+
tabUsedPos = placement.pos;
|
|
1598
|
+
lastTabAt = lineTokens.length - 1;
|
|
1599
|
+
lineTabbed = true;
|
|
1600
|
+
continue;
|
|
1601
|
+
}
|
|
1602
|
+
if (placement.kind === 'overrun') {
|
|
1603
|
+
// An end, centre or decimal stop the text before it has passed
|
|
1604
|
+
// takes that text's last word down with it; a start stop breaks
|
|
1605
|
+
// the line before the tab.
|
|
1606
|
+
if (placement.align !== 'start') {
|
|
1607
|
+
let k = lineTokens.length - 1;
|
|
1608
|
+
while (k > lastTabAt + 1 && !(lineTokens[k].kind === 'space' && !lineTokens[k].tab))
|
|
1609
|
+
k--;
|
|
1610
|
+
if (k > lastTabAt + 1 && lineTokens.slice(lastTabAt + 1, k).some((t) => t.kind !== 'space')) {
|
|
1611
|
+
tokenIdx -= lineTokens.length - k;
|
|
1612
|
+
while (lineTokens.length > k)
|
|
1613
|
+
lineWidth -= lineTokens.pop().width;
|
|
1614
|
+
}
|
|
1615
|
+
}
|
|
1616
|
+
break;
|
|
1617
|
+
}
|
|
1618
|
+
// Past the last stop with no default stops: a word space, none at
|
|
1619
|
+
// the line's start.
|
|
1620
|
+
if (!lineTokens.some((t) => t.kind !== 'space')) {
|
|
1621
|
+
tokenIdx++;
|
|
1622
|
+
continue;
|
|
1623
|
+
}
|
|
1624
|
+
const { tab: _tab, ...space } = token;
|
|
1625
|
+
void _tab;
|
|
1626
|
+
token = { ...space, width: tabSpaceWidth, labelTab: 'gap' };
|
|
1627
|
+
}
|
|
1628
|
+
// The text a tab sent to its stop fits as measured: rounding in the
|
|
1629
|
+
// sums is no overflow (#622).
|
|
1630
|
+
if (lineWidth + token.width <= lineMaxWidth + (lineTabbed ? 0.01 : 0)) {
|
|
1552
1631
|
lineTokens.push(token);
|
|
1553
1632
|
lineWidth += token.width;
|
|
1554
1633
|
tokenIdx++;
|
|
@@ -1715,23 +1794,27 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1715
1794
|
break;
|
|
1716
1795
|
syllableRun = lineSyllable ? syllableRun + 1 : 0;
|
|
1717
1796
|
repeatPending = lineRepeatNext;
|
|
1718
|
-
// Trim trailing spaces from line tokens
|
|
1719
|
-
|
|
1797
|
+
// Trim trailing spaces from line tokens (a tab stays: a rule to the
|
|
1798
|
+
// line's end is a form's blank)
|
|
1799
|
+
while (lineTokens.length > 0 && isBreakSpace(lineTokens[lineTokens.length - 1])) {
|
|
1720
1800
|
lineWidth -= lineTokens[lineTokens.length - 1].width;
|
|
1721
1801
|
lineTokens.pop();
|
|
1722
1802
|
}
|
|
1723
1803
|
// Check if this is the last line
|
|
1724
1804
|
// Skip remaining leading spaces to check if there's more content
|
|
1725
1805
|
let peekIdx = tokenIdx;
|
|
1726
|
-
while (peekIdx < tokens.length && tokens[peekIdx]
|
|
1806
|
+
while (peekIdx < tokens.length && isBreakSpace(tokens[peekIdx])) {
|
|
1727
1807
|
peekIdx++;
|
|
1728
1808
|
}
|
|
1729
1809
|
const isLastLine = peekIdx >= tokens.length;
|
|
1730
1810
|
// Build segments for justified rendering
|
|
1731
|
-
|
|
1811
|
+
let segments = trimChipLineEdges(lineTokens.map(tokenSegment));
|
|
1812
|
+
if (lineTabbed)
|
|
1813
|
+
segments = setTabbedLine(segments, lineTokens, lineMaxWidth, textAlign, isLastLine);
|
|
1732
1814
|
const lineText = lineTokens.map((t) => cleanSoftHyphens(t.text)).join('');
|
|
1733
1815
|
const contentWidth = segments.reduce((sum, t) => sum + t.width, 0);
|
|
1734
|
-
|
|
1816
|
+
// A tabbed line is set as measured: its widths are final.
|
|
1817
|
+
const justifiedSpaceRatio = lineTabbed ? undefined : computeJustifiedSpaceRatio(segments, lineMaxWidth, normalSpaceWidth, textAlign, isLastLine);
|
|
1735
1818
|
lines.push({
|
|
1736
1819
|
text: lineText,
|
|
1737
1820
|
bbox: createBoundingBox(lineIndent, y, contentWidth, lineHeightPx),
|
|
@@ -1743,6 +1826,7 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1743
1826
|
isLastLine,
|
|
1744
1827
|
...(justifiedSpaceRatio !== undefined ? { justifiedSpaceRatio } : {}),
|
|
1745
1828
|
...(lineWordOverflow ? { wordOverflow: true } : {}),
|
|
1829
|
+
...(lineTabbed ? { tabbed: true, ...(textAlign === 'justify' ? { ragged: true } : {}) } : {}),
|
|
1746
1830
|
});
|
|
1747
1831
|
y += lineHeightPx;
|
|
1748
1832
|
lineIndex++;
|
|
@@ -1754,8 +1838,100 @@ function measureRichText(spans, plainText, normalFont, boldFont, italicFont, bol
|
|
|
1754
1838
|
if (languages.length > 0)
|
|
1755
1839
|
applySegmentLanguages(lines, plainText, languages);
|
|
1756
1840
|
withKashida(lines);
|
|
1841
|
+
markInsetLines(lines, maxWidthPx, options);
|
|
1757
1842
|
return { lines, totalHeight: y };
|
|
1758
1843
|
}
|
|
1844
|
+
/** The text a tab at `at` sends to its stop (#622): the tokens after it up
|
|
1845
|
+
* to the next tab or the paragraph's end, spaces at either end left out. */
|
|
1846
|
+
function tabRun(tokens, at, normalFont, boldFont, italicFont, boldItalicFont, letterSpacingPx) {
|
|
1847
|
+
let from = at + 1;
|
|
1848
|
+
while (from < tokens.length && tokens[from].kind === 'space' && !tokens[from].tab)
|
|
1849
|
+
from++;
|
|
1850
|
+
let to = from;
|
|
1851
|
+
while (to < tokens.length && !tokens[to].tab)
|
|
1852
|
+
to++;
|
|
1853
|
+
while (to > from && tokens[to - 1].kind === 'space')
|
|
1854
|
+
to--;
|
|
1855
|
+
let width = 0;
|
|
1856
|
+
for (let k = from; k < to; k++)
|
|
1857
|
+
width += tokens[k].width;
|
|
1858
|
+
return {
|
|
1859
|
+
width,
|
|
1860
|
+
decimalWidth: (char) => {
|
|
1861
|
+
if (char.length === 0)
|
|
1862
|
+
return undefined;
|
|
1863
|
+
let before = 0;
|
|
1864
|
+
for (let k = from; k < to; k++) {
|
|
1865
|
+
const t = tokens[k];
|
|
1866
|
+
const idx = t.kind === 'text' && !t.mathRender && !t.chip && !t.swatch ? t.text.indexOf(char) : -1;
|
|
1867
|
+
if (idx >= 0) {
|
|
1868
|
+
const head = cleanSoftHyphens(t.text.slice(0, idx));
|
|
1869
|
+
const font = tokenFont(t, normalFont, boldFont, italicFont, boldItalicFont);
|
|
1870
|
+
return before + textWidth(head, font, t.smallCaps) + (letterSpacingPx === 0 ? 0 : wordLetterSpacing(head, letterSpacingPx) * graphemeCount(head));
|
|
1871
|
+
}
|
|
1872
|
+
before += t.width;
|
|
1873
|
+
}
|
|
1874
|
+
return undefined;
|
|
1875
|
+
},
|
|
1876
|
+
};
|
|
1877
|
+
}
|
|
1878
|
+
/**
|
|
1879
|
+
* The segments of a line holding a tab at its stop (#622): each tab with a
|
|
1880
|
+
* leader becomes the tab's space up to the leader, the leader (`leader`,
|
|
1881
|
+
* no character of the text) and the gap after it (an empty space). In a
|
|
1882
|
+
* justified paragraph the word spaces after the line's last tab take the
|
|
1883
|
+
* slack, the line not being the paragraph's last (the renderers set the
|
|
1884
|
+
* line as it is: it is `ragged`); in a centred or right-aligned one an empty
|
|
1885
|
+
* space fills the line to its measure, so it is set from its start side as
|
|
1886
|
+
* its stops are.
|
|
1887
|
+
*/
|
|
1888
|
+
function setTabbedLine(segments, lineTokens, lineMaxWidth, textAlign, isLastLine) {
|
|
1889
|
+
const out = [];
|
|
1890
|
+
let lastTab = -1;
|
|
1891
|
+
segments.forEach((seg, i) => {
|
|
1892
|
+
const token = lineTokens[i];
|
|
1893
|
+
if (token?.tab)
|
|
1894
|
+
lastTab = out.length;
|
|
1895
|
+
const placed = token?.tabPlaced;
|
|
1896
|
+
const leader = token?.tabLeader;
|
|
1897
|
+
const tabSeg = placed ? { ...seg, tab: { align: placed.align, at: placed.at } } : seg;
|
|
1898
|
+
if (!token?.tab || !leader) {
|
|
1899
|
+
out.push(tabSeg);
|
|
1900
|
+
return;
|
|
1901
|
+
}
|
|
1902
|
+
out.push({ ...tabSeg, width: Math.max(0, leader.end - leader.width) });
|
|
1903
|
+
out.push({ kind: 'text', text: leader.text, width: leader.width, leader: leader.rule ? 'rule' : 'text' });
|
|
1904
|
+
const after = seg.width - leader.end;
|
|
1905
|
+
if (after > 0)
|
|
1906
|
+
out.push({ kind: 'space', text: '', width: after, labelTab: true });
|
|
1907
|
+
lastTab = out.length - 1;
|
|
1908
|
+
});
|
|
1909
|
+
const natural = out.reduce((sum, seg) => sum + seg.width, 0);
|
|
1910
|
+
const slack = lineMaxWidth - natural;
|
|
1911
|
+
if (slack > 0.01 && textAlign === 'justify' && !isLastLine) {
|
|
1912
|
+
const spaces = out.map((seg, k) => (k > lastTab && seg.kind === 'space' && !seg.labelTab ? k : -1)).filter((k) => k >= 0);
|
|
1913
|
+
if (spaces.length > 0) {
|
|
1914
|
+
const share = slack / spaces.length;
|
|
1915
|
+
for (const k of spaces)
|
|
1916
|
+
out[k] = { ...out[k], width: out[k].width + share };
|
|
1917
|
+
}
|
|
1918
|
+
}
|
|
1919
|
+
else if (slack > 0.01 && (textAlign === 'center' || textAlign === 'right')) {
|
|
1920
|
+
out.push({ kind: 'space', text: '', width: slack, labelTab: true });
|
|
1921
|
+
}
|
|
1922
|
+
return out;
|
|
1923
|
+
}
|
|
1924
|
+
/** `spans` with their tabs (#622) set as word spaces: vertical text, and a
|
|
1925
|
+
* paragraph the CJK composer sets for its ruby, warichu or kanbun marks. */
|
|
1926
|
+
export function tabsAsSpaces(spans) {
|
|
1927
|
+
return spans.map((s) => {
|
|
1928
|
+
if (!s.tab)
|
|
1929
|
+
return s;
|
|
1930
|
+
const { tab: _tab, ...rest } = s;
|
|
1931
|
+
void _tab;
|
|
1932
|
+
return { ...rest, text: ' ' };
|
|
1933
|
+
});
|
|
1934
|
+
}
|
|
1759
1935
|
/** Give each Arabic word of a justified paragraph its kashida capacity
|
|
1760
1936
|
* (`RichToken.kashida`), which Knuth–Plass counts as the stretch of its
|
|
1761
1937
|
* box. A word in pieces (styled runs of a Latin word, a reference label, a
|