The most common cause of "this looks different on my machine" PDFs is font substitution. The recipient doesn't have the font, the viewer guesses, and headings reflow, glyphs change, and tables explode. Proper embedding makes the document portable forever.
Embedding Modes
| Mode | What's stored | File size | Use case |
|---|---|---|---|
| None (referenced) | Font name only | Smallest | Never — guaranteed substitution |
| Subset embedding | Only used glyphs | Small | Default for most workflows |
| Full embedding | Entire font file | Larger | When document will be edited later |
| Standard 14 (legacy) | Implied — Helvetica, Times, Courier, etc. | None | Avoid in PDF/A and modern workflows |
Subsetting in Detail
A subset contains exactly the glyphs the document references plus a few required ones (notdef, space). The font is renamed with a six-letter prefix (e.g., MJVKLB+ArialMT) so it can't be confused with the system font of the same name. Viewers must use the embedded subset directly — they won't fall back to a system Arial because the names differ.
Subsetting is the right default. Full embedding wastes space (a Chinese font is 20+ MB) and rarely helps. The exception is editable PDFs where reviewers will add text — without full embedding, new typed glyphs won't render correctly.
The "Standard 14" Trap
PDF 1.x defined 14 base fonts (Helvetica, Times, Courier, Symbol, ZapfDingbats and variants) that viewers were expected to provide. Many older tools still rely on these. The problem: modern viewers don't ship Helvetica — they substitute Arial, which has slightly different metrics, causing line break shifts. PDF/A bans the Standard 14 shortcut entirely. Embed everything, every time.
Fixing Font Issues
- Inspect with
pdffonts file.pdfor Document Properties → Fonts. Check the "emb" column. - If a font isn't embedded and you own the source, re-export with "embed all fonts" enabled.
- If embedding fails due to licensing, switch to a licensable equivalent (Liberation, Noto, Source Sans).
- For PDF/A targets, run veraPDF or another validator — it reports every font issue.
- For long-archive needs, prefer subset embedding + PDF/A-2b. Full embedding adds little reliability.
How to Diagnose a Font Problem
If a PDF looks wrong on someone else's screen or printer, font handling is the usual culprit. Work through it methodically:
- Confirm what's embedded. Open Document Properties → Fonts (or run
pdffonts file.pdf). Anything marked “not embedded” is being substituted on other machines, which shifts spacing and line breaks. - Reproduce on a clean machine. The file may look fine to you only because the font is installed locally. Test on a device without it.
- Re-export with embedding on. If you own the source document, re-export with “embed all fonts” (subsetting is fine and smaller).
- If embedding is blocked, the font's license flag forbids it — swap in a licensable equivalent such as Liberation, Noto, or Source Sans and re-export.
Shrink PDFs Without Breaking Fonts
Compress files in-browser while keeping subsets intact and text searchable.
Compress PDF →