Why PDF fonts must be embedded, and how to check yours

A PDF page does not contain letters as such. It contains instructions to draw particular glyphs from a named font at particular positions. If the font program itself is embedded in the file, every viewer draws exactly what the author saw. If it is not, the viewer has to find a substitute, and the page can change. That is the whole case for embedding, and why the PDF font list exists: it shows every font in a file and whether each one travelled with it.

What embedding means

Each font a PDF uses is described by a font dictionary: its name, its type (Type 1, TrueType, Type 3, or a CID-keyed font, the form OpenType and many Asian-language fonts take inside a PDF), its encoding and the widths of its characters. An embedded font also has the font program, the actual outlines of each glyph, stored as a stream inside the file. A non-embedded font has only the name and metrics, a promise that the reader's computer will supply the rest. How PDF files work: why some have text and some are pictures shows how these objects fit together.

What goes wrong without it

When a font is missing, viewers substitute the nearest thing they have. Sometimes that is close enough to go unnoticed. Often it is not:

  • the substitute has different letter shapes and spacing, so lines overrun, overlap or leave gaps;
  • characters the substitute lacks appear as empty boxes, which is common with symbols, maths and non-Latin scripts;
  • a brand or display typeface turns into a generic sans serif;
  • a print shop's workflow rejects the file, or prints it with the wrong font.

The awkward part is that the author never sees the problem, because their own computer has the font installed.

Subsets and the ABCDEF+ prefix

Most software embeds a subset: only the glyphs the document actually uses, not the whole typeface. A one-page letter might need 60 characters out of several thousand, so subsetting keeps files small. Subset fonts are marked by a tag of six capital letters and a plus sign in front of the name, such as ABCDEF+Calibri; the letters are arbitrary and simply keep different subsets apart. The font list strips the tag for readability and marks the font as a subset instead. The catch is editing: if you change text later, a subset may not contain the new characters you type. A related problem is copying text out. If a subset font lacks a map from its glyphs back to Unicode, text extraction produces gibberish even though the page looks perfect.

The standard 14 fonts

PDF has always given special status to fourteen fonts: Times, Helvetica and Courier in four styles each, plus Symbol and ZapfDingbats. Viewers are expected to supply these themselves, so files often leave them unembedded, and the font list labels them. In practice the viewer uses a look-alike, for example Arial in place of Helvetica, which has the same character widths. That usually works, but it is still a substitution, and it is not allowed in archival files.

When embedding is required

PDF/A, the ISO standard for long-term archiving, requires every font to be embedded, including the standard 14, and the fonts must be licensed for embedding. Many courts, journals, government portals and commercial printers ask for embedded fonts too. Licensing is the main reason a font is sometimes left out: font files carry permission flags, and some typefaces forbid embedding or allow it only for viewing and printing.

Checking and fixing a PDF

Drop a file into the font list and it reports each font's type, whether it is embedded and subset, and its encoding, with a warning naming any that are not embedded. Fonts used only in comments or form fields are included. A scanned PDF has no fonts at all, and the tool says so. Encrypted files may not be readable.

To fix a problem, go back to the source and export again with a PDF/A or high-quality print preset, which embeds everything that is licensed for it. If a particular font refuses to embed, choose another typeface. When the source is lost, turning pages into images, as the PDF compressor does, removes the font dependency entirely, but the text stops being selectable or searchable until you run OCR again.

Sources and further reading

The claims in this guide rest on these references, which were checked when the guide was last updated. Spotted an error? The contact page says how to report it.

  1. Font embedding โ€” Wikipedia
  2. PDF โ€” Wikipedia (fonts and the standard 14)
  3. PDF/A โ€” Wikipedia (embedding requirements)

Try the tool

Frequently asked questions

How do I know if fonts are embedded in a PDF?

Open the file in a font list tool or your viewer's document properties. Each font is listed with a note saying whether it is embedded or a subset.

What does ABCDEF+ in a font name mean?

It marks an embedded subset containing only the characters the document uses. The six letters are an arbitrary tag.

Do I need to embed Helvetica and Times?

For everyday sharing viewers substitute look-alikes, but PDF/A and many printers require every font, including the standard 14, to be embedded.

Why will a font not embed?

Usually its licence forbids it. Font files carry permission flags, and export software respects them by leaving the font out.