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 @@
|
|
|
1
|
+
{"version":3,"file":"cjkDesignText.test.js","sourceRoot":"","sources":["../../../src/__tests__/design/cjkDesignText.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cjkDesignTextRender.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/design/cjkDesignTextRender.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { renderHeaderFooterSlot } from '../../canvas-backend/headerFooter';
|
|
3
|
+
import { renderToHtml } from '../../html-backend';
|
|
4
|
+
import { buildDocument } from '../../pipeline';
|
|
5
|
+
import { installSizedStub, stubCharWidth } from '../vertical/stub';
|
|
6
|
+
// #637: a design run whose width is its box (a CJK mark that gave up
|
|
7
|
+
// blank) paints its glyphs `inkOffset` into it, on canvas and in HTML.
|
|
8
|
+
installSizedStub();
|
|
9
|
+
function recordingCtx() {
|
|
10
|
+
const calls = [];
|
|
11
|
+
const state = { font: '20px Test', fillStyle: '', strokeStyle: '', lineWidth: 1, letterSpacing: '0px', textBaseline: 'alphabetic' };
|
|
12
|
+
const stack = [];
|
|
13
|
+
const ctx = {
|
|
14
|
+
...state,
|
|
15
|
+
save() { stack.push({ ...this }); },
|
|
16
|
+
restore() { Object.assign(this, stack.pop()); },
|
|
17
|
+
beginPath() { },
|
|
18
|
+
rect() { },
|
|
19
|
+
clip() { },
|
|
20
|
+
measureText(s) {
|
|
21
|
+
let w = 0;
|
|
22
|
+
for (const ch of s)
|
|
23
|
+
w += stubCharWidth(ch, 20);
|
|
24
|
+
return { width: w };
|
|
25
|
+
},
|
|
26
|
+
fillText(text, x) { calls.push({ text, x }); },
|
|
27
|
+
strokeText() { },
|
|
28
|
+
};
|
|
29
|
+
return { ctx: ctx, calls };
|
|
30
|
+
}
|
|
31
|
+
const slot = () => ({
|
|
32
|
+
bbox: { x: 0, y: 0, width: 400, height: 40 },
|
|
33
|
+
blocks: [{
|
|
34
|
+
kind: 'text',
|
|
35
|
+
bbox: { x: 10, y: 0, width: 400, height: 30 },
|
|
36
|
+
fontString: '20px Test',
|
|
37
|
+
color: '#111111',
|
|
38
|
+
clip: false,
|
|
39
|
+
lines: [{
|
|
40
|
+
text: '见《说文》,此',
|
|
41
|
+
xOffset: 0,
|
|
42
|
+
baselineY: 20,
|
|
43
|
+
width: 120,
|
|
44
|
+
runs: [
|
|
45
|
+
{ text: '见', fontString: '20px Test', width: 20 },
|
|
46
|
+
// An opening bracket that gave up the half em before its glyph.
|
|
47
|
+
{ text: '《', fontString: '20px Test', width: 10, inkOffset: -10 },
|
|
48
|
+
{ text: '说文', fontString: '20px Test', width: 40 },
|
|
49
|
+
// A closing bracket and a comma that gave up the half em after.
|
|
50
|
+
{ text: '》', fontString: '20px Test', width: 10, inkOffset: 0 },
|
|
51
|
+
{ text: ',', fontString: '20px Test', width: 10, inkOffset: 0 },
|
|
52
|
+
{ text: '此', fontString: '20px Test', width: 20 },
|
|
53
|
+
],
|
|
54
|
+
}],
|
|
55
|
+
}],
|
|
56
|
+
});
|
|
57
|
+
describe('CJK design runs (#637)', () => {
|
|
58
|
+
it('canvas paints each glyph at x + inkOffset and advances by the box', () => {
|
|
59
|
+
const { ctx, calls } = recordingCtx();
|
|
60
|
+
renderHeaderFooterSlot(ctx, slot());
|
|
61
|
+
const at = (t) => calls.find((c) => c.text === t || c.text.startsWith(t)).x;
|
|
62
|
+
expect(at('见')).toBe(10);
|
|
63
|
+
expect(at('《')).toBe(20);
|
|
64
|
+
expect(at('说')).toBe(40);
|
|
65
|
+
expect(at('》')).toBe(80);
|
|
66
|
+
expect(at(',')).toBe(90);
|
|
67
|
+
expect(at('此')).toBe(100);
|
|
68
|
+
});
|
|
69
|
+
it('a built heading design sets its Chinese note as boxed runs in HTML', () => {
|
|
70
|
+
const pt = (value) => ({ value, unit: 'pt' });
|
|
71
|
+
const config = {
|
|
72
|
+
locale: 'zh-Hans',
|
|
73
|
+
page: { width: pt(400), height: pt(400), dpi: 72, margins: { top: pt(20), bottom: pt(20), left: pt(20), right: pt(20) } },
|
|
74
|
+
layout: { layoutType: 'single' },
|
|
75
|
+
header: { elements: [] },
|
|
76
|
+
footer: { elements: [] },
|
|
77
|
+
bodyText: { fontSize: pt(20), lineHeight: pt(30), firstLineIndent: pt(0), hyphenation: { enabled: false } },
|
|
78
|
+
headings: {
|
|
79
|
+
levels: [{
|
|
80
|
+
level: 1,
|
|
81
|
+
advancedDesign: {
|
|
82
|
+
enabled: true,
|
|
83
|
+
slot: {
|
|
84
|
+
elements: [{
|
|
85
|
+
kind: 'text', id: 'note', content: '{titleText}', fontSize: pt(20),
|
|
86
|
+
placement: { anchor: { to: 'container', edge: 'top-left' }, size: { width: pt(300) } },
|
|
87
|
+
}],
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
}],
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
const doc = buildDocument({ markdown: '# 人物,页码;条目。\n\n正文。' }, config);
|
|
94
|
+
const html = renderToHtml(doc);
|
|
95
|
+
// , and ; gave up their half em: boxes 10 px wide.
|
|
96
|
+
expect(html).toMatch(/display:inline-block;width:10\.000px;">,</);
|
|
97
|
+
expect(html).toMatch(/display:inline-block;width:10\.000px;">;</);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=cjkDesignTextRender.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cjkDesignTextRender.test.js","sourceRoot":"","sources":["../../../src/__tests__/design/cjkDesignTextRender.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,6 +104,7 @@ describe("package exports", () => {
|
|
|
104
104
|
"cjkGridGeometry",
|
|
105
105
|
"cjkGridCells",
|
|
106
106
|
"CHARACTER_GRID_COLOR",
|
|
107
|
+
"balancingOnByDefault",
|
|
107
108
|
"findLooseLines",
|
|
108
109
|
"drawLooseLines",
|
|
109
110
|
"lineLooseness",
|
|
@@ -289,6 +290,7 @@ describe("package exports", () => {
|
|
|
289
290
|
"resolvePageConfig",
|
|
290
291
|
"DEFAULT_LAYOUT_CONFIG",
|
|
291
292
|
"DEFAULT_FLOAT_MIN_SCALE",
|
|
293
|
+
"DEFAULT_MAX_TOP_FRACTION",
|
|
292
294
|
"DEFAULT_TEXT_WRAP",
|
|
293
295
|
"DEFAULT_COLUMN_RULE",
|
|
294
296
|
"DEFAULT_COLUMN_BALANCING",
|
|
@@ -549,6 +551,51 @@ describe("package exports", () => {
|
|
|
549
551
|
"placeholderRender",
|
|
550
552
|
"clearMathCache",
|
|
551
553
|
"applySingleInkToSvg",
|
|
554
|
+
"svgFontRequests",
|
|
555
|
+
"svgDeclaredFontFamilies",
|
|
556
|
+
"inlineSvgFonts",
|
|
557
|
+
"inlineSvgFontsSync",
|
|
558
|
+
"inlineSvgFontsDetailed",
|
|
559
|
+
"inlineSvgFontsDetailedSync",
|
|
560
|
+
"chainSvgFontProviders",
|
|
561
|
+
"injectSvgStyle",
|
|
562
|
+
"fontFaceRule",
|
|
563
|
+
"sniffFontFormat",
|
|
564
|
+
"parseFontFamilyList",
|
|
565
|
+
"isFontFaceOnlyStyleSheet",
|
|
566
|
+
"DEFAULT_SVG_FONT_MAX_BYTES",
|
|
567
|
+
"registerFontBytes",
|
|
568
|
+
"registerFontUrl",
|
|
569
|
+
"unregisterFontFamily",
|
|
570
|
+
"clearRegisteredFonts",
|
|
571
|
+
"registeredFontGeneration",
|
|
572
|
+
"registeredFontProvider",
|
|
573
|
+
"registeredFontSyncProvider",
|
|
574
|
+
"parseUnicodeRange",
|
|
575
|
+
"registeredFontFiles",
|
|
576
|
+
"prepareFonts",
|
|
577
|
+
"withLoadedFonts",
|
|
578
|
+
"fontSampleText",
|
|
579
|
+
"configFontFaces",
|
|
580
|
+
"buildDocumentWithFonts",
|
|
581
|
+
"watchFonts",
|
|
582
|
+
"onFontsChanged",
|
|
583
|
+
"syncFontSet",
|
|
584
|
+
"documentFontFaces",
|
|
585
|
+
"documentFontFamilies",
|
|
586
|
+
"fontFallbacks",
|
|
587
|
+
"defaultFontSet",
|
|
588
|
+
"evictFontFamilies",
|
|
589
|
+
"measurementGeneration",
|
|
590
|
+
"parseFontString",
|
|
591
|
+
"invalidateConfig",
|
|
592
|
+
"stableStringify",
|
|
593
|
+
"stableHash",
|
|
594
|
+
"hashString",
|
|
595
|
+
"hashStringWide",
|
|
596
|
+
"registerSvgImage",
|
|
597
|
+
"prepareSvgMarkup",
|
|
598
|
+
"decodeSvgImage",
|
|
552
599
|
"openBundle",
|
|
553
600
|
"createBundle",
|
|
554
601
|
"buildBundle",
|
|
@@ -558,6 +605,8 @@ describe("package exports", () => {
|
|
|
558
605
|
"bundleVideoUrl",
|
|
559
606
|
"bundleResourceBytes",
|
|
560
607
|
"bundleFontProvider",
|
|
608
|
+
"bundleSvgFontProvider",
|
|
609
|
+
"svgInlinesFonts",
|
|
561
610
|
"readBundle",
|
|
562
611
|
"planBundle",
|
|
563
612
|
"resolveBundleFiles",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -192,7 +192,7 @@ describe('the measurers (#620)', () => {
|
|
|
192
192
|
describe('CONFIG_VERSION 9 (#620)', () => {
|
|
193
193
|
const stored = { bodyText: { fontSize: pt(10) } };
|
|
194
194
|
it('pins documents stored before #620 whose text holds a forced break', () => {
|
|
195
|
-
expect(CONFIG_VERSION).toBe(
|
|
195
|
+
expect(CONFIG_VERSION).toBe(11);
|
|
196
196
|
for (const content of ['One line\\\nnext', 'a \\\\ b', 'a\\\\\nb', '> quote\\\n> more']) {
|
|
197
197
|
expect(migrateConfig(stored, 8, { content }).bodyText?.hardLineBreaks).toBe(false);
|
|
198
198
|
}
|
|
@@ -114,7 +114,7 @@ describe('heading marks in configurations stored before they printed (EF-122 pin
|
|
|
114
114
|
expect(pinLegacyHeadingMarks(named)).toBe(named);
|
|
115
115
|
const today = { headings: { fontFamily: 'Georgia' } };
|
|
116
116
|
expect(migrateConfig(today, CONFIG_VERSION, { content: MARKED })).toBe(today);
|
|
117
|
-
expect(CONFIG_VERSION).toBe(
|
|
117
|
+
expect(CONFIG_VERSION).toBe(11);
|
|
118
118
|
});
|
|
119
119
|
it('lays an unversioned document out as postext 1.4 did', () => {
|
|
120
120
|
const migrated = migrateConfig(config(), undefined, { content: MARKED });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headingNumberSpans.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/headingNumberSpans.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { buildDocument } from '../index';
|
|
3
|
+
import { installSizedStub } from './vertical/stub';
|
|
4
|
+
// A heading number joins the title's first span only when that span is
|
|
5
|
+
// plain text: a ruby base, emphasis dots, a name or title line, a warichu,
|
|
6
|
+
// a tcy cell or a language tag leave the number a span of its own, so the
|
|
7
|
+
// annotation never covers it (#638). CJK characters measure 1 em, Latin
|
|
8
|
+
// letters ½ em (`vertical/stub.ts`).
|
|
9
|
+
installSizedStub();
|
|
10
|
+
const pt = (value) => ({ value, unit: 'pt' });
|
|
11
|
+
const config = (extra = {}, numbered = true) => ({
|
|
12
|
+
locale: 'zh-Hant-TW',
|
|
13
|
+
page: { width: pt(440), height: pt(600), dpi: 72, margins: { top: pt(20), bottom: pt(20), left: pt(20), right: pt(20) } },
|
|
14
|
+
layout: { layoutType: 'single' },
|
|
15
|
+
header: { elements: [] },
|
|
16
|
+
footer: { elements: [] },
|
|
17
|
+
bodyText: { fontSize: pt(20), lineHeight: pt(40), textAlign: 'justify', firstLineIndent: pt(0), hyphenation: { enabled: false } },
|
|
18
|
+
...(numbered ? { headings: { levels: [{ level: 1, numberingTemplate: '第{1}課' }] } } : {}),
|
|
19
|
+
...extra,
|
|
20
|
+
});
|
|
21
|
+
const vertical = { layout: { layoutType: 'single', writingMode: 'vertical-rl' } };
|
|
22
|
+
const heading = (doc) => doc.blocks.find((b) => b.type === 'heading');
|
|
23
|
+
const segmentsOf = (b) => b.lines.flatMap((l) => l.segments ?? []).filter((s) => s.kind === 'text');
|
|
24
|
+
const build = (md, extra = {}, numbered = true) => heading(buildDocument({ markdown: `${md}\n\n正文。` }, config(extra, numbered)));
|
|
25
|
+
describe('a heading number and the title\'s first span (#638)', () => {
|
|
26
|
+
const cases = [
|
|
27
|
+
['pinyin ruby, horizontal', '# {寓言|yù|yán}兩則', {}],
|
|
28
|
+
['pinyin ruby, vertical', '# {寓言|yù|yán}兩則', vertical],
|
|
29
|
+
['zhuyin, horizontal (right of the base)', '# {寓言|ㄩˋ|ㄧㄢˊ}兩則', {}],
|
|
30
|
+
['zhuyin, vertical', '# {寓言|ㄩˋ|ㄧㄢˊ}兩則', vertical],
|
|
31
|
+
];
|
|
32
|
+
for (const [name, md, extra] of cases) {
|
|
33
|
+
it(`keeps a ruby base to its own character: ${name}`, () => {
|
|
34
|
+
const segs = segmentsOf(build(md, extra));
|
|
35
|
+
expect(segs.slice(0, 3).map((s) => s.text).join('')).toBe('第1課');
|
|
36
|
+
const firstRuby = segs.find((s) => s.ruby);
|
|
37
|
+
expect(firstRuby.text).toBe('寓');
|
|
38
|
+
// The base is one character wide, as in the same title unnumbered.
|
|
39
|
+
const unnumbered = segmentsOf(build(md, extra, false)).find((s) => s.ruby);
|
|
40
|
+
expect(unnumbered.text).toBe('寓');
|
|
41
|
+
expect(firstRuby.ruby.baseWidth).toBe(unnumbered.ruby.baseWidth);
|
|
42
|
+
expect(firstRuby.ruby.position).toBe(unnumbered.ruby.position);
|
|
43
|
+
// No reading lands on the number.
|
|
44
|
+
expect(segs.filter((s) => s.text.includes('第') || s.text.includes('課')).every((s) => !s.ruby)).toBe(true);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
it('zhuyin stands right of the base in horizontal text', () => {
|
|
48
|
+
const seg = segmentsOf(build('# {寓言|ㄩˋ|ㄧㄢˊ}兩則')).find((s) => s.ruby);
|
|
49
|
+
expect(seg.ruby.position).toBe('right');
|
|
50
|
+
});
|
|
51
|
+
const marked = [
|
|
52
|
+
['emphasis dots', '# :dots[文字]之美', {}, (s) => !!s.cjkMarks],
|
|
53
|
+
['emphasis dots', '# :dots[文字]之美', vertical, (s) => !!s.cjkMarks],
|
|
54
|
+
['a book title', '# :book[石頭記]考', {}, (s) => !!s.cjkMarks],
|
|
55
|
+
['a book title', '# :book[石頭記]考', vertical, (s) => !!s.cjkMarks],
|
|
56
|
+
['a proper name', '# :name[賈寶玉]傳', {}, (s) => !!s.cjkMarks],
|
|
57
|
+
['a proper name', '# :name[賈寶玉]傳', vertical, (s) => !!s.cjkMarks],
|
|
58
|
+
['a warichu', '# :warichu[甲戌側批]正文', {}, (s) => !!s.warichu],
|
|
59
|
+
['a warichu', '# :warichu[甲戌側批]正文', vertical, (s) => !!s.warichu],
|
|
60
|
+
['a tcy cell', '# :tcy[12]月', vertical, (s) => !!s.tcy],
|
|
61
|
+
// Segments carry an isolate's language in Japanese text.
|
|
62
|
+
['a language tag', '# :ltr[Moby Dick]{lang=en}を読む', { locale: 'ja' }, (s) => s.lang === 'en'],
|
|
63
|
+
['a language tag', '# :ltr[Moby Dick]{lang=en}を読む', { ...vertical, locale: 'ja' }, (s) => s.lang === 'en'],
|
|
64
|
+
];
|
|
65
|
+
for (const [name, md, extra, carries] of marked) {
|
|
66
|
+
it(`leaves the number unmarked before ${name} (${extra.layout?.writingMode === 'vertical-rl' ? 'vertical' : 'horizontal'})`, () => {
|
|
67
|
+
const segs = segmentsOf(build(md, extra));
|
|
68
|
+
// The leading segments that hold the number: 第1課, nothing else.
|
|
69
|
+
const numberSegs = [];
|
|
70
|
+
for (const s of segs) {
|
|
71
|
+
if (numberSegs.map((n) => n.text).join('').replace(/\s/g, '').length >= 3)
|
|
72
|
+
break;
|
|
73
|
+
numberSegs.push(s);
|
|
74
|
+
}
|
|
75
|
+
expect(numberSegs.map((s) => s.text).join('').replace(/\s/g, '')).toBe('第1課');
|
|
76
|
+
for (const s of numberSegs) {
|
|
77
|
+
expect(s.ruby).toBeUndefined();
|
|
78
|
+
expect(s.cjkMarks).toBeUndefined();
|
|
79
|
+
expect(s.warichu).toBeUndefined();
|
|
80
|
+
expect(s.tcy).toBeUndefined();
|
|
81
|
+
expect(s.lang).toBeUndefined();
|
|
82
|
+
}
|
|
83
|
+
// The annotated run keeps its mark.
|
|
84
|
+
expect(segs.slice(numberSegs.length).some(carries)).toBe(true);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
it('keeps a plain Latin title joined to its number, as before', () => {
|
|
88
|
+
const doc = buildDocument({ markdown: '# Introduction\n\nText.' }, config({ locale: 'en', headings: { levels: [{ level: 1, numberingTemplate: '{1}.' }] } }));
|
|
89
|
+
const block = heading(doc);
|
|
90
|
+
expect(block.numberPrefix).toBe('1.');
|
|
91
|
+
expect(block.lines.map((l) => l.text).join('')).toBe('1. Introduction');
|
|
92
|
+
const segs = block.lines.flatMap((l) => l.segments ?? []);
|
|
93
|
+
expect(segs.map((s) => [s.kind, s.text, s.width])).toEqual([['text', '1.', 18], ['space', ' ', 4.5], ['text', 'Introduction', 108]]);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=headingNumberSpans.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headingNumberSpans.test.js","sourceRoot":"","sources":["../../src/__tests__/headingNumberSpans.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -141,8 +141,8 @@ describe('maths in configurations written before postext 1.5 (EF-75)', () => {
|
|
|
141
141
|
});
|
|
142
142
|
it('writes bundles for today\'s rules, which read back unpinned', async () => {
|
|
143
143
|
const { manifest, bytes } = await createBundle({ name: 'Now', chapters: [{ markdown: CHAPTER }], config: BODY });
|
|
144
|
-
expect(CONFIG_VERSION).toBe(
|
|
145
|
-
expect(manifest.configVersion).toBe(
|
|
144
|
+
expect(CONFIG_VERSION).toBe(11);
|
|
145
|
+
expect(manifest.configVersion).toBe(11);
|
|
146
146
|
const again = await openBundle(bytes);
|
|
147
147
|
expect(again.config.math).toBeUndefined();
|
|
148
148
|
// …and a 1.4 bundle, opened and written again, is read back as it was
|
|
@@ -141,4 +141,211 @@ describe('a closing page cut level keeps its floats (#505)', () => {
|
|
|
141
141
|
expect(floatOf(doc, 'v').page.index).toBe(0);
|
|
142
142
|
});
|
|
143
143
|
});
|
|
144
|
+
describe('floats under a page-span opener (#639)', () => {
|
|
145
|
+
const W = (740 - 3 * 12) / 4;
|
|
146
|
+
const X = (i) => 30 + i * (W + 12);
|
|
147
|
+
const LINE = 11;
|
|
148
|
+
const headings = (span, extra = {}) => ({
|
|
149
|
+
headings: { levels: [{ level: 1, span, breakBefore: { enabled: false } }] },
|
|
150
|
+
calloutStyles: [{ id: 'note' }],
|
|
151
|
+
...extra,
|
|
152
|
+
});
|
|
153
|
+
const box = (attrs = '', text = 'Box text.') => `:::callout{type="note" placement="top"${attrs}}\n${text}\n:::`;
|
|
154
|
+
const frameOf = (doc) => (doc.pages[0].floats ?? []).find((b) => b.type === 'callout');
|
|
155
|
+
const opener = (doc) => doc.pages[0].columns[0].blocks[0];
|
|
156
|
+
/** The y the first block after the opener starts at in column `i` (the
|
|
157
|
+
* first block of any other column). */
|
|
158
|
+
const textTop = (doc, i) => textColumns(doc.pages[0])[i].blocks[i === 0 ? 1 : 0].bbox.y;
|
|
159
|
+
/** The grid-rounded band a top float `height` px tall takes. */
|
|
160
|
+
const band = (height) => Math.ceil((height + LINE - 0.01) / LINE) * LINE;
|
|
161
|
+
it('a box across two columns heads columns 1 and 2 under the opener', () => {
|
|
162
|
+
const doc = build(`# Opener\n\n${box(' columns="2"')}\n\n${BODY}\n\n${BODY}`, config(4, headings('page')));
|
|
163
|
+
const frame = frameOf(doc);
|
|
164
|
+
const head = textColumns(doc.pages[0])[2].bbox.y;
|
|
165
|
+
expect(frame.bbox.x).toBeCloseTo(X(0), 3);
|
|
166
|
+
expect(frame.bbox.width).toBeCloseTo(2 * W + 12, 3);
|
|
167
|
+
// Under the opener's band, level with the heads of the other columns.
|
|
168
|
+
expect(frame.bbox.y).toBeGreaterThanOrEqual(opener(doc).bbox.y + opener(doc).bbox.height - 0.01);
|
|
169
|
+
expect(frame.bbox.y).toBeCloseTo(head, 3);
|
|
170
|
+
// The text of both columns starts under the box, on the same line.
|
|
171
|
+
expect(textTop(doc, 0)).toBeCloseTo(frame.bbox.y + band(frame.bbox.height), 3);
|
|
172
|
+
expect(textTop(doc, 1)).toBeCloseTo(textTop(doc, 0), 3);
|
|
173
|
+
expect(textTop(doc, 2)).toBeCloseTo(head, 3);
|
|
174
|
+
// The opener's column keeps its box (the opener stands in it) and
|
|
175
|
+
// records where the float's band ends; column 2 starts there.
|
|
176
|
+
const cols = textColumns(doc.pages[0]);
|
|
177
|
+
expect(cols[0].bbox.y).toBeCloseTo(opener(doc).bbox.y, 3);
|
|
178
|
+
expect(cols[0].headFloatFoot).toBeCloseTo(textTop(doc, 0), 3);
|
|
179
|
+
expect(cols[1].bbox.y).toBeCloseTo(cols[0].headFloatFoot, 3);
|
|
180
|
+
expect(cols[1].headFloatFoot).toBeUndefined();
|
|
181
|
+
});
|
|
182
|
+
it('the column rule never runs through a float under the opener', () => {
|
|
183
|
+
const box2 = build(`# Opener\n\n${box(' columns="2"')}\n\n${BODY}\n\n${BODY}`, config(4, headings('page')));
|
|
184
|
+
const frame = frameOf(box2);
|
|
185
|
+
const rules = columnRuleSegments(box2.pages[0].columns);
|
|
186
|
+
// Gutter 1|2 starts under the box; gutter 2|3 runs beside it from the
|
|
187
|
+
// band's head, where column 3 starts; gutter 3|4 too.
|
|
188
|
+
expect(rules).toHaveLength(3);
|
|
189
|
+
expect(rules[0].top).toBeCloseTo(frame.bbox.y + band(frame.bbox.height), 3);
|
|
190
|
+
expect(rules[1].top).toBeCloseTo(frame.bbox.y, 3);
|
|
191
|
+
expect(rules[1].x).toBeGreaterThan(frame.bbox.x + frame.bbox.width);
|
|
192
|
+
expect(rules[2].top).toBeCloseTo(frame.bbox.y, 3);
|
|
193
|
+
// A one-column box: the rule beside it runs the length of column 2,
|
|
194
|
+
// right of the box.
|
|
195
|
+
const box1 = build(`# Opener\n\n${box()}\n\n${BODY}\n\n${BODY}`, config(4, headings('page')));
|
|
196
|
+
const one = frameOf(box1);
|
|
197
|
+
const beside = columnRuleSegments(box1.pages[0].columns)[0];
|
|
198
|
+
expect(beside.top).toBeCloseTo(one.bbox.y, 3);
|
|
199
|
+
expect(beside.x).toBeGreaterThan(one.bbox.x + one.bbox.width);
|
|
200
|
+
});
|
|
201
|
+
it('a figure across two columns embedded after the opener does too', () => {
|
|
202
|
+
const doc = build(`# Opener\n\n::resource{id="a"}\n\n${BODY}\n\n${BODY}`, config(4, headings('page')), [picture('a', { position: 'top', columns: 2 })]);
|
|
203
|
+
const { page, f } = floatOf(doc, 'a');
|
|
204
|
+
expect(page.index).toBe(0);
|
|
205
|
+
expect(f.bbox.x).toBeCloseTo(X(0), 3);
|
|
206
|
+
expect(f.bbox.width).toBeCloseTo(2 * W + 12, 3);
|
|
207
|
+
expect(f.bbox.y).toBeCloseTo(textColumns(page)[2].bbox.y, 3);
|
|
208
|
+
expect(textTop(doc, 0)).toBeCloseTo(f.bbox.y + band(f.bbox.height), 3);
|
|
209
|
+
expect(textTop(doc, 1)).toBeCloseTo(textTop(doc, 0), 3);
|
|
210
|
+
});
|
|
211
|
+
it('a one-column box heads column 1, and a second one stacks under it', () => {
|
|
212
|
+
const one = build(`# Opener\n\n${box()}\n\n${BODY}\n\n${BODY}`, config(4, headings('page')));
|
|
213
|
+
const frame = frameOf(one);
|
|
214
|
+
expect(frame.bbox.x).toBeCloseTo(X(0), 3);
|
|
215
|
+
expect(frame.bbox.width).toBeCloseTo(W, 3);
|
|
216
|
+
expect(frame.bbox.y).toBeCloseTo(textColumns(one.pages[0])[1].bbox.y, 3);
|
|
217
|
+
expect(textTop(one, 0)).toBeCloseTo(frame.bbox.y + band(frame.bbox.height), 3);
|
|
218
|
+
// Column 2 starts at its head, as before.
|
|
219
|
+
expect(textTop(one, 1)).toBeCloseTo(frame.bbox.y, 3);
|
|
220
|
+
const two = build(`# Opener\n\n${box()}\n\n${box('', 'Second box.')}\n\n${BODY}\n\n${BODY}`, config(4, headings('page')));
|
|
221
|
+
const frames = two.pages[0].floats.filter((b) => b.type === 'callout');
|
|
222
|
+
expect(frames.map((b) => Math.round(b.bbox.x))).toEqual([Math.round(X(0)), Math.round(X(0))]);
|
|
223
|
+
expect(frames[1].bbox.y).toBeCloseTo(frames[0].bbox.y + band(frames[0].bbox.height), 3);
|
|
224
|
+
expect(textTop(two, 0)).toBeCloseTo(frames[1].bbox.y + band(frames[1].bbox.height), 3);
|
|
225
|
+
});
|
|
226
|
+
it('a heading right under the float starts there, with no space above it', () => {
|
|
227
|
+
const cfg = config(4, { headings: { levels: [{ level: 1, span: 'page', breakBefore: { enabled: false } }, { level: 2, marginTop: pt(22) }] }, calloutStyles: [{ id: 'note' }] });
|
|
228
|
+
const doc = build(`# Opener\n\n${box()}\n\n## Sub\n\n${BODY}\n\n${BODY}`, cfg);
|
|
229
|
+
const frame = frameOf(doc);
|
|
230
|
+
expect(textTop(doc, 0)).toBeCloseTo(frame.bbox.y + band(frame.bbox.height), 3);
|
|
231
|
+
});
|
|
232
|
+
it('a heading with no room left under the float moves on alone: the opener stays', () => {
|
|
233
|
+
// The box takes all but a line or two of column 1: the heading and
|
|
234
|
+
// the lines kept with it open column 2, and the opener is not taken
|
|
235
|
+
// along as a heading stranded at a column's foot would be.
|
|
236
|
+
const tall = Array.from({ length: 78 }, (_, i) => `Line ${i + 1}.`).join('\n\n');
|
|
237
|
+
const cfg = config(4, { headings: { levels: [{ level: 1, span: 'page', breakBefore: { enabled: false } }] }, calloutStyles: [{ id: 'note', padding: { top: pt(0), right: pt(0), bottom: pt(0), left: pt(0) } }] });
|
|
238
|
+
const doc = build(`# Opener\n\n${box('', tall)}\n\n## Sub\n\n${BODY}\n\n${BODY}`, cfg);
|
|
239
|
+
const cols = textColumns(doc.pages[0]);
|
|
240
|
+
const frame = frameOf(doc);
|
|
241
|
+
expect(doc.pages[0].columns[0].blocks[0]).toBe(opener(doc));
|
|
242
|
+
expect(opener(doc).headingLevel).toBe(1);
|
|
243
|
+
expect(frame.bbox.x).toBeCloseTo(X(0), 3);
|
|
244
|
+
expect(cols[0].bbox.y + cols[0].bbox.height - (frame.bbox.y + frame.bbox.height)).toBeLessThan(5 * LINE);
|
|
245
|
+
// Nothing fits under the box; `## Sub` heads column 2.
|
|
246
|
+
expect(cols[0].blocks).toHaveLength(1);
|
|
247
|
+
expect(cols[1].blocks[0].type).toBe('heading');
|
|
248
|
+
expect(cols[1].blocks[0].headingLevel).toBe(2);
|
|
249
|
+
expect(doc.blocks.filter((b) => b.type === 'heading' && b.headingLevel === 1)).toHaveLength(1);
|
|
250
|
+
});
|
|
251
|
+
it('a closing page cut level keeps the float under its opener', () => {
|
|
252
|
+
// The level cut of the closing band goes no higher than the float's
|
|
253
|
+
// band, as for a float heading an empty column: cut higher, the capped
|
|
254
|
+
// pass would send the box to a page of its own.
|
|
255
|
+
const tall = Array.from({ length: 40 }, (_, i) => `Line ${i + 1}.`).join('\n\n');
|
|
256
|
+
const cfg = config(4, { headings: { levels: [{ level: 1, span: 'page', breakBefore: { enabled: false } }] }, calloutStyles: [{ id: 'note', padding: { top: pt(0), right: pt(0), bottom: pt(0), left: pt(0) } }] });
|
|
257
|
+
const doc = build(`# Opener\n\n${box('', tall)}\n\n${BODY}`, cfg);
|
|
258
|
+
expect(doc.pages).toHaveLength(1);
|
|
259
|
+
const frame = frameOf(doc);
|
|
260
|
+
expect(frame.bbox.x).toBeCloseTo(X(0), 3);
|
|
261
|
+
const cols = textColumns(doc.pages[0]);
|
|
262
|
+
// The band is cut level at or under the float's band.
|
|
263
|
+
expect(cols.every((c) => c.trailingCap)).toBe(true);
|
|
264
|
+
const cut = cols[1].bbox.y + cols[1].bbox.height;
|
|
265
|
+
expect(cut).toBeGreaterThanOrEqual(cols[0].headFloatFoot - 0.01);
|
|
266
|
+
for (const c of cols.slice(1))
|
|
267
|
+
expect(c.bbox.y + c.bbox.height).toBeCloseTo(cut, 3);
|
|
268
|
+
});
|
|
269
|
+
it('an opener set mid-page offers the head of its own column too', () => {
|
|
270
|
+
const cfg = config(4, {
|
|
271
|
+
headings: { levels: [{ level: 1, span: 'page', breakBefore: { enabled: false } }, { level: 2, span: 'page', spanBreak: false }] },
|
|
272
|
+
calloutStyles: [{ id: 'note' }],
|
|
273
|
+
});
|
|
274
|
+
const doc = build(`# Opener\n\n${BODY}\n\n## Mid\n\n${box(' columns="2"')}\n\n${BODY}`, cfg);
|
|
275
|
+
const mid = doc.blocks.find((b) => b.type === 'heading' && b.headingLevel === 2);
|
|
276
|
+
const frame = frameOf(doc);
|
|
277
|
+
expect(mid.pageIndex).toBe(0);
|
|
278
|
+
expect(mid.bbox.y).toBeGreaterThan(opener(doc).bbox.y + 100);
|
|
279
|
+
expect(frame.bbox.x).toBeCloseTo(X(0), 3);
|
|
280
|
+
expect(frame.bbox.y).toBeGreaterThanOrEqual(mid.bbox.y + mid.bbox.height - 0.01);
|
|
281
|
+
const cols = doc.pages[0].columns.filter((c) => (c.band ?? 0) === (doc.pages[0].columns[mid.columnIndex].band ?? 0));
|
|
282
|
+
expect(frame.bbox.y).toBeCloseTo(cols[2].bbox.y, 3);
|
|
283
|
+
});
|
|
284
|
+
it('text wraps round a narrow box under the opener as at any column head', () => {
|
|
285
|
+
const two = { ...config(4, headings('page')), layout: { layoutType: 'double' } };
|
|
286
|
+
const doc = build(`# Opener\n\n${box(' wrap="left" width="0.4"', 'Wrapped box of a few words here that takes some lines.')}\n\n${BODY}\n\n${BODY}`, two);
|
|
287
|
+
const frame = frameOf(doc);
|
|
288
|
+
const col = doc.pages[0].columns[0];
|
|
289
|
+
expect(frame.bbox.x).toBeCloseTo(col.bbox.x, 3);
|
|
290
|
+
expect(doc.contentWarnings ?? []).toEqual([]);
|
|
291
|
+
// The paragraph starts level with the box and its first lines run
|
|
292
|
+
// beside it; the lines under it take the whole measure.
|
|
293
|
+
const para = col.blocks[1];
|
|
294
|
+
expect(para.bbox.y).toBeCloseTo(frame.bbox.y, 3);
|
|
295
|
+
expect(para.lines[0].bbox.x).toBeGreaterThan(frame.bbox.x + frame.bbox.width - para.bbox.x - 0.01);
|
|
296
|
+
expect(para.lines[0].bbox.width).toBeLessThan(col.bbox.width - frame.bbox.width);
|
|
297
|
+
expect(para.lines[para.lines.length - 2].bbox.width).toBeGreaterThan(col.bbox.width - 40);
|
|
298
|
+
});
|
|
299
|
+
it('a float cited in the text still follows its citing line', () => {
|
|
300
|
+
// The paragraph that cites it is set first (a float never stands above
|
|
301
|
+
// the line that cites it), so column 1 has no head left.
|
|
302
|
+
const doc = build(`# Opener\n\nSee :ref{id="a"}. ${BODY}\n\n${BODY}`, config(4, headings('page')), [picture('a', { position: 'top', columns: 2 })]);
|
|
303
|
+
expect(floatOf(doc, 'a').f.bbox.x).toBeGreaterThan(X(1) - 0.5);
|
|
304
|
+
expect(textTop(doc, 0)).toBeCloseTo(textColumns(doc.pages[0])[1].bbox.y, 3);
|
|
305
|
+
});
|
|
306
|
+
it("a span: 'column' heading keeps its column: the float lands from column 2, as before", () => {
|
|
307
|
+
for (const markdown of [
|
|
308
|
+
`# Opener\n\n${box(' columns="2"')}\n\n${BODY}\n\n${BODY}`,
|
|
309
|
+
`# Opener\n\n${box()}\n\n${BODY}\n\n${BODY}`,
|
|
310
|
+
]) {
|
|
311
|
+
const now = build(markdown, config(4, headings('column')));
|
|
312
|
+
const off = build(markdown, config(4, headings('column', { layout: { layoutType: 'multiple', columnCount: 4, gutterWidth: pt(12), columnRule: { enabled: true }, floatsUnderOpener: false } })));
|
|
313
|
+
expect(frameOf(now).bbox.x).toBeCloseTo(X(1), 3);
|
|
314
|
+
expect(frameOf(now).bbox.y).toBeCloseTo(30, 3);
|
|
315
|
+
expect(JSON.stringify(now.pages) === JSON.stringify(off.pages)).toBe(true);
|
|
316
|
+
}
|
|
317
|
+
const fig = build(`# Opener\n\n::resource{id="a"}\n\n${BODY}\n\n${BODY}`, config(4, headings('column')), [picture('a', { position: 'top', columns: 2 })]);
|
|
318
|
+
expect(floatOf(fig, 'a').f.bbox.x).toBeCloseTo(X(1), 3);
|
|
319
|
+
});
|
|
320
|
+
it('a single text column under its opener is unchanged', () => {
|
|
321
|
+
const markdown = `# Opener\n\n${box()}\n\n${BODY}\n\n${BODY}\n\n${BODY}`;
|
|
322
|
+
// (A side column that only takes floats is no text column.)
|
|
323
|
+
for (const layout of [{ layoutType: 'single' }, { layoutType: 'oneAndHalf', sideColumnRole: 'floats' }]) {
|
|
324
|
+
const now = build(markdown, { ...config(4, headings('page')), layout });
|
|
325
|
+
const off = build(markdown, { ...config(4, headings('page')), layout: { ...layout, floatsUnderOpener: false } });
|
|
326
|
+
expect(JSON.stringify(now.pages) === JSON.stringify(off.pages)).toBe(true);
|
|
327
|
+
expect(frameOf(now)).toBeUndefined();
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
it('layout.floatsUnderOpener: false keeps the slots of postext 1.24', () => {
|
|
331
|
+
const off = (span) => config(4, headings(span, { layout: { layoutType: 'multiple', columnCount: 4, gutterWidth: pt(12), columnRule: { enabled: true }, floatsUnderOpener: false } }));
|
|
332
|
+
const two = build(`# Opener\n\n${box(' columns="2"')}\n\n${BODY}\n\n${BODY}`, off('page'));
|
|
333
|
+
expect(frameOf(two).bbox.x).toBeCloseTo(X(1), 3);
|
|
334
|
+
expect(textTop(two, 0)).toBeCloseTo(textColumns(two.pages[0])[3].bbox.y, 3);
|
|
335
|
+
const one = build(`# Opener\n\n${box()}\n\n${BODY}\n\n${BODY}`, off('page'));
|
|
336
|
+
expect(frameOf(one).bbox.x).toBeCloseTo(X(1), 3);
|
|
337
|
+
const fig = build(`# Opener\n\n::resource{id="a"}\n\n${BODY}\n\n${BODY}`, off('page'), [picture('a', { position: 'top', columns: 2 })]);
|
|
338
|
+
expect(floatOf(fig, 'a').f.bbox.x).toBeCloseTo(X(1), 3);
|
|
339
|
+
});
|
|
340
|
+
it('does the same in vertical text', () => {
|
|
341
|
+
const cfg = { ...config(4, headings('page')), layout: { layoutType: 'multiple', columnCount: 4, gutterWidth: pt(12), writingMode: 'vertical-rl' } };
|
|
342
|
+
const doc = build(`# Opener\n\n${box(' columns="2"')}\n\n${BODY}\n\n${BODY}`, cfg);
|
|
343
|
+
const frame = frameOf(doc);
|
|
344
|
+
const cols = textColumns(doc.pages[0]);
|
|
345
|
+
expect(frame.bbox.x).toBeCloseTo(cols[0].bbox.x, 3);
|
|
346
|
+
expect(frame.bbox.width).toBeCloseTo(cols[1].bbox.x + cols[1].bbox.width - cols[0].bbox.x, 3);
|
|
347
|
+
expect(frame.bbox.y).toBeCloseTo(cols[2].bbox.y, 3);
|
|
348
|
+
expect(textTop(doc, 0)).toBeCloseTo(cols[1].bbox.y, 3);
|
|
349
|
+
});
|
|
350
|
+
});
|
|
144
351
|
//# sourceMappingURL=multipleColumns.test.js.map
|