postext 1.24.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/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.js +4 -2
- package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -1
- 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__/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__/exports.test.js +49 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/hardBreaks.test.js +1 -1
- package/dist/__tests__/headingInlineMarks.test.js +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__/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/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/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/compoundBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
- 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/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/inlineFigureSpace.test.js +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/raggedOptimal.test.js +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__/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__/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__/verseLines.test.js +1 -1
- package/dist/__tests__/vertical/measurePaint.test.js +16 -0
- package/dist/__tests__/vertical/measurePaint.test.js.map +1 -1
- 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.map +1 -1
- package/dist/bundle/codec.js +1 -0
- package/dist/bundle/codec.js.map +1 -1
- package/dist/bundle/configVersion.d.ts +127 -10
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +260 -9
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/index.d.ts +3 -3
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +2 -2
- package/dist/bundle/index.js.map +1 -1
- package/dist/bundle/manifest.d.ts.map +1 -1
- package/dist/bundle/manifest.js +3 -2
- package/dist/bundle/manifest.js.map +1 -1
- package/dist/bundle/types.d.ts +4 -0
- package/dist/bundle/types.d.ts.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/columnRule.d.ts.map +1 -1
- package/dist/columnRule.js +5 -2
- package/dist/columnRule.js.map +1 -1
- package/dist/configWarnings.js +1 -1
- 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/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +3 -0
- 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 +5 -0
- package/dist/defaults/layout.d.ts.map +1 -1
- package/dist/defaults/layout.js +32 -0
- package/dist/defaults/layout.js.map +1 -1
- package/dist/defaults/tableStyle.d.ts.map +1 -1
- package/dist/defaults/tableStyle.js +6 -0
- package/dist/defaults/tableStyle.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.map +1 -1
- package/dist/design/layout.js +103 -5
- 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/html-backend.d.ts +17 -0
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +87 -3
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +25 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -2
- package/dist/index.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 +119 -7
- 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/index.d.ts +4 -1
- package/dist/measure/index.d.ts.map +1 -1
- package/dist/measure/index.js +3 -1
- package/dist/measure/index.js.map +1 -1
- package/dist/measure/types.d.ts +4 -0
- package/dist/measure/types.d.ts.map +1 -1
- 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 +1065 -193
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +20 -6
- 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 +3 -2
- 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 +22 -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.map +1 -1
- package/dist/pipeline/contentWarnings.js +28 -0
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/floatPlacement.d.ts +16 -2
- package/dist/pipeline/floatPlacement.d.ts.map +1 -1
- package/dist/pipeline/floatPlacement.js +12 -4
- package/dist/pipeline/floatPlacement.js.map +1 -1
- package/dist/pipeline/floatSlots.d.ts +9 -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/measureContentBlock.d.ts +13 -1
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +20 -5
- 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 +5 -2
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +26 -0
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +53 -3
- package/dist/pipeline/resourceLayout.js.map +1 -1
- 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/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/types.d.ts +138 -2
- 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 +118 -3
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.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
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cutting a `:::columns` group (#634). A group lays its children out in a
|
|
3
|
+
* galley at the sub-column width — one galley for a `flow="snake"` group,
|
|
4
|
+
* one per stream (the runs its `breaks` start) for a `flow="parallel"` one
|
|
5
|
+
* — and sets that galley in N sub-columns. A box (or a main-flow group's
|
|
6
|
+
* frameless box) that splits inside a group needs to know how far the
|
|
7
|
+
* galley goes in a fragment of a given room: {@link fillGalley} fills the
|
|
8
|
+
* sub-columns in turn, cutting between the galley's items or between the
|
|
9
|
+
* lines of a text item, never leaving fewer than the minimum lines of a
|
|
10
|
+
* paragraph on either side of a cut. The fragment that goes on is set
|
|
11
|
+
* with {@link minFillHeight}: the lowest column height that still holds
|
|
12
|
+
* its galley, so its sub-columns end as level as the cuts allow.
|
|
13
|
+
*/
|
|
14
|
+
/** One item of a galley: a child block (or a nested box) of the group. */
|
|
15
|
+
export interface GalleyItem {
|
|
16
|
+
/** Position of the child in the box's children (a nested box's opening
|
|
17
|
+
* marker). */
|
|
18
|
+
child: number;
|
|
19
|
+
/** Lines of the child set before this item: a paragraph the fragment
|
|
20
|
+
* opens inside of. */
|
|
21
|
+
lineBase: number;
|
|
22
|
+
/** Top in its galley and height, px. */
|
|
23
|
+
y: number;
|
|
24
|
+
height: number;
|
|
25
|
+
/** A text item that may be cut: the bottom of each of its lines,
|
|
26
|
+
* relative to `y`. Absent for an item never cut (a figure, a table, a
|
|
27
|
+
* display formula, a nested box, a one-line paragraph). */
|
|
28
|
+
lineBottoms?: number[];
|
|
29
|
+
}
|
|
30
|
+
/** Where a galley may be cut: before item `item` (`line` 0), or after the
|
|
31
|
+
* first `line` lines of it. `endY` is the bottom of what goes before the
|
|
32
|
+
* cut, `startY` the top of what goes after it (the space between two
|
|
33
|
+
* items vanishes at a column's head). */
|
|
34
|
+
export interface GalleyBreak {
|
|
35
|
+
item: number;
|
|
36
|
+
line: number;
|
|
37
|
+
endY: number;
|
|
38
|
+
startY: number;
|
|
39
|
+
}
|
|
40
|
+
/** The places a galley may be cut, in order (the galley's start and end
|
|
41
|
+
* are not among them). A cut inside a text item leaves at least
|
|
42
|
+
* `minLines` of its lines on each side, counted over this galley's part
|
|
43
|
+
* of it. */
|
|
44
|
+
export declare function galleyBreaks(items: readonly GalleyItem[], minLines: number): GalleyBreak[];
|
|
45
|
+
/** How a galley fills `columns` sub-columns of height `height`: the
|
|
46
|
+
* breaks that end each filled column, in order (the last one is where
|
|
47
|
+
* the fragment ends, unless `end`), and the tallest column. `end`: the
|
|
48
|
+
* whole galley fits. A column that cannot take the next item stops the
|
|
49
|
+
* fill there. */
|
|
50
|
+
export interface GalleyFill {
|
|
51
|
+
end: boolean;
|
|
52
|
+
/** Indices into the breaks, one per column the fill closed with a cut. */
|
|
53
|
+
cuts: number[];
|
|
54
|
+
used: number;
|
|
55
|
+
}
|
|
56
|
+
export declare function fillGalley(items: readonly GalleyItem[], breaks: readonly GalleyBreak[], columns: number, height: number): GalleyFill;
|
|
57
|
+
/** The lowest column height at which the galley fits `columns`
|
|
58
|
+
* sub-columns whole (to within a hundredth of a px), or the galley's
|
|
59
|
+
* height when nothing shorter does. */
|
|
60
|
+
export declare function minFillHeight(items: readonly GalleyItem[], breaks: readonly GalleyBreak[], columns: number): number;
|
|
61
|
+
//# sourceMappingURL=columnsGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnsGroup.d.ts","sourceRoot":"","sources":["../../src/pipeline/columnsGroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB;mBACe;IACf,KAAK,EAAE,MAAM,CAAC;IACd;2BACuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf;;gEAE4D;IAC5D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;0CAG0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;;aAGa;AACb,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAgB1F;AAED;;;;kBAIkB;AAClB,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,UAAU,CA2BZ;AAED;;wCAEwC;AACxC,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAYnH"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cutting a `:::columns` group (#634). A group lays its children out in a
|
|
3
|
+
* galley at the sub-column width — one galley for a `flow="snake"` group,
|
|
4
|
+
* one per stream (the runs its `breaks` start) for a `flow="parallel"` one
|
|
5
|
+
* — and sets that galley in N sub-columns. A box (or a main-flow group's
|
|
6
|
+
* frameless box) that splits inside a group needs to know how far the
|
|
7
|
+
* galley goes in a fragment of a given room: {@link fillGalley} fills the
|
|
8
|
+
* sub-columns in turn, cutting between the galley's items or between the
|
|
9
|
+
* lines of a text item, never leaving fewer than the minimum lines of a
|
|
10
|
+
* paragraph on either side of a cut. The fragment that goes on is set
|
|
11
|
+
* with {@link minFillHeight}: the lowest column height that still holds
|
|
12
|
+
* its galley, so its sub-columns end as level as the cuts allow.
|
|
13
|
+
*/
|
|
14
|
+
const EPS = 0.01;
|
|
15
|
+
/** The places a galley may be cut, in order (the galley's start and end
|
|
16
|
+
* are not among them). A cut inside a text item leaves at least
|
|
17
|
+
* `minLines` of its lines on each side, counted over this galley's part
|
|
18
|
+
* of it. */
|
|
19
|
+
export function galleyBreaks(items, minLines) {
|
|
20
|
+
const min = Math.max(1, minLines);
|
|
21
|
+
const out = [];
|
|
22
|
+
items.forEach((it, i) => {
|
|
23
|
+
if (i > 0) {
|
|
24
|
+
const prev = items[i - 1];
|
|
25
|
+
out.push({ item: i, line: 0, endY: prev.y + prev.height, startY: it.y });
|
|
26
|
+
}
|
|
27
|
+
const lines = it.lineBottoms;
|
|
28
|
+
if (!lines || lines.length < 2)
|
|
29
|
+
return;
|
|
30
|
+
for (let l = min; l <= lines.length - min; l++) {
|
|
31
|
+
const y = it.y + lines[l - 1];
|
|
32
|
+
out.push({ item: i, line: l, endY: y, startY: y });
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
export function fillGalley(items, breaks, columns, height) {
|
|
38
|
+
if (items.length === 0)
|
|
39
|
+
return { end: true, cuts: [], used: 0 };
|
|
40
|
+
const first = items[0];
|
|
41
|
+
const last = items[items.length - 1];
|
|
42
|
+
const endY = last.y + last.height;
|
|
43
|
+
let colStart = first.y;
|
|
44
|
+
let at = -1;
|
|
45
|
+
let used = 0;
|
|
46
|
+
const cuts = [];
|
|
47
|
+
for (let c = 0; c < Math.max(1, columns); c++) {
|
|
48
|
+
if (endY - colStart <= height + EPS) {
|
|
49
|
+
used = Math.max(used, endY - colStart);
|
|
50
|
+
return { end: true, cuts, used };
|
|
51
|
+
}
|
|
52
|
+
let best = -1;
|
|
53
|
+
for (let j = at + 1; j < breaks.length; j++) {
|
|
54
|
+
const b = breaks[j];
|
|
55
|
+
if (b.endY - colStart > height + EPS)
|
|
56
|
+
break;
|
|
57
|
+
best = j;
|
|
58
|
+
}
|
|
59
|
+
if (best < 0)
|
|
60
|
+
break;
|
|
61
|
+
used = Math.max(used, breaks[best].endY - colStart);
|
|
62
|
+
cuts.push(best);
|
|
63
|
+
at = best;
|
|
64
|
+
colStart = breaks[best].startY;
|
|
65
|
+
}
|
|
66
|
+
return { end: false, cuts, used };
|
|
67
|
+
}
|
|
68
|
+
/** The lowest column height at which the galley fits `columns`
|
|
69
|
+
* sub-columns whole (to within a hundredth of a px), or the galley's
|
|
70
|
+
* height when nothing shorter does. */
|
|
71
|
+
export function minFillHeight(items, breaks, columns) {
|
|
72
|
+
if (items.length === 0)
|
|
73
|
+
return 0;
|
|
74
|
+
const total = items[items.length - 1].y + items[items.length - 1].height - items[0].y;
|
|
75
|
+
let lo = total / Math.max(1, columns) - EPS;
|
|
76
|
+
let hi = total;
|
|
77
|
+
if (!fillGalley(items, breaks, columns, hi).end)
|
|
78
|
+
return total;
|
|
79
|
+
for (let i = 0; i < 40 && hi - lo > EPS; i++) {
|
|
80
|
+
const mid = (lo + hi) / 2;
|
|
81
|
+
if (fillGalley(items, breaks, columns, mid).end)
|
|
82
|
+
hi = mid;
|
|
83
|
+
else
|
|
84
|
+
lo = mid;
|
|
85
|
+
}
|
|
86
|
+
return hi;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=columnsGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnsGroup.js","sourceRoot":"","sources":["../../src/pipeline/columnsGroup.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,34 @@ import { columnCountUsed, layoutColumnCount, MULTIPLE_COLUMNS_MAX, MULTIPLE_COLU
|
|
|
3
3
|
export { columnCountUsed, layoutColumnCount, MULTIPLE_COLUMNS_MAX, MULTIPLE_COLUMNS_MIN };
|
|
4
4
|
import { type BoundingBox, type ResolvedConfig } from '../vdt';
|
|
5
5
|
export declare function resolveAllConfig(rawConfig?: PostextConfig): ResolvedConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Forget what the engine derived from `config` (its resolution, the part
|
|
8
|
+
* palette's colour values): the next build resolves it again. For hosts
|
|
9
|
+
* that change a config object in place on purpose; builds also notice a
|
|
10
|
+
* change on their own (see {@link validateConfigCache}).
|
|
11
|
+
*/
|
|
12
|
+
export declare function invalidateConfig(config: PostextConfig): void;
|
|
13
|
+
/**
|
|
14
|
+
* Check, once per build, that `config` still reads as it did when it was
|
|
15
|
+
* resolved; if it was changed in place since, drop the cached resolution
|
|
16
|
+
* (and the part palette memo) so the build sees the change. Costs one
|
|
17
|
+
* `JSON.stringify` of the config.
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateConfigCache(config: PostextConfig | undefined): void;
|
|
20
|
+
/**
|
|
21
|
+
* Whether column balancing is on when `config` does not set
|
|
22
|
+
* `headings.balancing.enabled` itself. Off in two cases:
|
|
23
|
+
* - tiers of vertical text are not balanced: the flow fills the upper
|
|
24
|
+
* tier, then the next, and a chapter's last tiers end where their text
|
|
25
|
+
* ends (clreq §7.1.3.4);
|
|
26
|
+
* - a page on a character grid (`cjk.grid`, #632) is filled cell by cell
|
|
27
|
+
* and line by line, the way the standards that count its lines set it
|
|
28
|
+
* (GB/T 9704: 22 lines of 28 characters): a column that ends short is
|
|
29
|
+
* left short, and no row is added above a heading. A config that turns
|
|
30
|
+
* balancing on there gets the levers that keep every character in its
|
|
31
|
+
* cell (see `pipeline/columnBalancing.ts`).
|
|
32
|
+
*/
|
|
33
|
+
export declare function balancingOnByDefault(config: PostextConfig | undefined): boolean;
|
|
6
34
|
/** The base direction of a document: `direction` as written when it is
|
|
7
35
|
* `'ltr'` or `'rtl'`; otherwise (`'auto'`, unset, or a value the engine
|
|
8
36
|
* does not know, which `collectConfigWarnings` reports) the direction of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEpH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEpH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;AA0C1F,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAalF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CAc1E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAI5D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAQ3E;AA0FD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAG/E;AAaD;;;sDAGsD;AACtD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAG1F;AAED;mCACmC;AACnC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,KAAK,GAAG,KAAK,CAEzE;AAED;;;aAGa;AACb,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAE/D;AAED;;sBAEsB;AACtB,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,WAAW,CAEtE;AAMD;6DAC6D;AAC7D,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,GACvB,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAIzC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAUpE;AAED;;;;;;;6DAO6D;AAC7D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAOrF;AAED;qEACqE;AACrE,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;;;;;uCAQuC;AACvC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMrG;AAED;;;;;;yCAMyC;AACzC,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,EACxB,QAAQ,UAAQ,GACf,WAAW,EAAE,CAgCf;AAED;+CAC+C;AAC/C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAEpE"}
|
package/dist/pipeline/config.js
CHANGED
|
@@ -4,11 +4,18 @@ import { resolvePageConfig, resolveLayoutConfig, resolveBodyTextConfig, resolveH
|
|
|
4
4
|
import { dimensionToPx } from '../units';
|
|
5
5
|
import { applyCjkGrid } from './cjkGrid';
|
|
6
6
|
import { directionOf, presentTag, resolveNumerals } from '../locale';
|
|
7
|
+
import { configFingerprint } from '../util/stableHash';
|
|
8
|
+
import { forgetFlowColorValues } from './partPalette';
|
|
7
9
|
import { createBoundingBox } from '../vdt';
|
|
8
10
|
// Resolved configs are never mutated (derived variants spread them), so
|
|
9
11
|
// one resolution per config object serves every pass of a build and every
|
|
10
|
-
// chapter counted against the same config on the main thread.
|
|
12
|
+
// chapter counted against the same config on the main thread. A raw
|
|
13
|
+
// config may be changed in place by its host, though (#629): each
|
|
14
|
+
// resolution keeps the config's text as it was (`configFingerprint`), and
|
|
15
|
+
// every build compares it first (`validateConfigCache`), dropping the
|
|
16
|
+
// resolution when it no longer matches.
|
|
11
17
|
const resolvedByConfig = new WeakMap();
|
|
18
|
+
const fingerprints = new WeakMap();
|
|
12
19
|
let resolvedDefault = null;
|
|
13
20
|
export function resolveAllConfig(rawConfig) {
|
|
14
21
|
if (!rawConfig) {
|
|
@@ -19,10 +26,45 @@ export function resolveAllConfig(rawConfig) {
|
|
|
19
26
|
const hit = resolvedByConfig.get(rawConfig);
|
|
20
27
|
if (hit)
|
|
21
28
|
return hit;
|
|
29
|
+
if (!fingerprints.has(rawConfig)) {
|
|
30
|
+
const fingerprint = configFingerprint(rawConfig);
|
|
31
|
+
if (fingerprint !== undefined)
|
|
32
|
+
fingerprints.set(rawConfig, fingerprint);
|
|
33
|
+
}
|
|
22
34
|
const resolved = resolveAllConfigUncached(rawConfig);
|
|
23
35
|
resolvedByConfig.set(rawConfig, resolved);
|
|
24
36
|
return resolved;
|
|
25
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Forget what the engine derived from `config` (its resolution, the part
|
|
40
|
+
* palette's colour values): the next build resolves it again. For hosts
|
|
41
|
+
* that change a config object in place on purpose; builds also notice a
|
|
42
|
+
* change on their own (see {@link validateConfigCache}).
|
|
43
|
+
*/
|
|
44
|
+
export function invalidateConfig(config) {
|
|
45
|
+
resolvedByConfig.delete(config);
|
|
46
|
+
fingerprints.delete(config);
|
|
47
|
+
forgetFlowColorValues(config);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check, once per build, that `config` still reads as it did when it was
|
|
51
|
+
* resolved; if it was changed in place since, drop the cached resolution
|
|
52
|
+
* (and the part palette memo) so the build sees the change. Costs one
|
|
53
|
+
* `JSON.stringify` of the config.
|
|
54
|
+
*/
|
|
55
|
+
export function validateConfigCache(config) {
|
|
56
|
+
if (!config)
|
|
57
|
+
return;
|
|
58
|
+
const fingerprint = configFingerprint(config);
|
|
59
|
+
if (fingerprint === undefined)
|
|
60
|
+
return;
|
|
61
|
+
const known = fingerprints.get(config);
|
|
62
|
+
if (known === fingerprint)
|
|
63
|
+
return;
|
|
64
|
+
if (known !== undefined)
|
|
65
|
+
invalidateConfig(config);
|
|
66
|
+
fingerprints.set(config, fingerprint);
|
|
67
|
+
}
|
|
26
68
|
function resolveAllConfigUncached(rawConfig) {
|
|
27
69
|
// The character grid (`cjk.grid`) sets the margins and the gutter before
|
|
28
70
|
// anything reads them (see `cjkGrid.ts`).
|
|
@@ -34,7 +76,7 @@ function resolveAllConfigUncached(rawConfig) {
|
|
|
34
76
|
const documentLocale = documentLocaleOf(config?.locale, bodyText.hyphenation);
|
|
35
77
|
const layout = resolveLayoutConfig(config?.layout);
|
|
36
78
|
const direction = resolveDirection(config?.direction, documentLocale);
|
|
37
|
-
const headings =
|
|
79
|
+
const headings = defaultBalancing(resolveHeadingsConfig(config?.headings), config);
|
|
38
80
|
const unorderedLists = resolveUnorderedListsConfig(config?.unorderedLists, bodyText);
|
|
39
81
|
const orderedLists = resolveOrderedListsConfig(config?.orderedLists, bodyText, documentLocale);
|
|
40
82
|
// A comic book (a config with a `comics` section) read right to left is
|
|
@@ -110,12 +152,29 @@ function resolveAllConfigUncached(rawConfig) {
|
|
|
110
152
|
};
|
|
111
153
|
return applyPaletteToResolvedConfig(resolved, rawConfig?.colorPalette);
|
|
112
154
|
}
|
|
113
|
-
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
|
|
118
|
-
|
|
155
|
+
/**
|
|
156
|
+
* Whether column balancing is on when `config` does not set
|
|
157
|
+
* `headings.balancing.enabled` itself. Off in two cases:
|
|
158
|
+
* - tiers of vertical text are not balanced: the flow fills the upper
|
|
159
|
+
* tier, then the next, and a chapter's last tiers end where their text
|
|
160
|
+
* ends (clreq §7.1.3.4);
|
|
161
|
+
* - a page on a character grid (`cjk.grid`, #632) is filled cell by cell
|
|
162
|
+
* and line by line, the way the standards that count its lines set it
|
|
163
|
+
* (GB/T 9704: 22 lines of 28 characters): a column that ends short is
|
|
164
|
+
* left short, and no row is added above a heading. A config that turns
|
|
165
|
+
* balancing on there gets the levers that keep every character in its
|
|
166
|
+
* cell (see `pipeline/columnBalancing.ts`).
|
|
167
|
+
*/
|
|
168
|
+
export function balancingOnByDefault(config) {
|
|
169
|
+
if (config?.cjk?.grid?.enabled === true)
|
|
170
|
+
return false;
|
|
171
|
+
return config?.layout?.writingMode !== 'vertical-rl';
|
|
172
|
+
}
|
|
173
|
+
/** The headings with column balancing off when the document's default
|
|
174
|
+
* turns it off ({@link balancingOnByDefault}) and its config does not
|
|
175
|
+
* turn it on itself. */
|
|
176
|
+
function defaultBalancing(headings, config) {
|
|
177
|
+
if (config?.headings?.balancing?.enabled !== undefined || !headings.balancing.enabled || balancingOnByDefault(config))
|
|
119
178
|
return headings;
|
|
120
179
|
return { ...headings, balancing: { ...headings.balancing, enabled: false } };
|
|
121
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentWarnings.d.ts","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAiB,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA8C5D;iDACiD;AACjD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAoBxG;AAgCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,aAAa,EACtB,SAAS,GAAE,SAAS,QAAQ,EAAO;AACnC;sDACsD;AACtD,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AACjC;4DAC4D;AAC5D,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"contentWarnings.d.ts","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAiB,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA8C5D;iDACiD;AACjD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAoBxG;AAgCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,aAAa,EACtB,SAAS,GAAE,SAAS,QAAQ,EAAO;AACnC;sDACsD;AACtD,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AACjC;4DAC4D;AAC5D,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,cAAc,EAAE,CAyTlB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE,CA6C7G;AAED;0EAC0E;AAC1E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,EAAE,CAevE;AAED;;;;8CAI8C;AAC9C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,EAAE,CAuCvE;AAED;;;;;0BAK0B;AAC1B,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,EAAE,CAqC3E;AAED;;+CAE+C;AAC/C,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,cAAc,EAAE,CAgB5G;AAED;;;;gBAIgB;AAChB,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACnF,cAAc,EAAE,CAoBlB;AAED;2EAC2E;AAC3E,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACvJ,cAAc,EAAE,CAsBlB;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,gBAAgB,GAAG,MAAM,CA4O1H"}
|
|
@@ -256,6 +256,9 @@ bookCitationKeys) {
|
|
|
256
256
|
else if (b.containerName === 'callout' && calloutStyles.size > 0 && attrs.type !== undefined && !calloutStyles.has(attrs.type)) {
|
|
257
257
|
out.push({ kind: 'unknownCalloutType', type: attrs.type, ...abs(range) });
|
|
258
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
|
+
}
|
|
259
262
|
else if (b.containerName === 'paper') {
|
|
260
263
|
for (const issue of parsePaperAttrs(attrs, config?.colorPalette).issues) {
|
|
261
264
|
out.push({ kind: 'paperAttributeInvalid', key: issue.key, value: issue.value, ...abs(range) });
|
|
@@ -790,6 +793,9 @@ export function formatWarning(w) {
|
|
|
790
793
|
case 'unknownCalloutType':
|
|
791
794
|
text = `Unknown callout type "${w.type}" — the box takes the first callout style`;
|
|
792
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;
|
|
793
799
|
case 'paperAttributeInvalid':
|
|
794
800
|
text = `:::paper ${w.key}="${w.value}" is not a value it reads — dropped, the pages keep the document's paper for it`;
|
|
795
801
|
break;
|
|
@@ -839,9 +845,22 @@ export function formatWarning(w) {
|
|
|
839
845
|
case 'missingImage':
|
|
840
846
|
text = `No image for file "${w.fileId}"${w.resourceId !== undefined ? ` (resource "${w.resourceId}")` : ''} — painted as a placeholder`;
|
|
841
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;
|
|
842
854
|
case 'cjkLooseLine':
|
|
843
855
|
text = `The justified line "${w.text}" needs more space between its characters than the cap allows — it is set short of the measure`;
|
|
844
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
|
+
}
|
|
845
864
|
case 'designTextTruncated':
|
|
846
865
|
text = w.mode === 'clip'
|
|
847
866
|
? `The ${w.slot} text "${w.text}" (element "${w.elementId}") is wider than its box and clipped`
|
|
@@ -873,6 +892,15 @@ export function formatWarning(w) {
|
|
|
873
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`;
|
|
874
893
|
break;
|
|
875
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;
|
|
876
904
|
case 'textWrap': {
|
|
877
905
|
const what = w.resourceId !== undefined ? `The resource "${w.resourceId}"` : `A "${w.box ?? 'callout'}" box`;
|
|
878
906
|
text = w.reason === 'moved'
|