postext 1.38.0 → 1.39.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.test.js +21 -0
- package/dist/__tests__/bundle.test.js.map +1 -1
- package/dist/__tests__/comics/frames.test.js +99 -10
- package/dist/__tests__/comics/frames.test.js.map +1 -1
- package/dist/__tests__/composed/figureWords.test.d.ts +2 -0
- package/dist/__tests__/composed/figureWords.test.d.ts.map +1 -0
- package/dist/__tests__/composed/figureWords.test.js +105 -0
- package/dist/__tests__/composed/figureWords.test.js.map +1 -0
- package/dist/__tests__/composed/fit.test.js +24 -7
- package/dist/__tests__/composed/fit.test.js.map +1 -1
- package/dist/__tests__/composed/frameModes.test.d.ts +2 -0
- package/dist/__tests__/composed/frameModes.test.d.ts.map +1 -0
- package/dist/__tests__/composed/frameModes.test.js +72 -0
- package/dist/__tests__/composed/frameModes.test.js.map +1 -0
- package/dist/__tests__/composed/frameWritingMode.test.d.ts +2 -0
- package/dist/__tests__/composed/frameWritingMode.test.d.ts.map +1 -0
- package/dist/__tests__/composed/frameWritingMode.test.js +211 -0
- package/dist/__tests__/composed/frameWritingMode.test.js.map +1 -0
- package/dist/__tests__/composed/groupStartGrid.test.d.ts +2 -0
- package/dist/__tests__/composed/groupStartGrid.test.d.ts.map +1 -0
- package/dist/__tests__/composed/groupStartGrid.test.js +66 -0
- package/dist/__tests__/composed/groupStartGrid.test.js.map +1 -0
- package/dist/__tests__/composed/labelsChecks.test.d.ts +2 -0
- package/dist/__tests__/composed/labelsChecks.test.d.ts.map +1 -0
- package/dist/__tests__/composed/labelsChecks.test.js +307 -0
- package/dist/__tests__/composed/labelsChecks.test.js.map +1 -0
- package/dist/__tests__/composed/logicalEdges.test.d.ts +2 -0
- package/dist/__tests__/composed/logicalEdges.test.d.ts.map +1 -0
- package/dist/__tests__/composed/logicalEdges.test.js +94 -0
- package/dist/__tests__/composed/logicalEdges.test.js.map +1 -0
- package/dist/__tests__/composed/sourceMap.test.js +62 -0
- package/dist/__tests__/composed/sourceMap.test.js.map +1 -1
- package/dist/__tests__/composed/spreadLabels.test.js +5 -2
- package/dist/__tests__/composed/spreadLabels.test.js.map +1 -1
- package/dist/__tests__/defaults/calloutStyleExtends.test.d.ts +2 -0
- package/dist/__tests__/defaults/calloutStyleExtends.test.d.ts.map +1 -0
- package/dist/__tests__/defaults/calloutStyleExtends.test.js +123 -0
- package/dist/__tests__/defaults/calloutStyleExtends.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +2 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/paragraphDropCap.test.js +78 -0
- package/dist/__tests__/paragraphDropCap.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutCutRules.test.d.ts +2 -0
- package/dist/__tests__/pipeline/calloutCutRules.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/calloutCutRules.test.js +91 -0
- package/dist/__tests__/pipeline/calloutCutRules.test.js.map +1 -0
- package/dist/__tests__/pipeline/columnsWidows.test.d.ts +2 -0
- package/dist/__tests__/pipeline/columnsWidows.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/columnsWidows.test.js +76 -0
- package/dist/__tests__/pipeline/columnsWidows.test.js.map +1 -0
- package/dist/__tests__/vertical/canvasPaint.test.js +80 -0
- package/dist/__tests__/vertical/canvasPaint.test.js.map +1 -1
- package/dist/bundle/codec.d.ts.map +1 -1
- package/dist/bundle/codec.js +25 -2
- package/dist/bundle/codec.js.map +1 -1
- package/dist/canvas-backend/composed.d.ts +8 -1
- package/dist/canvas-backend/composed.d.ts.map +1 -1
- package/dist/canvas-backend/composed.js +21 -11
- package/dist/canvas-backend/composed.js.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +11 -8
- package/dist/canvas-backend/headerFooter.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +5 -3
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +7 -0
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/comics/textPanels.d.ts +24 -6
- package/dist/comics/textPanels.d.ts.map +1 -1
- package/dist/comics/textPanels.js +84 -12
- package/dist/comics/textPanels.js.map +1 -1
- package/dist/composed/geometry.d.ts +1 -19
- package/dist/composed/geometry.d.ts.map +1 -1
- package/dist/composed/geometry.js +24 -2
- package/dist/composed/geometry.js.map +1 -1
- package/dist/composed/labels.d.ts +14 -1
- package/dist/composed/labels.d.ts.map +1 -1
- package/dist/composed/labels.js +206 -11
- package/dist/composed/labels.js.map +1 -1
- package/dist/composed/paint.d.ts +26 -0
- package/dist/composed/paint.d.ts.map +1 -1
- package/dist/composed/paint.js +25 -2
- package/dist/composed/paint.js.map +1 -1
- package/dist/composed/sourceMap.d.ts +7 -2
- package/dist/composed/sourceMap.d.ts.map +1 -1
- package/dist/composed/sourceMap.js +31 -16
- package/dist/composed/sourceMap.js.map +1 -1
- package/dist/composed/types.d.ts +3 -0
- package/dist/composed/types.d.ts.map +1 -1
- package/dist/composed/validate.d.ts.map +1 -1
- package/dist/composed/validate.js +2 -0
- package/dist/composed/validate.js.map +1 -1
- package/dist/composed/wrap.d.ts +7 -0
- package/dist/composed/wrap.d.ts.map +1 -1
- package/dist/composed/wrap.js +52 -4
- package/dist/composed/wrap.js.map +1 -1
- package/dist/configWarnings.d.ts.map +1 -1
- package/dist/configWarnings.js +33 -1
- package/dist/configWarnings.js.map +1 -1
- package/dist/contrast.d.ts +4 -2
- package/dist/contrast.d.ts.map +1 -1
- package/dist/contrast.js +22 -1
- package/dist/contrast.js.map +1 -1
- package/dist/defaults/calloutStyles.d.ts +14 -1
- package/dist/defaults/calloutStyles.d.ts.map +1 -1
- package/dist/defaults/calloutStyles.js +70 -2
- package/dist/defaults/calloutStyles.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/design/layout.d.ts +5 -0
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +19 -9
- package/dist/design/layout.js.map +1 -1
- package/dist/design/logicalEdges.d.ts +27 -0
- package/dist/design/logicalEdges.d.ts.map +1 -0
- package/dist/design/logicalEdges.js +36 -0
- package/dist/design/logicalEdges.js.map +1 -0
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +42 -10
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +36 -1
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/index.d.ts +1 -1
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/indexMarks.d.ts.map +1 -1
- package/dist/parse/indexMarks.js +2 -0
- package/dist/parse/indexMarks.js.map +1 -1
- package/dist/parse/types.d.ts +14 -0
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +16 -4
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
- package/dist/pipeline/buildMeasurement.js +1 -0
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +13 -32
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/columnsGroup.d.ts +3 -3
- package/dist/pipeline/columnsGroup.d.ts.map +1 -1
- package/dist/pipeline/columnsGroup.js +5 -4
- package/dist/pipeline/columnsGroup.js.map +1 -1
- package/dist/pipeline/composedLayout.d.ts +4 -1
- package/dist/pipeline/composedLayout.d.ts.map +1 -1
- package/dist/pipeline/composedLayout.js +167 -20
- package/dist/pipeline/composedLayout.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +23 -1
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/dropCap.d.ts.map +1 -1
- package/dist/pipeline/dropCap.js +11 -0
- package/dist/pipeline/dropCap.js.map +1 -1
- package/dist/pipeline/figureWords.d.ts +21 -0
- package/dist/pipeline/figureWords.d.ts.map +1 -0
- package/dist/pipeline/figureWords.js +43 -0
- package/dist/pipeline/figureWords.js.map +1 -0
- package/dist/pipeline/frameLayout.d.ts.map +1 -1
- package/dist/pipeline/frameLayout.js +12 -3
- package/dist/pipeline/frameLayout.js.map +1 -1
- package/dist/pipeline/headerFooter.d.ts +2 -0
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +10 -4
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/partPalette.d.ts +4 -2
- package/dist/pipeline/partPalette.d.ts.map +1 -1
- package/dist/pipeline/partPalette.js +19 -0
- package/dist/pipeline/partPalette.js.map +1 -1
- package/dist/pipeline/verticalMetrics.d.ts +3 -2
- package/dist/pipeline/verticalMetrics.d.ts.map +1 -1
- package/dist/pipeline/verticalMetrics.js +25 -2
- package/dist/pipeline/verticalMetrics.js.map +1 -1
- package/dist/preflight.d.ts +1 -1
- package/dist/preflight.js +31 -3
- package/dist/preflight.js.map +1 -1
- package/dist/types.d.ts +19 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +67 -1
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/dist/word/docxRead.d.ts.map +1 -1
- package/dist/word/docxRead.js +16 -2
- package/dist/word/docxRead.js.map +1 -1
- package/dist/word/index.d.ts +2 -0
- package/dist/word/index.d.ts.map +1 -1
- package/dist/word/index.js +1 -0
- package/dist/word/index.js.map +1 -1
- package/dist/word/model.d.ts +7 -0
- package/dist/word/model.d.ts.map +1 -1
- package/dist/word/model.js.map +1 -1
- package/dist/word/toDocx.d.ts.map +1 -1
- package/dist/word/toDocx.js +28 -13
- package/dist/word/toDocx.js.map +1 -1
- package/dist/word/tracking.d.ts +37 -0
- package/dist/word/tracking.d.ts.map +1 -0
- package/dist/word/tracking.js +137 -0
- package/dist/word/tracking.js.map +1 -0
- package/dist/word/word.test.js +79 -0
- package/dist/word/word.test.js.map +1 -1
- package/package.json +1 -1
package/dist/html-backend.js
CHANGED
|
@@ -2482,9 +2482,23 @@ function renderFigureLabelsHtml(rb, bx, by, options) {
|
|
|
2482
2482
|
const r = layout.background.rect;
|
|
2483
2483
|
inner.push(`<div aria-hidden="true" style="position:absolute;left:${n2(r.x)}px;top:${n2(r.y)}px;width:${n2(r.width)}px;height:${n2(r.height)}px;background:${layout.background.color};"></div>`);
|
|
2484
2484
|
}
|
|
2485
|
-
layout.
|
|
2486
|
-
|
|
2487
|
-
|
|
2485
|
+
if (layout.vertical) {
|
|
2486
|
+
// A vertical label (#902): its frame is turned a quarter turn by the
|
|
2487
|
+
// matrix, as a vertical page's flow is, and each line is set down the
|
|
2488
|
+
// column like a body line, from a block that stands for the label.
|
|
2489
|
+
const vt = layout.vertical;
|
|
2490
|
+
const v = { region: vt.region, uprightDigits: vt.uprightDigits, axes: vt.centralBaselines };
|
|
2491
|
+
const host = {
|
|
2492
|
+
id: label.id ?? '', fontString: layout.fontString, boldFontString: layout.boldFontString, italicFontString: layout.italicFontString,
|
|
2493
|
+
boldItalicFontString: layout.boldItalicFontString, color: layout.color, textAlign: 'left', bbox: layout.box,
|
|
2494
|
+
};
|
|
2495
|
+
layout.lines.forEach((line, i) => inner.push(renderVerticalLine(line, host, v, options.linkTargets, layout.lines[i + 1])));
|
|
2496
|
+
}
|
|
2497
|
+
else {
|
|
2498
|
+
layout.lines.forEach((line, i) => {
|
|
2499
|
+
inner.push(renderResourceLine(line, fonts, layout.color, rb.linkColor, layout.color, options.linkTargets, options.dir, options.rootLang, lineEndText(line, layout.lines[i + 1]) || (i + 1 < layout.lines.length ? ' ' : '')));
|
|
2500
|
+
});
|
|
2501
|
+
}
|
|
2488
2502
|
const dir = layout.direction === 'rtl' ? ' dir="rtl"' : '';
|
|
2489
2503
|
const id = label.id ? ` data-label="${esc(label.id)}"` : '';
|
|
2490
2504
|
parts.push(`<div class="pt-figure-label"${id}${dir} style="position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;` +
|
|
@@ -2796,11 +2810,14 @@ function renderDesignImageBlock(block, options) {
|
|
|
2796
2810
|
// `height` across it (sized for that when `upright`, else fitted
|
|
2797
2811
|
// keeping its proportions, as the canvas draws it).
|
|
2798
2812
|
const k = block.upright ? 1 : Math.min(height / width, width / height);
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
const
|
|
2802
|
-
const
|
|
2803
|
-
|
|
2813
|
+
// A cover crop (#946): the whole picture over its uncropped box in
|
|
2814
|
+
// the upright frame, the box clipping it.
|
|
2815
|
+
const c = block.upright ? block.crop : undefined;
|
|
2816
|
+
const dw = c ? height / c.width : block.upright ? height : width * k;
|
|
2817
|
+
const dh = c ? width / c.height : block.upright ? width : height * k;
|
|
2818
|
+
const ox = c ? -c.x * dw : block.upright ? 0 : (height - dw) / 2;
|
|
2819
|
+
const oy = c ? -c.y * dh : block.upright ? 0 : (width - dh) / 2;
|
|
2820
|
+
return (`<div style="position:absolute;left:${x}px;top:${y}px;width:${width}px;height:${height}px;${c ? 'overflow:hidden;' : ''}">` +
|
|
2804
2821
|
`<img src="${esc(url)}" ${alt} style="position:absolute;left:0;top:0;width:${dw}px;height:${dh}px;` +
|
|
2805
2822
|
`transform:translate(0,${height}px) rotate(-90deg) translate(${ox}px,${oy}px);transform-origin:0 0;${filter}" /></div>`);
|
|
2806
2823
|
}
|
|
@@ -2953,12 +2970,21 @@ verticalRegion, verticalDigits) {
|
|
|
2953
2970
|
// panel, before the panel's lettering, inside the comic's markup.
|
|
2954
2971
|
const comicText = new Map();
|
|
2955
2972
|
const comicTextBlocks = [];
|
|
2973
|
+
// On a vertical or right-to-left page the text is set in the page's flow
|
|
2974
|
+
// frame (#909): each frame is written in a box that turns or mirrors it
|
|
2975
|
+
// as the page's flow box does, over the panel on the sheet.
|
|
2976
|
+
const flowBox = vflow
|
|
2977
|
+
? `<div class="pt-flow" style="position:absolute;left:0;top:0;width:${page.height}px;height:${page.width}px;transform:translate(${page.width}px,0) rotate(90deg);transform-origin:0 0;">`
|
|
2978
|
+
: page.flow?.writingMode === 'horizontal-tb'
|
|
2979
|
+
? `<div class="pt-flow pt-flow-mirrored" style="position:absolute;left:0;top:0;width:${page.width}px;height:${page.height}px;transform:scaleX(-1);transform-origin:${page.flow.mirror.originX / 2}px 0;">${MIRRORED_FLOW_STYLE}`
|
|
2980
|
+
: '';
|
|
2956
2981
|
for (const item of comicFramePaintOrder(page)) {
|
|
2957
2982
|
if (item.kind !== 'frame' || item.frame.panel === undefined)
|
|
2958
2983
|
continue;
|
|
2959
2984
|
const parts = item.blocks.map((b) => ({ id: b.id, html: renderBlock(b, options) }));
|
|
2960
2985
|
comicTextBlocks.push(...parts);
|
|
2961
|
-
|
|
2986
|
+
const frameHtml = composedFrameOpen(item.frame, 'auto') + parts.map((b) => b.html).join('') + '</div>';
|
|
2987
|
+
comicText.set(item.frame.panel, flowBox ? `${flowBox}${frameHtml}</div>` : frameHtml);
|
|
2962
2988
|
}
|
|
2963
2989
|
const comicMarkup = (comic) => renderComicPageHtml(page, comic, comics.indexOf(comic), options.vertical ? { ...options, vertical: undefined } : options, comic === page.comic && comicText.size > 0 ? (panel) => comicText.get(panel.index) ?? '' : undefined);
|
|
2964
2990
|
const stripInBlock = (block) => plainFlow && block.comic && !block.hidden ? comicMarkup(comicBlockOnSheet(page, block)) : '';
|
|
@@ -3023,8 +3049,14 @@ verticalRegion, verticalDigits) {
|
|
|
3023
3049
|
const open = composedFrameOpen(item.frame, z, item.facing);
|
|
3024
3050
|
composedShape.push(open);
|
|
3025
3051
|
composedParts.push(open);
|
|
3052
|
+
// A frame set in its own writing mode (#944) writes its lines as a
|
|
3053
|
+
// page of that mode does: set vertically, or across.
|
|
3054
|
+
const f = item.frame;
|
|
3055
|
+
const frameOptions = f.writingMode === 'vertical-rl'
|
|
3056
|
+
? { ...options, vertical: { region: verticalRegion ?? 'mainland', uprightDigits: verticalDigits ?? 2, ...(f.centralBaselines ? { axes: f.centralBaselines } : {}), ...(f.dashAdvances ? { dashes: f.dashAdvances } : {}) } }
|
|
3057
|
+
: f.writingMode === 'horizontal-tb' ? { ...options, vertical: undefined } : options;
|
|
3026
3058
|
for (const b of item.blocks) {
|
|
3027
|
-
const html = renderBlock(b,
|
|
3059
|
+
const html = renderBlock(b, frameOptions, stripInBlock(b));
|
|
3028
3060
|
// The facing page's half of a frame across a spread's spine is
|
|
3029
3061
|
// painted only: no block of the page's to patch or select.
|
|
3030
3062
|
if (item.facing)
|