Messages you may see
- Character encoding - Failed (Acrobat Pro, Accessibility Checker)
- PDF/UA-1 (ISO 14289-1) rule 7.21.7-1: The glyph can not be mapped to Unicode
- PDF/UA-1 (ISO 14289-1) rule 7.21.7-2: The glyph has Unicode value 0, U+FEFF or U+FFFE, which is invalid by Unicode standard
- PDF/UA-2 (ISO 14289-2) rule 8.4.5.8-1: The glyph can not be mapped to Unicode
- PDF/UA-2 (ISO 14289-2) rule 8.4.3-1: Real content maps to Unicode PUA values, but ActualText and Alt entry are not present
- PDF/UA-2 (ISO 14289-2) rule 8.6-1: Text string intended to be human readable uses Unicode PUA
What the rule requires
ISO 14289-1 (PDF/UA-1), clause 7.21.7: the font dictionary of every font defines the mapping of all character codes used to Unicode values, either through a ToUnicode entry or through other mechanisms that the clause allows (for example a standard encoding with glyph names from the Adobe Glyph List). The Unicode values must not be 0, U+FEFF or U+FFFE. The Matterhorn Protocol 1.1 lists this under checkpoint 10 (Character mappings).
PDF/UA-2 (ISO 14289-2) contains the same requirement in 8.4.5.8 and adds rules for the Unicode Private Use Area (PUA), a range without fixed meaning that icon fonts often use: real content that maps to PUA values needs ActualText or Alt (8.4.3), and human-readable text strings such as titles or descriptions must not use PUA values (8.6).
The rules check that a mapping exists and is formally valid. Whether it maps to the right character, for example "fi" for a ligature rather than a random letter, needs a manual check, such as copying text from the PDF.
Why it matters
Screen readers and braille displays work with the Unicode text, not with the shapes on the page. Without a mapping they read nothing, spell out codes or read wrong letters. A heading that looks correct can come out as a string of unrelated characters.
This affects everyone else as well: search finds nothing, copied text is garbled, and reflow or read-aloud functions fail. Adobe notes for its Character encoding rule that WCAG does not address Unicode character mapping; PDF/UA does, and without it the text alternatives required by WCAG cannot be read.
Common causes
- Symbol or decorative fonts were used for normal text, or bullets and icons come from such fonts.
- Icon fonts map their glyphs to Private Use Area code points.
- Older Type 1 fonts, or fonts converted from other systems, have non-standard glyph names.
- The PDF was created through a printer driver or converter that drops the
ToUnicodetable. - Ligatures such as "fi" or "ffl" are mapped to a single wrong character or not at all.
- Text was set with fonts that were not installed, and a substitute font was used during creation.
Example
A composite font with Identity-H encoding. The codes are glyph numbers that only this font understands; without /ToUnicode nobody can tell which characters they are:
20 0 obj
<< /Type /Font /Subtype /Type0 /BaseFont /ABCDEF+SourceSans
/Encoding /Identity-H /DescendantFonts [21 0 R] >>
endobj20 0 obj
<< /Type /Font /Subtype /Type0 /BaseFont /ABCDEF+SourceSans
/Encoding /Identity-H /DescendantFonts [21 0 R]
/ToUnicode 22 0 R >>
endobj
22 0 obj
<< /Length 410 >>
stream
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
3 beginbfchar
<0003> <0020>
<0024> <0041>
<00B3> <00660069>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
endstream
endobjCode 0003 becomes a space (U+0020), code 0024 the letter A (U+0041), and code 00B3, a ligature glyph, becomes the two letters "fi" (U+0066 U+0069).
How to fix it
Microsoft Word
- Use common OpenType or TrueType fonts for text. Avoid symbol fonts for letters and old Type 1 fonts.
- Insert special characters as real Unicode characters (Insert > Symbol from a text font), not as glyphs from decorative fonts.
- Export with File > Save a Copy (or Save As), file type PDF, More Options > Options, and Document structure tags for accessibility selected.
- Copy a few paragraphs from the new PDF into a text editor. If the text comes out correctly, check the file again.
Adobe InDesign
- Find the affected text: copy it from the exported PDF into a text editor and see where it goes wrong.
- Replace the font for those passages, preferably with an OpenType font.
- For icons or decorative glyphs that cannot be replaced, select the element in the Structure pane (View > Structure > Show Structure), choose New Attribute, enter
ActualTextas name and the meaning as value. Adobe documents this for text shown as graphics. - Export with Create Tagged PDF and check the file.
Adobe Acrobat Pro
Adobe states that some character encoding problems cannot be repaired within Acrobat. Its recommendations for the Character encoding rule are:
- Make sure the necessary fonts are installed on your system.
- Use a different font, preferably OpenType, in the original document and create the PDF again.
- Create the PDF again with a newer version of Acrobat Distiller, or create the PostScript file with the latest Adobe PostScript driver.
In addition, according to Allyant the Preflight fixup Fix potential font problems (Tools > Print Production > Preflight, library Acrobat Pro DC 2015 Profiles) targets font encoding problems. For a single symbol, you can give its tag a replacement text: select the tag in the Tags panel, choose Properties and enter the text as Actual Text. Then check the file again.
Check your PDF
Upload the fixed file to see which machine-checkable criteria it meets now. The report lists the remaining problems with their pages.
Open the checkerQuestions
- Copying text works. Why does the check still fail?
- Some programs guess characters from glyph names or shapes when copying. The automated check tests whether the file itself defines the mapping, without guessing.
- Does the OCR text layer of a scanned document count?
- Yes. Invisible OCR text is exempt from font embedding, but it is real content, so its characters need a Unicode mapping as well.
- Our logo font uses private use characters. Is that a problem?
- In PDF/UA-2 such characters need
ActualTextorAlt. In both versions, a logo is better tagged as a figure with alternative text.
Sources
- ISO 14289-1:2014 – Document management applications – Electronic document file format enhancement for accessibility – Part 1: Use of ISO 32000-1 (PDF/UA-1) – International Organization for Standardization (ISO). Checked on 7 November 2026.
- ISO 14289-2:2024 – Document management applications – Electronic document file format enhancement for accessibility – Part 2: Use of ISO 32000-2 (PDF/UA-2) – International Organization for Standardization (ISO), 13 March 2024. Checked on 7 November 2026.
- The Matterhorn Protocol 1.1 – PDF Association. Checked on 7 November 2026.
- Create and verify PDF accessibility (Acrobat Pro) – Adobe (helpx.adobe.com). Checked on 7 November 2026.
- How to Fix Font Issues with Acrobat's Preflight Tool – Allyant Support. Checked on 8 November 2026.
- Use tags to create accessible PDFs (InDesign) – Adobe (helpx.adobe.com), 2 June 2026. Checked on 7 November 2026.
- Save or convert to PDF or XPS in Office Desktop apps – Microsoft Support. Checked on 8 November 2026.