@unisim/doc 0.6.0 → 0.8.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/write/pdf.js CHANGED
@@ -26,9 +26,12 @@
26
26
  // * Images, page breaks and a heading level 4, none of which markdown blocks
27
27
  // produced.
28
28
  // ---------------------------------------------------------------------------
29
- import { PdfDocument, rgb, widthOfText } from '../pdfcore.js';
29
+ import { PdfDocument, rgb, unspellable, widthOfText } from '../pdfcore.js';
30
+ import { readTrueType } from '../truetype.js';
30
31
  import { MONO, SANS, SERIF } from '../metrics.js';
31
32
  import { imageToJpeg } from '../image.js';
33
+ import { clustersOf, mirrorOf, paragraphLevel, reorderLine, resolveLevels, visualOrder } from '../bidi.js';
34
+ import { runsToText } from '../model.js';
32
35
  // ── Palette ──────────────────────────────────────────────────────────────────
33
36
  // The suite's own, matching Universal PDF's markdown export so two documents
34
37
  // converted by two apps in the suite do not look like they came from different
@@ -75,8 +78,39 @@ const MARGINS = {
75
78
  normal: { top: 64, right: 56, bottom: 56, left: 56 },
76
79
  wide: { top: 86, right: 90, bottom: 76, left: 90 },
77
80
  };
78
- // ── Entry point ──────────────────────────────────────────────────────────────
79
- export async function docToPdf(doc, settings) {
81
+ /**
82
+ * Every character in the document, for the "do we need a font at all?" test.
83
+ *
84
+ * Deliberately includes table cells and list items. The first cut of this only
85
+ * walked `'runs' in block`, which is every block EXCEPT the two that a
86
+ * translated document is most likely to put another alphabet in.
87
+ */
88
+ function allText(doc) {
89
+ const parts = [];
90
+ for (const block of doc.blocks) {
91
+ if ('runs' in block)
92
+ parts.push(runsToText(block.runs));
93
+ else if (block.kind === 'code')
94
+ parts.push(block.text);
95
+ else if (block.kind === 'list')
96
+ for (const item of block.items)
97
+ parts.push(runsToText(item.runs));
98
+ else if (block.kind === 'table') {
99
+ if (block.header)
100
+ for (const cell of block.header)
101
+ parts.push(runsToText(cell));
102
+ for (const row of block.rows)
103
+ for (const cell of row)
104
+ parts.push(runsToText(cell));
105
+ }
106
+ }
107
+ if (doc.title)
108
+ parts.push(doc.title);
109
+ if (doc.author)
110
+ parts.push(doc.author);
111
+ return parts.join('\n');
112
+ }
113
+ export async function docToPdf(doc, settings, loadFallbackFont) {
80
114
  // Images are decoded BEFORE anything is laid out, so the renderer itself
81
115
  // stays synchronous. A renderer that awaits mid-paragraph has to make its
82
116
  // page cursor re-entrant, and nothing about drawing a picture needs that.
@@ -96,7 +130,21 @@ export async function docToPdf(doc, settings) {
96
130
  images.set(block.file, null);
97
131
  }
98
132
  }
99
- const renderer = new Renderer(settings, images);
133
+ // The font, if this document needs one and the caller can supply one. Every
134
+ // failure here is survivable and none of them may take the document with it:
135
+ // the result is the '?' behaviour that shipped for months.
136
+ let embedded;
137
+ if (loadFallbackFont && unspellable(allText(doc)).size) {
138
+ try {
139
+ const bytes = await loadFallbackFont();
140
+ if (bytes && bytes.length)
141
+ embedded = readTrueType(bytes);
142
+ }
143
+ catch {
144
+ embedded = undefined;
145
+ }
146
+ }
147
+ const renderer = new Renderer(settings, images, embedded);
100
148
  renderer.renderBlocks(doc.blocks);
101
149
  if (settings.pageNumbers)
102
150
  renderer.drawPageNumbers();
@@ -121,11 +169,25 @@ class Renderer {
121
169
  body;
122
170
  margin;
123
171
  images;
124
- constructor(settings, images) {
172
+ /**
173
+ * The face for everything WinAnsi cannot spell, or undefined.
174
+ *
175
+ * ⚠️ Handed to EVERY `widthOfText` call in this file. Miss one and the
176
+ * line-breaker measures a Cyrillic word as a row of '?' — narrower than the
177
+ * text actually drawn — and the line runs past the right margin. The bug
178
+ * looks like a layout fault and is an argument-list fault.
179
+ */
180
+ embedded;
181
+ constructor(settings, images, embedded) {
125
182
  this.settings = settings;
126
183
  this.body = settings.font === 'serif' ? SERIF : SANS;
127
184
  this.margin = MARGINS[settings.margin];
128
185
  this.images = images;
186
+ this.embedded = embedded;
187
+ // Before `newPage`, and before anything is drawn: a page splits its text
188
+ // between the two fonts as it goes.
189
+ if (embedded)
190
+ this.pdf.embedFallbackFont(embedded);
129
191
  this.newPage();
130
192
  }
131
193
  get base() {
@@ -218,7 +280,7 @@ class Renderer {
218
280
  out.push({
219
281
  run,
220
282
  text: part,
221
- width: widthOfText(font, part, size),
283
+ width: widthOfText(font, part, size, this.embedded),
222
284
  isSpace: /^[ \t]+$/.test(part),
223
285
  isBreak: false,
224
286
  size,
@@ -226,8 +288,83 @@ class Renderer {
226
288
  });
227
289
  }
228
290
  }
291
+ // Bidi levels are resolved over the WHOLE paragraph, here, before wrapping
292
+ // — see the header of `bidi.ts` for why that order is the only right one.
293
+ // A hard break stands in as U+2028, the line separator, which the
294
+ // algorithm treats as whitespace: same paragraph, same direction.
295
+ const para = resolveLevels(out.map((t) => (t.isBreak ? '\u2028' : t.text)).join(''));
296
+ if (para) {
297
+ let at = 0;
298
+ for (const token of out) {
299
+ if (token.isBreak) {
300
+ at += 1;
301
+ continue;
302
+ }
303
+ token.levels = para.levels.slice(at, at + token.text.length);
304
+ token.base = para.base;
305
+ at += token.text.length;
306
+ }
307
+ }
229
308
  return out;
230
309
  }
310
+ /**
311
+ * One wrapped line in the order it is SEEN (bidi rules L1–L4).
312
+ *
313
+ * A line with no right-to-left paragraph behind it comes back as the same
314
+ * array, untouched. Otherwise every token is cut into clusters, the line is
315
+ * reordered, and consecutive clusters from the same token are glued back
316
+ * into one drawable piece — so a Hebrew word stays one `Tj`, reversed, and a
317
+ * word like "שלום," can split into its letters and a comma drawn where the
318
+ * comma belongs.
319
+ */
320
+ visualLine(tokens) {
321
+ if (!tokens.some((t) => t.levels))
322
+ return tokens;
323
+ const base = tokens.find((t) => t.base !== undefined)?.base ?? 0;
324
+ const cells = [];
325
+ tokens.forEach((token, from) => {
326
+ const levels = token.levels ?? new Uint8Array(token.text.length).fill(base);
327
+ for (const c of clustersOf(token.text, levels))
328
+ cells.push({ ...c, from });
329
+ });
330
+ const out = [];
331
+ let piece = '';
332
+ let owner = -1;
333
+ const flush = () => {
334
+ if (owner < 0)
335
+ return;
336
+ const token = tokens[owner];
337
+ out.push({
338
+ ...token,
339
+ text: piece,
340
+ width: piece === token.text ? token.width : widthOfText(token.font, piece, token.size, this.embedded),
341
+ levels: undefined,
342
+ });
343
+ };
344
+ for (const cell of reorderLine(cells, base)) {
345
+ const glyph = cell.level % 2 === 1 ? mirrorOf(cell.text) : cell.text;
346
+ if (cell.from !== owner) {
347
+ flush();
348
+ owner = cell.from;
349
+ piece = '';
350
+ }
351
+ piece += glyph;
352
+ }
353
+ flush();
354
+ return out;
355
+ }
356
+ /**
357
+ * Where a line starts: at `x`, or — in a right-to-left paragraph — pushed
358
+ * right so it ENDS at the column's right edge.
359
+ */
360
+ lineStart(line, x, maxWidth) {
361
+ if (!isRtlLine(line))
362
+ return x;
363
+ let width = 0;
364
+ for (const token of line)
365
+ width += token.width;
366
+ return x + Math.max(0, maxWidth - width);
367
+ }
231
368
  /**
232
369
  * Break a token too wide for the column.
233
370
  *
@@ -239,13 +376,22 @@ class Renderer {
239
376
  return [token];
240
377
  const out = [];
241
378
  let rest = token.text;
379
+ let at = 0;
242
380
  while (rest.length) {
243
381
  let n = 1;
244
- while (n < rest.length && widthOfText(token.font, rest.slice(0, n + 1), token.size) <= maxWidth)
382
+ while (n < rest.length && widthOfText(token.font, rest.slice(0, n + 1), token.size, this.embedded) <= maxWidth)
245
383
  n += 1;
246
384
  const head = rest.slice(0, n);
247
- out.push({ ...token, text: head, width: widthOfText(token.font, head, token.size) });
385
+ out.push({
386
+ ...token,
387
+ text: head,
388
+ width: widthOfText(token.font, head, token.size, this.embedded),
389
+ // Only set when the token had levels, so a Latin token's copy has no
390
+ // `levels: undefined` key it did not have before.
391
+ ...(token.levels ? { levels: token.levels.slice(at, at + n) } : {}),
392
+ });
248
393
  rest = rest.slice(n);
394
+ at += n;
249
395
  }
250
396
  return out;
251
397
  }
@@ -284,7 +430,8 @@ class Renderer {
284
430
  lines.push(line);
285
431
  return lines;
286
432
  }
287
- drawTokens(tokens, baseline, x, color) {
433
+ drawTokens(logical, baseline, x, color) {
434
+ const tokens = this.visualLine(logical);
288
435
  // Plates first, in their own pass: drawn inline they would paint over the
289
436
  // preceding token's glyphs, because a plate is wider than its text.
290
437
  let cursor = x;
@@ -336,7 +483,7 @@ class Renderer {
336
483
  for (const line of lines) {
337
484
  this.ensure(lineHeight);
338
485
  this.y -= lineHeight;
339
- this.drawTokens(line, this.y + (lineHeight - size) * 0.25, x, color);
486
+ this.drawTokens(line, this.y + (lineHeight - size) * 0.25, this.lineStart(line, x, maxWidth), color);
340
487
  }
341
488
  }
342
489
  // ── Blocks ─────────────────────────────────────────────────────────────────
@@ -416,9 +563,13 @@ class Renderer {
416
563
  if (spec.rule) {
417
564
  this.y -= 4;
418
565
  this.ensure(3);
419
- this.page.drawRect({ x: this.margin.left, y: this.y, width: 36, height: 2.5, color: ORANGE });
566
+ // The orange accent sits under the heading's FIRST word, which in a
567
+ // right-to-left heading is at the right-hand end.
568
+ const rtl = paragraphLevel(runsToText(runs)) === 1;
569
+ const accentX = rtl ? this.margin.left + this.contentWidth - 36 : this.margin.left;
570
+ this.page.drawRect({ x: accentX, y: this.y, width: 36, height: 2.5, color: ORANGE });
420
571
  this.page.drawRect({
421
- x: this.margin.left + 36,
572
+ x: rtl ? this.margin.left : this.margin.left + 36,
422
573
  y: this.y + 0.75,
423
574
  width: this.contentWidth - 36,
424
575
  height: 1,
@@ -443,6 +594,9 @@ class Renderer {
443
594
  const x = this.margin.left + indent;
444
595
  const maxWidth = this.contentWidth - indent;
445
596
  const lines = this.wrap(this.tokenize(item.runs, this.base), maxWidth);
597
+ // A right-to-left item is mirrored whole: text against the right margin,
598
+ // its marker in the gutter to the RIGHT of it.
599
+ const rtl = lines.some(isRtlLine);
446
600
  lines.forEach((line, lineIndex) => {
447
601
  this.ensure(lineHeight);
448
602
  this.y -= lineHeight;
@@ -454,18 +608,26 @@ class Renderer {
454
608
  // and the renderer emitting characters it cannot draw put a "some
455
609
  // characters came out as ?" warning on every nested list in the app.
456
610
  // These three are Word's own defaults and all three are in WinAnsi.
457
- const marker = ordered
611
+ const logicalMarker = ordered
458
612
  ? `${counters[level]}.`
459
613
  : level === 0 ? '•' : level === 1 ? 'o' : '-';
614
+ // "1." in a right-to-left list reads ".1" on the page — the full stop
615
+ // follows the number in reading order, which is leftwards.
616
+ const marker = rtl ? visualOrder(logicalMarker, 1) : logicalMarker;
617
+ const markerFont = ordered ? this.body.bold : this.body.regular;
618
+ const markerX = rtl
619
+ ? this.margin.left + this.contentWidth - indent + BULLET_INDENT - (ordered ? 0 : 3)
620
+ - widthOfText(markerFont, marker, this.base, this.embedded)
621
+ : this.margin.left + indent - BULLET_INDENT + (ordered ? 0 : 3);
460
622
  this.page.drawText(marker, {
461
- x: this.margin.left + indent - BULLET_INDENT + (ordered ? 0 : 3),
623
+ x: markerX,
462
624
  y: baseline,
463
625
  size: this.base,
464
- font: ordered ? this.body.bold : this.body.regular,
626
+ font: markerFont,
465
627
  color: ordered ? SLATE_600 : ORANGE,
466
628
  });
467
629
  }
468
- this.drawTokens(line, baseline, x, SLATE_700);
630
+ this.drawTokens(line, baseline, rtl ? this.lineStart(line, this.margin.left, maxWidth) : x, SLATE_700);
469
631
  });
470
632
  if (index < items.length - 1)
471
633
  this.y -= LIST_GAP;
@@ -481,11 +643,14 @@ class Renderer {
481
643
  */
482
644
  renderQuote(runs) {
483
645
  this.y -= PARA_GAP;
484
- const x = this.margin.left + QUOTE_INDENT;
485
646
  const maxWidth = this.contentWidth - QUOTE_INDENT;
486
647
  const lines = this.wrap(this.tokenize(runs, this.base), maxWidth);
487
648
  if (!lines.length)
488
649
  return;
650
+ // A right-to-left quote is mirrored: bar on the right, text against it.
651
+ const rtl = lines.some(isRtlLine);
652
+ const x = rtl ? this.margin.left : this.margin.left + QUOTE_INDENT;
653
+ const barX = rtl ? this.margin.left + this.contentWidth - 3 : this.margin.left;
489
654
  const lineHeight = this.base * BASE_LINE;
490
655
  let segmentPage = this.page;
491
656
  let segmentTop = this.y;
@@ -493,7 +658,7 @@ class Renderer {
493
658
  if (segmentTop - bottom <= 0)
494
659
  return;
495
660
  segmentPage.drawRect({
496
- x: this.margin.left,
661
+ x: barX,
497
662
  y: bottom - 2,
498
663
  width: 3,
499
664
  height: segmentTop - bottom + 4,
@@ -508,7 +673,7 @@ class Renderer {
508
673
  segmentTop = this.y;
509
674
  }
510
675
  this.y -= lineHeight;
511
- this.drawTokens(line, this.y + (lineHeight - this.base) * 0.25, x, SLATE_600);
676
+ this.drawTokens(line, this.y + (lineHeight - this.base) * 0.25, this.lineStart(line, x, maxWidth), SLATE_600);
512
677
  }
513
678
  drawBar(this.y);
514
679
  }
@@ -528,13 +693,13 @@ class Renderer {
528
693
  const wrapped = [];
529
694
  for (const raw of text.replace(/\r\n?/g, '\n').split('\n')) {
530
695
  let rest = raw.replace(/\t/g, ' ');
531
- if (widthOfText(font, rest, size) <= maxWidth) {
696
+ if (widthOfText(font, rest, size, this.embedded) <= maxWidth) {
532
697
  wrapped.push(rest);
533
698
  continue;
534
699
  }
535
700
  while (rest.length) {
536
701
  let n = 1;
537
- while (n < rest.length && widthOfText(font, rest.slice(0, n + 1), size) <= maxWidth)
702
+ while (n < rest.length && widthOfText(font, rest.slice(0, n + 1), size, this.embedded) <= maxWidth)
538
703
  n += 1;
539
704
  wrapped.push(rest.slice(0, n));
540
705
  rest = rest.slice(n);
@@ -741,7 +906,8 @@ class Renderer {
741
906
  let baseline = this.y - TABLE_PAD_Y;
742
907
  for (const line of cellLines[c]) {
743
908
  baseline -= lineHeight;
744
- this.drawTokens(line, baseline + lineHeight * 0.2, x + TABLE_PAD_X, isHeader ? SLATE_900 : SLATE_700);
909
+ const start = this.lineStart(line, x + TABLE_PAD_X, widths[c] - TABLE_PAD_X * 2);
910
+ this.drawTokens(line, baseline + lineHeight * 0.2, start, isHeader ? SLATE_900 : SLATE_700);
745
911
  }
746
912
  x += widths[c];
747
913
  }
@@ -768,7 +934,7 @@ class Renderer {
768
934
  return;
769
935
  for (let i = 0; i < total; i += 1) {
770
936
  const label = `${i + 1} / ${total}`;
771
- const width = widthOfText(this.body.regular, label, 9);
937
+ const width = widthOfText(this.body.regular, label, 9, this.embedded);
772
938
  this.pages[i].drawText(label, {
773
939
  x: this.pageWidth - this.margin.right - width,
774
940
  y: Math.max(24, this.margin.bottom - 26),
@@ -779,6 +945,10 @@ class Renderer {
779
945
  }
780
946
  }
781
947
  }
948
+ /** True if this line belongs to a right-to-left paragraph. */
949
+ function isRtlLine(line) {
950
+ return line.some((t) => t.base === 1);
951
+ }
782
952
  /**
783
953
  * How big to draw a picture, before the fit-to-column clamp.
784
954
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unisim/doc",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "The suite's document stack: read Word, OpenDocument, RTF, HTML, Markdown, CSV, JSON and text into one model, and write it back out as PDF, text, HTML, Markdown, CSV or JSON. No runtime dependencies.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",