Cidfontf1 F2 F3 F4 F5 F6 Updated May 2026

Modern readers (Chrome’s PDFium, Mozilla’s pdf.js) have updated how they substitute missing cidfontf3 fonts. The new algorithm looks at /CIDSystemInfo more strictly, preventing incorrect glyph substitution (e.g., using Korean fonts for Chinese text).

In the world of digital printing, PDF generation, and high-end typography, few things cause as much confusion—and as many critical errors—as CIDFonts. If you have ever opened a PDF only to see blank boxes, missing characters, or error messages mentioning "cidfontf1," you have encountered a font mapping crisis.

This article provides a comprehensive, updated analysis of CIDFontF1, F2, F3, F4, F5, and F6—what they are, why they matter, how they have evolved, and how to troubleshoot the most common issues in 2025 and beyond.


CID-keyed fonts (CIDFonts) were created to handle large character sets—especially for East Asian languages—efficiently within PostScript and PDF workflows. This paper examines six CID font families (cidfontf1–cidfontf6), summarizes their historical design goals, and documents recent updates affecting encoding, compatibility, and performance. The aim is to provide a practical resource for font engineers, PDF tool developers, and typesetters. cidfontf1 f2 f3 f4 f5 f6 updated

Look for /ToUnicode or /CMap entries to ensure text extraction works correctly.


Use a tool like mutool info or pdf-parser.py:

mutool show pdf.pdf font

Run the following command (Ghostscript 10.03+): Modern readers (Chrome’s PDFium, Mozilla’s pdf

gs -sDEVICE=pdfwrite \
   -dCompatibilityLevel=1.7 \
   -sCIDFSubstPath=/path/to/fonts \
   -sCIDFSubstFont="NotoSansCJK-Regular" \
   -c "/CIDFontF1 /NotoSansCJK-Regular findfont definefont pop" \
   -f input.pdf -o output_fixed.pdf

Updated flag: -dPDFCIDSetSubstitution=true is now default.

| CIDFont tag | Typical meaning (old workflows) | Modern reality | |-------------|--------------------------------|----------------| | F1 | Primary font | Any font, first referenced | | F2 | Secondary / bold | Any font, second referenced | | F3 | Italic | Any font, third referenced | | F4 | Heading | Any font, fourth referenced | | F5 | Code/mono | Any font, fifth referenced | | F6 | Fallback | Any font, sixth referenced |

Key takeaway: Always dereference F1F6 to the actual /BaseFont name. CID-keyed fonts (CIDFonts) were created to handle large


Create a substitution table. Example for modern environments:

| Old Alias | Recommended Replacement (OpenType) | |-----------|-------------------------------------| | CIDFontF1 | NotoSansCJK-Regular.ttc | | CIDFontF2 | NotoSerifCJK-Regular.ttc | | CIDFontF3 | NotoSansMonoCJK-Regular.ttc | | CIDFontF4 | NotoSansCJK-Bold.ttc | | CIDFontF5 | NotoSerifCJK-Bold.ttc | | CIDFontF6 | NotoSansCJK-Symbols.ttc |