Why your PDF looks wrong on someone else's computer

Because the font was referenced rather than embedded. A PDF can either carry a copy of the typeface inside the file or just name it and hope the reader's machine has it — and when it does not, the reader silently substitutes something else, which changes the line breaks and the page count along with the look.

You send a PDF. It comes back with "looks a bit odd on my end?" and a screenshot in which the type is not your type, the spacing is loose, and the document is a page longer than the one you made. Nothing is corrupted. The file did exactly what it was told.

What a PDF actually stores

A PDF describes a page as instructions: put these glyphs, from this font, at these coordinates. The question is what "this font" means, and there are two possible answers.

Embedded — the file contains the font program itself. The reader has everything it needs and renders exactly what you saw. Referenced — the file contains only a name, like "Garamond Premier Pro", and the reader is expected to find it locally.

When a referenced font is missing, the reader does not refuse to open the document. It substitutes: it picks something available, and where it can, it tries to fake the metrics of the original so the layout does not collapse entirely. This is why the failure is so confusing — the document is readable, so nothing announces itself as broken. It is simply not your document any more.

How to check a file you already have

In Acrobat or most full PDF readers, open the document properties and look at the Fonts tab. Each entry will say something like "Embedded Subset" or "Embedded", or it will say nothing at all — and nothing at all is the problem.

From a terminal, pdffonts from the Poppler utilities is the fastest check:

pdffonts book.pdf

You get a table with emb and sub columns. Every row should say yes under emb. Any no is a font your reader will have to guess at.

Full embedding and subsetting

"Embedded Subset" means only the glyphs the document actually uses were included. A typeface may carry thousands of glyphs across dozens of languages; a book in English uses a couple of hundred. Subsetting keeps the file small and is what you want almost always.

The one case where it matters is a document someone else will edit. Type a character the subset does not contain and there is no glyph for it — which is a real problem for a form, and no problem at all for a finished book.

Why fonts go missing in the first place

  1. The exporter was told not to embed. Some tools default to leaving out fonts they consider standard, on the theory that everyone has them. Everyone does not.
  2. The font's licence forbids it. Some licences set a flag inside the font file that prevents embedding, and a well-behaved exporter honours it. Rare in practice, but it happens with older commercial faces.
  3. The renderer never had the font. This is the common one for automated pipelines: a build server generates the PDF, the font was only ever installed on a designer's laptop, and the server quietly fell back to a default months ago.
  4. A web font was referenced by URL. Fine on a web page, meaningless in a PDF — there is nothing to fetch it at reading time.

The licensing part, briefly

Embedding a font distributes it, in a limited form, to everyone who opens the file. Most licences allow this explicitly, but the terms are worth two minutes of your attention before a book goes on sale.

  • Open licences (SIL Open Font License, Apache) permit embedding without qualification. Everything on Google Fonts falls here, which is one reason it is a sane default for self-publishing.
  • Commercial desktop licences usually permit embedding in a document, sometimes with a restriction on editable versus print-only. Read the clause about "documents" rather than the one about "web fonts" — they are different grants.
  • Free-for-personal-use fonts are the trap. "Free" on a download site frequently means free until money is involved, and a book you sell is money.

The reliable setup

Whatever produces your PDF, three things make this class of problem go away:

  1. Embed everything, subset where possible. No exceptions for "standard" fonts.
  2. Render somewhere the fonts are guaranteed to exist — not on a machine whose font library depends on who last used it.
  3. Check the output, not the settings. Run pdffonts on the finished file. The setting says what was intended; the file says what happened.

This is one of the things worth handing to a tool rather than maintaining yourself. In bukpress, exports render server-side and every typeface in your account is embedded in the PDF and packaged into the EPUB — the four bundled families on every plan, families imported from Google Fonts on Essentials and up, and your own .ttf or .otf uploads on Pro. The machine that renders your book always has your fonts, because they were uploaded to it.

The quickest test of any tool's claim here is to run pdffonts on something it produced. The sample book is a fine thing to point it at.

Read next

Design · 5 min read

Book typography for people who are not typographers

Most of the gap between an amateur page and a professional one comes down to six things: line length, type size, line spacing, margins, how many typefaces you use, and whether the heading sizes form a clear hierarchy. None of them require taste to get right — they have known good ranges.

Read it
Guides · 5 min read

Five ways to convert Markdown to PDF, and what each one costs you

There are five practical routes from a Markdown file to a PDF: printing from a browser or editor preview, a VS Code extension, an online converter, Pandoc with a LaTeX engine, or a hosted typesetting tool. They differ almost entirely in how much control you get over the page — and the page is the whole problem.

Read it
Explainers · 4 min read

EPUB or PDF: how to choose, and why you probably want both

Use PDF when the page is fixed and matters — print, handouts, workbooks, anything with a layout the reader must see as you set it. Use EPUB when the text should adapt to the reader's screen and type size, which is every e-reader and almost every ebook store.

Read it

Write it in Markdown. Ship a book.

bukpress turns the file you are already writing into a typeset PDF and EPUB — your type, your covers, no watermark on any plan.

Start free — no card required