Type 1 CharSet must list every embedded glyph
PDF/UA check
FONT_CHARSET_COMPLETE· Fonts & text encoding · severity Medium · PDF/UA 8.4.5.5 Embedding · advanced check
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
An incomplete CharSet declaration misrepresents what the embedded font subset contains, which can break PDF/A validation chains.
What you will see
A Type 1 font descriptor declares a CharSet that does not match the glyphs actually present in the embedded subset.
How to fix
Regenerate the CharSet string in the Type 1 font descriptor so it lists exactly the glyphs present in the embedded font program - no missing names and no extra names. Re-subsetting the font with a current tool rebuilds it correctly; removing the CharSet entry entirely also resolves the mismatch.
Step-by-step guide
- Identify the flagged Type 1 (or Multiple Master) fonts whose FontDescriptor carries a CharSet string that does not match the glyphs actually present in the embedded font program.
- Simplest compliant fix: delete the CharSet entry from the FontDescriptor. CharSet is an optional, purely declarative entry, and the check passes when it is absent.
- To keep the entry instead, re-subset the font so the regenerated CharSet lists exactly the glyph names present in the embedded font program - no missing names and no extras; the check fails in both directions.
- In Acrobat Pro you can try All tools > Use print production > Preflight > PDF fixups > Subset all embedded fonts, which rewrites embedded font subsets and their descriptor entries; verify afterwards and, if the mismatch persists, regenerate the file from its source (next step).
- Where the document can be regenerated, re-export from the authoring application with current software - stale CharSet strings typically come from outdated subsetting in older PDF producers.
Verify: Re-run the EQChecker advanced scan and confirm FONT_CHARSET_COMPLETE reports zero errors. PDF/UA-2 clause 8.4.5.5 does not itself name CharSet - CharSet accuracy is subset hygiene aligned with PDF/A - so Acrobat's Preflight PDF/A verification is the closest external cross-check. Rendering is unaffected either way, so a visual spot check suffices.
Note: CharSet is informational only - removing it loses nothing for accessibility or rendering, while an inaccurate one misrepresents the subset. PDF/UA-2 clause 8.4.5.5 requires the embedded subset to define all referenced glyphs; the CharSet accuracy test is stricter subset hygiene aligned with PDF/A. Acrobat has no direct editor for FontDescriptor entries, so if the Preflight fixup does not clear the mismatch, regenerate the file from its source.
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.5 Embedding |