Cid Font F1 F2 F3 F4 – Premium
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \ -sOutputFile=output.pdf \ -dSubsetFonts=false \ -dEmbedAllFonts=true \ input.pdf List all fonts in a PDF, showing if they are CID and their internal names:
In the page’s /Resources: /Resources << /Font << /F1 10 0 R >> >> cid font f1 f2 f3 f4
In this extensive guide, we will dissect every aspect of the keyword —explaining what a CID font is, what the F1/F2/F3/F4 labels represent, how they are structured in PDF internals, common issues, and how to manage them effectively. Part 1: What is a CID Font? Before we can understand f1, f2, f3, f4 , we must first grasp the concept of a CID-keyed font . 1.1 The Origin of CID CID stands for Character Identifier . Traditional font encoding systems (like Type 1 or TrueType) were designed for languages with small character sets (e.g., Latin alphabet: 26 letters). However, languages like Japanese (Kanji), Traditional Chinese, and Korean have thousands of characters. Encoding each glyph directly would be inefficient. Encoding each glyph directly would be inefficient
8 0 obj << /Type /Font /Subtype /CIDFontType2 /BaseFont /MS-Gothic /CIDSystemInfo << /Registry (Adobe) /Ordering (Japan1) /Supplement 5 >> /FontDescriptor 9 0 R /DW 1000 >> endobj 10 0 obj << /Type /Font /Subtype /Type0 /BaseFont /MS-Gothic-H /Encoding /Identity-H /DescendantFonts [8 0 R] /ToUnicode 11 0 R >> endobj /F1 7 0 R % Here
Extract the font using tools like pdftops (Xpdf) or mutool extract . Re-embed the missing CID font or substitute it with a compatible one (e.g., using Ghostscript’s -dNOPLATFONTS ). 4.2 "CID font F2 has a missing /CIDSystemInfo" Cause: The font’s character collection definition is incomplete.
5 0 obj % Page object << /Type /Page /Contents 6 0 R /Resources << /Font << /F1 7 0 R % Here, F1 points to object 7 >> >> >> endobj 7 0 obj % The actual font object for F1 << /Type /Font /Subtype /Type0 % CID-keyed font container /BaseFont /AdobeMingStd-Light /Encoding /Identity-H % Horizontal writing, direct CID mapping /DescendantFonts [8 0 R] % Points to the CIDFont dictionary /ToUnicode 9 0 R % For text extraction >> endobj
Manually repair the PDF object using a binary-safe PDF editor or re-save from the original application. 4.3 "F3 uses Identity-H encoding but no ToUnicode CMap" Effect: Copy-pasting text from that font yields garbage characters.
