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.
@@ -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,EAAE,WAAW,EAAE,QAAQ,EAA0B,MAAM,SAAS,CAAC;AAU7E,iFAAiF;AACjF,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAahD;;;;;;;;;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,CAWtF;AAiHD,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
+ {"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
- function add(out, fontString, text = '') {
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":"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"}
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,EAMd,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;AA0LD,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"}
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
- function renderTextBlock(ctx, block, fontCache, mark) {
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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"}