postext 1.23.0 → 1.25.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/cjkRulesPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/cjkRulesPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/cjkRulesPin.test.js +78 -0
- package/dist/__tests__/bundle/cjkRulesPin.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 +89 -0
- package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -0
- package/dist/__tests__/bundle/flowColumnsPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/flowColumnsPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/flowColumnsPin.test.js +40 -0
- package/dist/__tests__/bundle/flowColumnsPin.test.js.map +1 -0
- package/dist/__tests__/bundle/gridBalancingPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/gridBalancingPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/gridBalancingPin.test.js +53 -0
- package/dist/__tests__/bundle/gridBalancingPin.test.js.map +1 -0
- package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/inlineTableSplitPin.test.js +43 -0
- package/dist/__tests__/bundle/inlineTableSplitPin.test.js.map +1 -0
- package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/openerHeadFloatsPin.test.js +50 -0
- package/dist/__tests__/bundle/openerHeadFloatsPin.test.js.map +1 -0
- package/dist/__tests__/bundle.test.js +11 -1
- package/dist/__tests__/bundle.test.js.map +1 -1
- package/dist/__tests__/cjk/annotationsRender.test.js +5 -2
- package/dist/__tests__/cjk/annotationsRender.test.js.map +1 -1
- package/dist/__tests__/cjk/circledNumbers.test.d.ts +2 -0
- package/dist/__tests__/cjk/circledNumbers.test.d.ts.map +1 -0
- package/dist/__tests__/cjk/circledNumbers.test.js +83 -0
- package/dist/__tests__/cjk/circledNumbers.test.js.map +1 -0
- package/dist/__tests__/cjk/gridBalancing.test.d.ts +2 -0
- package/dist/__tests__/cjk/gridBalancing.test.d.ts.map +1 -0
- package/dist/__tests__/cjk/gridBalancing.test.js +227 -0
- package/dist/__tests__/cjk/gridBalancing.test.js.map +1 -0
- package/dist/__tests__/cjk/justifyRender.test.js +2 -1
- package/dist/__tests__/cjk/justifyRender.test.js.map +1 -1
- package/dist/__tests__/cjk/titleBreaks.test.d.ts +2 -0
- package/dist/__tests__/cjk/titleBreaks.test.d.ts.map +1 -0
- package/dist/__tests__/cjk/titleBreaks.test.js +76 -0
- package/dist/__tests__/cjk/titleBreaks.test.js.map +1 -0
- package/dist/__tests__/cjk/wordJoiner.test.js +13 -4
- package/dist/__tests__/cjk/wordJoiner.test.js.map +1 -1
- package/dist/__tests__/codeBlocks.test.js +1 -1
- package/dist/__tests__/codeBlocks.test.js.map +1 -1
- package/dist/__tests__/design/cjkDesignText.test.d.ts +2 -0
- package/dist/__tests__/design/cjkDesignText.test.d.ts.map +1 -0
- package/dist/__tests__/design/cjkDesignText.test.js +130 -0
- package/dist/__tests__/design/cjkDesignText.test.js.map +1 -0
- package/dist/__tests__/design/cjkDesignTextRender.test.d.ts +2 -0
- package/dist/__tests__/design/cjkDesignTextRender.test.d.ts.map +1 -0
- package/dist/__tests__/design/cjkDesignTextRender.test.js +100 -0
- package/dist/__tests__/design/cjkDesignTextRender.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 +60 -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.js +1 -1
- package/dist/__tests__/hardBreaks.test.js.map +1 -1
- 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__/headingNumberSpans.test.d.ts +2 -0
- package/dist/__tests__/headingNumberSpans.test.d.ts.map +1 -0
- package/dist/__tests__/headingNumberSpans.test.js +96 -0
- package/dist/__tests__/headingNumberSpans.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__/multipleColumns.test.js +207 -0
- package/dist/__tests__/multipleColumns.test.js.map +1 -1
- package/dist/__tests__/parse/citations.test.js +29 -0
- package/dist/__tests__/parse/citations.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 +10 -6
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutOverflow.test.js +4 -2
- package/dist/__tests__/pipeline/calloutOverflow.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/calloutTallKeepTogether.test.js +6 -5
- package/dist/__tests__/pipeline/calloutTallKeepTogether.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/floatCitingPage.test.d.ts +2 -0
- package/dist/__tests__/pipeline/floatCitingPage.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/floatCitingPage.test.js +241 -0
- package/dist/__tests__/pipeline/floatCitingPage.test.js.map +1 -0
- package/dist/__tests__/pipeline/floatOverInlineResource.test.js +18 -6
- package/dist/__tests__/pipeline/floatOverInlineResource.test.js.map +1 -1
- 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/flowColumns.test.d.ts +2 -0
- package/dist/__tests__/pipeline/flowColumns.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/flowColumns.test.js +261 -0
- package/dist/__tests__/pipeline/flowColumns.test.js.map +1 -0
- package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts +2 -0
- package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/headingKeepFitEps.test.js +83 -0
- package/dist/__tests__/pipeline/headingKeepFitEps.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/inlineTableSplit.test.d.ts +2 -0
- package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/inlineTableSplit.test.js +238 -0
- package/dist/__tests__/pipeline/inlineTableSplit.test.js.map +1 -0
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.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/resolvedPaletteCopy.test.js +3 -2
- package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js.map +1 -1
- package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts +2 -0
- package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/sideBoxAfterText.test.js +163 -0
- package/dist/__tests__/pipeline/sideBoxAfterText.test.js.map +1 -0
- 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__/prepareFonts.test.d.ts +2 -0
- package/dist/__tests__/prepareFonts.test.d.ts.map +1 -0
- package/dist/__tests__/prepareFonts.test.js +358 -0
- package/dist/__tests__/prepareFonts.test.js.map +1 -0
- 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__/svgFonts.test.d.ts +2 -0
- package/dist/__tests__/svgFonts.test.d.ts.map +1 -0
- package/dist/__tests__/svgFonts.test.js +286 -0
- package/dist/__tests__/svgFonts.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.js +134 -4
- package/dist/__tests__/verseLines.test.js.map +1 -1
- package/dist/__tests__/vertical/measurePaint.test.js +16 -0
- package/dist/__tests__/vertical/measurePaint.test.js.map +1 -1
- 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/adapters.d.ts +31 -7
- package/dist/bundle/adapters.d.ts.map +1 -1
- package/dist/bundle/adapters.js +113 -34
- package/dist/bundle/adapters.js.map +1 -1
- package/dist/bundle/codec.d.ts +9 -2
- package/dist/bundle/codec.d.ts.map +1 -1
- package/dist/bundle/codec.js +25 -2
- package/dist/bundle/codec.js.map +1 -1
- package/dist/bundle/configVersion.d.ts +168 -10
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +414 -8
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/index.d.ts +5 -5
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +3 -3
- 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 +134 -7
- package/dist/bundle/manifest.js.map +1 -1
- package/dist/bundle/types.d.ts +32 -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 +6 -4
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +3 -1
- package/dist/canvas-backend/headerFooter.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/columnRule.d.ts.map +1 -1
- package/dist/columnRule.js +5 -2
- package/dist/columnRule.js.map +1 -1
- package/dist/configWarnings.js +30 -3
- package/dist/configWarnings.js.map +1 -1
- package/dist/defaults/cjk.d.ts +2 -1
- package/dist/defaults/cjk.d.ts.map +1 -1
- package/dist/defaults/cjk.js +17 -1
- package/dist/defaults/cjk.js.map +1 -1
- package/dist/defaults/diagramStyle.d.ts.map +1 -1
- package/dist/defaults/diagramStyle.js +6 -0
- package/dist/defaults/diagramStyle.js.map +1 -1
- 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 +18 -4
- 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 +1 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/layout.d.ts +35 -1
- package/dist/defaults/layout.d.ts.map +1 -1
- package/dist/defaults/layout.js +137 -1
- package/dist/defaults/layout.js.map +1 -1
- package/dist/defaults/parts.js +4 -4
- package/dist/defaults/parts.js.map +1 -1
- package/dist/defaults/tableStyle.d.ts.map +1 -1
- package/dist/defaults/tableStyle.js +50 -0
- package/dist/defaults/tableStyle.js.map +1 -1
- package/dist/defaults/toc.js +2 -2
- package/dist/defaults/verse.d.ts +2 -1
- package/dist/defaults/verse.d.ts.map +1 -1
- package/dist/defaults/verse.js +6 -1
- package/dist/defaults/verse.js.map +1 -1
- package/dist/design/cjkText.d.ts +34 -0
- package/dist/design/cjkText.d.ts.map +1 -0
- package/dist/design/cjkText.js +82 -0
- package/dist/design/cjkText.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 +130 -8
- package/dist/design/layout.js.map +1 -1
- package/dist/design/richText.d.ts +24 -0
- package/dist/design/richText.d.ts.map +1 -1
- package/dist/design/richText.js +37 -1
- package/dist/design/richText.js.map +1 -1
- package/dist/fonts/buildWithFonts.d.ts +19 -0
- package/dist/fonts/buildWithFonts.d.ts.map +1 -0
- package/dist/fonts/buildWithFonts.js +16 -0
- package/dist/fonts/buildWithFonts.js.map +1 -0
- package/dist/fonts/faces.d.ts +88 -0
- package/dist/fonts/faces.d.ts.map +1 -0
- package/dist/fonts/faces.js +264 -0
- package/dist/fonts/faces.js.map +1 -0
- package/dist/fonts/fontSet.d.ts +34 -0
- package/dist/fonts/fontSet.d.ts.map +1 -0
- package/dist/fonts/fontSet.js +173 -0
- package/dist/fonts/fontSet.js.map +1 -0
- package/dist/fonts/prepare.d.ts +120 -0
- package/dist/fonts/prepare.d.ts.map +1 -0
- package/dist/fonts/prepare.js +375 -0
- package/dist/fonts/prepare.js.map +1 -0
- 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 +17 -0
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +109 -7
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +35 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -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 +12 -7
- package/dist/measure/bidiLines.js.map +1 -1
- package/dist/measure/cache.d.ts.map +1 -1
- package/dist/measure/cache.js +32 -2
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/canvas.d.ts +15 -0
- package/dist/measure/canvas.d.ts.map +1 -1
- package/dist/measure/canvas.js +68 -4
- package/dist/measure/canvas.js.map +1 -1
- package/dist/measure/cjk.d.ts.map +1 -1
- package/dist/measure/cjk.js +4 -1
- package/dist/measure/cjk.js.map +1 -1
- package/dist/measure/cjkClasses.d.ts +17 -0
- package/dist/measure/cjkClasses.d.ts.map +1 -1
- package/dist/measure/cjkClasses.js +41 -1
- package/dist/measure/cjkClasses.js.map +1 -1
- package/dist/measure/cjkCompose.d.ts.map +1 -1
- package/dist/measure/cjkCompose.js +126 -10
- package/dist/measure/cjkCompose.js.map +1 -1
- package/dist/measure/cjkPunctuation.d.ts +18 -1
- package/dist/measure/cjkPunctuation.d.ts.map +1 -1
- package/dist/measure/cjkPunctuation.js +13 -1
- package/dist/measure/cjkPunctuation.js.map +1 -1
- package/dist/measure/font.d.ts +8 -0
- package/dist/measure/font.d.ts.map +1 -1
- package/dist/measure/font.js +13 -2
- package/dist/measure/font.js.map +1 -1
- package/dist/measure/fontString.d.ts +14 -0
- package/dist/measure/fontString.d.ts.map +1 -0
- package/dist/measure/fontString.js +55 -0
- package/dist/measure/fontString.js.map +1 -0
- package/dist/measure/hardBreaks.d.ts.map +1 -1
- package/dist/measure/hardBreaks.js +13 -1
- package/dist/measure/hardBreaks.js.map +1 -1
- package/dist/measure/index.d.ts +7 -4
- package/dist/measure/index.d.ts.map +1 -1
- package/dist/measure/index.js +7 -5
- package/dist/measure/index.js.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +11 -7
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +9 -6
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/types.d.ts +53 -3
- package/dist/measure/types.d.ts.map +1 -1
- package/dist/measure/types.js +67 -3
- package/dist/measure/types.js.map +1 -1
- package/dist/parse/citations.d.ts.map +1 -1
- package/dist/parse/citations.js +7 -3
- package/dist/parse/citations.js.map +1 -1
- package/dist/pipeline/build.d.ts +36 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +1482 -153
- 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 +34 -7
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildMeasurement.d.ts +6 -0
- package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
- package/dist/pipeline/buildMeasurement.js +4 -3
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts +59 -0
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +287 -65
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/columnBalancing.d.ts +20 -0
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +27 -4
- package/dist/pipeline/columnBalancing.js.map +1 -1
- package/dist/pipeline/columnsGroup.d.ts +61 -0
- package/dist/pipeline/columnsGroup.d.ts.map +1 -0
- package/dist/pipeline/columnsGroup.js +88 -0
- package/dist/pipeline/columnsGroup.js.map +1 -0
- package/dist/pipeline/config.d.ts +28 -0
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +67 -8
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts +16 -0
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +141 -17
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/floatPlacement.d.ts +48 -4
- package/dist/pipeline/floatPlacement.d.ts.map +1 -1
- package/dist/pipeline/floatPlacement.js +43 -5
- package/dist/pipeline/floatPlacement.js.map +1 -1
- package/dist/pipeline/floatSlots.d.ts +16 -3
- package/dist/pipeline/floatSlots.d.ts.map +1 -1
- package/dist/pipeline/floatSlots.js +15 -6
- package/dist/pipeline/floatSlots.js.map +1 -1
- package/dist/pipeline/flowColumns.d.ts +41 -0
- package/dist/pipeline/flowColumns.d.ts.map +1 -0
- package/dist/pipeline/flowColumns.js +116 -0
- package/dist/pipeline/flowColumns.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 +19 -5
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/measureContentBlock.d.ts +20 -1
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +35 -11
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/partPalette.d.ts +3 -0
- package/dist/pipeline/partPalette.d.ts.map +1 -1
- package/dist/pipeline/partPalette.js +5 -0
- package/dist/pipeline/partPalette.js.map +1 -1
- package/dist/pipeline/placement.d.ts +19 -0
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +12 -2
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +41 -0
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +148 -18
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +8 -5
- package/dist/pipeline/styles.js.map +1 -1
- 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 +6 -1
- package/dist/pipeline/toc.js.map +1 -1
- package/dist/pipeline/verseLines.d.ts +22 -2
- package/dist/pipeline/verseLines.d.ts.map +1 -1
- package/dist/pipeline/verseLines.js +52 -4
- package/dist/pipeline/verseLines.js.map +1 -1
- package/dist/preflight.d.ts +46 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +42 -7
- package/dist/preflight.js.map +1 -1
- package/dist/svg/fontRegistry.d.ts +66 -0
- package/dist/svg/fontRegistry.d.ts.map +1 -0
- package/dist/svg/fontRegistry.js +294 -0
- package/dist/svg/fontRegistry.js.map +1 -0
- package/dist/svg/fonts.d.ts +140 -0
- package/dist/svg/fonts.d.ts.map +1 -0
- package/dist/svg/fonts.js +642 -0
- package/dist/svg/fonts.js.map +1 -0
- package/dist/svg/image.d.ts +44 -0
- package/dist/svg/image.d.ts.map +1 -0
- package/dist/svg/image.js +67 -0
- package/dist/svg/image.js.map +1 -0
- 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 +365 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/util/stableHash.d.ts +20 -0
- package/dist/util/stableHash.d.ts.map +1 -0
- package/dist/util/stableHash.js +59 -0
- package/dist/util/stableHash.js.map +1 -0
- package/dist/vdt.d.ts +249 -9
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +3 -2
- package/dist/vdt.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/toMarkdown.d.ts +10 -0
- package/dist/word/toMarkdown.d.ts.map +1 -1
- package/dist/word/toMarkdown.js +16 -1
- package/dist/word/toMarkdown.js.map +1 -1
- package/dist/worker/client.d.ts +8 -0
- package/dist/worker/client.d.ts.map +1 -1
- package/dist/worker/client.js +22 -0
- package/dist/worker/client.js.map +1 -1
- package/dist/worker/fonts.d.ts +1 -13
- package/dist/worker/fonts.d.ts.map +1 -1
- package/dist/worker/fonts.js +3 -61
- package/dist/worker/fonts.js.map +1 -1
- package/dist/worker/layout.worker.js +23 -16
- package/dist/worker/layout.worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floatPlacement.js","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"floatPlacement.js","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAY5C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AA6F5B;;;;;;iDAMiD;AACjD,MAAM,UAAU,wBAAwB,CACtC,QAAkB,EAClB,IAA8B,EAC9B,UAAU,GAAG,KAAK,EAClB,aAAkC;AAClC,0EAA0E;AAC1E,iBAAiB,GAAG,KAAK;IAEzB,MAAM,QAAQ,GACZ,QAAQ,CAAC,SAAS,EAAE,QAAQ,IAAI,IAAI,EAAE,gBAAgB,EAAE,QAAQ,IAAI,MAAM,CAAC;IAC7E,MAAM,MAAM,GAAG,QAAQ,KAAK,MAAM,IAAI,UAAU;QAC9C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,EAAE,gBAAgB,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC;IACtG,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,IAAI,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC;IAC5E,MAAM,aAAa,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,IAAI,IAAI,EAAE,gBAAgB,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC;IACxG,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,EAAE,WAAW,IAAI,IAAI,EAAE,gBAAgB,EAAE,WAAW,IAAI,KAAK,CAAC;IACpG,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,IAAI,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;IACnG,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,MAAM;QACtD,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,IAAI,aAAa,EAAE,IAAI,IAAI,OAAO;QACtI,CAAC,CAAC,OAAO,CAAC;IACZ,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC;WAC9G,aAAa,EAAE,QAAQ,IAAI,uBAAuB,CAAC;IACxD,MAAM,UAAU,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,MAAM;WACvF,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,IAAI,IAAI,EAAE,gBAAgB,EAAE,UAAU,IAAI,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC1G,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACrI,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAsB,EACtB,SAAqB,EACrB,aAA6B,EAC7B,YAAkC;AAClC;;;qBAGqB;AACrB,aAAwD,KAAK;AAC7D,+DAA+D;AAC/D,aAAkC;AAClC;8BAC8B;AAC9B,YAAqC;AACrC,0CAA0C;AAC1C,iBAAiB,GAAG,KAAK;IAEzB,MAAM,YAAY,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;IACtF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,aAAa;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAErD,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,CAAC,UAAkB,EAAE,QAAgB,EAAE,EAAE;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO;QACjC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;QACjM,IAAI,QAAQ,KAAK,MAAM;YAAE,OAAO;QAChC,oEAAoE;QACpE,wDAAwD;QACxD,MAAM,IAAI,GAAG,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW;YACpG,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC;gBACR,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI;gBACnD,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI;gBAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI;YACnD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM;gBAC9B,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE;gBAC1B,uEAAuE;gBACvE,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,WAAW,IAAI,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,UAAU;YAAE,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACxE,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,UAAU;gBAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;0EAG0E;AAC1E,MAAM,UAAU,kBAAkB,CAChC,IAAoB,EACpB,YAAkC,EAClC,YAAwB,EAAE,EAC1B,gBAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,SAAS;YACtC,IAAI,wBAAwB,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
* A pending float (a figure / table incorporated by its first reference) is
|
|
5
5
|
* offered the slots of the CURRENT page in reading order after the cursor:
|
|
6
6
|
* the top of the referencing column when it is still empty, its bottom, then
|
|
7
|
-
* the top and bottom of every later empty text column of the same band.
|
|
7
|
+
* the top and bottom of every later empty text column of the same band. The
|
|
8
|
+
* column a page-span opener was set in counts as empty at its head while it
|
|
9
|
+
* holds nothing but the opener: its head is the first line under the
|
|
10
|
+
* opener's band (#639). A
|
|
8
11
|
* page-span float on a multi-column band gets one slot: the band's bottom.
|
|
9
12
|
* What does not fit on the current page waits for the next page opened by
|
|
10
13
|
* the flow (`flushFloatsIntoPage` in `build.ts`). `'top'` / `'bottom'`
|
|
@@ -34,8 +37,11 @@ export interface FloatSlot {
|
|
|
34
37
|
* the cap, so the column's bottom is not a slot; a `'trailing'` cap only
|
|
35
38
|
* levels the closing band and leaves the true bottom free. */
|
|
36
39
|
export type ColumnCapKind = 'span' | 'trailing' | undefined;
|
|
37
|
-
/** Candidate slots on the current page, in reading order after the cursor.
|
|
38
|
-
|
|
40
|
+
/** Candidate slots on the current page, in reading order after the cursor.
|
|
41
|
+
* `openerHeadOf` gives, for the column that holds a page-span opener and
|
|
42
|
+
* nothing after it, the y of its head under the opener's band (#639);
|
|
43
|
+
* `undefined` for any other column. */
|
|
44
|
+
export declare function enumerateCurrentPageSlots(page: VDTPage, cursorColumnIndex: number, f: PlannedFloat, capKindOf: (col: VDTColumn) => ColumnCapKind, openerHeadOf?: (col: VDTColumn) => number | undefined): FloatSlot[];
|
|
39
45
|
/** What `measureFloatBand` needs to know about the laid-out float. */
|
|
40
46
|
export interface FloatMeasure {
|
|
41
47
|
height: number;
|
|
@@ -52,6 +58,13 @@ export interface FloatMeasure {
|
|
|
52
58
|
/** A floated box's `marginTop` (px), when it is wider than the float
|
|
53
59
|
* gap: the space a bottom band keeps above the box. */
|
|
54
60
|
gapAbove?: number;
|
|
61
|
+
/** For a picture (bitmap, SVG, video poster): the height of its body
|
|
62
|
+
* and the scale it is set at (1 unless scaled to its slot), which
|
|
63
|
+
* `placement.shrink` reads (#626). */
|
|
64
|
+
body?: {
|
|
65
|
+
height: number;
|
|
66
|
+
scale: number;
|
|
67
|
+
};
|
|
55
68
|
}
|
|
56
69
|
/** The space a top band keeps under `built`: the float gap, or a floated
|
|
57
70
|
* box's wider `marginBottom`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floatSlots.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatSlots.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"floatSlots.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatSlots.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
* A pending float (a figure / table incorporated by its first reference) is
|
|
5
5
|
* offered the slots of the CURRENT page in reading order after the cursor:
|
|
6
6
|
* the top of the referencing column when it is still empty, its bottom, then
|
|
7
|
-
* the top and bottom of every later empty text column of the same band.
|
|
7
|
+
* the top and bottom of every later empty text column of the same band. The
|
|
8
|
+
* column a page-span opener was set in counts as empty at its head while it
|
|
9
|
+
* holds nothing but the opener: its head is the first line under the
|
|
10
|
+
* opener's band (#639). A
|
|
8
11
|
* page-span float on a multi-column band gets one slot: the band's bottom.
|
|
9
12
|
* What does not fit on the current page waits for the next page opened by
|
|
10
13
|
* the flow (`flushFloatsIntoPage` in `build.ts`). `'top'` / `'bottom'`
|
|
@@ -15,8 +18,11 @@
|
|
|
15
18
|
*/
|
|
16
19
|
import { bandColumns, currentBand, sideColumnOf, sideColumns, sideUsedBottom } from './placement';
|
|
17
20
|
import { columnBottom } from './bandCaps';
|
|
18
|
-
/** Candidate slots on the current page, in reading order after the cursor.
|
|
19
|
-
|
|
21
|
+
/** Candidate slots on the current page, in reading order after the cursor.
|
|
22
|
+
* `openerHeadOf` gives, for the column that holds a page-span opener and
|
|
23
|
+
* nothing after it, the y of its head under the opener's band (#639);
|
|
24
|
+
* `undefined` for any other column. */
|
|
25
|
+
export function enumerateCurrentPageSlots(page, cursorColumnIndex, f, capKindOf, openerHeadOf = () => undefined) {
|
|
20
26
|
const cursorCol = page.columns[cursorColumnIndex];
|
|
21
27
|
if (!cursorCol || cursorCol.kind === 'span' || page.partInfo || page.comic)
|
|
22
28
|
return [];
|
|
@@ -27,6 +33,9 @@ export function enumerateCurrentPageSlots(page, cursorColumnIndex, f, capKindOf)
|
|
|
27
33
|
const wantsTop = f.position !== 'bottom';
|
|
28
34
|
const wantsBottom = f.position !== 'top';
|
|
29
35
|
const bottomFree = (col) => capKindOf(col) !== 'span';
|
|
36
|
+
/** Where a column's head stands, and whether a float may still take it. */
|
|
37
|
+
const headY = (col) => openerHeadOf(col) ?? col.bbox.y;
|
|
38
|
+
const headFree = (col) => col.blocks.length === 0 || openerHeadOf(col) !== undefined;
|
|
30
39
|
// A side float takes the side column of the band, right beside the text
|
|
31
40
|
// that cites it (never above it); a page without a side column offers
|
|
32
41
|
// it the column slots below instead.
|
|
@@ -63,8 +72,8 @@ export function enumerateCurrentPageSlots(page, cursorColumnIndex, f, capKindOf)
|
|
|
63
72
|
continue;
|
|
64
73
|
if (!group.slice(1).every((c) => c.blocks.length === 0))
|
|
65
74
|
continue;
|
|
66
|
-
const level = group.every((c) => Math.abs(c
|
|
67
|
-
if (wantsTop && level && group[0]
|
|
75
|
+
const level = group.every((c) => Math.abs(headY(c) - headY(group[0])) < 0.5);
|
|
76
|
+
if (wantsTop && level && headFree(group[0]))
|
|
68
77
|
slots.push({ cols: group, position: 'top', pageSpan: false });
|
|
69
78
|
if (wantsBottom && group.every(bottomFree))
|
|
70
79
|
slots.push({ cols: group, position: 'bottom', pageSpan: false });
|
|
@@ -79,7 +88,7 @@ export function enumerateCurrentPageSlots(page, cursorColumnIndex, f, capKindOf)
|
|
|
79
88
|
const empty = col.blocks.length === 0;
|
|
80
89
|
if (i > start && !empty)
|
|
81
90
|
continue;
|
|
82
|
-
if (wantsTop &&
|
|
91
|
+
if (wantsTop && headFree(col))
|
|
83
92
|
slots.push({ cols: [col], position: 'top', pageSpan: false });
|
|
84
93
|
if (wantsBottom && bottomFree(col))
|
|
85
94
|
slots.push({ cols: [col], position: 'bottom', pageSpan: false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floatSlots.js","sourceRoot":"","sources":["../../src/pipeline/floatSlots.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"floatSlots.js","sourceRoot":"","sources":["../../src/pipeline/floatSlots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `:::columns` in the running text (#634). A group outside a box sets its
|
|
3
|
+
* blocks in N sub-columns of the text column (`span="column"`, the
|
|
4
|
+
* default) or across the page (`span="page"`, a band of a multi-column
|
|
5
|
+
* page, cut as a page-span box cuts it). The build wraps each such group
|
|
6
|
+
* in a frameless box (a synthetic `:::callout` with one of the
|
|
7
|
+
* {@link FLOW_COLUMNS_STYLE_ID} styles), so the callout machinery places
|
|
8
|
+
* it, cuts it between its sub-columns when it does not fit (the group's
|
|
9
|
+
* `flow`, see `columnsGroup.ts`) and, across the page, cuts the band. The
|
|
10
|
+
* box has no frame, padding, title or icon; it never stays whole, and its
|
|
11
|
+
* children are set in the text's own typography (`isFlowColumnsStyle`:
|
|
12
|
+
* the box lends them no body or list style).
|
|
13
|
+
*/
|
|
14
|
+
import type { ContentBlock } from '../parse';
|
|
15
|
+
import type { CalloutStyleConfig, Dimension } from '../types';
|
|
16
|
+
/** Style ids of the frameless boxes of main-flow groups, in the text
|
|
17
|
+
* column and across the page. Not user styles: no configuration can
|
|
18
|
+
* name them. */
|
|
19
|
+
export declare const FLOW_COLUMNS_STYLE_ID = "__postext-flow-columns";
|
|
20
|
+
export declare const FLOW_COLUMNS_PAGE_STYLE_ID = "__postext-flow-columns-page";
|
|
21
|
+
/** Whether a callout style is a main-flow group's box. */
|
|
22
|
+
export declare function isFlowColumnsStyle(id: string): boolean;
|
|
23
|
+
/** The two boxes: in the column, the sub-columns `columnGapPx` apart (a
|
|
24
|
+
* body line by default); across the page, `pageGapPx` (the gutter). The
|
|
25
|
+
* space below is the body's paragraph spacing; a cut between children
|
|
26
|
+
* keeps `splitMinLines` lines of text on each side (the body's orphan and
|
|
27
|
+
* widow minimums). */
|
|
28
|
+
export declare function flowColumnsStyles(columnGapPx: number, pageGapPx: number, marginBottom: Dimension, splitMinLines: number): CalloutStyleConfig[];
|
|
29
|
+
/**
|
|
30
|
+
* `blocks` with every `:::columns` group outside a box wrapped in a
|
|
31
|
+
* synthetic frameless box (see the module comment): a group with
|
|
32
|
+
* `span="page"` in the page-wide one, any other in the column one. A
|
|
33
|
+
* group inside a box keeps to it. `wrapped` tells whether any was: the
|
|
34
|
+
* build then adds the boxes' styles to the callout styles. The same
|
|
35
|
+
* blocks come back when none is wrapped.
|
|
36
|
+
*/
|
|
37
|
+
export declare function wrapFlowColumns(blocks: readonly ContentBlock[]): {
|
|
38
|
+
blocks: ContentBlock[];
|
|
39
|
+
wrapped: boolean;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=flowColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowColumns.d.ts","sourceRoot":"","sources":["../../src/pipeline/flowColumns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE9D;;iBAEiB;AACjB,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAC9D,eAAO,MAAM,0BAA0B,gCAAgC,CAAC;AAExE,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEtD;AAQD;;;;uBAIuB;AACvB,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAoB9I;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAmD7G"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `:::columns` in the running text (#634). A group outside a box sets its
|
|
3
|
+
* blocks in N sub-columns of the text column (`span="column"`, the
|
|
4
|
+
* default) or across the page (`span="page"`, a band of a multi-column
|
|
5
|
+
* page, cut as a page-span box cuts it). The build wraps each such group
|
|
6
|
+
* in a frameless box (a synthetic `:::callout` with one of the
|
|
7
|
+
* {@link FLOW_COLUMNS_STYLE_ID} styles), so the callout machinery places
|
|
8
|
+
* it, cuts it between its sub-columns when it does not fit (the group's
|
|
9
|
+
* `flow`, see `columnsGroup.ts`) and, across the page, cuts the band. The
|
|
10
|
+
* box has no frame, padding, title or icon; it never stays whole, and its
|
|
11
|
+
* children are set in the text's own typography (`isFlowColumnsStyle`:
|
|
12
|
+
* the box lends them no body or list style).
|
|
13
|
+
*/
|
|
14
|
+
/** Style ids of the frameless boxes of main-flow groups, in the text
|
|
15
|
+
* column and across the page. Not user styles: no configuration can
|
|
16
|
+
* name them. */
|
|
17
|
+
export const FLOW_COLUMNS_STYLE_ID = '__postext-flow-columns';
|
|
18
|
+
export const FLOW_COLUMNS_PAGE_STYLE_ID = '__postext-flow-columns-page';
|
|
19
|
+
/** Whether a callout style is a main-flow group's box. */
|
|
20
|
+
export function isFlowColumnsStyle(id) {
|
|
21
|
+
return id === FLOW_COLUMNS_STYLE_ID || id === FLOW_COLUMNS_PAGE_STYLE_ID;
|
|
22
|
+
}
|
|
23
|
+
/** Container ids of the synthetic boxes: past any id the parser hands out,
|
|
24
|
+
* between the listings' boxes and the page-span embeds'. */
|
|
25
|
+
const FLOW_COLUMNS_CONTAINER_BASE = 1_750_000_000;
|
|
26
|
+
const ZERO = { value: 0, unit: 'pt' };
|
|
27
|
+
/** The two boxes: in the column, the sub-columns `columnGapPx` apart (a
|
|
28
|
+
* body line by default); across the page, `pageGapPx` (the gutter). The
|
|
29
|
+
* space below is the body's paragraph spacing; a cut between children
|
|
30
|
+
* keeps `splitMinLines` lines of text on each side (the body's orphan and
|
|
31
|
+
* widow minimums). */
|
|
32
|
+
export function flowColumnsStyles(columnGapPx, pageGapPx, marginBottom, splitMinLines) {
|
|
33
|
+
const base = (id, span, gapPx) => ({
|
|
34
|
+
id,
|
|
35
|
+
title: '',
|
|
36
|
+
span,
|
|
37
|
+
placement: 'here',
|
|
38
|
+
backgroundEnabled: false,
|
|
39
|
+
border: { enabled: false },
|
|
40
|
+
borderRadius: ZERO,
|
|
41
|
+
padding: { top: ZERO, right: ZERO, bottom: ZERO, left: ZERO },
|
|
42
|
+
stripe: { enabled: false },
|
|
43
|
+
icon: { kind: 'none' },
|
|
44
|
+
marker: { kind: 'none' },
|
|
45
|
+
marginTop: ZERO,
|
|
46
|
+
marginBottom,
|
|
47
|
+
keepTogether: false,
|
|
48
|
+
splitMinLines: Math.max(1, Math.round(splitMinLines)),
|
|
49
|
+
columnGap: { value: gapPx, unit: 'px' },
|
|
50
|
+
});
|
|
51
|
+
return [base(FLOW_COLUMNS_STYLE_ID, 'column', columnGapPx), base(FLOW_COLUMNS_PAGE_STYLE_ID, 'page', pageGapPx)];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* `blocks` with every `:::columns` group outside a box wrapped in a
|
|
55
|
+
* synthetic frameless box (see the module comment): a group with
|
|
56
|
+
* `span="page"` in the page-wide one, any other in the column one. A
|
|
57
|
+
* group inside a box keeps to it. `wrapped` tells whether any was: the
|
|
58
|
+
* build then adds the boxes' styles to the callout styles. The same
|
|
59
|
+
* blocks come back when none is wrapped.
|
|
60
|
+
*/
|
|
61
|
+
export function wrapFlowColumns(blocks) {
|
|
62
|
+
if (!blocks.some((b) => b.type === 'containerStart' && b.containerName === 'columns')) {
|
|
63
|
+
return { blocks: blocks, wrapped: false };
|
|
64
|
+
}
|
|
65
|
+
const out = [];
|
|
66
|
+
let openBoxes = 0;
|
|
67
|
+
let wrapped = 0;
|
|
68
|
+
/** The container id of the group being wrapped, and its box's. */
|
|
69
|
+
let open;
|
|
70
|
+
for (const b of blocks) {
|
|
71
|
+
if (b.containerName === 'callout') {
|
|
72
|
+
if (b.type === 'containerStart')
|
|
73
|
+
openBoxes++;
|
|
74
|
+
else if (b.type === 'containerEnd')
|
|
75
|
+
openBoxes = Math.max(0, openBoxes - 1);
|
|
76
|
+
}
|
|
77
|
+
if (!open && openBoxes === 0 && b.type === 'containerStart' && b.containerName === 'columns' && b.containerId !== undefined) {
|
|
78
|
+
const box = FLOW_COLUMNS_CONTAINER_BASE + wrapped++;
|
|
79
|
+
open = { group: b.containerId, box };
|
|
80
|
+
const span = b.containerAttrs?.span === 'page' ? 'page' : 'column';
|
|
81
|
+
out.push({
|
|
82
|
+
type: 'containerStart',
|
|
83
|
+
text: '',
|
|
84
|
+
spans: [],
|
|
85
|
+
containerName: 'callout',
|
|
86
|
+
containerAttrs: { type: span === 'page' ? FLOW_COLUMNS_PAGE_STYLE_ID : FLOW_COLUMNS_STYLE_ID, span, placement: 'here' },
|
|
87
|
+
containerId: box,
|
|
88
|
+
sourceStart: b.sourceStart,
|
|
89
|
+
sourceEnd: b.sourceStart,
|
|
90
|
+
sourceMap: [],
|
|
91
|
+
...(b.direction ? { direction: b.direction } : {}),
|
|
92
|
+
}, b);
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
out.push(b);
|
|
96
|
+
if (open && b.type === 'containerEnd' && b.containerName === 'columns' && b.containerId === open.group) {
|
|
97
|
+
out.push({
|
|
98
|
+
type: 'containerEnd',
|
|
99
|
+
text: '',
|
|
100
|
+
spans: [],
|
|
101
|
+
containerName: 'callout',
|
|
102
|
+
containerId: open.box,
|
|
103
|
+
sourceStart: b.sourceEnd,
|
|
104
|
+
sourceEnd: b.sourceEnd,
|
|
105
|
+
sourceMap: [],
|
|
106
|
+
});
|
|
107
|
+
open = undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// An unclosed group (the parser closes every container, so only a
|
|
111
|
+
// malformed list) is closed at the end.
|
|
112
|
+
if (open)
|
|
113
|
+
out.push({ type: 'containerEnd', text: '', spans: [], containerName: 'callout', containerId: open.box, sourceStart: 0, sourceEnd: 0, sourceMap: [] });
|
|
114
|
+
return wrapped > 0 ? { blocks: out, wrapped: true } : { blocks: blocks, wrapped: false };
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=flowColumns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowColumns.js","sourceRoot":"","sources":["../../src/pipeline/flowColumns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type FlowColorValues } from './partPalette';
|
|
2
2
|
import type { ColorPaletteEntry, ColorValue, DocumentMetadata, Resource, ResolvedDesignSlot, ResolvedHeadingLevelConfig, TextAlign } from '../types';
|
|
3
|
-
import { type VDTDocument, type VDTDesignSlot, type VDTDesignBlock } from '../vdt';
|
|
3
|
+
import { type VDTDocument, type VDTDesignSlot, type VDTDesignBlock, type VDTDesignSlotKind } from '../vdt';
|
|
4
4
|
import { type JoinedLine } from './placeholders';
|
|
5
5
|
import type { PageRole } from '../types';
|
|
6
6
|
import { type DesignFrames, type ResolvedPrimitive } from '../design/layout';
|
|
@@ -125,6 +125,9 @@ export interface SlotLayoutExtras {
|
|
|
125
125
|
end: number;
|
|
126
126
|
}>;
|
|
127
127
|
metadata?: Record<string, unknown>;
|
|
128
|
+
/** Where the slot is painted: a text block cut to fit is flagged with it
|
|
129
|
+
* (`VDTDesignTextBlock.truncated`, #628). Absent: nothing is flagged. */
|
|
130
|
+
slot?: VDTDesignSlotKind;
|
|
128
131
|
}
|
|
129
132
|
export declare function layoutSlotToVdt(slot: ResolvedDesignSlot, container: {
|
|
130
133
|
x: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAmB,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAA6B,0BAA0B,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjM,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"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"}
|
|
@@ -407,8 +407,20 @@ export function layoutSlotToVdt(slot, container, pageIndex, placeholders, dpi, e
|
|
|
407
407
|
sourceByElement.set(el.id, keepMap ? withPrintedTitle(el, src, placeholders) : { start: src.start, end: src.end });
|
|
408
408
|
}
|
|
409
409
|
}
|
|
410
|
+
// The texts cut to fit (#628), flagged on the element's own block (not
|
|
411
|
+
// on its drop cap's).
|
|
412
|
+
const truncated = new Map();
|
|
413
|
+
if (extras?.slot) {
|
|
414
|
+
for (const issue of result.issues) {
|
|
415
|
+
if (issue.kind === 'textTruncated')
|
|
416
|
+
truncated.set(issue.elementId, { mode: issue.mode, text: issue.text });
|
|
417
|
+
}
|
|
418
|
+
}
|
|
410
419
|
const blocks = result.primitives.map((prim) => {
|
|
411
420
|
const block = primitiveToBlock(prim);
|
|
421
|
+
const cut = prim.kind === 'text' && !prim.dropCap ? truncated.get(prim.id) : undefined;
|
|
422
|
+
if (block.kind === 'text' && cut && extras?.slot)
|
|
423
|
+
block.truncated = { elementId: prim.id, slot: extras.slot, mode: cut.mode, text: cut.text };
|
|
412
424
|
const src = sourceByElement.get(prim.id);
|
|
413
425
|
if (block.kind === 'text' && src) {
|
|
414
426
|
block.sourceStart = src.start;
|
|
@@ -973,7 +985,7 @@ function layoutHeadersAndFooters(doc, resourceById, inputs) {
|
|
|
973
985
|
partNumberByPageIndex,
|
|
974
986
|
partPaletteByPageIndex,
|
|
975
987
|
};
|
|
976
|
-
page.header = asFurniture(withMeasureWritingMode('horizontal-tb', () => layoutSlotToVdt(headerSlot, headerContainerBbox(sheetArea, metrics.physical.trimBox), page.index + pageIndexOffset, placeholders, dpi, sheetExtras)));
|
|
988
|
+
page.header = asFurniture(withMeasureWritingMode('horizontal-tb', () => layoutSlotToVdt(headerSlot, headerContainerBbox(sheetArea, metrics.physical.trimBox), page.index + pageIndexOffset, placeholders, dpi, { ...sheetExtras, slot: 'header' })));
|
|
977
989
|
}
|
|
978
990
|
// Back of a part divider: a blank page right after a part page takes the
|
|
979
991
|
// part's verso design (the model book tints the whole leaf). The part
|
|
@@ -1009,7 +1021,7 @@ function layoutHeadersAndFooters(doc, resourceById, inputs) {
|
|
|
1009
1021
|
chapterNumber: chapterNumberByPageIndex[page.index] ?? '',
|
|
1010
1022
|
},
|
|
1011
1023
|
};
|
|
1012
|
-
page.openerBand = layoutSlotToVdt(resolved.parts.versoDesign, { x: frames.page.x, y: frames.page.y, width: frames.page.width, height: frames.page.height }, page.index + pageIndexOffset, placeholders, dpi, extras);
|
|
1024
|
+
page.openerBand = layoutSlotToVdt(resolved.parts.versoDesign, { x: frames.page.x, y: frames.page.y, width: frames.page.width, height: frames.page.height }, page.index + pageIndexOffset, placeholders, dpi, { ...extras, slot: 'part' });
|
|
1013
1025
|
}
|
|
1014
1026
|
// Part-divider page: the opener design covers the full trim box and is
|
|
1015
1027
|
// purely decorative (the body column already comes from `parts.margins`).
|
|
@@ -1047,7 +1059,7 @@ function layoutHeadersAndFooters(doc, resourceById, inputs) {
|
|
|
1047
1059
|
...partTitleSourceMap(title, page.partInfo.titleSourceStart),
|
|
1048
1060
|
}
|
|
1049
1061
|
: undefined;
|
|
1050
|
-
page.openerBand = layoutSlotToVdt(slot, { x: frames.page.x, y: frames.page.y, width: frames.page.width, height: frames.page.height }, page.index + pageIndexOffset, placeholders, dpi, { ...extras, titleSource: partTitleSource });
|
|
1062
|
+
page.openerBand = layoutSlotToVdt(slot, { x: frames.page.x, y: frames.page.y, width: frames.page.width, height: frames.page.height }, page.index + pageIndexOffset, placeholders, dpi, { ...extras, titleSource: partTitleSource, slot: 'part' });
|
|
1051
1063
|
}
|
|
1052
1064
|
const opener = findOpenerHeading(page, headingLevels);
|
|
1053
1065
|
if (opener) {
|
|
@@ -1091,6 +1103,7 @@ function layoutHeadersAndFooters(doc, resourceById, inputs) {
|
|
|
1091
1103
|
attrSources: opener.block.attrSources,
|
|
1092
1104
|
attrs: opener.block.attrs,
|
|
1093
1105
|
headingSource: headingLineSource(opener.block),
|
|
1106
|
+
slot: 'heading',
|
|
1094
1107
|
});
|
|
1095
1108
|
if (page.openerBand) {
|
|
1096
1109
|
opener.block.hidden = true;
|
|
@@ -1137,7 +1150,7 @@ function layoutHeadersAndFooters(doc, resourceById, inputs) {
|
|
|
1137
1150
|
chapterNumber: chapterNumberOf(block, page.index),
|
|
1138
1151
|
},
|
|
1139
1152
|
};
|
|
1140
|
-
const overlay = layoutSlotToVdt(slot, { x: block.bbox.x, y: block.bbox.y, width: block.bbox.width, height: block.bbox.height }, page.index + pageIndexOffset, placeholders, dpi, extras);
|
|
1153
|
+
const overlay = layoutSlotToVdt(slot, { x: block.bbox.x, y: block.bbox.y, width: block.bbox.width, height: block.bbox.height }, page.index + pageIndexOffset, placeholders, dpi, { ...extras, slot: 'tocRow' });
|
|
1141
1154
|
if (overlay)
|
|
1142
1155
|
block.designOverlay = overlay;
|
|
1143
1156
|
continue;
|
|
@@ -1195,6 +1208,7 @@ function layoutHeadersAndFooters(doc, resourceById, inputs) {
|
|
|
1195
1208
|
attrSources: block.attrSources,
|
|
1196
1209
|
attrs: block.attrs,
|
|
1197
1210
|
headingSource: headingLineSource(block),
|
|
1211
|
+
slot: 'heading',
|
|
1198
1212
|
});
|
|
1199
1213
|
if (overlay)
|
|
1200
1214
|
block.designOverlay = overlay;
|
|
@@ -1218,7 +1232,7 @@ function layoutHeadersAndFooters(doc, resourceById, inputs) {
|
|
|
1218
1232
|
partNumberByPageIndex,
|
|
1219
1233
|
partPaletteByPageIndex,
|
|
1220
1234
|
};
|
|
1221
|
-
page.footer = asFurniture(withMeasureWritingMode('horizontal-tb', () => layoutSlotToVdt(footerSlot, footerContainerBbox(sheetArea, metrics.physical.trimBox), page.index + pageIndexOffset, placeholders, dpi, sheetExtras)));
|
|
1235
|
+
page.footer = asFurniture(withMeasureWritingMode('horizontal-tb', () => layoutSlotToVdt(footerSlot, footerContainerBbox(sheetArea, metrics.physical.trimBox), page.index + pageIndexOffset, placeholders, dpi, { ...sheetExtras, slot: 'footer' })));
|
|
1222
1236
|
}
|
|
1223
1237
|
}
|
|
1224
1238
|
}
|