When ä, é, ç or ß show up in a PDF as empty boxes, as the wrong letters, or not at all, the font that draws them is missing the letter or the file’s bookkeeping for it is off. In a PDF, every letter is a code that a font turns into a shape. An accented letter goes wrong when the font is not embedded and the viewer’s substitute lacks it, when the code means something else in the encoding the file declares, when the embedded font was cut down to a subset that does not include the letter, when the letter was stored as a base letter plus a separate accent the font cannot place, or when the font simply has no shape for it. For most of these causes the fix is a fresh export from the source document, with its fonts embedded, in a font that has every letter. The checks below tell the causes apart in a few minutes on a Mac, and the same causes explain why an accent vanishes after someone edits the file.

How does a PDF store an accented letter?

Many office PDFs use simple fonts: one byte per character, and an encoding table that says which glyph each byte selects. The standard defines three tables for Latin text, and they disagree about accents:

Letter Standard encoding Mac Roman WinAnsi (Windows)
ä none octal 212 octal 344
ö none 232 366
ü none 237 374
ß 373 247 337
é none 216 351
ç none 215 347

The Standard encoding has no slot for ä, ö or é at all; a font that uses it needs a list of differences to draw them. The demo CV of PDF Textfix’s sample set uses Mac Roman for all of its text: the é of “cafés” is stored as the byte 8E, octal 216, the value in the table above.

The other common kind is a CID font with Identity-H codes: two bytes per glyph, numbered by position in the font. Those numbers say nothing about letters. Without a ToUnicode map, in the standard’s words, “no information would be available about what the glyphs mean”. The glossary entry on font encodings has more on both.

Why do the wrong letters appear in place of umlauts?

Because the bytes were read with a different table than the one they were written for. The same byte is a different letter in each table:

Written as Mac Roman Byte (octal) Read as WinAnsi
ä 212 Š
ö 232 š
ü 237 Ÿ
ß 247 §

If “Straße” comes out as “Stra§e”, or Š stands where ä should be, the text was encoded for one table and is being decoded with another. Depending on where the mismatch lies, the page itself or only the copied text shows the wrong letters. When the page shows them, the file was made that way, and only a fresh export fixes it.

Is the font embedded in the PDF?

A PDF does not have to carry its fonts. When a font is not embedded, the file names it and gives its metrics, and the viewer draws the text with a font of its own. The standard says a font dictionary holds “information that can be used to provide a substitute when the font program is not available.” If the substitute, or the encoding the viewer applies to it, has no ä, the letter turns into a box, another letter or a gap, on one computer and not on the next.

pdffonts shows it in the emb column: no means the viewer supplies the font. The fix is a fresh export with every font embedded; on your own Mac, installing the font the file names can also help a viewer draw it. The guide to fonts that are not embedded in a PDF covers the check and the fixes in full.

Why do accents and special characters show as boxes in a PDF?

The subset lacks the letter. A PDF usually embeds only the glyphs its text uses. A document written without ü carries a font without ü. Nothing goes wrong until someone adds one: an editor that types ü into that font gets an empty glyph, which viewers draw as nothing or as a box.

The font has no glyph for it. Decorative and older fonts often cover English only. The app that made the PDF either drew the letter from another font or drew nothing.

The letter is decomposed. Unicode allows ä to be one character, or a followed by a combining diaeresis; Unicode Standard Annex #15 defines the two forms, composed (NFC) and decomposed (NFD). Text pasted from some sources arrives decomposed. A font that has ä as one glyph may have no separate diaeresis, so the accent goes missing, or it is drawn beside the letter rather than above it.

A form field’s font lacks the letter. In a fillable form, the field draws its value with the font the field names, not the page’s fonts. If that font is a subset, or its encoding has no slot for the letter, an accent typed into the field shows as a box or disappears, sometimes only once the form is saved or flattened. The guide to fillable versus editable PDFs explains how fields are drawn.

The map back to characters is missing. The page draws ä correctly, but copy or search gives “a”, “¨a” or a symbol. That is the copy problem, and copied PDF text that comes out as gibberish covers it.

How do you check what is wrong on a Mac?

  1. Copy and paste. Select the word in Preview and paste it into TextEdit. Right on the page and wrong in the paste points to the map; wrong on the page points to the export.
  2. List the fonts. In Terminal, with Poppler from Homebrew: pdffonts document.pdf. The emb column says whether the font is in the file at all; encoding shows MacRoman, WinAnsi, Identity-H or Custom; sub shows subsets; uni shows an explicit map. The man page notes that “the absence of a ToUnicode map doesn’t necessarily mean that the text can’t be converted to Unicode”, since a standard encoding is enough.
  3. Extract the text. pdftotext -layout document.pdf - prints what a program reads. Compare it with the page.

How do you fix missing accents in a PDF?

Export again from the source, in a font that has every letter of the language. Of 32 font families we checked on a Mac with macOS 27.0.1, every one held ä, ö, ü, ß, é, è, ç and ñ; decorative fonts from elsewhere may not. Before sending, open the PDF, search for an accented word, and copy one into TextEdit.

Ask for a fresh copy if the file came from someone else. The source document still knows its characters.

Retype the line in an editor that can write the letter in the document’s font, or tell you where it could not.

What does PDF Textfix do when the font lacks a letter?

The letter has to come from somewhere, and the reader deserves to know where. PDF Textfix never modifies the document’s existing fonts. When you type a letter the line’s font cannot draw, it looks in a fixed order and marks the result:

Where a missing letter is looked for, in order Four steps from top to bottom: the line's own font, another copy of the same font in the file, the same font installed on the Mac, the closest standard font. A letter from step 2 is underlined; a letter from step 3 or 4 is marked as drawn with a fallback font. 1. The line's own font ü 2. Another copy of it in the file underlined while you edit 3. The same font on this Mac marked as a fallback 4. The closest standard font marked as a fallback Steps 2 to 4 are marked while you edit.
The order PDF Textfix follows for a letter the line's font cannot draw.

A letter written with another copy of the line’s font is underlined while you edit; a letter drawn with a font from outside the file, the installed copy or a standard font, is orange, and the bar names the font; a letter no font can draw is red, and the edit is refused with the reason. For a font whose licence forbids deriving a new font from it, PDF Textfix skips steps 2 and 3: the letter comes from a different font when one fits, or is refused with the licence as the reason. The Issues pane lists every fallback font your edits used, so you can check them before you save. A PDF/A file never takes a missing letter from a font that would not be embedded. The fallback font entry and the guide to how fonts work inside a PDF explain the terms.

Romanian has its own trap, an s and a t with a comma below that look like the letters with a cedilla and are not the same: see Romanian diacritics in PDFs.

Questions people ask

Why do umlauts look fine in my PDF but disappear when I copy the text?

The page draws from the font; the copy uses the file’s map from glyphs to characters, which is missing or incomplete for that font. A fresh export, or OCR, gives text that copies correctly.

Why did an umlaut vanish after someone edited the PDF?

The editor typed it into a subset that did not hold it. Depending on the editor, the result is an empty glyph, a box, or the letter in another font. Ask for the original, or edit the line again with a tool that tells you which font drew the letter.

Does it help to install the font on my Mac?

For viewing, it helps when the font is not embedded: pdffonts shows no under emb, and a viewer that finds the named font installed can draw the text with it instead of a substitute. An embedded font is used as it is, so installing a copy changes nothing for it. For editing, it can help: the same font installed on the Mac is one of the places a missing letter can come from.