postext-pdf 1.19.2 → 1.20.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__/comic.test.d.ts +2 -0
- package/dist/__tests__/comic.test.d.ts.map +1 -0
- package/dist/__tests__/comic.test.js +420 -0
- package/dist/__tests__/comic.test.js.map +1 -0
- package/dist/__tests__/comicMarkPairs.test.d.ts +2 -0
- package/dist/__tests__/comicMarkPairs.test.d.ts.map +1 -0
- package/dist/__tests__/comicMarkPairs.test.js +59 -0
- package/dist/__tests__/comicMarkPairs.test.js.map +1 -0
- package/dist/pdf-backend/comic.d.ts +56 -0
- package/dist/pdf-backend/comic.d.ts.map +1 -0
- package/dist/pdf-backend/comic.js +345 -0
- package/dist/pdf-backend/comic.js.map +1 -0
- package/dist/pdf-backend/fontHelpers.d.ts.map +1 -1
- package/dist/pdf-backend/fontHelpers.js +35 -12
- package/dist/pdf-backend/fontHelpers.js.map +1 -1
- package/dist/pdf-backend/headerFooter.d.ts +4 -1
- package/dist/pdf-backend/headerFooter.d.ts.map +1 -1
- package/dist/pdf-backend/headerFooter.js +3 -1
- package/dist/pdf-backend/headerFooter.js.map +1 -1
- package/dist/pdf-backend/index.d.ts.map +1 -1
- package/dist/pdf-backend/index.js +27 -1
- package/dist/pdf-backend/index.js.map +1 -1
- package/dist/pdf-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/pdf-backend/renderResourceBlock.js +24 -1
- package/dist/pdf-backend/renderResourceBlock.js.map +1 -1
- package/dist/pdf-backend/structureFlow.d.ts +9 -0
- package/dist/pdf-backend/structureFlow.d.ts.map +1 -1
- package/dist/pdf-backend/structureFlow.js +21 -0
- package/dist/pdf-backend/structureFlow.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PDF painting of a comic page (`VDTPage.comic`, #564), in the order the
|
|
3
|
+
* canvas paints it (`canvas-backend/comic.ts`, SPEC D5):
|
|
4
|
+
*
|
|
5
|
+
* 1. per panel, in reading order: its background, then its picture
|
|
6
|
+
* clipped to its outline (the whole picture drawn at `art.box`,
|
|
7
|
+
* flipped inside it when mirrored), then its border (solid, rough or
|
|
8
|
+
* none), then its pop-out cut-out over the border, unclipped;
|
|
9
|
+
* 2. the balloons, group by group: every outline of the group stroked
|
|
10
|
+
* (at twice the stroke width, so that the fill drawn next covers the
|
|
11
|
+
* inner half and overlapping bodies and tails merge into one line;
|
|
12
|
+
* a double outline adds two wider strokes under it), then every
|
|
13
|
+
* outline filled, then the lettering (each text's halo first, then
|
|
14
|
+
* its glyphs); sound effects last.
|
|
15
|
+
*
|
|
16
|
+
* Everything is in sheet coordinates: call it outside any flow frame.
|
|
17
|
+
*
|
|
18
|
+
* An accessible render tags the page as a `Div` holding, in reading order,
|
|
19
|
+
* a `Figure` per panel with a picture (its alternative text and bounding
|
|
20
|
+
* box) followed by a `P` per balloon of that panel; a sound effect is a
|
|
21
|
+
* `Span` (inside a `P`) whose `/ActualText` is its text. Backgrounds,
|
|
22
|
+
* borders and balloon outlines are artifacts.
|
|
23
|
+
*/
|
|
24
|
+
import { LineJoinStyle, appendBezierCurve, clip, closePath, endPath, fill, lineTo, moveTo, popGraphicsState, pushGraphicsState, setDashPattern, setFillingColor, setLineJoin, setLineWidth, setStrokingColor, stroke, } from 'pdf-lib';
|
|
25
|
+
import { comicBalloonText as sharedBalloonText, comicPanelContinues, comicRoughBorder } from 'postext';
|
|
26
|
+
import { renderTextBlock } from './headerFooter';
|
|
27
|
+
import { alphaOf, alphaStateOp, colorFromHex, fillRectPx, opt, popFrame, popTransform, pushFrame, pushTransform, } from './primitives';
|
|
28
|
+
import { drawEmbeddedResource, figureLayout } from './renderResourceBlock';
|
|
29
|
+
import { parsePathData } from './svgVector';
|
|
30
|
+
import { tagArtifact, tagContent } from './tagging';
|
|
31
|
+
/** Bézier handle length of a quarter circle, as a fraction of its radius. */
|
|
32
|
+
const KAPPA = 0.5522847498;
|
|
33
|
+
/** The light fill a panel shows where its picture has no bytes (the
|
|
34
|
+
* canvas's placeholder). */
|
|
35
|
+
const PLACEHOLDER = 'rgba(160, 160, 160, 0.15)';
|
|
36
|
+
// ------------------------------------------------------------ paths
|
|
37
|
+
/** A closed polygon as path segments (px). */
|
|
38
|
+
function polygonSegs(points) {
|
|
39
|
+
if (points.length === 0)
|
|
40
|
+
return [];
|
|
41
|
+
const segs = [['M', points[0].x, points[0].y]];
|
|
42
|
+
for (let i = 1; i < points.length; i++)
|
|
43
|
+
segs.push(['L', points[i].x, points[i].y]);
|
|
44
|
+
segs.push(['Z']);
|
|
45
|
+
return segs;
|
|
46
|
+
}
|
|
47
|
+
/** A rounded rectangle as path segments (px), clockwise on the sheet. */
|
|
48
|
+
function roundedRectSegs(x, y, w, h, radius) {
|
|
49
|
+
const r = Math.max(0, Math.min(radius, w / 2, h / 2));
|
|
50
|
+
const k = r * KAPPA;
|
|
51
|
+
return [
|
|
52
|
+
['M', x + r, y],
|
|
53
|
+
['L', x + w - r, y],
|
|
54
|
+
['C', x + w - r + k, y, x + w, y + r - k, x + w, y + r],
|
|
55
|
+
['L', x + w, y + h - r],
|
|
56
|
+
['C', x + w, y + h - r + k, x + w - r + k, y + h, x + w - r, y + h],
|
|
57
|
+
['L', x + r, y + h],
|
|
58
|
+
['C', x + r - k, y + h, x, y + h - r + k, x, y + h - r],
|
|
59
|
+
['L', x, y + r],
|
|
60
|
+
['C', x, y + r - k, x + r - k, y, x + r, y],
|
|
61
|
+
['Z'],
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
/** A panel's outline: its polygon, or a rounded rectangle when it has a
|
|
65
|
+
* radius (as `comicPanelPath` traces it on the canvas). */
|
|
66
|
+
export function comicPanelSegs(panel) {
|
|
67
|
+
if (panel.radius > 0) {
|
|
68
|
+
const { x, y, width, height } = panel.bbox;
|
|
69
|
+
return roundedRectSegs(x, y, width, height, panel.radius);
|
|
70
|
+
}
|
|
71
|
+
return polygonSegs(panel.polygon);
|
|
72
|
+
}
|
|
73
|
+
/** Path operators of segments in px (top-down), in the points of the
|
|
74
|
+
* current frame. */
|
|
75
|
+
function segOps(ctx, segs) {
|
|
76
|
+
const { scale, pageHeightPt } = ctx;
|
|
77
|
+
const X = (px) => px * scale;
|
|
78
|
+
const Y = (py) => pageHeightPt - py * scale;
|
|
79
|
+
const ops = [];
|
|
80
|
+
for (const s of segs) {
|
|
81
|
+
if (s[0] === 'M')
|
|
82
|
+
ops.push(moveTo(X(s[1]), Y(s[2])));
|
|
83
|
+
else if (s[0] === 'L')
|
|
84
|
+
ops.push(lineTo(X(s[1]), Y(s[2])));
|
|
85
|
+
else if (s[0] === 'C')
|
|
86
|
+
ops.push(appendBezierCurve(X(s[1]), Y(s[2]), X(s[3]), Y(s[4]), X(s[5]), Y(s[6])));
|
|
87
|
+
else
|
|
88
|
+
ops.push(closePath());
|
|
89
|
+
}
|
|
90
|
+
return ops;
|
|
91
|
+
}
|
|
92
|
+
/** Push a graphics state clipped to `segs` (nonzero rule); undo with
|
|
93
|
+
* `popTransform`. */
|
|
94
|
+
function pushClipSegs(ctx, segs) {
|
|
95
|
+
ctx.tags?.close();
|
|
96
|
+
ctx.page.pushOperators(pushGraphicsState(), ...segOps(ctx, segs), clip(), endPath());
|
|
97
|
+
}
|
|
98
|
+
function fillSegs(ctx, segs, color) {
|
|
99
|
+
if (segs.length === 0)
|
|
100
|
+
return;
|
|
101
|
+
ctx.page.pushOperators(pushGraphicsState(), ...opt(alphaStateOp(ctx, alphaOf(color))), setFillingColor(color), ...segOps(ctx, segs), fill(), popGraphicsState());
|
|
102
|
+
}
|
|
103
|
+
/** Stroke `segs` `widthPx` wide, centred on them, with round joins (and a
|
|
104
|
+
* dash pattern in px when given). */
|
|
105
|
+
function strokeSegs(ctx, segs, color, widthPx, dashPx) {
|
|
106
|
+
if (segs.length === 0 || widthPx <= 0)
|
|
107
|
+
return;
|
|
108
|
+
const s = ctx.scale;
|
|
109
|
+
ctx.page.pushOperators(pushGraphicsState(), ...opt(alphaStateOp(ctx, 1, alphaOf(color))), setStrokingColor(color), setLineWidth(Math.max(0.01, widthPx * s)), setLineJoin(LineJoinStyle.Round), ...(dashPx && dashPx.length > 0 ? [setDashPattern(dashPx.map((d) => d * s), 0)] : []), ...segOps(ctx, segs), stroke(), popGraphicsState());
|
|
110
|
+
}
|
|
111
|
+
/** The segments of a balloon outline's path data; none when it does not
|
|
112
|
+
* parse (the lettering is still painted). */
|
|
113
|
+
function balloonSegs(d) {
|
|
114
|
+
try {
|
|
115
|
+
return parsePathData(d);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// ------------------------------------------------------------ frames
|
|
122
|
+
/** The matrix of a turn of `deg` degrees clockwise on the sheet about the
|
|
123
|
+
* point (cx, cy) px, in the backend's points (y up). */
|
|
124
|
+
export function rotationMatrix(deg, cxPx, cyPx, scale, pageHeightPt) {
|
|
125
|
+
const t = (deg * Math.PI) / 180;
|
|
126
|
+
const cos = Math.cos(t);
|
|
127
|
+
const sin = Math.sin(t);
|
|
128
|
+
const cx = cxPx * scale;
|
|
129
|
+
const cy = pageHeightPt - cyPx * scale;
|
|
130
|
+
// PDF user space has y growing upwards: a clockwise turn on the sheet
|
|
131
|
+
// is a turn by −deg there.
|
|
132
|
+
return [cos, -sin, sin, cos, cx - cos * cx - sin * cy, cy + sin * cx - cos * cy];
|
|
133
|
+
}
|
|
134
|
+
/** Run `paint` turned by the balloon's rotation about the centre of its
|
|
135
|
+
* box (sound effects); straight through when it has none. */
|
|
136
|
+
function withRotation(ctx, balloon, paint) {
|
|
137
|
+
const deg = balloon.rotate ?? 0;
|
|
138
|
+
if (!deg) {
|
|
139
|
+
paint();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const { x, y, width, height } = balloon.bbox;
|
|
143
|
+
pushFrame(ctx, rotationMatrix(deg, x + width / 2, y + height / 2, ctx.scale, ctx.pageHeightPt));
|
|
144
|
+
try {
|
|
145
|
+
paint();
|
|
146
|
+
}
|
|
147
|
+
finally {
|
|
148
|
+
popFrame(ctx);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// ------------------------------------------------------------ structure
|
|
152
|
+
/** A sound effect: a balloon of kind `sfx` (the script line's `sfx`
|
|
153
|
+
* key, whatever style it names). A VDT from before balloons had a kind
|
|
154
|
+
* falls back on the `sfx` style id. */
|
|
155
|
+
export function isComicSoundEffect(balloon) {
|
|
156
|
+
return balloon.kind !== undefined ? balloon.kind === 'sfx' : balloon.style === 'sfx';
|
|
157
|
+
}
|
|
158
|
+
/** Plain text of a balloon's lettering (the engine's `comicBalloonText`:
|
|
159
|
+
* lines joined with a space, none between two CJK characters). */
|
|
160
|
+
export const comicBalloonText = sharedBalloonText;
|
|
161
|
+
/** Alternative text of a panel's picture: its own, else a plain label. */
|
|
162
|
+
function panelAlt(panel) {
|
|
163
|
+
return panel.altText?.trim() || `Panel ${panel.index + 1}`;
|
|
164
|
+
}
|
|
165
|
+
/** Build the page's structure in reading order before anything is
|
|
166
|
+
* painted: the pictures are painted before the lettering, but each
|
|
167
|
+
* panel's balloons are read right after its picture. */
|
|
168
|
+
function comicStructure(ctx, structure, comic, own) {
|
|
169
|
+
const div = own ?? structure.comicPage();
|
|
170
|
+
const figures = [];
|
|
171
|
+
const balloons = new Map();
|
|
172
|
+
const addBalloon = (b) => {
|
|
173
|
+
const text = comicBalloonText(b);
|
|
174
|
+
if (!text)
|
|
175
|
+
return;
|
|
176
|
+
balloons.set(b, isComicSoundEffect(b) ? div.child('P').child('Span', { actualText: text }) : div.child('P'));
|
|
177
|
+
};
|
|
178
|
+
const known = new Set();
|
|
179
|
+
for (const panel of comic.panels) {
|
|
180
|
+
known.add(panel.index);
|
|
181
|
+
const { x, y, width, height } = panel.bbox;
|
|
182
|
+
// The second half of a panel across a spread's spine is read with its
|
|
183
|
+
// first half, on the other page: painted as an artifact here.
|
|
184
|
+
figures[panel.index] = (panel.art || panel.pop) && !comicPanelContinues(comic, panel)
|
|
185
|
+
? div.child('Figure', { alt: panelAlt(panel), attributes: figureLayout(ctx, x, y, width, height) })
|
|
186
|
+
: undefined;
|
|
187
|
+
for (const b of comic.balloons)
|
|
188
|
+
if (b.panelIndex === panel.index)
|
|
189
|
+
addBalloon(b);
|
|
190
|
+
}
|
|
191
|
+
// Lettering of no panel (none expected): read after the panels.
|
|
192
|
+
for (const b of comic.balloons)
|
|
193
|
+
if (!known.has(b.panelIndex))
|
|
194
|
+
addBalloon(b);
|
|
195
|
+
return { figures, balloons };
|
|
196
|
+
}
|
|
197
|
+
// ------------------------------------------------------------ panels
|
|
198
|
+
/** Draw a panel's picture (or cut-out) at its box, flipped left to right
|
|
199
|
+
* inside it when mirrored; false when it has no bytes. `tag` routes the
|
|
200
|
+
* picture in an accessible render: it runs where the picture is painted,
|
|
201
|
+
* inside the flip, since a new graphics state ends the open marked
|
|
202
|
+
* content. */
|
|
203
|
+
function drawArt(ctx, art, images, tag) {
|
|
204
|
+
const embedded = images?.get(art.fileId);
|
|
205
|
+
if (!embedded) {
|
|
206
|
+
ctx.onMissingImage?.(art.fileId, art.resourceId);
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
const { x, y, width, height } = art.box;
|
|
210
|
+
if (!art.mirrored) {
|
|
211
|
+
tag();
|
|
212
|
+
drawEmbeddedResource(ctx, embedded, x, y, width, height);
|
|
213
|
+
return true;
|
|
214
|
+
}
|
|
215
|
+
pushTransform(ctx, [-1, 0, 0, 1, (2 * x + width) * ctx.scale, 0]);
|
|
216
|
+
tag();
|
|
217
|
+
drawEmbeddedResource(ctx, embedded, x, y, width, height);
|
|
218
|
+
popTransform(ctx);
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
/** Paint one panel: background, clipped picture, border, pop-out. */
|
|
222
|
+
export function renderComicPanelPdf(ctx, panel, images, figure) {
|
|
223
|
+
const outline = comicPanelSegs(panel);
|
|
224
|
+
const { x, y, width, height } = panel.bbox;
|
|
225
|
+
pushClipSegs(ctx, outline);
|
|
226
|
+
if (panel.background) {
|
|
227
|
+
tagArtifact(ctx, { type: 'Background' });
|
|
228
|
+
fillRectPx(ctx, x, y, width, height, colorFromHex(panel.background, ctx.colorSpace));
|
|
229
|
+
}
|
|
230
|
+
// The picture is the figure's content; a missing one's placeholder
|
|
231
|
+
// stands in for it.
|
|
232
|
+
const tag = () => (figure ? tagContent(ctx, figure) : tagArtifact(ctx, { type: 'Layout' }));
|
|
233
|
+
if (panel.art && !drawArt(ctx, panel.art, images, tag)) {
|
|
234
|
+
tag();
|
|
235
|
+
fillRectPx(ctx, x, y, width, height, colorFromHex(PLACEHOLDER, ctx.colorSpace));
|
|
236
|
+
}
|
|
237
|
+
popTransform(ctx);
|
|
238
|
+
const { border } = panel;
|
|
239
|
+
if (border.style !== 'none' && border.width > 0) {
|
|
240
|
+
tagArtifact(ctx, { type: 'Layout' });
|
|
241
|
+
const segs = border.style === 'rough' ? polygonSegs(comicRoughBorder(panel)) : outline;
|
|
242
|
+
strokeSegs(ctx, segs, colorFromHex(border.color, ctx.colorSpace), border.width);
|
|
243
|
+
}
|
|
244
|
+
// The pop-out cut-out runs over the border, unclipped.
|
|
245
|
+
if (panel.pop)
|
|
246
|
+
drawArt(ctx, panel.pop, images, tag);
|
|
247
|
+
}
|
|
248
|
+
// ------------------------------------------------------------ balloons
|
|
249
|
+
/** Stroke a balloon's outline the way its shape asks: a double outline
|
|
250
|
+
* first (a wide stroke in the outline colour, then a narrower one in the
|
|
251
|
+
* fill colour), then the outline itself at twice its width (the fill
|
|
252
|
+
* drawn next covers its inner half), dashed for a whisper. */
|
|
253
|
+
function strokeBalloon(ctx, shape, segs) {
|
|
254
|
+
if (!shape.stroke || shape.strokeWidth <= 0)
|
|
255
|
+
return;
|
|
256
|
+
const ink = colorFromHex(shape.stroke, ctx.colorSpace);
|
|
257
|
+
const sw = shape.strokeWidth;
|
|
258
|
+
if (shape.double) {
|
|
259
|
+
const gap = shape.double.gap;
|
|
260
|
+
strokeSegs(ctx, segs, ink, 2 * (2 * sw + gap));
|
|
261
|
+
if (shape.fill)
|
|
262
|
+
strokeSegs(ctx, segs, colorFromHex(shape.fill, ctx.colorSpace), 2 * (sw + gap));
|
|
263
|
+
}
|
|
264
|
+
// A whisper's dashes over a band of the balloon's ground: the gaps read
|
|
265
|
+
// as the balloon, not as the art behind it.
|
|
266
|
+
if (shape.dash && shape.dash.length > 0 && shape.fill)
|
|
267
|
+
strokeSegs(ctx, segs, colorFromHex(shape.fill, ctx.colorSpace), 3 * sw);
|
|
268
|
+
strokeSegs(ctx, segs, ink, 2 * sw, shape.dash?.map((d) => d * 2));
|
|
269
|
+
}
|
|
270
|
+
/** A text block's halo: its glyphs stroked hollow, `2 × width` wide with
|
|
271
|
+
* round joins, under the glyphs painted next. */
|
|
272
|
+
function paintHalo(ctx, block, halo, fontCache, mark) {
|
|
273
|
+
if (halo.width <= 0)
|
|
274
|
+
return;
|
|
275
|
+
// The halo strokes the glyphs only: the block's box is painted once, by
|
|
276
|
+
// the text pass.
|
|
277
|
+
const haloBlock = { ...block, box: undefined, stroke: { color: halo.color, widthPx: 2 * halo.width, hollow: true } };
|
|
278
|
+
ctx.tags?.close();
|
|
279
|
+
ctx.page.pushOperators(pushGraphicsState(), setLineJoin(LineJoinStyle.Round));
|
|
280
|
+
renderTextBlock(ctx, haloBlock, fontCache, mark ? { artifact: { type: 'Layout' } } : undefined);
|
|
281
|
+
ctx.tags?.close();
|
|
282
|
+
ctx.page.pushOperators(popGraphicsState());
|
|
283
|
+
}
|
|
284
|
+
/** Paint one join group: every outline stroked, every outline filled,
|
|
285
|
+
* then the lettering of each balloon. */
|
|
286
|
+
function renderBalloonGroup(ctx, group, fontCache, tags) {
|
|
287
|
+
const shaped = group
|
|
288
|
+
.filter((b) => b.shape)
|
|
289
|
+
.map((b) => ({ balloon: b, shape: b.shape, segs: balloonSegs(b.shape.d) }));
|
|
290
|
+
for (const { balloon, shape, segs } of shaped) {
|
|
291
|
+
withRotation(ctx, balloon, () => {
|
|
292
|
+
tagArtifact(ctx, { type: 'Layout' });
|
|
293
|
+
strokeBalloon(ctx, shape, segs);
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
for (const { balloon, shape, segs } of shaped) {
|
|
297
|
+
if (!shape.fill)
|
|
298
|
+
continue;
|
|
299
|
+
withRotation(ctx, balloon, () => {
|
|
300
|
+
tagArtifact(ctx, { type: 'Layout' });
|
|
301
|
+
fillSegs(ctx, segs, colorFromHex(shape.fill, ctx.colorSpace));
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
for (const balloon of group) {
|
|
305
|
+
const elem = tags?.balloons.get(balloon);
|
|
306
|
+
const mark = tags
|
|
307
|
+
? { artifact: { type: 'Layout' }, ...(elem ? { text: () => elem } : {}) }
|
|
308
|
+
: undefined;
|
|
309
|
+
withRotation(ctx, balloon, () => {
|
|
310
|
+
for (const block of balloon.text) {
|
|
311
|
+
if (balloon.halo)
|
|
312
|
+
paintHalo(ctx, block, balloon.halo, fontCache, mark);
|
|
313
|
+
renderTextBlock(ctx, block, fontCache, mark);
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/** The balloons of a page as join groups in paint order: groups in the
|
|
319
|
+
* order their first balloon comes, sound effects after the rest. */
|
|
320
|
+
export function comicBalloonGroups(balloons) {
|
|
321
|
+
const groups = new Map();
|
|
322
|
+
for (const b of balloons) {
|
|
323
|
+
const key = `${b.panelIndex}:${b.group}`;
|
|
324
|
+
const list = groups.get(key);
|
|
325
|
+
if (list)
|
|
326
|
+
list.push(b);
|
|
327
|
+
else
|
|
328
|
+
groups.set(key, [b]);
|
|
329
|
+
}
|
|
330
|
+
const all = [...groups.values()];
|
|
331
|
+
const sfx = (g) => g.every(isComicSoundEffect);
|
|
332
|
+
return [...all.filter((g) => !sfx(g)), ...all.filter(sfx)];
|
|
333
|
+
}
|
|
334
|
+
/** Paint a comic (a comic page, a half of a spread, a strip on the
|
|
335
|
+
* sheet): panels, then lettering. Tagged in `div` when given (a strip's,
|
|
336
|
+
* placed where the strip is read), else in a `Div` of its own at the end
|
|
337
|
+
* of the document read so far (a comic page). */
|
|
338
|
+
export function renderComicPage(ctx, comic, fontCache, images, structure, div) {
|
|
339
|
+
const tags = structure ? comicStructure(ctx, structure, comic, div) : undefined;
|
|
340
|
+
for (const panel of comic.panels)
|
|
341
|
+
renderComicPanelPdf(ctx, panel, images, tags?.figures[panel.index]);
|
|
342
|
+
for (const group of comicBalloonGroups(comic.balloons))
|
|
343
|
+
renderBalloonGroup(ctx, group, fontCache, tags);
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=comic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comic.js","sourceRoot":"","sources":["../../src/pdf-backend/comic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fontHelpers.d.ts","sourceRoot":"","sources":["../../src/pdf-backend/fontHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fontHelpers.d.ts","sourceRoot":"","sources":["../../src/pdf-backend/fontHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,WAAW,EAAE,QAAQ,EAA0B,MAAM,SAAS,CAAC;AAWxF,iFAAiF;AACjF,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AA4BhD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,CAE7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,GAAE,QAAoB,GAAG,QAAQ,CAmBtF;AAmHD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,QAAQ,GACd,MAAM,CAKR;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,QAAQ,GACd,MAAM,CAIR"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
import { graphemesOf, pageComics, verticalFlowOf, verticalRuns } from 'postext';
|
|
1
2
|
/** Record that `text` is set in `fontString`; an empty text still records
|
|
2
|
-
* the face.
|
|
3
|
-
|
|
3
|
+
* the face. Down a vertical line (`vertical`), a cell may be painted with
|
|
4
|
+
* other characters than the text's (`VerticalGlyph.paintAs`: a full-width
|
|
5
|
+
* !! in one cell as `!!`, a Japanese “ as 〝): those are recorded too, so
|
|
6
|
+
* that a face served as several files hands over the file the painter
|
|
7
|
+
* draws from. */
|
|
8
|
+
function add(out, fontString, text = '', vertical) {
|
|
4
9
|
let cps = out.get(fontString);
|
|
5
10
|
if (!cps) {
|
|
6
11
|
cps = new Set();
|
|
@@ -8,6 +13,12 @@ function add(out, fontString, text = '') {
|
|
|
8
13
|
}
|
|
9
14
|
for (const ch of text)
|
|
10
15
|
cps.add(ch.codePointAt(0));
|
|
16
|
+
if (!vertical || text.length === 0)
|
|
17
|
+
return;
|
|
18
|
+
for (const run of verticalRuns(graphemesOf(text), vertical.region, vertical.uprightDigits)) {
|
|
19
|
+
for (const ch of run.glyph.paintAs ?? '')
|
|
20
|
+
cps.add(ch.codePointAt(0));
|
|
21
|
+
}
|
|
11
22
|
}
|
|
12
23
|
/**
|
|
13
24
|
* Collect the fontString of every face the pages paint, walking them the
|
|
@@ -34,19 +45,29 @@ export function collectFontStrings(doc) {
|
|
|
34
45
|
export function collectFontText(doc, into = new Map()) {
|
|
35
46
|
const out = into;
|
|
36
47
|
for (const page of doc.pages) {
|
|
48
|
+
// A vertical page paints its flow's lines as vertical text (see
|
|
49
|
+
// `ctx.vertical` in the page renderer).
|
|
50
|
+
const vertical = verticalFlowOf(page)
|
|
51
|
+
? { region: doc.config.cjk?.region ?? 'mainland', uprightDigits: doc.config.cjk?.uprightDigits ?? 2 }
|
|
52
|
+
: undefined;
|
|
37
53
|
for (const col of page.columns) {
|
|
38
54
|
for (const block of col.blocks)
|
|
39
|
-
addBlockFonts(block, out);
|
|
55
|
+
addBlockFonts(block, out, vertical);
|
|
40
56
|
}
|
|
41
57
|
// Floated resources live on their page's float band, not in a column.
|
|
42
58
|
for (const block of page.floats ?? [])
|
|
43
|
-
addBlockFonts(block, out);
|
|
59
|
+
addBlockFonts(block, out, vertical);
|
|
44
60
|
for (const slot of [page.header, page.footer, page.openerBand])
|
|
45
61
|
addSlotFonts(slot, out);
|
|
62
|
+
// The lettering of the page's comics (its comic page or half of a
|
|
63
|
+
// spread, its strips): design text in their balloons.
|
|
64
|
+
for (const comic of pageComics(page))
|
|
65
|
+
for (const balloon of comic.balloons)
|
|
66
|
+
addSlotFonts({ blocks: balloon.text }, out);
|
|
46
67
|
}
|
|
47
68
|
return out;
|
|
48
69
|
}
|
|
49
|
-
function addBlockFonts(block, out) {
|
|
70
|
+
function addBlockFonts(block, out, vertical) {
|
|
50
71
|
if (block.hidden)
|
|
51
72
|
return;
|
|
52
73
|
// Design overlays (advanced heading designs, callout frames) replace the
|
|
@@ -98,16 +119,16 @@ function addBlockFonts(block, out) {
|
|
|
98
119
|
bold: block.boldFontString ?? block.fontString,
|
|
99
120
|
italic: block.italicFontString ?? block.fontString,
|
|
100
121
|
boldItalic: block.boldItalicFontString ?? block.boldFontString ?? block.italicFontString ?? block.fontString,
|
|
101
|
-
}, out);
|
|
122
|
+
}, out, vertical);
|
|
102
123
|
}
|
|
103
124
|
/** The faces a run of lines paints: the base face (spaces, plain lines)
|
|
104
125
|
* once any line sets something, then each text segment's pick. */
|
|
105
|
-
function addLinesFonts(lines, faces, out) {
|
|
126
|
+
function addLinesFonts(lines, faces, out, vertical) {
|
|
106
127
|
for (const line of lines ?? []) {
|
|
107
128
|
const segments = line.segments ?? [];
|
|
108
129
|
if (line.text.length === 0 && segments.length === 0)
|
|
109
130
|
continue;
|
|
110
|
-
add(out, faces.normal, line.text);
|
|
131
|
+
add(out, faces.normal, line.text, vertical);
|
|
111
132
|
for (const seg of segments) {
|
|
112
133
|
if (seg.kind === 'space' || seg.kind === 'math' || seg.kind === 'swatch') {
|
|
113
134
|
if (seg.kind === 'space')
|
|
@@ -146,12 +167,12 @@ function addLinesFonts(lines, faces, out) {
|
|
|
146
167
|
}
|
|
147
168
|
if (!seg.text)
|
|
148
169
|
continue;
|
|
149
|
-
add(out, seg.fontString ?? pickFace(!!seg.bold, !!seg.italic, faces), seg.text);
|
|
170
|
+
add(out, seg.fontString ?? pickFace(!!seg.bold, !!seg.italic, faces), seg.text, vertical);
|
|
150
171
|
// A word set in several styles is shaped whole in each face one of
|
|
151
172
|
// its runs takes (`drawStyledWordPx`).
|
|
152
173
|
for (const run of seg.runs ?? []) {
|
|
153
174
|
if (!!run.bold !== !!seg.bold || !!run.italic !== !!seg.italic)
|
|
154
|
-
add(out, pickFace(!!run.bold, !!run.italic, faces), seg.text);
|
|
175
|
+
add(out, pickFace(!!run.bold, !!run.italic, faces), seg.text, vertical);
|
|
155
176
|
}
|
|
156
177
|
}
|
|
157
178
|
}
|
|
@@ -161,12 +182,14 @@ function addSlotFonts(slot, out) {
|
|
|
161
182
|
if (b.kind !== 'text' || !b.lines.some((l) => l.text.length > 0))
|
|
162
183
|
continue;
|
|
163
184
|
add(out, b.fontString);
|
|
185
|
+
// A block set vertically (a design text, a balloon's columns).
|
|
186
|
+
const vertical = b.vertical ? { region: b.vertical.region, uprightDigits: b.vertical.uprightDigits } : undefined;
|
|
164
187
|
for (const line of b.lines) {
|
|
165
|
-
add(out, b.fontString, line.text);
|
|
188
|
+
add(out, b.fontString, line.text, vertical);
|
|
166
189
|
// Inline-mark runs: bold, italic, a script at the reduced size.
|
|
167
190
|
for (const run of line.runs ?? [])
|
|
168
191
|
if (run.text)
|
|
169
|
-
add(out, run.fontString, run.text);
|
|
192
|
+
add(out, run.fontString, run.text, vertical);
|
|
170
193
|
}
|
|
171
194
|
}
|
|
172
195
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fontHelpers.js","sourceRoot":"","sources":["../../src/pdf-backend/fontHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fontHelpers.js","sourceRoot":"","sources":["../../src/pdf-backend/fontHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { VDTDesignSlot } from 'postext';
|
|
1
|
+
import type { VDTDesignSlot, VDTDesignTextBlock } from 'postext';
|
|
2
2
|
import { type ResourceImageMap } from './renderResourceBlock';
|
|
3
3
|
import { type ArtifactSpec, type StructAttrs, type StructElem } from './tagging';
|
|
4
4
|
/** How an accessible render tags a design slot: its text goes to the
|
|
@@ -23,5 +23,8 @@ import { type PageCtx } from './primitives';
|
|
|
23
23
|
* the page, or counter-clockwise with `reverse`, so that a filled path
|
|
24
24
|
* holding both leaves the inner one empty. A radius of 0 gives no arcs. */
|
|
25
25
|
export declare function roundedRectSvgPath(ctx: PageCtx, xPx: number, yPx: number, wPx: number, hPx: number, radiusPx: number, reverse?: boolean): string;
|
|
26
|
+
/** Paint a design text block (its box, then its lines: horizontal, bidi
|
|
27
|
+
* or vertical), tagged through `mark`. */
|
|
28
|
+
export declare function renderTextBlock(ctx: PageCtx, block: VDTDesignTextBlock, fontCache: FontCache, mark: SlotMark | undefined): void;
|
|
26
29
|
export declare function renderHeaderFooterSlot(ctx: PageCtx, slot: VDTDesignSlot, fontCache: FontCache, images?: ResourceImageMap, mark?: SlotMark): void;
|
|
27
30
|
//# sourceMappingURL=headerFooter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pdf-backend/headerFooter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,
|
|
1
|
+
{"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pdf-backend/headerFooter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAKnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAsC,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAA2B,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAE1G;;;;;;;;;kBASkB;AAClB,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,UAAU,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC;CAC5G;AAQD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,KAAK,OAAO,EAab,MAAM,cAAc,CAAC;AAMtB;;;4EAG4E;AAC5E,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,UAAQ,GACd,MAAM,CAiCR;AAgED;2CAC2C;AAC3C,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,QAAQ,GAAG,SAAS,GACzB,IAAI,CA0DN;AA2DD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE,QAAQ,GACd,IAAI,CAkCN"}
|
|
@@ -104,7 +104,9 @@ function drawRoundedBox(ctx, xPx, yPx, wPx, hPx, style) {
|
|
|
104
104
|
ctx.page.drawSvgPath(path, { ...origin, color, ...opacity(alphaOf(color)) });
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
/** Paint a design text block (its box, then its lines: horizontal, bidi
|
|
108
|
+
* or vertical), tagged through `mark`. */
|
|
109
|
+
export function renderTextBlock(ctx, block, fontCache, mark) {
|
|
108
110
|
if (block.box) {
|
|
109
111
|
if (mark)
|
|
110
112
|
tagArtifact(ctx, mark.artifact);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/pdf-backend/headerFooter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/pdf-backend/headerFooter.ts"],"names":[],"mappings":"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"}
|