Accessibility Wiki

Symbolic TrueType fonts must not declare an encoding

PDF/UA check FONT_TRUETYPE_SYMBOLIC_ENCODING · Fonts & text encoding · severity Medium · PDF/UA 8.4.5.7 TrueType fonts · advanced check

↩ Back to the rules index · WCAG cross-reference

Advanced check. This is a file-internals rule. It is hidden from the standard report view and generally indicates a problem with the tool that produced the PDF rather than something an author did.

Why it matters

Symbolic fonts use their built-in cmap; specifying an Encoding entry creates an ambiguous lookup that can break text extraction.

What you will see

A symbolic TrueType font carries an Encoding entry, creating two competing glyph lookups.

How to fix

Remove the Encoding entry from the symbolic TrueType font dictionary and let the font's built-in cmap subtable handle the character-to-glyph mapping. If the font is not actually symbolic, clear the Symbolic flag in the font descriptor instead and set a standard encoding.

Step-by-step guide

  1. Confirm whether each flagged font is genuinely symbolic (dingbats, icons, a non-standard glyph set) by checking the Symbolic bit in its FontDescriptor Flags and looking at the glyphs it renders.
  2. Path 1 - the font is truly symbolic: remove the Encoding entry from the font dictionary entirely, so character-to-glyph lookup uses only the font's built-in cmap, as PDF/UA-2 clause 8.4.5.7 requires.
  3. Confirm the embedded font program's cmap contains a Microsoft Symbol (Platform 3, Encoding 0) or Mac Roman (Platform 1, Encoding 0) subtable; if it does not, re-embed the font from the original font file.
  4. Because a symbolic cmap carries no Unicode semantics, make sure the font has a ToUnicode CMap, or the content carries ActualText or Alt, so screen readers can still voice it - removing Encoding must not silently break text extraction.
  5. Path 2 - the font is mislabeled and actually shows standard text: clear the Symbolic flag, set the Nonsymbolic flag in the FontDescriptor Flags, and give the font a WinAnsiEncoding or MacRomanEncoding entry per the non-symbolic rules instead.
  6. Acrobat Pro cannot remove an Encoding entry or edit descriptor flags through any menu; the font dictionaries were written incorrectly by the producing application, and the only reliable fix is regenerating the file from its source with a compliant export pipeline.

Verify: Re-run the EQChecker advanced scan and confirm FONT_TRUETYPE_SYMBOLIC_ENCODING reports zero errors. Confirm the symbols still render identically and that copy-paste or a screen reader gets sensible output.

Note: In the descriptor Flags, Symbolic is bit 3 (value 4) and Nonsymbolic is bit 6 (value 32); exactly one must be set, and the choice drives which encoding rules apply. Legacy fonts like Wingdings or Symbol written by old Office exporters are the most common source of this error.

WCAG success criteria

No WCAG success criterion maps cleanly to this check — it is a PDF/UA structural requirement. The PDF/UA clause above is the normative reference.

Standards

This check contributes to the following standards:

PDF/UA

Standard Criteria
PDF/UA-2 (ISO 14289-2:2024) 8.4.5.7 TrueType fonts