mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-14 19:27:04 -04:00
docs(fonts): the README still called the standard-14 widths an estimate
F1 replaced the character-class approximation with the published standard-14 metrics, and `helvetica_width` has delegated to `Std14::Helvetica` ever since. The README kept describing it as PdfCraft's own estimate and, more importantly, said "No metrics file or font program from any vendor is bundled" -- which stopped being true when the generated tables landed. They are Adobe-authored non-visual technical data, the item AGENTS.md 1.1 permits, carried in std14_metrics.rs with adobe_data = true in ATTRIBUTION.toml. A contributor reading the README would have concluded there was no vendor data here at all, which is the one kind of error that matters in a provenance claim. Says what is bundled now, and what still is not: widths and encodings, never a font program or a typeface. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
e0c63546bb
commit
f802257be6
1 file changed
+5
-3
@@ -4,9 +4,11 @@ Layer L2. Font helpers for the appearance streams PdfCraft generates (comments,
|
||||
|
||||
Today it holds what generated appearances need without a font program:
|
||||
|
||||
- `helvetica_width`: an approximation of Helvetica's proportions by character class. No metrics
|
||||
file or font program from any vendor is bundled; widths are PdfCraft's own estimates, good
|
||||
enough for line breaking and alignment, not for typesetting.
|
||||
- `helvetica_width`: the **exact** standard-14 advance widths, via `Std14::Helvetica`. It was an
|
||||
estimate by character class until the generated tables landed; those tables are Adobe-authored
|
||||
non-visual technical data, the item `AGENTS.md` §1.1 permits, carried in `std14_metrics.rs` with
|
||||
`adobe_data = true` in `ATTRIBUTION.toml`. **No font program or typeface from any vendor is
|
||||
bundled** — widths and encodings only. Reach for `Std14` directly for any other face.
|
||||
- `wrap`: greedy line breaking with that measure (paragraphs on newlines, long words split).
|
||||
- `win_ansi`: Unicode → WinAnsiEncoding bytes (`?` for characters it can't represent), and
|
||||
`literal` to write bytes as a PDF literal string. Nothing writes that `?` silently. Callers
|
||||
|
||||
Reference in new issue
Block a user