Before we talk about how to embed fonts in a PDF file, let’s take a step back and get an idea about how fonts can be used in a PDF file. There are three different methods:
- A PDF file can rely on the correct font being available on the target computer or printer. In this case, the PDF document will only contain a reference to a font, and if that font is not available, it will either be substituted or the PDF document cannot be processed. How exactly this situation gets handled depends on what software you are using to process the PDF file, and if it’s a viewer, or a PDF printer.
- A PDF file can have the font embedded in the file. This means, the font “travels” with the PDF file and is always available when the file is being displayed or printer. The drawback of this approach is that some fonts are huge (e.g. fonts for Asian languages), that would expand the file size dramatically. Also, in the case where you only need a few characters that are set in a certain font, the whole font would have to be embedded.
- A font can be subset-embedded. This is very similar to an embedded font, but in this case, only those “glyphs” (these are the “drawings” of a character that appear in your PDF viewer, or on a printed page) that are actually used in the file (or on a certain page) are embedded. Let’s say you have a book titled “SOS” – the title is set in a font that is not used anywhere else in the book. In this case, you can embed only the glyphs for “S” and “O” and you can render this title. There is no need to embed any other glyphs, so you end up with the smalls possible PDF file.
Given this list of different options, it should be clear that the subset embedding method is the best way to use a font in a PDF document: The font will always be there when needed, but we are also not wasting any space by adding the complete font when we don’t need it.
The question that usually comes up at this point is “That all sounds very good, but doesn’t subset embedding mean that I cannot edit this document with the TouchUp Text tool (or the “Edit Text & Images tool in Acrobat XI) if the whole font is not embedded? If I only have ‘S’ and ‘O’ embedded, but I need to change the title to “S.O.S.”, I would not have access to the period.”
Acrobat actually requires that the font for text that you edit in Acrobat is available as a system font. It is not sufficient to have the font embedded in the document, it needs to be installed on the computer. Otherwise you cannot edit the text set it that font. This is done to comply with font licenses: You can only use the font (and editing a document would require you to use the font) if you have a license for the font. If the only copy of the font you have is the copy that is embedded in the PDF document, you do not have a licensed to use the font. The font foundry licensed the font to the author of the document with the right to embed it in the document so that you (without a valid license) can still view and print the document, but you cannot modify the document.
This means, that we need to make sure that a font is at least subset embedded when we create and distribute PDF documents, otherwise somebody who does not have that particular font will not be able to view or print the document the way the author created it.
Now back to how we would subset-embed the fonts using Acrobat’s Preflight tool. This preflight tool is only available in Acrobat Pro, not in Acrobat Standard and of course not in the free Adobe Reader.
Let’s assume that the document that we want to process is already open in Acrobat XI Pro. Let’s verify that the fonts are not embedded by bringing up the Document Properties (Ctrl-D or Cmd-D), then bring up the “Fonts” tab:
To bring up the Preflight tool, we have to options: On a Mac, we can select “Edit>Preflight” from the menu, or we can launch the tool from the “Print Production” panel in the Tools pane (this works for both Windows and the Mac, for the latter, only when a document is open). Once the Preflight tool is open, we select “Single Fixups” as indicated in this screenshot:
To find all “Font” related mixups, we can just type “Font” into the “Find” field:
This will show all available mixups that contain the string “Font”. Acrobat’s default configuration contains two different mixups:
- Embed Fonts
- Embed Fonts (even if text is invisible)
In most cases, we are not dealign with invisible text, so just embedding fonts for text that is usually what we want. When you select on this item, we can run the Preflight fixup by clicking on the “Fix” button:
Acrobat will then ask for a new filename to save the new file (that now will contain the embedded fonts) as. To verify that the fonts are actually embedded, you may have to close the file and re-open it before you bring up the document properties again:
When you now distribute the file with the embedded fonts, the file should work on any computer, regardless of the fonts that are available on that computer.