@unisim/doc 0.6.0 → 0.7.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/convert.d.ts +2 -1
- package/dist/convert.d.ts.map +1 -1
- package/dist/convert.js +4 -3
- package/dist/convert.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/pdfcore.d.ts +45 -3
- package/dist/pdfcore.d.ts.map +1 -1
- package/dist/pdfcore.js +300 -32
- package/dist/pdfcore.js.map +1 -1
- package/dist/truetype.d.ts +33 -0
- package/dist/truetype.d.ts.map +1 -0
- package/dist/truetype.js +289 -0
- package/dist/truetype.js.map +1 -0
- package/dist/write/pdf.d.ts +17 -1
- package/dist/write/pdf.d.ts.map +1 -1
- package/dist/write/pdf.js +72 -11
- package/dist/write/pdf.js.map +1 -1
- package/package.json +1 -1
package/dist/pdfcore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdfcore.js","sourceRoot":"","sources":["../src/pdfcore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pdfcore.js","sourceRoot":"","sources":["../src/pdfcore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** A parsed font, in the units a PDF writer wants. */
|
|
2
|
+
export interface EmbeddableFont {
|
|
3
|
+
/** The original file, byte for byte. `/FontFile2` takes it unchanged. */
|
|
4
|
+
bytes: Uint8Array;
|
|
5
|
+
/** From the `name` table, or a safe invention. Used as `/BaseFont`. */
|
|
6
|
+
postScriptName: string;
|
|
7
|
+
numGlyphs: number;
|
|
8
|
+
/** All of these are 1/1000 em, converted from the font's own units. */
|
|
9
|
+
ascent: number;
|
|
10
|
+
descent: number;
|
|
11
|
+
capHeight: number;
|
|
12
|
+
bbox: [number, number, number, number];
|
|
13
|
+
italicAngle: number;
|
|
14
|
+
/** `/Flags` for the descriptor: symbolic vs non-symbolic, serif, italic. */
|
|
15
|
+
flags: number;
|
|
16
|
+
/** The glyph for a code point, or undefined when the font has none. */
|
|
17
|
+
glyphFor(codePoint: number): number | undefined;
|
|
18
|
+
/** A glyph's advance width, in 1/1000 em. */
|
|
19
|
+
advanceOf(glyph: number): number;
|
|
20
|
+
}
|
|
21
|
+
export declare class FontFormatError extends Error {
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Parse a `.ttf`.
|
|
25
|
+
*
|
|
26
|
+
* ⚠️ Rejects `.otf` (CFF outlines, `OTTO`) and both flavours of WOFF. All three
|
|
27
|
+
* are real fonts a person might reasonably hand over, and NONE can go into a
|
|
28
|
+
* `/FontFile2` — that key means "a TrueType font program", and a reader given
|
|
29
|
+
* CFF bytes under it will either draw nothing or refuse the file. Failing here
|
|
30
|
+
* with a sentence is much better than producing a PDF that opens blank.
|
|
31
|
+
*/
|
|
32
|
+
export declare function readTrueType(bytes: Uint8Array): EmbeddableFont;
|
|
33
|
+
//# sourceMappingURL=truetype.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truetype.d.ts","sourceRoot":"","sources":["../src/truetype.ts"],"names":[],"mappings":"AAkCA,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,KAAK,EAAE,UAAU,CAAA;IACjB,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAC/C,6CAA6C;IAC7C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC;AAiBD,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAgG9D"}
|
package/dist/truetype.js
ADDED
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Just enough of a TrueType font to embed one in a PDF.
|
|
3
|
+
//
|
|
4
|
+
// WHY THIS EXISTS
|
|
5
|
+
// ---------------
|
|
6
|
+
// The base-14 fonts every PDF reader already has can spell Latin-1 and the
|
|
7
|
+
// Windows-1252 extras, and nothing else. `pdfcore` gives ASCII stand-ins to the
|
|
8
|
+
// symbols that have a fair one — an arrow, a box-drawing rule, a warning sign —
|
|
9
|
+
// but there is no stand-in for an ALPHABET. Cyrillic, Greek and Hebrew were
|
|
10
|
+
// written as a row of '?' and reported as lost, and the only way to write them
|
|
11
|
+
// is to put a font in the file.
|
|
12
|
+
//
|
|
13
|
+
// WHAT IT DELIBERATELY DOES NOT DO
|
|
14
|
+
// --------------------------------
|
|
15
|
+
// * NO SUBSETTING. Rebuilding `glyf`/`loca`/`cmap`/`hmtx` for a subset is the
|
|
16
|
+
// hard, bug-prone half of a font toolkit, and its payoff is output size on
|
|
17
|
+
// the minority of documents that need a font at all. The whole face is
|
|
18
|
+
// embedded, once, and only into documents that use it.
|
|
19
|
+
// * NO SHAPING. There is no GSUB/GPOS here, so scripts that REQUIRE shaping to
|
|
20
|
+
// be legible — Arabic's joining forms, the Indic scripts — are not made
|
|
21
|
+
// readable by embedding a font and must not be claimed. Cyrillic, Greek and
|
|
22
|
+
// Hebrew need none: they are one code point, one glyph, left to right (and
|
|
23
|
+
// Hebrew's direction is the reader's business, not the encoding's).
|
|
24
|
+
// * NO `post` GLYPH NAMES, NO KERNING. Identity-H addresses glyphs by index,
|
|
25
|
+
// so names are never needed; kerning is a refinement the layout engine
|
|
26
|
+
// above this has never had for the base-14 either.
|
|
27
|
+
//
|
|
28
|
+
// ⚠️ THE UNITS TRAP. A font's own numbers are in `unitsPerEm`, which is 2048 for
|
|
29
|
+
// most TrueType faces and 1000 for most PostScript ones. PDF text space is
|
|
30
|
+
// ALWAYS 1/1000. Everything this module hands out is already converted, so a
|
|
31
|
+
// caller never sees `unitsPerEm` — the one number that would silently scale
|
|
32
|
+
// every advance by 2.048 if it leaked.
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
class Reader {
|
|
35
|
+
bytes;
|
|
36
|
+
view;
|
|
37
|
+
constructor(bytes) {
|
|
38
|
+
this.bytes = bytes;
|
|
39
|
+
this.view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
40
|
+
}
|
|
41
|
+
u8(at) { return this.view.getUint8(at); }
|
|
42
|
+
u16(at) { return this.view.getUint16(at); }
|
|
43
|
+
i16(at) { return this.view.getInt16(at); }
|
|
44
|
+
u32(at) { return this.view.getUint32(at); }
|
|
45
|
+
/** A 16.16 fixed-point number, which is how `post` stores the italic angle. */
|
|
46
|
+
fixed(at) { return this.view.getInt32(at) / 65536; }
|
|
47
|
+
}
|
|
48
|
+
export class FontFormatError extends Error {
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Parse a `.ttf`.
|
|
52
|
+
*
|
|
53
|
+
* ⚠️ Rejects `.otf` (CFF outlines, `OTTO`) and both flavours of WOFF. All three
|
|
54
|
+
* are real fonts a person might reasonably hand over, and NONE can go into a
|
|
55
|
+
* `/FontFile2` — that key means "a TrueType font program", and a reader given
|
|
56
|
+
* CFF bytes under it will either draw nothing or refuse the file. Failing here
|
|
57
|
+
* with a sentence is much better than producing a PDF that opens blank.
|
|
58
|
+
*/
|
|
59
|
+
export function readTrueType(bytes) {
|
|
60
|
+
if (bytes.length < 12)
|
|
61
|
+
throw new FontFormatError('That font file is too short to be a font.');
|
|
62
|
+
const r = new Reader(bytes);
|
|
63
|
+
const tag = r.u32(0);
|
|
64
|
+
if (tag === 0x4f54544f) {
|
|
65
|
+
throw new FontFormatError('That is an OpenType/CFF font (.otf). A PDF needs TrueType outlines (.ttf).');
|
|
66
|
+
}
|
|
67
|
+
if (tag === 0x774f4646 || tag === 0x774f4632) {
|
|
68
|
+
throw new FontFormatError('That is a WOFF web font. Uncompress it to a .ttf first.');
|
|
69
|
+
}
|
|
70
|
+
// 0x00010000 is the ordinary TrueType version; 'true' is Apple's old variant.
|
|
71
|
+
if (tag !== 0x00010000 && tag !== 0x74727565) {
|
|
72
|
+
throw new FontFormatError('That file does not start like a TrueType font.');
|
|
73
|
+
}
|
|
74
|
+
const tables = new Map();
|
|
75
|
+
const count = r.u16(4);
|
|
76
|
+
for (let i = 0; i < count; i += 1) {
|
|
77
|
+
const at = 12 + i * 16;
|
|
78
|
+
const name = String.fromCharCode(r.u8(at), r.u8(at + 1), r.u8(at + 2), r.u8(at + 3));
|
|
79
|
+
tables.set(name, { off: r.u32(at + 8), len: r.u32(at + 12) });
|
|
80
|
+
}
|
|
81
|
+
const need = (name) => {
|
|
82
|
+
const t = tables.get(name);
|
|
83
|
+
if (!t)
|
|
84
|
+
throw new FontFormatError(`That font has no '${name}' table, so it cannot be embedded.`);
|
|
85
|
+
return t;
|
|
86
|
+
};
|
|
87
|
+
const head = need('head').off;
|
|
88
|
+
const unitsPerEm = r.u16(head + 18);
|
|
89
|
+
if (!unitsPerEm)
|
|
90
|
+
throw new FontFormatError('That font declares no units per em.');
|
|
91
|
+
// The conversion every number below goes through, and the reason no caller
|
|
92
|
+
// ever sees `unitsPerEm`.
|
|
93
|
+
const toThousandths = (value) => Math.round((value * 1000) / unitsPerEm);
|
|
94
|
+
const numGlyphs = r.u16(need('maxp').off + 4);
|
|
95
|
+
const hhea = need('hhea').off;
|
|
96
|
+
const numberOfHMetrics = r.u16(hhea + 34);
|
|
97
|
+
const hmtx = need('hmtx').off;
|
|
98
|
+
const advances = new Int32Array(numGlyphs);
|
|
99
|
+
let last = 0;
|
|
100
|
+
for (let g = 0; g < numGlyphs; g += 1) {
|
|
101
|
+
if (g < numberOfHMetrics)
|
|
102
|
+
last = r.u16(hmtx + g * 4);
|
|
103
|
+
advances[g] = toThousandths(last);
|
|
104
|
+
}
|
|
105
|
+
const cmap = readCmap(r, need('cmap').off);
|
|
106
|
+
// OS/2 is optional in the spec and present in practice. Where it is missing,
|
|
107
|
+
// hhea's ascender/descender are the same measurements by another name.
|
|
108
|
+
const os2 = tables.get('OS/2')?.off;
|
|
109
|
+
let capHeight = 0;
|
|
110
|
+
let ascent = toThousandths(r.i16(hhea + 4));
|
|
111
|
+
let descent = toThousandths(r.i16(hhea + 6));
|
|
112
|
+
let italic = false;
|
|
113
|
+
if (os2 !== undefined) {
|
|
114
|
+
const version = r.u16(os2);
|
|
115
|
+
ascent = toThousandths(r.i16(os2 + 68)) || ascent; // sTypoAscender
|
|
116
|
+
descent = toThousandths(r.i16(os2 + 70)) || descent; // sTypoDescender
|
|
117
|
+
italic = (r.u16(os2 + 62) & 1) !== 0; // fsSelection bit 0
|
|
118
|
+
if (version >= 2)
|
|
119
|
+
capHeight = toThousandths(r.i16(os2 + 88));
|
|
120
|
+
}
|
|
121
|
+
// A missing cap height is not worth refusing over — readers use it for
|
|
122
|
+
// small-caps substitution and hinting hints, and 70% of the ascent is the
|
|
123
|
+
// conventional stand-in.
|
|
124
|
+
if (!capHeight)
|
|
125
|
+
capHeight = Math.round(ascent * 0.7);
|
|
126
|
+
const post = tables.get('post')?.off;
|
|
127
|
+
const italicAngle = post !== undefined ? r.fixed(post + 4) : 0;
|
|
128
|
+
// /Flags, per PDF 32000-1 table 123. Bit 3 (value 4) is "symbolic", bit 6
|
|
129
|
+
// (32) "non-symbolic"; they are mutually exclusive and a text face is the
|
|
130
|
+
// second. Bit 1 (1) is fixed-pitch, bit 7 (64) italic.
|
|
131
|
+
let flags = 32;
|
|
132
|
+
if (italic || italicAngle !== 0)
|
|
133
|
+
flags |= 64;
|
|
134
|
+
if (numberOfHMetrics === 1)
|
|
135
|
+
flags |= 1;
|
|
136
|
+
return {
|
|
137
|
+
bytes,
|
|
138
|
+
postScriptName: readPostScriptName(r, tables.get('name')?.off) ?? 'EmbeddedFallback',
|
|
139
|
+
numGlyphs,
|
|
140
|
+
ascent,
|
|
141
|
+
descent,
|
|
142
|
+
capHeight,
|
|
143
|
+
italicAngle,
|
|
144
|
+
bbox: [
|
|
145
|
+
toThousandths(r.i16(head + 36)),
|
|
146
|
+
toThousandths(r.i16(head + 38)),
|
|
147
|
+
toThousandths(r.i16(head + 40)),
|
|
148
|
+
toThousandths(r.i16(head + 42)),
|
|
149
|
+
],
|
|
150
|
+
flags,
|
|
151
|
+
glyphFor: (codePoint) => cmap.get(codePoint),
|
|
152
|
+
advanceOf: (glyph) => (glyph >= 0 && glyph < numGlyphs ? advances[glyph] : 0),
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The character map, as one plain Map.
|
|
157
|
+
*
|
|
158
|
+
* Built eagerly rather than searched per lookup. A face this package would
|
|
159
|
+
* embed has a few thousand mapped code points; the Map costs a few hundred
|
|
160
|
+
* kilobytes of heap once, and the alternative is a binary search through the
|
|
161
|
+
* segment arrays on every character of every line, including the re-measure the
|
|
162
|
+
* line-breaker does when a word does not fit.
|
|
163
|
+
*
|
|
164
|
+
* ⚠️ Subtable preference is (3,10) then (3,1) then (0,·) — Microsoft's UCS-4
|
|
165
|
+
* table first, because a font that has both puts everything above U+FFFF in it
|
|
166
|
+
* and only that one can address them.
|
|
167
|
+
*/
|
|
168
|
+
function readCmap(r, at) {
|
|
169
|
+
const count = r.u16(at + 2);
|
|
170
|
+
let chosen = null;
|
|
171
|
+
let rank = -1;
|
|
172
|
+
for (let i = 0; i < count; i += 1) {
|
|
173
|
+
const entry = at + 4 + i * 8;
|
|
174
|
+
const platform = r.u16(entry);
|
|
175
|
+
const encoding = r.u16(entry + 2);
|
|
176
|
+
const offset = at + r.u32(entry + 4);
|
|
177
|
+
const score = platform === 3 && encoding === 10 ? 3 :
|
|
178
|
+
platform === 3 && encoding === 1 ? 2 :
|
|
179
|
+
platform === 0 ? 1 : 0;
|
|
180
|
+
if (score > rank) {
|
|
181
|
+
rank = score;
|
|
182
|
+
chosen = offset;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const map = new Map();
|
|
186
|
+
if (chosen === null)
|
|
187
|
+
return map;
|
|
188
|
+
const format = r.u16(chosen);
|
|
189
|
+
if (format === 4)
|
|
190
|
+
readCmap4(r, chosen, map);
|
|
191
|
+
else if (format === 12)
|
|
192
|
+
readCmap12(r, chosen, map);
|
|
193
|
+
else if (format === 6)
|
|
194
|
+
readCmap6(r, chosen, map);
|
|
195
|
+
return map;
|
|
196
|
+
}
|
|
197
|
+
/** Format 4: segmented, BMP only. What almost every font uses. */
|
|
198
|
+
function readCmap4(r, at, map) {
|
|
199
|
+
const segments = r.u16(at + 6) / 2;
|
|
200
|
+
const endAt = at + 14;
|
|
201
|
+
const startAt = endAt + segments * 2 + 2;
|
|
202
|
+
const deltaAt = startAt + segments * 2;
|
|
203
|
+
const rangeAt = deltaAt + segments * 2;
|
|
204
|
+
for (let s = 0; s < segments; s += 1) {
|
|
205
|
+
const end = r.u16(endAt + s * 2);
|
|
206
|
+
const start = r.u16(startAt + s * 2);
|
|
207
|
+
const delta = r.i16(deltaAt + s * 2);
|
|
208
|
+
const rangeOffset = r.u16(rangeAt + s * 2);
|
|
209
|
+
// The last segment is the required 0xFFFF terminator, not a character.
|
|
210
|
+
for (let code = start; code <= end && code !== 0xffff; code += 1) {
|
|
211
|
+
let glyph;
|
|
212
|
+
if (rangeOffset === 0) {
|
|
213
|
+
glyph = (code + delta) & 0xffff;
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
// The one genuinely strange piece of the format: `idRangeOffset` is a
|
|
217
|
+
// byte offset from ITS OWN slot, not from the start of the array.
|
|
218
|
+
const g = r.u16(rangeAt + s * 2 + rangeOffset + (code - start) * 2);
|
|
219
|
+
glyph = g === 0 ? 0 : (g + delta) & 0xffff;
|
|
220
|
+
}
|
|
221
|
+
if (glyph)
|
|
222
|
+
map.set(code, glyph);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/** Format 12: flat groups, the whole of Unicode. */
|
|
227
|
+
function readCmap12(r, at, map) {
|
|
228
|
+
const groups = r.u32(at + 12);
|
|
229
|
+
for (let g = 0; g < groups; g += 1) {
|
|
230
|
+
const entry = at + 16 + g * 12;
|
|
231
|
+
const start = r.u32(entry);
|
|
232
|
+
const end = r.u32(entry + 4);
|
|
233
|
+
const firstGlyph = r.u32(entry + 8);
|
|
234
|
+
// A malformed group could otherwise spin for four billion iterations.
|
|
235
|
+
if (end < start || end - start > 0x10ffff)
|
|
236
|
+
continue;
|
|
237
|
+
for (let code = start; code <= end; code += 1)
|
|
238
|
+
map.set(code, firstGlyph + (code - start));
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/** Format 6: one dense range. Rare, and three lines. */
|
|
242
|
+
function readCmap6(r, at, map) {
|
|
243
|
+
const first = r.u16(at + 6);
|
|
244
|
+
const count = r.u16(at + 8);
|
|
245
|
+
for (let i = 0; i < count; i += 1) {
|
|
246
|
+
const glyph = r.u16(at + 10 + i * 2);
|
|
247
|
+
if (glyph)
|
|
248
|
+
map.set(first + i, glyph);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Name ID 6 — the PostScript name — for `/BaseFont`.
|
|
253
|
+
*
|
|
254
|
+
* Both encodings are read because fonts disagree: platform 3 stores UTF-16BE,
|
|
255
|
+
* platform 1 stores single bytes. A name that comes back with a NUL between
|
|
256
|
+
* every letter is the classic symptom of reading one as the other.
|
|
257
|
+
*/
|
|
258
|
+
function readPostScriptName(r, at) {
|
|
259
|
+
if (at === undefined)
|
|
260
|
+
return null;
|
|
261
|
+
const count = r.u16(at + 2);
|
|
262
|
+
const storage = at + r.u16(at + 4);
|
|
263
|
+
let fallback = null;
|
|
264
|
+
for (let i = 0; i < count; i += 1) {
|
|
265
|
+
const entry = at + 6 + i * 12;
|
|
266
|
+
if (r.u16(entry + 6) !== 6)
|
|
267
|
+
continue;
|
|
268
|
+
const platform = r.u16(entry);
|
|
269
|
+
const length = r.u16(entry + 8);
|
|
270
|
+
const offset = storage + r.u16(entry + 10);
|
|
271
|
+
let name = '';
|
|
272
|
+
if (platform === 3) {
|
|
273
|
+
for (let b = 0; b + 1 < length; b += 2)
|
|
274
|
+
name += String.fromCharCode(r.u16(offset + b));
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
for (let b = 0; b < length; b += 1)
|
|
278
|
+
name += String.fromCharCode(r.u8(offset + b));
|
|
279
|
+
}
|
|
280
|
+
// A PostScript name may not contain a space or any PDF delimiter.
|
|
281
|
+
name = name.replace(/[\s()<>[\]{}/%]/g, '');
|
|
282
|
+
if (platform === 3 && name)
|
|
283
|
+
return name;
|
|
284
|
+
if (name && !fallback)
|
|
285
|
+
fallback = name;
|
|
286
|
+
}
|
|
287
|
+
return fallback;
|
|
288
|
+
}
|
|
289
|
+
//# sourceMappingURL=truetype.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truetype.js","sourceRoot":"","sources":["../src/truetype.ts"],"names":[],"mappings":"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"}
|
package/dist/write/pdf.d.ts
CHANGED
|
@@ -6,5 +6,21 @@ export interface PdfResult {
|
|
|
6
6
|
/** Characters no base-14 font can spell, for an honest warning. */
|
|
7
7
|
dropped: string[];
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Where the fallback face comes from.
|
|
11
|
+
*
|
|
12
|
+
* A FUNCTION, and an optional one, because the font is the caller's to supply
|
|
13
|
+
* and the caller's to deliver. This package has no runtime dependencies and
|
|
14
|
+
* ships no font: a 350 KB face compiled into it would be paid for by every app
|
|
15
|
+
* that imports the package and by every document that never needed it. The app
|
|
16
|
+
* decides where the bytes live and whether they are worth fetching.
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ It is called ONLY when the document actually contains something WinAnsi
|
|
19
|
+
* cannot write, so an English document never touches the network. Returning
|
|
20
|
+
* `null` — or throwing, or being offline — is a supported answer: the document
|
|
21
|
+
* comes out exactly as it did before any of this existed, with the unwritable
|
|
22
|
+
* characters as '?' and named in `dropped`.
|
|
23
|
+
*/
|
|
24
|
+
export type FallbackFontLoader = () => Promise<Uint8Array | null>;
|
|
25
|
+
export declare function docToPdf(doc: RichDoc, settings: PdfSettings, loadFallbackFont?: FallbackFontLoader): Promise<PdfResult>;
|
|
10
26
|
//# sourceMappingURL=pdf.d.ts.map
|
package/dist/write/pdf.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAS,OAAO,EAAO,MAAM,aAAa,CAAA;AAOtD,OAAO,KAAK,EAAyB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAqD1E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAID;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;AAyBjE,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,WAAW,EACrB,gBAAgB,CAAC,EAAE,kBAAkB,GACpC,OAAO,CAAC,SAAS,CAAC,CA6CpB"}
|
package/dist/write/pdf.js
CHANGED
|
@@ -26,9 +26,11 @@
|
|
|
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 { runsToText } from '../model.js';
|
|
32
34
|
// ── Palette ──────────────────────────────────────────────────────────────────
|
|
33
35
|
// The suite's own, matching Universal PDF's markdown export so two documents
|
|
34
36
|
// converted by two apps in the suite do not look like they came from different
|
|
@@ -75,8 +77,39 @@ const MARGINS = {
|
|
|
75
77
|
normal: { top: 64, right: 56, bottom: 56, left: 56 },
|
|
76
78
|
wide: { top: 86, right: 90, bottom: 76, left: 90 },
|
|
77
79
|
};
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Every character in the document, for the "do we need a font at all?" test.
|
|
82
|
+
*
|
|
83
|
+
* Deliberately includes table cells and list items. The first cut of this only
|
|
84
|
+
* walked `'runs' in block`, which is every block EXCEPT the two that a
|
|
85
|
+
* translated document is most likely to put another alphabet in.
|
|
86
|
+
*/
|
|
87
|
+
function allText(doc) {
|
|
88
|
+
const parts = [];
|
|
89
|
+
for (const block of doc.blocks) {
|
|
90
|
+
if ('runs' in block)
|
|
91
|
+
parts.push(runsToText(block.runs));
|
|
92
|
+
else if (block.kind === 'code')
|
|
93
|
+
parts.push(block.text);
|
|
94
|
+
else if (block.kind === 'list')
|
|
95
|
+
for (const item of block.items)
|
|
96
|
+
parts.push(runsToText(item.runs));
|
|
97
|
+
else if (block.kind === 'table') {
|
|
98
|
+
if (block.header)
|
|
99
|
+
for (const cell of block.header)
|
|
100
|
+
parts.push(runsToText(cell));
|
|
101
|
+
for (const row of block.rows)
|
|
102
|
+
for (const cell of row)
|
|
103
|
+
parts.push(runsToText(cell));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (doc.title)
|
|
107
|
+
parts.push(doc.title);
|
|
108
|
+
if (doc.author)
|
|
109
|
+
parts.push(doc.author);
|
|
110
|
+
return parts.join('\n');
|
|
111
|
+
}
|
|
112
|
+
export async function docToPdf(doc, settings, loadFallbackFont) {
|
|
80
113
|
// Images are decoded BEFORE anything is laid out, so the renderer itself
|
|
81
114
|
// stays synchronous. A renderer that awaits mid-paragraph has to make its
|
|
82
115
|
// page cursor re-entrant, and nothing about drawing a picture needs that.
|
|
@@ -96,7 +129,21 @@ export async function docToPdf(doc, settings) {
|
|
|
96
129
|
images.set(block.file, null);
|
|
97
130
|
}
|
|
98
131
|
}
|
|
99
|
-
|
|
132
|
+
// The font, if this document needs one and the caller can supply one. Every
|
|
133
|
+
// failure here is survivable and none of them may take the document with it:
|
|
134
|
+
// the result is the '?' behaviour that shipped for months.
|
|
135
|
+
let embedded;
|
|
136
|
+
if (loadFallbackFont && unspellable(allText(doc)).size) {
|
|
137
|
+
try {
|
|
138
|
+
const bytes = await loadFallbackFont();
|
|
139
|
+
if (bytes && bytes.length)
|
|
140
|
+
embedded = readTrueType(bytes);
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
embedded = undefined;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const renderer = new Renderer(settings, images, embedded);
|
|
100
147
|
renderer.renderBlocks(doc.blocks);
|
|
101
148
|
if (settings.pageNumbers)
|
|
102
149
|
renderer.drawPageNumbers();
|
|
@@ -121,11 +168,25 @@ class Renderer {
|
|
|
121
168
|
body;
|
|
122
169
|
margin;
|
|
123
170
|
images;
|
|
124
|
-
|
|
171
|
+
/**
|
|
172
|
+
* The face for everything WinAnsi cannot spell, or undefined.
|
|
173
|
+
*
|
|
174
|
+
* ⚠️ Handed to EVERY `widthOfText` call in this file. Miss one and the
|
|
175
|
+
* line-breaker measures a Cyrillic word as a row of '?' — narrower than the
|
|
176
|
+
* text actually drawn — and the line runs past the right margin. The bug
|
|
177
|
+
* looks like a layout fault and is an argument-list fault.
|
|
178
|
+
*/
|
|
179
|
+
embedded;
|
|
180
|
+
constructor(settings, images, embedded) {
|
|
125
181
|
this.settings = settings;
|
|
126
182
|
this.body = settings.font === 'serif' ? SERIF : SANS;
|
|
127
183
|
this.margin = MARGINS[settings.margin];
|
|
128
184
|
this.images = images;
|
|
185
|
+
this.embedded = embedded;
|
|
186
|
+
// Before `newPage`, and before anything is drawn: a page splits its text
|
|
187
|
+
// between the two fonts as it goes.
|
|
188
|
+
if (embedded)
|
|
189
|
+
this.pdf.embedFallbackFont(embedded);
|
|
129
190
|
this.newPage();
|
|
130
191
|
}
|
|
131
192
|
get base() {
|
|
@@ -218,7 +279,7 @@ class Renderer {
|
|
|
218
279
|
out.push({
|
|
219
280
|
run,
|
|
220
281
|
text: part,
|
|
221
|
-
width: widthOfText(font, part, size),
|
|
282
|
+
width: widthOfText(font, part, size, this.embedded),
|
|
222
283
|
isSpace: /^[ \t]+$/.test(part),
|
|
223
284
|
isBreak: false,
|
|
224
285
|
size,
|
|
@@ -241,10 +302,10 @@ class Renderer {
|
|
|
241
302
|
let rest = token.text;
|
|
242
303
|
while (rest.length) {
|
|
243
304
|
let n = 1;
|
|
244
|
-
while (n < rest.length && widthOfText(token.font, rest.slice(0, n + 1), token.size) <= maxWidth)
|
|
305
|
+
while (n < rest.length && widthOfText(token.font, rest.slice(0, n + 1), token.size, this.embedded) <= maxWidth)
|
|
245
306
|
n += 1;
|
|
246
307
|
const head = rest.slice(0, n);
|
|
247
|
-
out.push({ ...token, text: head, width: widthOfText(token.font, head, token.size) });
|
|
308
|
+
out.push({ ...token, text: head, width: widthOfText(token.font, head, token.size, this.embedded) });
|
|
248
309
|
rest = rest.slice(n);
|
|
249
310
|
}
|
|
250
311
|
return out;
|
|
@@ -528,13 +589,13 @@ class Renderer {
|
|
|
528
589
|
const wrapped = [];
|
|
529
590
|
for (const raw of text.replace(/\r\n?/g, '\n').split('\n')) {
|
|
530
591
|
let rest = raw.replace(/\t/g, ' ');
|
|
531
|
-
if (widthOfText(font, rest, size) <= maxWidth) {
|
|
592
|
+
if (widthOfText(font, rest, size, this.embedded) <= maxWidth) {
|
|
532
593
|
wrapped.push(rest);
|
|
533
594
|
continue;
|
|
534
595
|
}
|
|
535
596
|
while (rest.length) {
|
|
536
597
|
let n = 1;
|
|
537
|
-
while (n < rest.length && widthOfText(font, rest.slice(0, n + 1), size) <= maxWidth)
|
|
598
|
+
while (n < rest.length && widthOfText(font, rest.slice(0, n + 1), size, this.embedded) <= maxWidth)
|
|
538
599
|
n += 1;
|
|
539
600
|
wrapped.push(rest.slice(0, n));
|
|
540
601
|
rest = rest.slice(n);
|
|
@@ -768,7 +829,7 @@ class Renderer {
|
|
|
768
829
|
return;
|
|
769
830
|
for (let i = 0; i < total; i += 1) {
|
|
770
831
|
const label = `${i + 1} / ${total}`;
|
|
771
|
-
const width = widthOfText(this.body.regular, label, 9);
|
|
832
|
+
const width = widthOfText(this.body.regular, label, 9, this.embedded);
|
|
772
833
|
this.pages[i].drawText(label, {
|
|
773
834
|
x: this.pageWidth - this.margin.right - width,
|
|
774
835
|
y: Math.max(24, this.margin.bottom - 26),
|