pdf-codec 1.4.2 → 1.6.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.
Files changed (170) hide show
  1. package/README.md +56 -15
  2. package/dist/assets/caladea-bold.cjs +5 -0
  3. package/dist/assets/caladea-bold.d.cts +4 -0
  4. package/dist/assets/caladea-bold.d.ts +4 -0
  5. package/dist/assets/caladea-bold.js +4 -0
  6. package/dist/assets/caladea-bolditalic.cjs +5 -0
  7. package/dist/assets/caladea-bolditalic.d.cts +4 -0
  8. package/dist/assets/caladea-bolditalic.d.ts +4 -0
  9. package/dist/assets/caladea-bolditalic.js +4 -0
  10. package/dist/assets/caladea-italic.cjs +5 -0
  11. package/dist/assets/caladea-italic.d.cts +4 -0
  12. package/dist/assets/caladea-italic.d.ts +4 -0
  13. package/dist/assets/caladea-italic.js +4 -0
  14. package/dist/assets/caladea-regular.cjs +5 -0
  15. package/dist/assets/caladea-regular.d.cts +4 -0
  16. package/dist/assets/caladea-regular.d.ts +4 -0
  17. package/dist/assets/caladea-regular.js +4 -0
  18. package/dist/assets/carlito-bold.cjs +5 -0
  19. package/dist/assets/carlito-bold.d.cts +4 -0
  20. package/dist/assets/carlito-bold.d.ts +4 -0
  21. package/dist/assets/carlito-bold.js +4 -0
  22. package/dist/assets/carlito-bolditalic.cjs +5 -0
  23. package/dist/assets/carlito-bolditalic.d.cts +4 -0
  24. package/dist/assets/carlito-bolditalic.d.ts +4 -0
  25. package/dist/assets/carlito-bolditalic.js +4 -0
  26. package/dist/assets/carlito-italic.cjs +5 -0
  27. package/dist/assets/carlito-italic.d.cts +4 -0
  28. package/dist/assets/carlito-italic.d.ts +4 -0
  29. package/dist/assets/carlito-italic.js +4 -0
  30. package/dist/assets/carlito-regular.cjs +5 -0
  31. package/dist/assets/carlito-regular.d.cts +4 -0
  32. package/dist/assets/carlito-regular.d.ts +4 -0
  33. package/dist/assets/carlito-regular.js +4 -0
  34. package/dist/cff-probe.cjs +133 -0
  35. package/dist/cff-probe.d.cts +10 -0
  36. package/dist/cff-probe.d.ts +10 -0
  37. package/dist/cff-probe.js +132 -0
  38. package/dist/cmap-table.cjs +108 -0
  39. package/dist/cmap-table.d.cts +6 -0
  40. package/dist/cmap-table.d.ts +6 -0
  41. package/dist/cmap-table.js +107 -0
  42. package/dist/content-write.cjs +36 -17
  43. package/dist/content-write.d.cts +9 -2
  44. package/dist/content-write.d.ts +9 -2
  45. package/dist/content-write.js +35 -16
  46. package/dist/crypto/aes.cjs +166 -0
  47. package/dist/crypto/aes.d.cts +6 -0
  48. package/dist/crypto/aes.d.ts +6 -0
  49. package/dist/crypto/aes.js +163 -0
  50. package/dist/crypto/md5.cjs +215 -0
  51. package/dist/crypto/md5.d.cts +4 -0
  52. package/dist/crypto/md5.d.ts +4 -0
  53. package/dist/crypto/md5.js +214 -0
  54. package/dist/crypto/rc4.cjs +29 -0
  55. package/dist/crypto/rc4.d.cts +4 -0
  56. package/dist/crypto/rc4.d.ts +4 -0
  57. package/dist/crypto/rc4.js +28 -0
  58. package/dist/crypto/sha2.cjs +261 -0
  59. package/dist/crypto/sha2.d.cts +6 -0
  60. package/dist/crypto/sha2.d.ts +6 -0
  61. package/dist/crypto/sha2.js +258 -0
  62. package/dist/diagnostics.cjs +7 -0
  63. package/dist/diagnostics.d.cts +4 -1
  64. package/dist/diagnostics.d.ts +4 -1
  65. package/dist/diagnostics.js +7 -1
  66. package/dist/document.cjs +38 -2
  67. package/dist/document.js +38 -2
  68. package/dist/embedded-font-CLedn-mT.d.cts +42 -0
  69. package/dist/embedded-font-CbqkKgBl.d.ts +42 -0
  70. package/dist/embedded-font-write.cjs +92 -0
  71. package/dist/embedded-font-write.d.cts +22 -0
  72. package/dist/embedded-font-write.d.ts +22 -0
  73. package/dist/embedded-font-write.js +90 -0
  74. package/dist/embedded-font.cjs +142 -0
  75. package/dist/embedded-font.d.cts +2 -0
  76. package/dist/embedded-font.d.ts +2 -0
  77. package/dist/embedded-font.js +138 -0
  78. package/dist/encrypt.cjs +264 -0
  79. package/dist/encrypt.d.cts +11 -0
  80. package/dist/encrypt.d.ts +11 -0
  81. package/dist/encrypt.js +263 -0
  82. package/dist/filters.cjs +19 -1
  83. package/dist/filters.js +19 -1
  84. package/dist/font-registry-Cn7P9lAh.d.ts +38 -0
  85. package/dist/font-registry-yby02snZ.d.cts +38 -0
  86. package/dist/font-registry.cjs +152 -0
  87. package/dist/font-registry.d.cts +2 -0
  88. package/dist/font-registry.d.ts +2 -0
  89. package/dist/font-registry.js +150 -0
  90. package/dist/font-substitutes.cjs +13 -0
  91. package/dist/font-substitutes.d.cts +5 -0
  92. package/dist/font-substitutes.d.ts +5 -0
  93. package/dist/font-substitutes.js +12 -0
  94. package/dist/font-tables.cjs +127 -0
  95. package/dist/font-tables.d.cts +43 -0
  96. package/dist/font-tables.d.ts +43 -0
  97. package/dist/font-tables.js +122 -0
  98. package/dist/fonts.cjs +1 -0
  99. package/dist/fonts.d.cts +2 -1
  100. package/dist/fonts.d.ts +2 -1
  101. package/dist/fonts.js +1 -1
  102. package/dist/glyf.cjs +127 -0
  103. package/dist/glyf.d.cts +31 -0
  104. package/dist/glyf.d.ts +31 -0
  105. package/dist/glyf.js +125 -0
  106. package/dist/{math-hmtx.cjs → hmtx-table.cjs} +3 -3
  107. package/dist/{math-hmtx.d.ts → hmtx-table.d.cts} +2 -2
  108. package/dist/{math-hmtx.d.cts → hmtx-table.d.ts} +2 -2
  109. package/dist/{math-hmtx.js → hmtx-table.js} +3 -3
  110. package/dist/image/ccitt.cjs +488 -0
  111. package/dist/image/ccitt.d.cts +17 -0
  112. package/dist/image/ccitt.d.ts +17 -0
  113. package/dist/image/ccitt.js +487 -0
  114. package/dist/images-read.cjs +1 -4
  115. package/dist/images-read.js +2 -5
  116. package/dist/index.cjs +8 -0
  117. package/dist/index.d.cts +7 -4
  118. package/dist/index.d.ts +7 -4
  119. package/dist/index.js +5 -3
  120. package/dist/interpret.cjs +173 -38
  121. package/dist/interpret.d.cts +27 -10
  122. package/dist/interpret.d.ts +27 -10
  123. package/dist/interpret.js +174 -39
  124. package/dist/math-font-write.cjs +3 -32
  125. package/dist/math-font-write.js +2 -31
  126. package/dist/math-font.cjs +7 -5
  127. package/dist/math-font.js +5 -3
  128. package/dist/math-table.d.cts +1 -1
  129. package/dist/math-table.d.ts +1 -1
  130. package/dist/{matrix-B3c2_a2f.d.cts → matrix-BHzJESll.d.cts} +2 -1
  131. package/dist/{matrix-B3c2_a2f.d.ts → matrix-BHzJESll.d.ts} +2 -1
  132. package/dist/matrix.cjs +2 -0
  133. package/dist/matrix.d.cts +2 -2
  134. package/dist/matrix.d.ts +2 -2
  135. package/dist/matrix.js +2 -1
  136. package/dist/measure.cjs +65 -14
  137. package/dist/measure.d.cts +8 -1
  138. package/dist/measure.d.ts +8 -1
  139. package/dist/measure.js +64 -15
  140. package/dist/objects.cjs +4 -0
  141. package/dist/objects.d.cts +2 -1
  142. package/dist/objects.d.ts +2 -1
  143. package/dist/objects.js +4 -1
  144. package/dist/read.cjs +43 -4
  145. package/dist/read.d.cts +1 -1
  146. package/dist/read.d.ts +1 -1
  147. package/dist/read.js +43 -4
  148. package/dist/sfnt-V08bb5ut.d.cts +21 -0
  149. package/dist/sfnt-V08bb5ut.d.ts +21 -0
  150. package/dist/sfnt-subset.cjs +250 -0
  151. package/dist/sfnt-subset.d.cts +11 -0
  152. package/dist/sfnt-subset.d.ts +11 -0
  153. package/dist/sfnt-subset.js +249 -0
  154. package/dist/sfnt.cjs +50 -4
  155. package/dist/sfnt.d.cts +2 -17
  156. package/dist/sfnt.d.ts +2 -17
  157. package/dist/sfnt.js +47 -5
  158. package/dist/tounicode.cjs +34 -0
  159. package/dist/tounicode.d.cts +5 -0
  160. package/dist/tounicode.d.ts +5 -0
  161. package/dist/tounicode.js +33 -0
  162. package/dist/write.cjs +81 -11
  163. package/dist/write.d.cts +6 -0
  164. package/dist/write.d.ts +6 -0
  165. package/dist/write.js +82 -12
  166. package/package.json +1 -1
  167. package/dist/math-cmap.cjs +0 -81
  168. package/dist/math-cmap.d.cts +0 -6
  169. package/dist/math-cmap.d.ts +0 -6
  170. package/dist/math-cmap.js +0 -80
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  > A hand-written, dependency-minimal PDF codec: parses arbitrary real-world PDFs into a structured, positioned-content document and generates new PDFs from one, built on [`document-schema.js`](https://github.com/ExaDev/document-schema.js)'s `LayoutDocument` pivot and [Zod 4](https://zod.dev) codecs.
6
6
 
7
- `pdf-codec` is the PDF-reading-and-writing half of [`documents.js`](https://github.com/ExaDev/documents.js), extracted into its own package: every layer of the PDF format — the object model, the cross-reference table, the content-stream operators, standard-font metrics, the parser's cross-reference/object-stream resolution and content-stream interpreter — is hand-written against the ISO 32000-1 specification, with no external PDF library (`pdf-lib`, `pdfjs-dist`, `mupdf`, or any other) as a dependency. The one exception is [`fflate`](https://github.com/101arrowz/fflate) for raw DEFLATE/zlib compression underneath PDF's `FlateDecode` filter and PNG's `IDAT` chunks. The OpenType/CFF font parsing this package's own writer uses to embed a real math font (`sfnt.ts`/`math-*.ts`) is hand-written too, for the same "no supply-chain surface beyond what's already declared" reason — the one bundled binary asset is the vendored STIX Two Math font itself (OFL-1.1, see [Fidelity](#fidelity) and `assets/fonts/NOTICE.md`), not a library.
7
+ `pdf-codec` is the PDF-reading-and-writing half of [`documents.js`](https://github.com/ExaDev/documents.js), extracted into its own package: every layer of the PDF format — the object model, the cross-reference table, the content-stream operators, standard-font metrics, the parser's cross-reference/object-stream resolution and content-stream interpreter — is hand-written against the ISO 32000-1 specification, with no external PDF library (`pdf-lib`, `pdfjs-dist`, `mupdf`, or any other) as a dependency. The one exception is [`fflate`](https://github.com/101arrowz/fflate) for raw DEFLATE/zlib compression underneath PDF's `FlateDecode` filter and PNG's `IDAT` chunks. The OpenType/CFF font parsing this package's own writer uses to embed a real math font (`sfnt.ts`/`math-*.ts`) is hand-written too, as are the cryptographic primitives its reader needs to open an encrypted PDF (`crypto/` — MD5, SHA-2, RC4, AES), for the same "no supply-chain surface beyond what's already declared" reason — and, for the crypto specifically, because `node:crypto` would end this package's platform neutrality and WebCrypto offers neither MD5 nor RC4 nor a synchronous API — the one bundled binary asset is the vendored STIX Two Math font itself (OFL-1.1, see [Fidelity](#fidelity) and `assets/fonts/NOTICE.md`), not a library.
8
8
 
9
9
  That is a genuinely large undertaking — this codec is comparable in size to a small application in its own right — and it comes with an honest trade-off spelled out in [Fidelity](#fidelity) below: this is not, and does not attempt to be, as robust against adversarial or badly malformed real-world PDFs as a library with 15+ years of hardening. What it buys instead is a dependency-free, fully auditable PDF implementation with no supply-chain surface beyond `document-schema.js`, `fflate`, and `zod`.
10
10
 
@@ -70,6 +70,8 @@ const layout = readPdf(pdfBytes); // -> LayoutDocument: pages of positioned text
70
70
  const bytes = writePdf(layout);
71
71
  ```
72
72
 
73
+ An encrypted PDF that opens without a password decrypts transparently on the way through — there is no extra option, no password parameter, and no separate call; one that genuinely needs a user password throws `PdfPasswordRequiredError` instead. See [Gotchas](#gotchas-and-quirks) for exactly which encryption is supported and why no password can be supplied.
74
+
73
75
  Both accept an optional `signal` (`AbortSignal`); `readPdf` additionally takes a `sink` (a `PdfDiagnosticSink`, called once per recoverable parse diagnostic — see the three-tier failure policy under [Conventions](#conventions)), and `writePdf` an `onSubstitution` callback, called once per character not representable in a standard-14 font (see [Fidelity](#fidelity)).
74
76
 
75
77
  The same round trip is also available as a schema-validated [`z.codec()`](https://zod.dev) pair:
@@ -100,7 +102,26 @@ Because `MathBox` and its own constituent types (`MathGlyphRun`/`MathRule`/`Math
100
102
 
101
103
  Building a layout engine on top of this codec (this is what `documents.js`'s own `src/layout/` does for docx/pptx/odt/odp/ods/odg): `TextMeasurer`/`createStandardFontMeasurer` and `wrapRunsToWidth` answer "how wide does this text render, and where does this line break" against the standard-14 metrics; `resolveStandardFont`/`STANDARD_METRICS` map an arbitrary requested family/weight/style onto one of the 14 standard PDF faces and that face's own AFM-derived metrics; `rotatePointAboutCenter` handles shape-rotation placement math. None of these do any PDF I/O themselves — they're the same primitives `writePdf`/`readPdf` use internally, exported so a caller assembling its own `LayoutDocument` (from any source format) can measure and wrap text identically to how this package will actually render it.
102
104
 
103
- The full `src/bytes/`/`src/image/` surface is exported too `crc32`, `deflate`/`inflate`/`inflateTolerant`, `ByteReader`/`ByteWriter`/`concatBytes`, `readJpegInfo`, `decodePng`/`encodePng`, `unfilterScanlines`/`filterScanlines` generic byte- and image-container primitives with zero PDF-specific knowledge of their own, useful independently of anything PDF-related.
105
+ Embedding real fonts instead of substituting standard-14 faces, via a `FontRegistry` (see `src/font-registry.ts` for the full source-document caller-supplied vendored-substitute standard-14 resolution order). Pass the same registry to both the measurer and `writePdf`, so what was measured and what gets drawn come from one font:
106
+
107
+ ```ts
108
+ import { createFontMeasurer, createFontRegistry, wrapRunsToWidth, writePdf } from 'pdf-codec';
109
+
110
+ // With no `fonts`/`sourceFonts` of its own, the registry still maps Calibri onto the vendored,
111
+ // metric-compatible Carlito face this package embeds (and Cambria onto Caladea).
112
+ const fonts = createFontRegistry();
113
+
114
+ const measurer = createFontMeasurer(fonts);
115
+ const lines = wrapRunsToWidth(runs, measurer, columnWidthPt);
116
+ // ... build a LayoutDocument from `lines` ...
117
+ const pdfBytes = writePdf(doc, { fonts, onMissingGlyph: (m) => console.warn('no glyph for', m.from) });
118
+ ```
119
+
120
+ Every text run whose family resolves to a real face is subsetted to the glyphs the document actually uses and embedded as its own `/Type0` + `/CIDFontType2` + `/FontFile2` group; every run that resolves to a standard-14 face is written exactly as it always was. **Omit `fonts` and nothing changes at all** — no font program is embedded, every family resolves through `resolveStandardFont`, and the output is byte-identical to a build with no embedded-font support (asserted against golden digests in `src/write-embedded-font.test.ts`).
121
+
122
+ `createFontMeasurer`'s second argument carries `verticalMetrics`, a `VerticalMetricPolicy` of `'hhea'` (the default) / `'os2Typo'` / `'os2Win'`, deciding which of the three competing ascent/descent/line-gap sets an sfnt declares should drive line height for an embedded face. It is an explicit, overridable option rather than a baked-in rule because no specification settles the question — see `src/measure.ts` for what each policy reads and why `'hhea'` is the default.
123
+
124
+ The full `src/bytes/`/`src/image/` surface is exported too — `crc32`, `deflate`/`inflate`/`inflateTolerant`, `ByteReader`/`ByteWriter`/`concatBytes`, `readJpegInfo`, `decodePng`/`encodePng`, `unfilterScanlines`/`filterScanlines`, `decodeCcittFax` — generic byte- and image-container primitives with zero PDF-specific knowledge of their own, useful independently of anything PDF-related.
104
125
 
105
126
  Every module under `src/` is also deep-importable directly by its own subpath, for a caller that wants one internal module (not part of the curated barrel above) without pulling in the rest:
106
127
 
@@ -116,16 +137,24 @@ This works via package.json's `"./*"` wildcard export, resolving any `pdf-codec/
116
137
  The package is layered from generic primitives outward to the codec itself:
117
138
 
118
139
  - **`src/math-types.ts`** and **`src/formula.ts`** — a local, structurally-compatible mirror of `documents.js`'s own `src/mathml/layout-types.ts` + `src/mathml/metrics.ts` (`MathColor`/`MathGlyphRun`/`MathRule`/`MathStroke`/`MathLayoutItem`/`MathBox`/`MathGlyphMetrics`/`MathFontMetrics`, including the latter's own `glyph()` method signature) and `src/model/formula.ts`'s `PositionedFormula`. Deliberately not imported from `documents.js` — that would be a circular dependency once `documents.js` depends on this package for `readPdf`/`writePdf` — the same "mirror the shape, don't import the package" trick this whole family already uses elsewhere (`odf.js`'s own `MathMlNode` mirrors `ooxml.js`'s `XmlNode` rather than importing it). Because every one of these types is plain data (only `MathFontMetrics` carries a method), a real `MathBox` value `documents.js`'s own MathML layout engine produces passes into `writePdf({ formulas })` with zero cast, zero wrapper, and zero transformation.
119
- - **`src/bytes/`** and **`src/image/`** — generic byte and image-container primitives with zero PDF-specific knowledge: a chunked byte writer, a backtracking byte reader, CRC32, and a hand-written PNG decoder/encoder (palette/gray/RGB/alpha, multi-`IDAT` files, all five scanline filters) plus JPEG marker scanning for dimensions only — JPEG's compressed bytes pass through completely unchanged in both directions. `src/bytes/flate.ts` is the only file that imports `fflate`.
140
+ - **`src/bytes/`** and **`src/image/`** — generic byte and image-container primitives with zero PDF-specific knowledge: a chunked byte writer, a backtracking byte reader, CRC32, and a hand-written PNG decoder/encoder (palette/gray/RGB/alpha, multi-`IDAT` files, all five scanline filters) plus JPEG marker scanning for dimensions only — JPEG's compressed bytes pass through completely unchanged in both directions — and a hand-written CCITT Group 3/Group 4 fax decoder (ITU-T T.4/T.6), which knows nothing of PDF: `src/filters.ts` reads the `/CCITTFaxDecode` parameter dictionary and hands it plain options, and the identical bitstreams are what TIFF's own Group3Options/Group4Options describe. `src/bytes/flate.ts` is the only file that imports `fflate`.
120
141
  - **`src/util/`** — two small, independently-duplicated copies of logic that lives elsewhere in the family for a reason narrow enough not to warrant a shared dependency: `base64.ts` (isomorphic base64 ⇄ `Uint8Array`, a verbatim copy of `odf.js`'s own `src/util/base64.ts`, replacing a dependency this codec used to have on `ooxml.js` purely for this one helper pair) and `abort.ts` (`throwIfAborted`, a four-line signal-check helper called at every page loop boundary in `write.ts`/`read.ts` — there is no `await` point in this package's synchronous reader/writer pipeline for cancellation to hook into implicitly, so every long-running loop checks explicitly instead; a duplicate of `documents.js`'s own `src/ports/abort.ts`, which stays there since other, non-PDF consumers still depend on it in that repository).
121
- - **The codec itself, importing only `math-types`/`formula`/`bytes`/`image` (no OOXML or ODF knowledge at all):**
122
- - **Write**: `objects.ts` (the `PdfObject` discriminated union), `afm-widths.ts`/`encoding.ts`/`winansi.ts`/`fonts.ts` (standard-14 metrics, WinAnsi encoding, family resolution), `measure.ts`/`text-layout.ts` (greedy line-wrapping), `matrix.ts`, `content-write.ts` (`LayoutItem[]` content-stream operators), `write.ts` (the full object graph, classic cross-reference table, trailer, and — when `WritePdfOptions.formulas` is non-empty — one embedded math composite font group, allocated once and shared across pages).
123
- - **Embedded math font**: `sfnt.ts` (a generic sfnt table-directory reader), `math-cmap.ts`/`math-hmtx.ts`/`math-table.ts` (Unicodeglyph ID, per-glyph advance widths, and the OpenType `MATH` table's constants/glyph-info subtables), `math-font.ts` (parses and caches the vendored STIX Two Math font once per process, exposing a size-specific `MathFontMetrics` implementation), `math-font-write.ts` (builds the `/Type0`/`/CIDFontType0`/`/FontDescriptor`/`/FontFile3`/ToUnicode object group), `math-content-write.ts` (a `PositionedFormula[]` → PDF content-stream bytes, Identity-H 2-byte CIDs for text-showing, `re`/`m`/`l` operators for rules and the radical hook). See [Fidelity](#fidelity) for the CFF-full-embed (not glyph-subsetted) simplification this makes.
124
- - **Read**: `lexer.ts`/`parse.ts` (byte tokenizer and tokens `PdfObject`), `filters.ts`/`predictors.ts` (Flate/LZW/ASCII85/ASCIIHex/RunLength, TIFF/PNG predictors), `xref.ts`/`document.ts` (classic and cross-reference-stream resolution, object streams, `/Prev` chains, linear-scan recovery, the page tree with attribute inheritance), `content-read.ts`/`interpret.ts` (the content-stream tokenizer and graphics/text state machine, including form-XObject recursion and general vector-path tracking see [Gotchas](#gotchas-and-quirks)), `cmap.ts`/`font-style.ts`/`font-read.ts` (`/ToUnicode` CMaps, font-dictionary resolution), `images-read.ts` (Image XObjects PNG/JPEG bytes), `read.ts` (`readPdf`, assembling all of the above into a `LayoutDocument`).
142
+ - **`src/crypto/`** MD5, SHA-256/384/512, RC4, and AES-CBC, hand-written with zero local imports, exactly like `src/bytes/`. Not a preference: ISO 32000-1's own key-derivation algorithms name MD5 and RC4 directly, neither of which any platform crypto API this package could portably reach still offers, and `crypto.subtle` is asynchronous where this codec's read path is synchronous end to end. Reaching for `node:crypto` would put a Node builtin inside a `src/` tree that deliberately has none and is built with `platform: 'neutral'`, breaking the browser bundle its downstream consumer depends on. Each module cites the specification it implements (RFC 1321, FIPS 180-4, FIPS 197) and is tested against that specification's own published conformance vectors. MD5 and RC4 are cryptographically broken and are here solely to *read* files that already exist and whose format mandates them.
143
+ - **The codec itself, importing only `math-types`/`formula`/`bytes`/`image`/`crypto` (no OOXML or ODF knowledge at all):**
144
+ - **Write**: `objects.ts` (the `PdfObject` discriminated union), `afm-widths.ts`/`encoding.ts`/`winansi.ts`/`fonts.ts` (standard-14 metrics, WinAnsi encoding, family resolution), `font-registry.ts` (the source-document caller-supplied vendored-substitute standard-14 resolution port sitting in front of `resolveStandardFont`, plus `resolveFaceWithRegistry`, the one step both the measurer and the writer resolve through so they can never disagree about which face a `LayoutFont` means), `measure.ts`/`text-layout.ts` (greedy line-wrapping, measured against either a standard-14 face's AFM widths plus a per-family correction or a resolved face's own real `hmtx` advances never both, see [Fidelity](#fidelity)), `matrix.ts`, `content-write.ts` (`LayoutItem[]` → content-stream operators, with text branching on whether its font resolved to a standard-14 face shown as a WinAnsi byte string or an embedded one shown as Identity-H 2-byte CIDs), `write.ts` (the full object graph, classic cross-reference table, trailer, and — when `WritePdfOptions.formulas` is non-empty one embedded math composite font group, plus one embedded text font group per face `WritePdfOptions.fonts` resolved, each allocated once in a fixed sorted order and shared across pages).
145
+ - **sfnt font tables**: `sfnt.ts` (a bounds-checked sfnt table-directory reader, big-endian primitive readers, and the `hasBytes` range check every table parser below pre-checks with), `cmap-table.ts` (Unicode → glyph ID, formats 4/12/6), `hmtx-table.ts` (per-glyph advance widths), `font-tables.ts` (`head`/`maxp`/`OS/2`/`post`/`name` design grid, glyph count, vertical metrics and style bits, italic angle and underline geometry, PostScript and family names), `glyf.ts` (the `loca` offset index, per-glyph headers, and a composite glyph's own component records a composite refers to its base letter and combining marks by glyph ID, and those references nest, so subsetting one safely means taking the transitive closure over this walk), and `math-table.ts` (the OpenType `MATH` table's constants/glyph-info subtables). Every one of these parsers degrades to `undefined` on a missing or truncated table rather than throwing: the vendored fonts are trusted, but a font extracted from an arbitrary source document is not.
146
+ - **sfnt subsetting**: `sfnt-subset.ts` (a TrueType-outline glyph subsetter: Unicode code points → glyph IDs through `cmap-table.ts`, the transitive closure over `glyf.ts`'s composite-component walk, then a rebuilt sfnt container carrying only those glyphs' outlines). **Glyph IDs are preserved, never renumbered** — an unused ID below the highest used one survives as an empty `loca` entry rather than being squeezed out — which keeps every composite's own component references correct inside bytes copied verbatim, keeps a caller's already-resolved glyph IDs valid against the subset, and makes CID == GID trivially true for the embedded program (a `/CIDFontType2` then needs only `/CIDToGIDMap /Identity`). The output rebuilds `head`/`hhea`/`maxp`/`loca`/`glyf`/`hmtx` (with `indexToLocFormat` forced long, one always-legal code path), copies the hinting programs (`cvt `/`fpgm`/`prep`) verbatim, stubs `post` as a version 3.0 "no glyph names" header, and omits `cmap`/`name`/`OS/2`/`GSUB`/`GPOS`/`kern` — none of which an embedded `CIDFontType2` program is read through (ISO 32000-1 9.9). The honest cost of preserving IDs: `loca` and `hmtx` stay proportional to the highest used glyph ID rather than to the number of glyphs kept, so for a document touching one glyph near the end of a large font's glyph order, most of the (already much smaller) output is those two index tables rather than outline data. Applies to `glyf`-flavoured fonts only; a CFF-flavoured one returns `undefined`, the same scope boundary [Fidelity](#fidelity) states for the embedded math font.
147
+ - **Embedded math font**: `math-font.ts` (parses and caches the vendored STIX Two Math font once per process, exposing a size-specific `MathFontMetrics` implementation), `math-font-write.ts` (builds the `/Type0`/`/CIDFontType0`/`/FontDescriptor`/`/FontFile3`/ToUnicode object group), `math-content-write.ts` (a `PositionedFormula[]` → PDF content-stream bytes, Identity-H 2-byte CIDs for text-showing, `re`/`m`/`l` operators for rules and the radical hook). See [Fidelity](#fidelity) for the CFF-full-embed (not glyph-subsetted) simplification this makes.
148
+ - **Embedded text faces**: `embedded-font.ts` (parses and caches one TrueType-outline face's `cmap`/`hmtx`/`hhea`/`head`/`OS/2`/`post`/`name` metrics, and `encodeForShowEmbedded`, the single code path both measurement and text-showing go through — the same reason `winansi.ts`'s `encodeForShow` exists, since encoding and measuring separately lets the two disagree about which characters resolved to which glyph and silently desyncs a computed wrap point from the drawn line). Every geometry field it exposes is converted into PDF's 1000-units-per-em glyph space (ISO 32000-1 9.8.1), which a font's own design grid frequently is not: STIX Two Math is drawn on a 1000-unit em so that factor is an identity for the math font, but Carlito is drawn on a 2048-unit em, where getting the conversion wrong is silent rather than loud — the font simply renders with roughly twice its intended metrics and nothing anywhere reports an error. The serif flag a `/FontDescriptor` needs is read off the face's own PANOSE classification rather than guessed from its family name. `embedded-font-write.ts` builds the `/Type0`/`/CIDFontType2`/`/FontDescriptor`/`/FontFile2`/ToUnicode object group, with `/CIDToGIDMap /Identity` written explicitly (stating outright the CID == GID invariant `sfnt-subset.ts`'s GID-preserving design guarantees) and `/Length1` set to the **uncompressed** subset length — the single most commonly mis-set key in TrueType embedding, since the obvious-looking value, the stream's own `/Length`, is silently accepted by lenient readers and rejected by strict ones. Its subset tag (`ABCDEF+Carlito-Regular`, six uppercase letters per 9.6.4) is a CRC32 over the face's PostScript name and its exact ascending glyph-ID list, so identical input yields byte-identical output and two subsets of one face carrying different glyphs can never be mistaken for one another.
149
+ - **ToUnicode CMaps**: `tounicode.ts`, shared by both embedded-font writers above rather than duplicated in each — a character code → Unicode code point mapping written as a bfchar CMap (9.10.3), with supplementary-plane code points encoded as genuine UTF-16BE surrogate pairs and entries emitted in blocks of at most 100, the limit the CMap syntax sets and one a subsetted text face routinely exceeds.
150
+ - **CFF probing**: `cff-probe.ts` reads a bare CFF program's header, Name INDEX, and just enough of its Top DICT to detect the `ROS` operator (the escaped `12 30` whose presence *is* the definition of a CID-keyed font, CFF 1.0 Appendix H). It exists to make the embedding path **refuse** such a font rather than mis-embed it: a CID-keyed CFF carries its own charset mapping CIDs onto glyph indices, so CID == GID does not hold, and showing text through Identity-H against one anyway produces no error anywhere — the file is structurally valid, every reader accepts it, and the page simply renders the wrong glyphs. Not wired into any write path yet; it is the guard a later source-embedded-font phase needs. It correctly reports the vendored STIX Two Math font's own `CFF ` table as *not* CID-keyed, which is what makes `math-font-write.ts`'s existing embedding sound.
151
+ - **Read**: `lexer.ts`/`parse.ts` (byte tokenizer and tokens → `PdfObject`), `filters.ts`/`predictors.ts` (Flate/LZW/ASCII85/ASCIIHex/RunLength/CCITTFax, TIFF/PNG predictors), `xref.ts`/`document.ts` (classic and cross-reference-stream resolution, object streams, `/Prev` chains, linear-scan recovery, the page tree with attribute inheritance), `encrypt.ts` (the standard security handler: `/Encrypt` parsing, empty-user-password key derivation and `/U` verification, per-object keys, and the string/stream decryption `document.ts` applies transparently as each indirect object is fetched — see [Gotchas](#gotchas-and-quirks)), `content-read.ts`/`interpret.ts` (the content-stream tokenizer and graphics/text state machine, including form-XObject recursion and general vector-path tracking — see [Gotchas](#gotchas-and-quirks)), `cmap.ts`/`font-style.ts`/`font-read.ts` (`/ToUnicode` CMaps, font-dictionary resolution), `images-read.ts` (Image XObjects → PNG/JPEG bytes), `read.ts` (`readPdf`, assembling all of the above into a `LayoutDocument`).
125
152
  - `codec.ts` — `pdfCodec`, a `z.codec()` pair over `readPdf`/`writePdf`, plus a standalone, ~20-line local copy of just the `%PDF-` header check `PdfBytesSchema` needs (`documents.js`'s own equivalent schema lives in a file that also carries unrelated docx/pptx/odt schemas that have no place here).
126
- - **`src/test-support/pdf.ts`** — hand-built PDF fixtures for the parser's own tests (a classic-xref file, an xref-stream-with-object-streams file, a broken-`startxref` file needing linear-scan recovery, an incremental update, an encrypted trailer, and more), built by literal byte/string concatenation and deliberately importing NOTHING from this package's own writer — a fixture built by calling `writePdf` would let a writer bug hide from the corresponding reader test and vice versa. Not part of the public surface; test-only.
153
+ - **`src/test-support/pdf.ts`** — hand-built PDF fixtures for the parser's own tests (a classic-xref file, an xref-stream-with-object-streams file, a broken-`startxref` file needing linear-scan recovery, an incremental update, a trailer naming a security handler no password could open, and more), built by literal byte/string concatenation and deliberately importing NOTHING from this package's own writer — a fixture built by calling `writePdf` would let a writer bug hide from the corresponding reader test and vice versa. Not part of the public surface; test-only.
154
+ - **`src/test-support/encrypted-pdfs.ts`** — the same independence principle applied to encryption: real PDFs encrypted by [qpdf](https://qpdf.sourceforge.io/), embedded as base64 and regenerated by `node scripts/generate-encrypted-pdf-fixtures.mjs`. One fixture per supported cipher, plus password-protected counterparts and an `/EncryptMetadata false` variant. Encrypted by a mature outside implementation on purpose — a fixture this package encrypted itself would let a bug in key derivation or in a cipher cancel out between the write and read halves and pass anyway.
155
+ - **`src/test-support/fonts.ts`** — the real vendored Carlito and Caladea faces as raw sfnt bytes (inflated from the embedded `src/assets/` modules, so the suite stays filesystem-free), for the `sfnt.ts`/`cmap-table.ts`/`font-tables.ts`/`glyf.ts`/`sfnt-subset.ts`/`embedded-font.ts` tests. Those tests assert values read out of the `.ttf` files by a standalone script with a bare `DataView`, not by this package's own parsers, so they are external cross-checks rather than a parser's output compared against itself. `sfnt-subset.test.ts` applies the same principle to the container it writes: a real face is subsetted down to one short string's glyphs, read back through this package's own parsers for outline/advance identity, and its table directory, alignment, and every checksum (including `head`'s `checkSumAdjustment`) verified by a second reader written with a bare `DataView` rather than by `parseSfnt`. The two families are also a deliberately matched pair for the glyph-space conversion above: Carlito's 2048-unit em makes every conversion a real scaling and Caladea's 1000-unit em makes it the identity, so a bug that skipped the scale would pass every Caladea assertion and fail every Carlito one. `embedded-font-write.test.ts` closes the loop end to end — a real face, a real subset, the full object group, a complete hand-assembled PDF file with a real cross-reference table, read back through this package's own `readPdf` to recover the drawn text, its measured width, and the face family, plus an object-level check that the `/FontFile2` stream inflates back to exactly the subset bytes and that `/Length1` states their pre-compression length.
127
156
 
128
- Dependency direction is strictly downward and checkable: `math-types`/`formula`/`bytes`/`util` import nothing local (`bytes/flate.ts` imports `fflate`); `image` imports `bytes` only; the codec itself imports `math-types`+`formula`+`bytes`+`image`+`util` only. No `PdfObject`/`PdfDict`/`PdfStream` type appears outside the codec's own read/write modules — it never crosses a public boundary and is constructed exclusively by this package's own parser.
157
+ Dependency direction is strictly downward and checkable: `math-types`/`formula`/`bytes`/`crypto`/`util` import nothing local (`bytes/flate.ts` imports `fflate`); `image` imports `bytes` only; the codec itself imports `math-types`+`formula`+`bytes`+`image`+`crypto`+`util` only. Nothing anywhere under `src/` imports a `node:` builtin, which is what lets `tsdown`'s `platform: 'neutral'` build run unchanged in a browser bundle. No `PdfObject`/`PdfDict`/`PdfStream` type appears outside the codec's own read/write modules — it never crosses a public boundary and is constructed exclusively by this package's own parser.
129
158
 
130
159
  ## Conventions
131
160
 
@@ -134,27 +163,37 @@ Dependency direction is strictly downward and checkable: `math-types`/`formula`/
134
163
  - **`PdfObject` has no Zod schema at all**, deliberately: it never crosses a public boundary or round-trips through JSON, and is constructed exclusively by this package's own parser — validating it would just be validating our own output. It narrows natively on its own `kind` discriminant instead.
135
164
  - **The `MathBox`/`MathFontMetrics` family is structurally typed on purpose, not validated by Zod either.** This is the mechanism that lets a caller (`documents.js`) hand this package a real value produced by a completely independent module, with zero cast, zero wrapper, and no shared class or branded type — see [Architecture](#architecture).
136
165
  - **No type assertions anywhere.** Every third-party or loosely-typed value is narrowed through a type guard or a Zod parse at the boundary.
137
- - **A three-tier PDF-read failure policy**, applied consistently across every read module: throw a typed `PdfParseError`/`PdfEncryptedError` for a file that cannot be meaningfully processed at all; recover with a `PdfDiagnostic` (`severity: 'warning'`) for something malformed but salvageable (a bad `startxref`, a wrong stream `/Length`); degrade with a diagnostic for an individual unsupported feature (an unimplemented filter, an unrecognised colour space) while the rest of the document still reads.
166
+ - **A three-tier PDF-read failure policy**, applied consistently across every read module: throw a typed `PdfParseError`/`PdfEncryptedError`/`PdfPasswordRequiredError` for a file that cannot be meaningfully processed at all; recover with a `PdfDiagnostic` (`severity: 'warning'`) for something malformed but salvageable (a bad `startxref`, a wrong stream `/Length`); degrade with a diagnostic for an individual unsupported feature (an unimplemented filter, an unrecognised colour space) while the rest of the document still reads.
138
167
  - **Conventional commits**, enforced via commitlint + husky.
139
168
 
140
169
  ## Gotchas and quirks
141
170
 
142
171
  - **Reading arbitrary real-world PDFs is the single largest risk surface in this package**, and the parser is honest about its design target: cleanly-generated output from mainstream producers (Word, PowerPoint, Chrome, LibreOffice, Acrobat), recovering from the malformations those producers and their downstream tooling actually create, and failing loudly and specifically on anything else — not matching a mature library's robustness against adversarial input.
143
- - **Encrypted PDFs are unsupported.** `/Encrypt` present in the trailer throws `PdfEncryptedError`, even for the common empty-user-password case.
144
- - **`CCITTFaxDecode`/`JBIG2Decode`/`JPXDecode` PDF images are unsupported** (scanned-fax and JPEG2000 formats) the image is skipped with a diagnostic, the rest of the page still reads. JPEG images (`DCTDecode`) pass through completely losslessly in both directions; PNG-sourced images go through a real, narrowly-scoped hand-written codec.
145
- - **`interpret.ts` tracks general vector paths, not just axis-aligned `re` rectangles.** `m`/`l`/`c`/`v`/`y`/`h` (and `re` itself, per its own ISO 32000-1 definition as a 4-point rectangle subpath) accumulate real subpaths CTM-transformed line/cubic segments, open or closed and any paint operator (`f`/`F`/`f*`/`S`/`s`/`B`/`B*`/`b`/`b*`) emits a `LayoutPath` item when the path isn't reducible to the simple single-`re`-on-an-axis-aligned-CTM case (which still takes the original, unchanged `LayoutRect` fast path). Verified both by dedicated tests and by a genuine `writePath` `writePdf` `readPdf` round trip recovering the original `LayoutPath` value exactly. A stroked-and-filled rect, any ellipse (`writeEllipse` always emits four cubic Beziers, with no PDF-level marker that it started life as an ellipse), and a plain line each come back as a generic `LayoutPath` too this is the shared infrastructure a caller reconstructing structure from a `LayoutDocument` (a spreadsheet grid, a vector drawing) builds on; `readPdf` never reconstructs a dedicated `'line'`-kind item at all.
172
+ - **An encrypted PDF is readable when, and only when, it opens without a password.** That is the overwhelmingly common real-world case — a permissions-only file, exported with "no printing" or "no copying" set, whose owner password may well be set but whose *user* password is empty. `readPdf` derives the file key from the empty user password, verifies it against the `/Encrypt` dictionary's own `/U` entry, and decrypts every string and stream transparently; nothing downstream of the object store knows the file was encrypted at all. Supported: `/Filter /Standard` at `/V` 1, 2, 4, and 5 — RC4-40, RC4-128, AES-128 (`/CFM /AESV2`) and AES-256 (`/CFM /AESV3`) — including `/EncryptMetadata false` and `/Identity` crypt filters. A file that genuinely needs a user password throws `PdfPasswordRequiredError`, its own distinct error, because "supply the password" and "this codec cannot read this at all" are different things to tell a user and only one of them can be acted on. Anything else — a non-standard (public-key) security handler, the unpublished `/V 3` algorithm, an unrecognised `/CFM` — still throws `PdfEncryptedError`.
173
+ - **Nothing in this codec accepts, prompts for, or guesses a password.** There is no password parameter on `readPdf`, and no owner-password path: authenticating as owner is a permissions escalation, not a way to read a file you were already allowed to read. Decryption is here to open files that are already open, not to get into ones that are not.
174
+ - **`CCITTFaxDecode` images decode for real; `JBIG2Decode`/`JPXDecode` images do not.** `src/image/ccitt.ts` is a hand-written ITU-T T.4/T.6 fax decoder Group 4 (`/K < 0`, the modern default and the overwhelming majority of scanned-PDF usage), Group 3 one-dimensional (`/K = 0`), and Group 3 mixed (`/K > 0`) producing a real packed 1-bit-per-pixel bitmap that the rest of `images-read.ts` then treats exactly like any other 1-bit `/DeviceGray` raster, `/Decode` inversion and all. `/Columns`, `/Rows` (falling back to the image's own `/Height`), `/BlackIs1`, and `/EncodedByteAlign` are honoured; the uncompressed-mode extension code is not, and a stream that stops making sense degrades to the rows already recovered plus a `pdf/ccitt-fax-degraded` diagnostic rather than throwing. JBIG2 and JPEG2000 images are still skipped with a diagnostic, the rest of the page still reading. JPEG images (`DCTDecode`) pass through completely losslessly in both directions; PNG-sourced images go through a real, narrowly-scoped hand-written codec.
175
+ - **`interpret.ts` tracks general vector paths, not just axis-aligned `re` rectangles.** `m`/`l`/`c`/`v`/`y`/`h` (and `re` itself, per its own ISO 32000-1 definition as a 4-point rectangle subpath) accumulate real subpaths — CTM-transformed line/cubic segments, open or closed — and any paint operator (`f`/`F`/`f*`/`S`/`s`/`B`/`B*`/`b`/`b*`) emits an item built from them. Verified both by dedicated tests and by a genuine `writePath` → `writePdf` → `readPdf` round trip recovering the original `LayoutPath` value exactly. This is the shared infrastructure a caller reconstructing structure from a `LayoutDocument` (a spreadsheet grid, a vector drawing) builds on.
176
+ - **A recovered path that matches one of three characteristic shape patterns comes back as that shape's own kind, not as a generic `LayoutPath`.** PDF has exactly one shape operator, `re`, and no ellipse or line operator at all, so a writer has no way to record what a path *was* — `interpret.ts` recovers it from the geometry instead. A single closed four-corner subpath whose every edge runs along one axis is a `LayoutRect` (so `re` under a non-rotated *or* 90°-rotated CTM, a hand-built `m`/`l`/`l`/`l`/`h` rectangle, and any combination of fill and stroke all reach it — not just the fill-only single-`re` case an earlier fast path covered); a closed subpath of exactly four cubic segments meeting at its bounding box's four cardinal points, with all eight control points at the standard kappa offset (`BEZIER_KAPPA`, 4/3·(√2−1)) those extremes imply, is a `LayoutEllipse` — precisely what `writeEllipse` emits; an open single-straight-segment stroke-only subpath is a `LayoutLine`. Tolerance is `max(1e-3pt, 1e-4 × the shape's own extent)`: the absolute floor is twenty times the 5e-5pt quantisation `formatNumber`'s 4-decimal-place rounding imposes, and the relative term is what lets a large ellipse from a producer that rounded its kappa constant more coarsely (`0.5523`) still match. **These are deliberate, bounded heuristics, not certainties** — a hand-authored freeform path that happens to consist of four kappa-ratio cubics between its bounding box's cardinal points is indistinguishable from a "real" ellipse in the PDF bytes, because at that point it geometrically *is* one, whatever the author called it. What a false positive can never do is misreport geometry: every detected shape reproduces its source path's own points exactly, so it changes an item's kind, never where or how big it is. Anything the patterns don't cover — a non-90° rotation, a curve that isn't the four-quadrant construction, a polygon that isn't a rectangle, multiple subpaths — stays a `LayoutPath`, and a rotated ellipse deliberately does too, since `LayoutEllipse` carries no rotation to report one with.
146
177
  - **`writePdf`/`readPdf` round-trip a page's own `notes` field via a hidden annotation, not any real PDF feature.** PDF has no native concept of hidden presenter notes, so a page's `LayoutPage.notes` (when present) is written as a `/Subtype /Text` annotation (the same construct Acrobat's own sticky-note tool uses) with the `Hidden` annotation flag set so it never renders or prints, and `readPdf` reads it back via an internal author marker that distinguishes this package's own notes annotation from a genuine third-party sticky note. This is a round-trip mechanism specific to this package's own writer/reader pair — a PDF produced by anything else will never carry it, and a PDF consumer other than this package's own `readPdf` will never see it as anything but an invisible, empty sticky note. `documents.js` uses this to carry pptx/odp speaker notes through `pptxToPdf`/`pdfToPptx` and `odpToPdf`/`pdfToOdp`.
147
178
  - **STIX Two Math (the embedded formula font) is a CFF-flavoured OpenType font (an `OTTO` sfnt wrapping a `CFF ` table), not TrueType/glyf** — confirmed by inspecting the vendored font's own sfnt table directory while `math-font.ts` was built. Genuine Type2-charstring glyph subsetting (re-encoding charstrings, rebuilding the CFF `INDEX` structures with a renumbered, minimal glyph set) is a substantially larger undertaking than TrueType glyf/loca subsetting, and is out of scope: the **entire** `CFF ` table is embedded verbatim, unmodified, as a single `/FontFile3` `/Subtype /CIDFontType0C` stream — a real, correct, working embedded font, just not glyph-subsetted. Everything else genuinely IS built from a targeted parse of only what's used: `cmap` resolves exactly the Unicode code points a document's formulas actually reference to glyph IDs, and the emitted `/W` widths array and ToUnicode CMap only ever cover those same glyph IDs, not the font's full ~5,500-glyph repertoire. A CID-keyed composite font built this way needs no `/CIDToGIDMap` at all (that key exists only for `/CIDFontType2`): per ISO 32000-1 9.7.4.2, a `/CIDFontType0` whose `/FontFile3` is a "bare" (non-CID-keyed) CFF program is read with CID treated as directly indexing the CFF's own `CharStrings` INDEX by glyph order — i.e. CID == GID, exactly the numbering `cmap`-derived glyph IDs already use, so Identity-H text-showing needs no further remapping anywhere in the write path.
148
179
  - **The OpenType `MATH` table's `MathVariants` subtable (stretchy glyph assembly — building a tall parenthesis or brace from reusable top/middle/bottom/extender pieces) is deliberately not parsed by `math-table.ts`.** A caller asking for a stretchy fence or a stretchy operator wrapping a tall construct gets back the base glyph at its own fixed size, not a dynamically assembled one — a documented, honest omission, not a bug. `MathConstants` (every fraction/radical/script-positioning constant `MathFontMetrics` exposes) and `MathGlyphInfo` (italics correction, top-accent attachment) ARE both genuinely parsed in full.
149
180
  - **`math-font.ts`'s own token-level metrics (`ascentPerEm`/`descentPerEm`) come from the font's nominal design ascent/descent (`hhea`), not a tight per-glyph ink bounding box.** This package never parses glyph outlines (no `glyf`/CFF charstring geometry extraction anywhere in it), so a caller measuring a token run against these metrics gets one uniform vertical extent regardless of which characters it actually contains — accurate enough for box-model layout (spacing, baseline alignment, page placement) but not pixel-tight around an unusually tall or shallow glyph.
181
+ - **An embedded `CIDFontType2` program needs no `cmap` table of its own, and `sfnt-subset.ts`'s output doesn't carry one — this is a property of the spec, not an oversight this package works around.** `cmap` maps a character code to a glyph ID for a *simple* font; a `Type0` composite font never asks the embedded font program to do that lookup at all. Character code → CID goes through the `Type0` font's own `/Encoding` (Identity-H here, so CID == character code by construction for the 2-byte codes this package writes), and CID → GID goes through `/CIDToGIDMap` (`/Identity` here, matching `sfnt-subset.ts`'s own GID-preserving design). Both steps happen inside the PDF's own object graph, entirely before the embedded font program is ever consulted — ISO 32000-1 9.7.4.2. This is exactly why the subset output can safely omit `cmap` alongside `name`/`OS/2`/`GSUB`/`GPOS`/`kern` (see Architecture above): none of the five is on the code-path a `CIDFontType2` reader actually walks.
182
+ - **No GPOS/GSUB/kern support: an embedded face's own kerning pairs, ligature substitutions, and other OpenType layout features are never read, subsetted, or applied.** `sfnt-subset.ts` strips `GSUB`/`GPOS`/`kern` from its output entirely, and nothing upstream of that — `measure.ts`'s line-wrapping, `content-write.ts`'s glyph placement — ever consults them either, subset or not. Every embedded run is placed glyph-by-glyph at that glyph's own bare `hmtx` advance width, with no per-pair kerning adjustment. See the acceptance-bar paragraph under [Fidelity](#fidelity) for what this bounds and doesn't bound.
183
+ - **`font-substitutes.ts` maps both `Calibri` and `Calibri Light` onto the same, ordinary-weight Carlito face.** Carlito ships only one weight per style axis (regular/bold/italic/bolditalic) — there is no distinct Light design to embed — so `Calibri Light` substitutes to standard Carlito rather than a genuinely lighter face. An honest, documented approximation (see that file's own top-of-file comment), not a faithful weight match: a caller relying on Calibri Light's visibly thinner strokes will not see them, only its width metrics.
184
+ - **`cff-probe.ts`'s CID-keyed CFF guard exists for a source-embedded-font phase this package hasn't built yet — it is not wired into any write path today, and today's embedding never needs it.** Every face this package currently embeds — the vendored Carlito/Caladea substitutes, and any caller-supplied face via `sourceFonts`/`fonts` — is `glyf`-flavoured TrueType, and `sfnt-subset.ts` already refuses (returns `undefined` for) anything that isn't before `cff-probe.ts` would ever run against it. The guard is what a future phase embedding a real, subsetted CFF program (rather than the whole-table CFF embed `math-font-write.ts` already does for STIX Two Math) will need before it can trust CID == GID against an arbitrary caller-supplied font: a CID-keyed CFF carries its own CID → glyph-index charset, so that identity does not hold for one, and nothing about the file signals the mismatch to a reader — it just renders the wrong glyphs.
150
185
 
151
186
  ## Fidelity
152
187
 
153
- **Ordinary text in PDF output uses the standard 14 fonts only no font embedding.** Helvetica/Times-Roman are genuinely metric-compatible substitutes for Arial/Times New Roman, but a modern default like Calibri or Aptos is not, so a caller's own line wrapping and pagination (built against this package's `TextMeasurer`) will drift slightly from what the original authoring application would itself produce. Expect a faithful visual approximation, not a line-identical reproduction.
188
+ **Ordinary text in PDF output uses the standard 14 fonts only, unless a caller supplies `WritePdfOptions.fonts`.** Without a registry, Helvetica/Times-Roman are metric-compatible substitutes for Arial/Times New Roman, but a modern default like Calibri, Cambria, or Aptos is not, so a caller's own line wrapping and pagination (built against this package's `TextMeasurer`) will drift slightly from what the original authoring application would itself produce. `measure.ts` narrows that gap with a small per-family width-correction table — Calibri measures 8% narrower than Helvetica, Verdana 9% wider, and so on — and `content-write.ts` draws the glyphs at the matching `Tz` horizontal scale so the measurement and the drawing agree, but it remains a stretched standard-14 face rather than the real one.
189
+
190
+ **Supply a `FontRegistry` (`createFontRegistry()`) and Calibri and Cambria stop being an approximation at all.** The vendored Carlito and Caladea faces are the real, metric-compatible TrueType families those two names substitute for, resolved automatically with no caller configuration needed. Aptos still has no vendored substitute — it falls back to the same width-corrected standard-14 approximation as any other unlisted family, registry or not. The mechanism: a resolved face is measured at its own real `hmtx` advances (never the width-correction table, which is not consulted at all on that path — applying both would silently draw text narrower than it was measured and overrun its column), underlined at its own `post` geometry, subsetted to the glyphs the document actually uses, and embedded as a real `/Type0` + `/CIDFontType2` + `/FontFile2` group. A caller's own `fonts`/`sourceFonts` extend the same resolution to any TrueType-outline face. The honest remaining limits: only TrueType (`glyf`) outlines can be embedded, since `sfnt-subset.ts` rebuilds outline tables rather than re-encoding CFF charstrings (a resolved face with no `glyf` throws rather than silently falling back to a different font than the caller asked for); a character the face has no glyph for is drawn as `.notdef` and reported through `onMissingGlyph` rather than substituted; and which of a font's three competing vertical-metric sets drives line height is a caller-chosen policy, not a settled fact (see `VerticalMetricPolicy` above).
191
+
192
+ **The acceptance bar for embedded-font fidelity is deliberately "no page-count drift on a real corpus", not "line-identical".** Every glyph in an embedded run is placed at its own bare `hmtx` advance width and nothing else — there is no pair-kerning adjustment anywhere in this package's measurement or content-stream writing path (see [Gotchas](#gotchas-and-quirks)). Reaching genuine line-identical parity with the original authoring application would additionally need a GPOS pair-kerning reader on top of the outline subsetter this package already has, a materially larger, separate undertaking this phase deliberately did not attempt. What the current bar does guarantee: a real document measured and drawn through the same resolved face's own advances will not silently reflow onto a different number of pages the way a width-corrected standard-14 substitute occasionally can.
154
193
 
155
194
  **The one exception is math-formula rendering (`WritePdfOptions.formulas`): this genuinely embeds a real, hand-parsed font.** Real box-model glyph runs are shown through the embedded STIX Two Math font with genuine per-glyph metrics (advance width, italic correction, top-accent attachment) and font-wide layout constants (axis height, fraction/radical rule thickness and gaps, script shift amounts) parsed directly from that font's own `MATH` table — not approximated or hand-tuned. See [Gotchas](#gotchas-and-quirks) for the exact boundary of what this package's own font parsing does and doesn't cover (the CFF-full-embed simplification, the unparsed `MathVariants` subtable, and the nominal-rather-than-ink vertical metrics).
156
195
 
157
- **`readPdf(writePdf(doc))` is not guaranteed to reproduce `doc` exactly, and `writePdf(readPdf(bytes))` is not guaranteed to reproduce `bytes` exactly — this package makes no round-trip-losslessness claim in either direction.** A PDF page is fundamentally a stream of positioned drawing operators, not a structured document: a filled-and-stroked rectangle, an ellipse, and a plain line all collapse to the same generic `LayoutPath` shape once read back (see the `interpret.ts` gotcha above), and text is recovered as positioned glyph runs with no guarantee the original run boundaries (which characters were grouped into one `Tj` versus several) survive identically. This is a deliberate, permanent contrast with format-preserving codecs like `ooxml.js`'s own `packageCodec`. `pdfCodec` shares `z.codec()`'s *mechanism* (schema-validated both ways) but not that *guarantee* — wrapping this round trip in `z.codec()` validates the shape of what comes out, not its fidelity to what went in.
196
+ **`readPdf(writePdf(doc))` is not guaranteed to reproduce `doc` exactly, and `writePdf(readPdf(bytes))` is not guaranteed to reproduce `bytes` exactly — this package makes no round-trip-losslessness claim in either direction.** A PDF page is fundamentally a stream of positioned drawing operators, not a structured document: a rectangle, an ellipse, and a line are recovered as their own kinds only because each is *always* written as one characteristic operator pattern this package recognises (see the shape-detection gotcha above) — a shape drawn any other way, or rotated off-axis, still collapses to a generic `LayoutPath`, and text is recovered as positioned glyph runs with no guarantee the original run boundaries (which characters were grouped into one `Tj` versus several) survive identically. This is a deliberate, permanent contrast with format-preserving codecs like `ooxml.js`'s own `packageCodec`. `pdfCodec` shares `z.codec()`'s *mechanism* (schema-validated both ways) but not that *guarantee* — wrapping this round trip in `z.codec()` validates the shape of what comes out, not its fidelity to what went in.
158
197
 
159
198
  **Optional real-world corpus.** `test/corpus/` (gitignored, never committed) holds a `pnpm test:corpus` vitest project for manual conformance checking against real PDFs a hand-built fixture can't fully stand in for — a Word "Save as PDF", a PowerPoint "Save as PDF", a Chrome "Print to PDF", a LibreOffice export. It is not part of `pnpm test` and does not gate CI; drop files in locally before a significant parser change.
160
199
 
@@ -172,6 +211,8 @@ Commits follow Conventional Commits (`feat:`, `fix:`, `test:`, `chore:`, …), e
172
211
 
173
212
  - [documents.js](https://github.com/ExaDev/documents.js) — the package this codec was extracted from, and its principal downstream consumer: docx/pptx/odt/odp/ods/odg ⇄ PDF conversion, and MathML formula rendering (its own `src/mathml/` typesetting engine feeds a real `MathBox` into this package's `writePdf({ formulas })` with zero cast — see [Architecture](#architecture)).
174
213
  - [document-schema.js](https://github.com/ExaDev/document-schema.js) — the sibling package that owns `LayoutDocument` itself (the PDF-side pivot this codec reads into and writes from), and the canonical `ContentDocument` pivot the wider `documents.js`/`odf.js`/`ooxml.js` family shares.
214
+ - [qpdf](https://qpdf.sourceforge.io/) — the independent implementation that produces this package's encrypted-PDF test fixtures (`src/test-support/encrypted-pdfs.ts`, regenerated by `scripts/generate-encrypted-pdf-fixtures.mjs`). A build-time and test-time tool only, never a dependency of the package itself.
215
+ - The specifications `src/crypto/` implements, each cited in the module that implements it and checked against that specification's own published conformance vectors: [RFC 1321](https://www.rfc-editor.org/rfc/rfc1321) (MD5), [FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final) (SHA-256/384/512), [FIPS 197](https://csrc.nist.gov/pubs/fips/197/final) (AES), and [NIST SP 800-38A](https://csrc.nist.gov/pubs/sp/800/38/a/final) (CBC mode). The standard security handler that consumes them is ISO 32000-1 7.6, extended for revisions 5 and 6 by ISO 32000-2 7.6.4.3.
175
216
  - [STIX Two Math](https://github.com/stipub/stixfonts) — the embedded math font `math-font.ts` parses and `writePdf({ formulas })` renders through, vendored at `assets/fonts/STIXTwoMath-Regular.otf` and embedded into `dist/` as a base64 string (`src/assets/stix-two-math-font.ts`, generated by `scripts/generate-math-font-asset.mjs`) rather than read from disk at runtime. Copyright 2001-2021 The STIX Fonts Project Authors, licensed [OFL-1.1](assets/fonts/OFL.txt) — see `assets/fonts/NOTICE.md` for the exact source commit and version this was vendored from.
176
217
 
177
218
  ## npm aliases
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/assets/caladea-bold.ts
3
+ const CALADEA_BOLD_FONT_DEFLATED_BASE64 = "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";
4
+ //#endregion
5
+ exports.CALADEA_BOLD_FONT_DEFLATED_BASE64 = CALADEA_BOLD_FONT_DEFLATED_BASE64;
@@ -0,0 +1,4 @@
1
+ //#region src/assets/caladea-bold.d.ts
2
+ declare const CALADEA_BOLD_FONT_DEFLATED_BASE64 = "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";
3
+ //#endregion
4
+ export { CALADEA_BOLD_FONT_DEFLATED_BASE64 };