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
|
@@ -13,6 +13,7 @@ import { resourceRefId, unprefixedId } from './crossRefs';
|
|
|
13
13
|
import { citationIssues } from './citations';
|
|
14
14
|
import { bookCitationContexts, needsCitationContext } from '../citations/context';
|
|
15
15
|
import { duplicateAnchors } from './anchors';
|
|
16
|
+
import { computeChapterTitles } from './placeholders';
|
|
16
17
|
import { KNOWN_CONTAINERS, KNOWN_DIRECTIVES, parseInlineSnippetSpans, parseMarkdownMemo } from '../parse';
|
|
17
18
|
import { invalidAttributeKeys } from '../parse/attrs';
|
|
18
19
|
import { parsePaperAttrs } from './paper';
|
|
@@ -134,18 +135,15 @@ bookAnchors,
|
|
|
134
135
|
/** The reference keys of the whole book (#268), when the document is one
|
|
135
136
|
* of its chapters; its own references count either way. */
|
|
136
137
|
bookCitationKeys) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
const fm = extractFrontmatter(markdown);
|
|
141
|
-
body = fm.content;
|
|
142
|
-
offset = fm.contentOffset;
|
|
143
|
-
}
|
|
144
|
-
catch {
|
|
145
|
-
// Malformed frontmatter: the build reports it; scan the text as is.
|
|
146
|
-
}
|
|
138
|
+
const fm = extractFrontmatter(markdown);
|
|
139
|
+
const body = fm.content;
|
|
140
|
+
const offset = fm.contentOffset;
|
|
147
141
|
const blocks = parseMarkdownMemo(body, codeParseOptions(resolveAllConfig(config)));
|
|
148
142
|
const out = [];
|
|
143
|
+
// Front matter that does not parse: the document is set without its
|
|
144
|
+
// metadata.
|
|
145
|
+
if (fm.error)
|
|
146
|
+
out.push({ kind: 'invalidFrontmatter', message: fm.error.message, sourceStart: fm.error.sourceStart, sourceEnd: fm.error.sourceEnd });
|
|
149
147
|
const abs = (r) => ({ sourceStart: r.start + offset, sourceEnd: r.end + offset });
|
|
150
148
|
const byId = new Map();
|
|
151
149
|
for (const r of resources)
|
|
@@ -258,6 +256,9 @@ bookCitationKeys) {
|
|
|
258
256
|
else if (b.containerName === 'callout' && calloutStyles.size > 0 && attrs.type !== undefined && !calloutStyles.has(attrs.type)) {
|
|
259
257
|
out.push({ kind: 'unknownCalloutType', type: attrs.type, ...abs(range) });
|
|
260
258
|
}
|
|
259
|
+
else if (b.containerName === 'columns' && attrs.flow !== undefined && attrs.flow !== 'snake' && attrs.flow !== 'parallel') {
|
|
260
|
+
out.push({ kind: 'columnsFlowUnknown', value: attrs.flow, ...abs(range) });
|
|
261
|
+
}
|
|
261
262
|
else if (b.containerName === 'paper') {
|
|
262
263
|
for (const issue of parsePaperAttrs(attrs, config?.colorPalette).issues) {
|
|
263
264
|
out.push({ kind: 'paperAttributeInvalid', key: issue.key, value: issue.value, ...abs(range) });
|
|
@@ -451,13 +452,7 @@ bookCitationKeys) {
|
|
|
451
452
|
}
|
|
452
453
|
}
|
|
453
454
|
// Citations (#268): keys no reference defines, data that cannot be read.
|
|
454
|
-
|
|
455
|
-
try {
|
|
456
|
-
metadata = extractFrontmatter(markdown).metadata;
|
|
457
|
-
}
|
|
458
|
-
catch {
|
|
459
|
-
metadata = undefined;
|
|
460
|
-
}
|
|
455
|
+
const metadata = fm.metadata;
|
|
461
456
|
if (needsCitationContext(blocks, metadata)) {
|
|
462
457
|
const ctx = bookCitationContexts([{ metadata, blocks }])[0];
|
|
463
458
|
const keys = bookCitationKeys ? new Set([...bookCitationKeys, ...ctx.items.map((i) => i.id)]) : undefined;
|
|
@@ -609,6 +604,56 @@ export function wordOverflowWarnings(doc) {
|
|
|
609
604
|
}
|
|
610
605
|
return out;
|
|
611
606
|
}
|
|
607
|
+
/** A `designTextTruncated` warning for each design text cut to fit its
|
|
608
|
+
* width (`VDTDesignTextBlock.truncated`, #628): one per element and page
|
|
609
|
+
* for a heading design, a part page or a contents part row; one per
|
|
610
|
+
* element and chapter for a running head or folio, which repeats the cut
|
|
611
|
+
* on every page (a chapter title, a folio's page number), on the first
|
|
612
|
+
* page that shows it. */
|
|
613
|
+
export function designTruncationWarnings(doc) {
|
|
614
|
+
const out = [];
|
|
615
|
+
const seen = new Set();
|
|
616
|
+
let chapters;
|
|
617
|
+
const slot = (s, pageIndex) => {
|
|
618
|
+
for (const b of s?.blocks ?? []) {
|
|
619
|
+
if (b.kind !== 'text' || !b.truncated)
|
|
620
|
+
continue;
|
|
621
|
+
const t = b.truncated;
|
|
622
|
+
let key;
|
|
623
|
+
if (t.slot === 'header' || t.slot === 'footer') {
|
|
624
|
+
chapters ??= computeChapterTitles(doc.blocks, doc.pages.length, doc.pages);
|
|
625
|
+
key = `${t.slot}\u0000${t.elementId}\u0000${chapters[pageIndex] ?? ''}`;
|
|
626
|
+
}
|
|
627
|
+
else {
|
|
628
|
+
key = `${pageIndex}\u0000${t.slot}\u0000${t.elementId}\u0000${b.sourceStart ?? ''}`;
|
|
629
|
+
}
|
|
630
|
+
if (seen.has(key))
|
|
631
|
+
continue;
|
|
632
|
+
seen.add(key);
|
|
633
|
+
out.push({
|
|
634
|
+
kind: 'designTextTruncated',
|
|
635
|
+
slot: t.slot,
|
|
636
|
+
elementId: t.elementId,
|
|
637
|
+
text: t.text,
|
|
638
|
+
mode: t.mode,
|
|
639
|
+
...(b.sourceStart !== undefined ? { sourceStart: b.sourceStart } : {}),
|
|
640
|
+
...(b.sourceEnd !== undefined ? { sourceEnd: b.sourceEnd } : {}),
|
|
641
|
+
pageIndex,
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
};
|
|
645
|
+
doc.pages.forEach((page, i) => {
|
|
646
|
+
slot(page.header, i);
|
|
647
|
+
slot(page.openerBand, i);
|
|
648
|
+
for (const col of page.columns)
|
|
649
|
+
for (const block of col.blocks)
|
|
650
|
+
slot(block.designOverlay, i);
|
|
651
|
+
for (const block of page.floats ?? [])
|
|
652
|
+
slot(block.designOverlay, i);
|
|
653
|
+
slot(page.footer, i);
|
|
654
|
+
});
|
|
655
|
+
return out;
|
|
656
|
+
}
|
|
612
657
|
/** A `joiningScriptLetterSpacing` warning for the first placed part of
|
|
613
658
|
* each block (by content index, `blocks`) whose style tracks words of a
|
|
614
659
|
* joining script, which are set untracked. */
|
|
@@ -630,6 +675,33 @@ export function joiningLetterSpacingWarnings(doc, blocks) {
|
|
|
630
675
|
}
|
|
631
676
|
return out;
|
|
632
677
|
}
|
|
678
|
+
/** A `floatShrunk` warning for each floated picture the layout set smaller
|
|
679
|
+
* to fit the room of its slot (`placement.shrink`, #626), with how far it
|
|
680
|
+
* still runs past the text block's foot when even its smallest scale did
|
|
681
|
+
* not fit. `sourceRangeOf` gives the range of the content block that first
|
|
682
|
+
* cites it. */
|
|
683
|
+
export function floatShrinkWarnings(doc, sourceRangeOf) {
|
|
684
|
+
const out = [];
|
|
685
|
+
for (const page of doc.pages) {
|
|
686
|
+
for (const block of page.floats ?? []) {
|
|
687
|
+
const rb = block.resourceBlock;
|
|
688
|
+
if (!rb || rb.shrinkScale === undefined)
|
|
689
|
+
continue;
|
|
690
|
+
const foot = page.contentArea.y + page.contentArea.height;
|
|
691
|
+
const overflowPx = Math.round(block.bbox.y + block.bbox.height - foot);
|
|
692
|
+
const range = block.contentIndex !== undefined ? sourceRangeOf?.(block.contentIndex) : undefined;
|
|
693
|
+
out.push({
|
|
694
|
+
kind: 'floatShrunk',
|
|
695
|
+
resourceId: rb.resource.id,
|
|
696
|
+
scale: Math.round(rb.shrinkScale * 1000) / 1000,
|
|
697
|
+
...(overflowPx > 0 ? { overflowPx } : {}),
|
|
698
|
+
...(range ? { sourceStart: range.start, sourceEnd: range.end } : {}),
|
|
699
|
+
pageIndex: page.index,
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
return out;
|
|
704
|
+
}
|
|
633
705
|
/** A `dropCap` warning for the first placed part of each paragraph (by
|
|
634
706
|
* content index) whose drop cap could not be set as configured (#623). */
|
|
635
707
|
export function dropCapWarnings(doc, notes) {
|
|
@@ -697,6 +769,9 @@ export function formatWarning(w) {
|
|
|
697
769
|
? `Unknown resource id "${w.resourceId}" for a table cell image${inRes} — the cell stays text-only`
|
|
698
770
|
: `Unknown resource id "${w.resourceId}" in :ref${inRes} — it prints "?" (or its text= label), with no number or link`;
|
|
699
771
|
break;
|
|
772
|
+
case 'invalidFrontmatter':
|
|
773
|
+
text = `The front matter cannot be read: ${w.message} — the document is set without its metadata`;
|
|
774
|
+
break;
|
|
700
775
|
case 'unknownDirective':
|
|
701
776
|
text = `Unknown directive ":::${w.name}" — the line is set as text`;
|
|
702
777
|
break;
|
|
@@ -718,6 +793,9 @@ export function formatWarning(w) {
|
|
|
718
793
|
case 'unknownCalloutType':
|
|
719
794
|
text = `Unknown callout type "${w.type}" — the box takes the first callout style`;
|
|
720
795
|
break;
|
|
796
|
+
case 'columnsFlowUnknown':
|
|
797
|
+
text = `Unknown flow "${w.value}" for :::columns — the group fills its columns in turn ("snake"), or stream by stream ("parallel") when it sets breaks`;
|
|
798
|
+
break;
|
|
721
799
|
case 'paperAttributeInvalid':
|
|
722
800
|
text = `:::paper ${w.key}="${w.value}" is not a value it reads — dropped, the pages keep the document's paper for it`;
|
|
723
801
|
break;
|
|
@@ -767,9 +845,27 @@ export function formatWarning(w) {
|
|
|
767
845
|
case 'missingImage':
|
|
768
846
|
text = `No image for file "${w.fileId}"${w.resourceId !== undefined ? ` (resource "${w.resourceId}")` : ''} — painted as a placeholder`;
|
|
769
847
|
break;
|
|
848
|
+
case 'svgFontUnavailable':
|
|
849
|
+
text = `The SVG "${w.fileId}"${w.resourceId !== undefined ? ` (resource "${w.resourceId}")` : ''} sets text in "${w.family}" ${w.weight}${w.style === 'italic' ? ' italic' : ''}, which has no face to embed — the image sets it in a fallback face`;
|
|
850
|
+
break;
|
|
851
|
+
case 'svgFontsTooLarge':
|
|
852
|
+
text = `The fonts of the SVG "${w.fileId}"${w.resourceId !== undefined ? ` (resource "${w.resourceId}")` : ''} come to ${Math.round(w.bytes / 1024)} KB, over the ${Math.round(w.maxBytes / 1024)} KB cap — none was embedded`;
|
|
853
|
+
break;
|
|
770
854
|
case 'cjkLooseLine':
|
|
771
855
|
text = `The justified line "${w.text}" needs more space between its characters than the cap allows — it is set short of the measure`;
|
|
772
856
|
break;
|
|
857
|
+
case 'fontFallback': {
|
|
858
|
+
const face = `"${w.family}" ${w.weight}${w.style === 'italic' ? ' italic' : ''}`;
|
|
859
|
+
text = w.reason === 'missing'
|
|
860
|
+
? `The face ${face} was not loaded when the document was laid out — its text was measured with a fallback face; load it first (prepareFonts, buildDocumentWithFonts)`
|
|
861
|
+
: `The face ${face} has no file of its own — the browser draws it from another weight or slant of the family; load that face or set a weight the family has`;
|
|
862
|
+
break;
|
|
863
|
+
}
|
|
864
|
+
case 'designTextTruncated':
|
|
865
|
+
text = w.mode === 'clip'
|
|
866
|
+
? `The ${w.slot} text "${w.text}" (element "${w.elementId}") is wider than its box and clipped`
|
|
867
|
+
: `The ${w.slot} text "${w.text}" (element "${w.elementId}") does not fit its width and ends in an ellipsis — set overflow: 'wrap' to break it onto more lines, or give it more room`;
|
|
868
|
+
break;
|
|
773
869
|
case 'unbreakableWordOverflow':
|
|
774
870
|
text = `The line "${w.text}" holds an Arabic-script word wider than the line — such a word is never divided, so it runs past the measure`;
|
|
775
871
|
break;
|
|
@@ -796,6 +892,31 @@ export function formatWarning(w) {
|
|
|
796
892
|
: `${what} — the listing is set at ${Math.round((w.scale ?? 1) * 100)} % of its size, and what still does not fit is turned over`;
|
|
797
893
|
break;
|
|
798
894
|
}
|
|
895
|
+
case 'columnsTooNarrow':
|
|
896
|
+
text = `The ${w.columns} columns of a :::columns group are ${Math.round(w.widthPx)} px wide, narrower than six ems of their text — few words fit a line; set fewer columns or a smaller gap`;
|
|
897
|
+
break;
|
|
898
|
+
case 'afterText':
|
|
899
|
+
text = `${w.resourceId !== undefined ? `The resource "${w.resourceId}"` : 'A side box'} stands in the side column of a page with no text — the text ended before the side column had room for it; fence it earlier or make it shorter`;
|
|
900
|
+
break;
|
|
901
|
+
case 'unplaced':
|
|
902
|
+
text = `${w.resourceId !== undefined ? `The resource "${w.resourceId}"` : 'A box'} found no slot before the layout ended — it is on no page`;
|
|
903
|
+
break;
|
|
904
|
+
case 'textWrap': {
|
|
905
|
+
const what = w.resourceId !== undefined ? `The resource "${w.resourceId}"` : `A "${w.box ?? 'callout'}" box`;
|
|
906
|
+
text = w.reason === 'moved'
|
|
907
|
+
? `${what} wraps text round it but is too tall for the room left in its column — it moved on to the next column with its anchor`
|
|
908
|
+
: w.reason === 'tooNarrow'
|
|
909
|
+
? `${what} would leave the text beside it narrower than layout.wrap.minTextWidth — it takes its band whole, with no text beside it`
|
|
910
|
+
: w.reason === 'verticalText'
|
|
911
|
+
? `${what} asks for text wrap, which is set in horizontal text only — in vertical text it takes its band whole`
|
|
912
|
+
: `${what} is shorter than layout.wrap.minLinesBeside lines — it takes its band whole, with no text beside it`;
|
|
913
|
+
break;
|
|
914
|
+
}
|
|
915
|
+
case 'floatShrunk':
|
|
916
|
+
text = w.overflowPx !== undefined
|
|
917
|
+
? `The picture "${w.resourceId}" is set at its smallest scale, ${Math.round(w.scale * 100)} % of its size, and still runs ${w.overflowPx} px past the foot of the page's text block`
|
|
918
|
+
: `The picture "${w.resourceId}" is set at ${Math.round(w.scale * 100)} % of its size to fit the room left on its page`;
|
|
919
|
+
break;
|
|
799
920
|
case 'cjkMarksExceedLeading':
|
|
800
921
|
text = `The paragraph "${w.text}" has emphasis dots or name and title lines in a line gap of ${w.gapEm} em — they need ${w.neededEm} em; set it with more leading`;
|
|
801
922
|
break;
|
|
@@ -860,6 +981,9 @@ export function formatWarning(w) {
|
|
|
860
981
|
case 'comicAnchorOutsideSafeArea':
|
|
861
982
|
text = `The anchor "${w.anchorId}" of "${w.resourceId}" lies outside the picture's safe area — a crop may cut it off`;
|
|
862
983
|
break;
|
|
984
|
+
case 'wrapUnsupported':
|
|
985
|
+
text = `${w.path}: text wraps in horizontal text only — in this vertical document "${w.value}" is ignored and the figures keep their bands whole`;
|
|
986
|
+
break;
|
|
863
987
|
case 'cjkGridClamped':
|
|
864
988
|
text = `${w.path}: ${w.value} ${w.path.endsWith('charsPerLine') ? 'characters per line' : 'lines'} do not fit inside the margins — the grid is set with ${w.used}`;
|
|
865
989
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentWarnings.js","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contentWarnings.js","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* which owns the VDT and measurement context.
|
|
17
17
|
*/
|
|
18
18
|
import type { ContentBlock } from '../parse';
|
|
19
|
-
import type { Resource, ResourceType, ResourceFloatPosition, ResourceFloatSpan, ResourceRotation } from '../types';
|
|
19
|
+
import type { Dimension, FloatShrinkMode, ResolvedTextWrapConfig, Resource, ResourceType, ResourceFloatPosition, ResourceFloatSpan, ResourceRotation } from '../types';
|
|
20
20
|
import { floatColumnCount } from '../defaults/shared';
|
|
21
21
|
export { floatColumnCount };
|
|
22
22
|
/** Resolved placement for a resource: never `undefined` fields (but
|
|
@@ -31,6 +31,15 @@ export interface ResolvedPlacement {
|
|
|
31
31
|
captionSide: boolean;
|
|
32
32
|
/** Adjacent columns a column float takes (1 = its own column). */
|
|
33
33
|
columns: number;
|
|
34
|
+
/** How the float is scaled to the room of a slot (`placement.shrink`,
|
|
35
|
+
* #626) and the smallest scale it takes; `'never'` for anything but an
|
|
36
|
+
* upright picture. */
|
|
37
|
+
shrink: FloatShrinkMode;
|
|
38
|
+
minScale: number;
|
|
39
|
+
/** The float may head the page or column its citing line lands on
|
|
40
|
+
* (`placement.citingPage`, #633): a `'top'` or `'auto'` float of a
|
|
41
|
+
* column or page span, not turned. */
|
|
42
|
+
citingPage: boolean;
|
|
34
43
|
}
|
|
35
44
|
/** A planned float: the resource, its resolved placement, and the index of the
|
|
36
45
|
* content block where it is first referenced (its anchor). `'auto'` takes
|
|
@@ -60,6 +69,25 @@ export interface PlannedFloat {
|
|
|
60
69
|
/** A `span: 'column'` float across this many adjacent columns (absent
|
|
61
70
|
* for one; see `ResourcePlacement.columns`). */
|
|
62
71
|
columns?: number;
|
|
72
|
+
/** A picture scaled to the room of a slot rather than moved on
|
|
73
|
+
* (`placement.shrink`, #626), never below `minScale`. Absent for
|
|
74
|
+
* `'never'`. */
|
|
75
|
+
shrink?: 'page' | 'slot';
|
|
76
|
+
minScale?: number;
|
|
77
|
+
/** Text wraps round the float (#627, `placement.wrap`): a one-column
|
|
78
|
+
* float at the head or foot of its column, at this side of it; the
|
|
79
|
+
* column's first or last lines run beside it. `widthFraction` and
|
|
80
|
+
* `align` then say where it stands. Absent for a float that keeps its
|
|
81
|
+
* band whole. */
|
|
82
|
+
wrap?: 'left' | 'right';
|
|
83
|
+
/** The wrap's own gap (`placement.wrapGap`, else `layout.wrap.gap`). */
|
|
84
|
+
wrapGap?: Dimension;
|
|
85
|
+
/** May head the page (page span) or column (column span) where its
|
|
86
|
+
* citing line lands (`placement.citingPage`, #633): the build proposes
|
|
87
|
+
* that slot after a pass and keeps it while the citing line stays
|
|
88
|
+
* there. Absent for a float that takes the first free slot after its
|
|
89
|
+
* reference. */
|
|
90
|
+
citingPage?: true;
|
|
63
91
|
/** For the rest of a table split across pages: the first model row still
|
|
64
92
|
* to place (the header rows are repeated above it). Absent (or `0`) for
|
|
65
93
|
* a whole resource. */
|
|
@@ -79,12 +107,21 @@ export interface PlannedFloat {
|
|
|
79
107
|
startIdx: number;
|
|
80
108
|
};
|
|
81
109
|
}
|
|
110
|
+
/** The document default for `placement.shrink` (`layout.floatShrink`). */
|
|
111
|
+
export interface FloatShrinkDefault {
|
|
112
|
+
mode: FloatShrinkMode;
|
|
113
|
+
minScale: number;
|
|
114
|
+
}
|
|
82
115
|
/** Resolve a resource's placement: own `placement` → its type's
|
|
83
116
|
* `defaultPlacement` → the built-in default (`auto` / `column`). A rotated
|
|
84
117
|
* resource is always a page-span float; an inline (`here`) embed is never
|
|
85
118
|
* rotated, and neither is any resource of a vertical flow (`noRotation`:
|
|
86
|
-
* every resource there stands upright, in its own span).
|
|
87
|
-
|
|
119
|
+
* every resource there stands upright, in its own span). `shrink` falls
|
|
120
|
+
* back to `shrinkDefault` (`layout.floatShrink`), and applies to upright
|
|
121
|
+
* pictures only (bitmap, SVG, video poster). */
|
|
122
|
+
export declare function resolveResourcePlacement(resource: Resource, type: ResourceType | undefined, noRotation?: boolean, shrinkDefault?: FloatShrinkDefault,
|
|
123
|
+
/** `layout.floatsAtCitingPage`: the default of `placement.citingPage`. */
|
|
124
|
+
citingPageDefault?: boolean): ResolvedPlacement;
|
|
88
125
|
/**
|
|
89
126
|
* Walk the parsed blocks in reading order and produce the floats to place, in
|
|
90
127
|
* first-reference order. A resource is floated when its resolved position is
|
|
@@ -102,7 +139,14 @@ export declare function computeFloatPlan(blocks: ContentBlock[], resources: Reso
|
|
|
102
139
|
* Either for the whole document or per content block (the block a
|
|
103
140
|
* resource is first referred to in: a styled section may set its own
|
|
104
141
|
* writing mode). */
|
|
105
|
-
noRotation?: boolean | ((blockIdx: number) => boolean)
|
|
142
|
+
noRotation?: boolean | ((blockIdx: number) => boolean),
|
|
143
|
+
/** `layout.floatShrink`: the default of `placement.shrink`. */
|
|
144
|
+
shrinkDefault?: FloatShrinkDefault,
|
|
145
|
+
/** `layout.wrap`: how a float that asks for text wrap is set (#627);
|
|
146
|
+
* absent, no float wraps. */
|
|
147
|
+
wrapSettings?: ResolvedTextWrapConfig,
|
|
148
|
+
/** `layout.floatsAtCitingPage` (#633). */
|
|
149
|
+
citingPageDefault?: boolean): PlannedFloat[];
|
|
106
150
|
/** The set of resource ids that float (so the build loop can skip their inline
|
|
107
151
|
* `::resource` placement). Derived from a {@link computeFloatPlan} result,
|
|
108
152
|
* plus the floating resources of `incorporated` (placed by the preceding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floatPlacement.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAuB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"floatPlacement.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,13 +17,19 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { resourceRefId } from './crossRefs';
|
|
19
19
|
import { floatColumnCount, startEndAsLeftRight } from '../defaults/shared';
|
|
20
|
+
import { DEFAULT_FLOAT_MIN_SCALE, floatMinScaleOf, floatShrinkModeOf } from '../defaults/layout';
|
|
21
|
+
import { resolveResourceWrap } from './textWrap';
|
|
20
22
|
export { floatColumnCount };
|
|
21
23
|
/** Resolve a resource's placement: own `placement` → its type's
|
|
22
24
|
* `defaultPlacement` → the built-in default (`auto` / `column`). A rotated
|
|
23
25
|
* resource is always a page-span float; an inline (`here`) embed is never
|
|
24
26
|
* rotated, and neither is any resource of a vertical flow (`noRotation`:
|
|
25
|
-
* every resource there stands upright, in its own span).
|
|
26
|
-
|
|
27
|
+
* every resource there stands upright, in its own span). `shrink` falls
|
|
28
|
+
* back to `shrinkDefault` (`layout.floatShrink`), and applies to upright
|
|
29
|
+
* pictures only (bitmap, SVG, video poster). */
|
|
30
|
+
export function resolveResourcePlacement(resource, type, noRotation = false, shrinkDefault,
|
|
31
|
+
/** `layout.floatsAtCitingPage`: the default of `placement.citingPage`. */
|
|
32
|
+
citingPageDefault = false) {
|
|
27
33
|
const position = resource.placement?.position ?? type?.defaultPlacement?.position ?? 'auto';
|
|
28
34
|
const rotate = position === 'here' || noRotation
|
|
29
35
|
? undefined
|
|
@@ -34,7 +40,15 @@ export function resolveResourcePlacement(resource, type, noRotation = false) {
|
|
|
34
40
|
const align = startEndAsLeftRight(resource.placement?.align ?? type?.defaultPlacement?.align ?? 'left');
|
|
35
41
|
const captionSide = resource.placement?.captionSide ?? type?.defaultPlacement?.captionSide ?? false;
|
|
36
42
|
const columns = floatColumnCount(resource.placement?.columns ?? type?.defaultPlacement?.columns);
|
|
37
|
-
|
|
43
|
+
const picture = resource.kind === 'bitmap' || resource.kind === 'svg' || resource.kind === 'video';
|
|
44
|
+
const shrink = picture && !rotate && position !== 'here'
|
|
45
|
+
? floatShrinkModeOf(resource.placement?.shrink) ?? floatShrinkModeOf(type?.defaultPlacement?.shrink) ?? shrinkDefault?.mode ?? 'never'
|
|
46
|
+
: 'never';
|
|
47
|
+
const minScale = floatMinScaleOf(resource.placement?.minScale) ?? floatMinScaleOf(type?.defaultPlacement?.minScale)
|
|
48
|
+
?? shrinkDefault?.minScale ?? DEFAULT_FLOAT_MIN_SCALE;
|
|
49
|
+
const citingPage = (position === 'top' || position === 'auto') && !rotate && span !== 'side'
|
|
50
|
+
&& (resource.placement?.citingPage ?? type?.defaultPlacement?.citingPage ?? citingPageDefault) === true;
|
|
51
|
+
return { position, span, widthFraction, align, captionSide, columns, shrink, minScale, citingPage, ...(rotate ? { rotate } : {}) };
|
|
38
52
|
}
|
|
39
53
|
/**
|
|
40
54
|
* Walk the parsed blocks in reading order and produce the floats to place, in
|
|
@@ -53,7 +67,14 @@ export function computeFloatPlan(blocks, resources, resourceTypes, incorporated,
|
|
|
53
67
|
* Either for the whole document or per content block (the block a
|
|
54
68
|
* resource is first referred to in: a styled section may set its own
|
|
55
69
|
* writing mode). */
|
|
56
|
-
noRotation = false
|
|
70
|
+
noRotation = false,
|
|
71
|
+
/** `layout.floatShrink`: the default of `placement.shrink`. */
|
|
72
|
+
shrinkDefault,
|
|
73
|
+
/** `layout.wrap`: how a float that asks for text wrap is set (#627);
|
|
74
|
+
* absent, no float wraps. */
|
|
75
|
+
wrapSettings,
|
|
76
|
+
/** `layout.floatsAtCitingPage` (#633). */
|
|
77
|
+
citingPageDefault = false) {
|
|
57
78
|
const noRotationAt = typeof noRotation === 'function' ? noRotation : () => noRotation;
|
|
58
79
|
const resourceById = new Map();
|
|
59
80
|
for (const r of resources)
|
|
@@ -72,9 +93,24 @@ noRotation = false) {
|
|
|
72
93
|
return;
|
|
73
94
|
const type = typeById.get(resource.typeId);
|
|
74
95
|
const upright = noRotationAt(blockIdx);
|
|
75
|
-
const { position, span, rotate, widthFraction, align, captionSide, columns } = resolveResourcePlacement(resource, type, upright);
|
|
96
|
+
const { position, span, rotate, widthFraction, align, captionSide, columns, shrink, minScale, citingPage } = resolveResourcePlacement(resource, type, upright, shrinkDefault, citingPageDefault);
|
|
76
97
|
if (position === 'here')
|
|
77
98
|
return;
|
|
99
|
+
// Text wrap (#627): a one-column float of horizontal text, upright,
|
|
100
|
+
// its caption under it; any other keeps its band whole.
|
|
101
|
+
const wrap = wrapSettings && !upright && !rotate && span === 'column' && columns === 1 && !captionSide
|
|
102
|
+
? resolveResourceWrap(resource, type, wrapSettings)
|
|
103
|
+
: undefined;
|
|
104
|
+
if (wrap) {
|
|
105
|
+
plan.push({
|
|
106
|
+
resourceId, firstBlockIdx: blockIdx, position, span,
|
|
107
|
+
widthFraction: wrap.width, align: wrap.side, wrap: wrap.side,
|
|
108
|
+
...(wrap.gap ? { wrapGap: wrap.gap } : {}),
|
|
109
|
+
...(shrink !== 'never' ? { shrink, minScale } : {}),
|
|
110
|
+
...(citingPage ? { citingPage } : {}),
|
|
111
|
+
});
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
78
114
|
plan.push({
|
|
79
115
|
resourceId, firstBlockIdx: blockIdx, position, span,
|
|
80
116
|
...(rotate ? { rotate } : {}),
|
|
@@ -84,6 +120,8 @@ noRotation = false) {
|
|
|
84
120
|
: upright && align !== 'left' ? { align } : {}),
|
|
85
121
|
...(captionSide && span === 'column' && columns === 1 ? { captionSide } : {}),
|
|
86
122
|
...(columns > 1 && span === 'column' && !rotate ? { columns } : {}),
|
|
123
|
+
...(shrink !== 'never' && !upright ? { shrink, minScale } : {}),
|
|
124
|
+
...(citingPage ? { citingPage } : {}),
|
|
87
125
|
});
|
|
88
126
|
};
|
|
89
127
|
for (let i = 0; i < blocks.length; i++) {
|