Accessibility Wiki

Embedded CIDFontType2 fonts need a CIDToGIDMap

PDF/UA check FONT_CIDTOGIDMAP · Fonts & text encoding · severity High · PDF/UA 8.4.5.3.2 CIDToGIDMap · 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

Without a CIDToGIDMap, the system cannot map CIDs to glyph indices, leading to missing or incorrect glyphs.

What you will see

An embedded Type 2 CID font has no CIDToGIDMap entry, so CIDs cannot be resolved to glyphs.

How to fix

Add a CIDToGIDMap entry to each embedded CIDFontType2 dictionary, with either the name Identity or a stream mapping CIDs to glyph indices. Re-embedding the font with a current subsetting tool writes this entry automatically.

Step-by-step guide

  1. Identify the embedded CIDFontType2 descendant fonts missing a CIDToGIDMap entry. A Preflight font inventory (All tools > Use print production > Preflight > Options > Create inventory) lists composite fonts; the flagged dictionaries are the descendant CIDFonts of Type 0 fonts.
  2. Prefer re-exporting the document from its authoring application with a current PDF exporter - modern font subsetters always write a CIDToGIDMap entry for CIDFontType2 fonts.
  3. If re-export is not possible, the descendant CIDFont dictionary was written incompletely by the producing application, and the only reliable fix is regenerating the file from its source with a compliant export pipeline; a compliant producer sets CIDToGIDMap to the name Identity when CIDs equal glyph indices, the normal case for subset fonts using Identity-H or Identity-V encoding.
  4. If CIDs do not equal glyph indices, a compliant file instead embeds a CIDToGIDMap stream: 2 bytes per CID, big-endian glyph index, derived from the original font's character-to-glyph mapping - again something only the producing application's export writes correctly.
  5. Do not look for an Acrobat menu for this edit - Acrobat Pro cannot add the entry through any UI; use Acrobat only to visually verify that text still renders correctly after the fix.

Verify: Re-run the EQChecker advanced scan and confirm FONT_CIDTOGIDMAP reports zero errors. Visually confirm no glyphs changed and text copy still works.

Note: Only embedded CIDFontType2 (TrueType-based) descendant fonts need this entry; CIDFontType0 (CFF-based) fonts are out of scope. For virtually all Identity-H subset fonts written by modern tools, the name Identity is the correct value.

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.3.2 CIDToGIDMap