postext 1.36.0 → 1.37.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__/composed/continuation.test.d.ts +2 -0
- package/dist/__tests__/composed/continuation.test.d.ts.map +1 -0
- package/dist/__tests__/composed/continuation.test.js +352 -0
- package/dist/__tests__/composed/continuation.test.js.map +1 -0
- package/dist/__tests__/composed/contrast.test.d.ts +2 -0
- package/dist/__tests__/composed/contrast.test.d.ts.map +1 -0
- package/dist/__tests__/composed/contrast.test.js +124 -0
- package/dist/__tests__/composed/contrast.test.js.map +1 -0
- package/dist/__tests__/composed/corpus.test.js +7 -1
- package/dist/__tests__/composed/corpus.test.js.map +1 -1
- package/dist/__tests__/composed/fit.test.js +9 -6
- package/dist/__tests__/composed/fit.test.js.map +1 -1
- package/dist/__tests__/composed/groups.test.js +14 -0
- package/dist/__tests__/composed/groups.test.js.map +1 -1
- package/dist/__tests__/composed/headingDesigns.test.d.ts +2 -0
- package/dist/__tests__/composed/headingDesigns.test.d.ts.map +1 -0
- package/dist/__tests__/composed/headingDesigns.test.js +262 -0
- package/dist/__tests__/composed/headingDesigns.test.js.map +1 -0
- package/dist/__tests__/composed/labels.test.d.ts +2 -0
- package/dist/__tests__/composed/labels.test.d.ts.map +1 -0
- package/dist/__tests__/composed/labels.test.js +326 -0
- package/dist/__tests__/composed/labels.test.js.map +1 -0
- package/dist/__tests__/composed/outsidePrint.test.js +5 -2
- package/dist/__tests__/composed/outsidePrint.test.js.map +1 -1
- package/dist/__tests__/composed/sourceMap.test.js +26 -0
- package/dist/__tests__/composed/sourceMap.test.js.map +1 -1
- package/dist/__tests__/composed/spreadLabels.test.d.ts +2 -0
- package/dist/__tests__/composed/spreadLabels.test.d.ts.map +1 -0
- package/dist/__tests__/composed/spreadLabels.test.js +131 -0
- package/dist/__tests__/composed/spreadLabels.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +11 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/migrate/fixtures/textbookPort.d.ts +14 -0
- package/dist/__tests__/migrate/fixtures/textbookPort.d.ts.map +1 -0
- package/dist/__tests__/migrate/fixtures/textbookPort.js +116 -0
- package/dist/__tests__/migrate/fixtures/textbookPort.js.map +1 -0
- package/dist/__tests__/migrate/textToMarkdown.test.d.ts +2 -0
- package/dist/__tests__/migrate/textToMarkdown.test.d.ts.map +1 -0
- package/dist/__tests__/migrate/textToMarkdown.test.js +268 -0
- package/dist/__tests__/migrate/textToMarkdown.test.js.map +1 -0
- package/dist/__tests__/paragraphStyleLetterSpacing.test.d.ts +2 -0
- package/dist/__tests__/paragraphStyleLetterSpacing.test.d.ts.map +1 -0
- package/dist/__tests__/paragraphStyleLetterSpacing.test.js +89 -0
- package/dist/__tests__/paragraphStyleLetterSpacing.test.js.map +1 -0
- package/dist/__tests__/pictureBelowPrintSize.test.d.ts +2 -0
- package/dist/__tests__/pictureBelowPrintSize.test.d.ts.map +1 -0
- package/dist/__tests__/pictureBelowPrintSize.test.js +82 -0
- package/dist/__tests__/pictureBelowPrintSize.test.js.map +1 -0
- package/dist/__tests__/pipeline/paragraphStyleFaces.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphStyleFaces.test.js.map +1 -1
- package/dist/canvas-backend/composed.d.ts +5 -2
- package/dist/canvas-backend/composed.d.ts.map +1 -1
- package/dist/canvas-backend/composed.js +5 -3
- package/dist/canvas-backend/composed.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +37 -19
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts +5 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +60 -1
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/composed/continuation.d.ts +102 -0
- package/dist/composed/continuation.d.ts.map +1 -0
- package/dist/composed/continuation.js +87 -0
- package/dist/composed/continuation.js.map +1 -0
- package/dist/composed/labels.d.ts +154 -0
- package/dist/composed/labels.d.ts.map +1 -0
- package/dist/composed/labels.js +524 -0
- package/dist/composed/labels.js.map +1 -0
- package/dist/composed/pageMemo.d.ts +3 -2
- package/dist/composed/pageMemo.d.ts.map +1 -1
- package/dist/composed/pageMemo.js +3 -1
- package/dist/composed/pageMemo.js.map +1 -1
- package/dist/composed/paint.d.ts +8 -2
- package/dist/composed/paint.d.ts.map +1 -1
- package/dist/composed/paint.js +8 -2
- package/dist/composed/paint.js.map +1 -1
- package/dist/composed/reflowLog.d.ts +3 -1
- package/dist/composed/reflowLog.d.ts.map +1 -1
- package/dist/composed/reflowLog.js +20 -6
- package/dist/composed/reflowLog.js.map +1 -1
- package/dist/composed/sourceMap.d.ts +0 -21
- package/dist/composed/sourceMap.d.ts.map +1 -1
- package/dist/composed/sourceMap.js +87 -7
- package/dist/composed/sourceMap.js.map +1 -1
- package/dist/composed/spread.d.ts +3 -0
- package/dist/composed/spread.d.ts.map +1 -1
- package/dist/composed/spread.js +1 -1
- package/dist/composed/spread.js.map +1 -1
- package/dist/configWarnings.d.ts +15 -0
- package/dist/configWarnings.d.ts.map +1 -1
- package/dist/configWarnings.js +29 -17
- package/dist/configWarnings.js.map +1 -1
- package/dist/contrast.d.ts +5 -3
- package/dist/contrast.d.ts.map +1 -1
- package/dist/contrast.js +46 -5
- package/dist/contrast.js.map +1 -1
- package/dist/defaults/paragraphStyles.d.ts +1 -1
- package/dist/defaults/paragraphStyles.d.ts.map +1 -1
- package/dist/defaults/paragraphStyles.js +5 -1
- package/dist/defaults/paragraphStyles.js.map +1 -1
- package/dist/design/slots.d.ts +12 -10
- package/dist/design/slots.d.ts.map +1 -1
- package/dist/design/slots.js +26 -2
- package/dist/design/slots.js.map +1 -1
- package/dist/fonts/faces.d.ts.map +1 -1
- package/dist/fonts/faces.js +6 -0
- package/dist/fonts/faces.js.map +1 -1
- package/dist/highlightMarks.d.ts.map +1 -1
- package/dist/highlightMarks.js +6 -0
- package/dist/highlightMarks.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +40 -2
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/migrate/markdownRuns.d.ts +70 -0
- package/dist/migrate/markdownRuns.d.ts.map +1 -0
- package/dist/migrate/markdownRuns.js +215 -0
- package/dist/migrate/markdownRuns.js.map +1 -0
- package/dist/migrate/pageDesign.d.ts +119 -0
- package/dist/migrate/pageDesign.d.ts.map +1 -0
- package/dist/migrate/pageDesign.js +446 -0
- package/dist/migrate/pageDesign.js.map +1 -0
- package/dist/migrate/textToMarkdown.d.ts +124 -0
- package/dist/migrate/textToMarkdown.d.ts.map +1 -0
- package/dist/migrate/textToMarkdown.js +716 -0
- package/dist/migrate/textToMarkdown.js.map +1 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +192 -24
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
- package/dist/pipeline/buildMeasurement.js +12 -1
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts +20 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +30 -2
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/composedLayout.d.ts +16 -2
- package/dist/pipeline/composedLayout.d.ts.map +1 -1
- package/dist/pipeline/composedLayout.js +107 -37
- package/dist/pipeline/composedLayout.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts +15 -0
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +85 -0
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/frameLayout.d.ts +4 -1
- package/dist/pipeline/frameLayout.d.ts.map +1 -1
- package/dist/pipeline/frameLayout.js +5 -2
- package/dist/pipeline/frameLayout.js.map +1 -1
- package/dist/pipeline/headerFooter.d.ts +11 -1
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +169 -66
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/mirrorFrame.d.ts.map +1 -1
- package/dist/pipeline/mirrorFrame.js +25 -2
- package/dist/pipeline/mirrorFrame.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +28 -0
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +21 -0
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/styles.d.ts +1 -1
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +4 -0
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +138 -7
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/dist/word/toDocx.d.ts.map +1 -1
- package/dist/word/toDocx.js +14 -0
- package/dist/word/toDocx.js.map +1 -1
- package/dist/word/word.test.js +11 -1
- package/dist/word/word.test.js.map +1 -1
- package/package.json +1 -1
package/dist/html-backend.js
CHANGED
|
@@ -25,6 +25,7 @@ import { isHlsMimeType, mediaFragment, videoElementAttributes, videoEmbedAllow }
|
|
|
25
25
|
import { renderComicHtml } from './htmlComic';
|
|
26
26
|
import { comicBlockOnSheet, pageComics } from './comics/transform';
|
|
27
27
|
import { altWithLabels } from './composed/labelText';
|
|
28
|
+
import { figureLabelMatrix, undrawnLabels } from './composed/labels';
|
|
28
29
|
import { composedFrameBlockIds, composedPaintOrder, composedReadingOrder, composedSheetClip, frameClips, frameContentRect, frameMatrix } from './composed/paint';
|
|
29
30
|
import { taskBoxSvgBody, taskBoxText } from './taskBox';
|
|
30
31
|
/**
|
|
@@ -2457,6 +2458,40 @@ function renderResourceTable(rb, bx, by, options) {
|
|
|
2457
2458
|
}
|
|
2458
2459
|
return parts.join('');
|
|
2459
2460
|
}
|
|
2461
|
+
/**
|
|
2462
|
+
* The labels of a `:::figure` drawn on its picture (#860), its body's
|
|
2463
|
+
* top-left corner at (`bx`, `by`): one box per label, turned by its
|
|
2464
|
+
* matrix about the block's frame, holding its plate and its lines. The
|
|
2465
|
+
* labels follow the picture in the markup, in the order written, so they
|
|
2466
|
+
* are read after it; a halo strokes the letters under their fill.
|
|
2467
|
+
*/
|
|
2468
|
+
function renderFigureLabelsHtml(rb, bx, by, options) {
|
|
2469
|
+
const n2 = (v) => String(+v.toFixed(4));
|
|
2470
|
+
const parts = [];
|
|
2471
|
+
for (const label of rb.labels ?? []) {
|
|
2472
|
+
const layout = label.layout;
|
|
2473
|
+
if (!layout)
|
|
2474
|
+
continue;
|
|
2475
|
+
const m = figureLabelMatrix(layout, bx, by);
|
|
2476
|
+
const fonts = { normal: layout.fontString, bold: layout.boldFontString, italic: layout.italicFontString, boldItalic: layout.boldItalicFontString };
|
|
2477
|
+
const halo = layout.halo && layout.halo.widthPx > 0
|
|
2478
|
+
? `-webkit-text-stroke:${n2(2 * layout.halo.widthPx)}px ${layout.halo.color};paint-order:stroke fill;stroke-linejoin:round;`
|
|
2479
|
+
: '';
|
|
2480
|
+
const inner = [];
|
|
2481
|
+
if (layout.background) {
|
|
2482
|
+
const r = layout.background.rect;
|
|
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
|
+
}
|
|
2485
|
+
layout.lines.forEach((line, i) => {
|
|
2486
|
+
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 ? ' ' : '')));
|
|
2487
|
+
});
|
|
2488
|
+
const dir = layout.direction === 'rtl' ? ' dir="rtl"' : '';
|
|
2489
|
+
const id = label.id ? ` data-label="${esc(label.id)}"` : '';
|
|
2490
|
+
parts.push(`<div class="pt-figure-label"${id}${dir} style="position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;` +
|
|
2491
|
+
`transform:matrix(${m.map(n2).join(',')});${halo}">` + inner.join('') + '</div>');
|
|
2492
|
+
}
|
|
2493
|
+
return parts.join('');
|
|
2494
|
+
}
|
|
2460
2495
|
function renderResourceBlockHtml(block, paint) {
|
|
2461
2496
|
const rb = block.resourceBlock;
|
|
2462
2497
|
if (!rb)
|
|
@@ -2490,8 +2525,11 @@ function renderResourceBlockHtml(block, paint) {
|
|
|
2490
2525
|
else if (rb.kind === 'bitmap' || rb.kind === 'svg') {
|
|
2491
2526
|
const url = rb.fileId ? imageUrl(options, rb.fileId, rb.resource.id) : undefined;
|
|
2492
2527
|
// `<img>`, or a neutral placeholder matching the canvas backend's colours.
|
|
2493
|
-
// A `:::figure`'s labels follow its alternative text (#862)
|
|
2494
|
-
|
|
2528
|
+
// A `:::figure`'s labels follow its alternative text (#862) unless
|
|
2529
|
+
// they are drawn as text over it (#860).
|
|
2530
|
+
parts.push(renderFittedImage(url, altWithLabels(rb.resource.altText ?? '', undrawnLabels(rb.labels)), rb.kind === 'svg' ? 'SVG' : 'Image', bx, by, bw, bh, options, rb.kind === 'svg', rb.bodySource));
|
|
2531
|
+
if (rb.labels)
|
|
2532
|
+
parts.push(renderFigureLabelsHtml(rb, bx, by, options));
|
|
2495
2533
|
}
|
|
2496
2534
|
else if (rb.kind === 'table') {
|
|
2497
2535
|
parts.push(renderResourceTable(rb, bx, by, options));
|