A font file holds hundreds or thousands of characters; a letter or an invoice uses a few dozen. So PDF producers often copy only the characters the document needs into the file. That partial copy is an embedded subset. The text looks as designed and the file stays small; the price shows up later: a character the document never used is not there to type.
How do you recognize a subset font?
By its name. The PDF standard gives every subset a prefix: “The tag shall consist of exactly six uppercase letters; the choice of letters is arbitrary, but different subsets in the same PDF file shall have different tags.” The part after the plus sign is the real font name.
In Acrobat or Reader, File > Document Properties > Fonts marks such a font “Embedded Subset”, where a whole font is marked “Embedded”. pdffonts (from Poppler, brew install poppler) says yes in its sub column. This is the demo cover letter made for PDF Textfix’s screenshots:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
AAAAAB+IBMPlexSerif-SemiBold TrueType MacRoman yes yes no 8 0
AAAAAC+IBMPlexSerif-Regular TrueType MacRoman yes yes no 9 0
One subset per weight of IBM Plex Serif: SemiBold for the name at the top and the subject line, Regular for the rest. Each holds only the characters its own lines print. PDF Textfix’s editor bar says it too: “Font: IBMPlexSerif-SemiBold (embedded subset), 20 pt”.
Why do PDF producers subset fonts?
To keep files small: a subset carries only the outlines the pages draw. Adobe lists the two choices a producer has as embedding the entire font, or “Embedding a subset containing only the characters used in the file”.
What does a subset mean for an edit?
Any character already in the subset can be typed in the document’s own font. Any other cannot, because its outline is not in the file. The demo cover letter was written without “é”, so correcting the writer’s own name from “Renee Okafor” to “Renée Okafor” reaches a character neither subset holds.
PDF Textfix handles that character with a fallback font, in a fixed order: another copy of the same font in the file, then the same font installed on your Mac, then the closest standard font. While you edit, the character is marked in orange, or underlined when it comes from another copy of the line’s own font, and the editor bar names the font. PDF Textfix never changes the subset itself: the new character goes into a font added to the file for the text you inserted.
What can you do about a subset?
- Nothing to download. “AAAAAC+IBMPlexSerif-Regular” is not a font you can find or install. The tag belongs to one file; the typeface is the name after the plus sign.
- Install the typeface, if you have a licence for it. When the installed copy matches the one in the file (the same widths, a TrueType file that allows embedding), PDF Textfix takes the missing character from it, so it keeps the line’s design; otherwise the next step of the order applies.
- Check before you save. The how-to on keeping the same font walks through it, and PDF Textfix is free to try from the download page.
Questions about subset fonts
Can I remove or un-subset an embedded subset font?
You cannot turn a subset back into the whole font: the characters it leaves out are not in the file. To get full embedding, export the document again from its source with subsetting off; in InDesign, Adobe’s help says to “Enter 0 to embed all fonts, though this increases file size.”
Is an embedded subset a problem for printing?
No. A subset holds every character the pages draw, so the file prints as designed. The fonts that print shops and upload portals flag are the ones not embedded at all, which font not embedded in PDF covers. A subset limits only an edit that needs a character the document never used.
Related terms
- Embedded font: a font stored in the file, whole or as a subset.
- Fallback font: what draws a character the subset lacks.
- Romanian diacritics in PDFs: the accented letters a subset can leave out of a Romanian document.