CID fonts are powerful tools for handling complex typography, but their structure makes them prone to mapping errors when passed between different software systems. When you encounter a PDF with generic fonts like F1, F2, F3, or F4 acting up, the goal is to the data—either by re-printing the file to flatten the fonts or using tools like Ghostscript to re-embed them properly.
Technical users, batch processing, servers.
These are often called "composite fonts" because they combine multiple components—a CIDFont resource and a CMap—to display complex text accurately across different operating systems. The Role of F1, F2, F3, and F4 The designations F1 through F4
gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \ -dCompatibilityLevel=1.7 \ -dPDFSETTINGS=/prepress \ -dSubsetFonts=false \ -dEmbedAllFonts=true \ -sOutputFile=repaired_catalog.pdf \ broken_catalog.pdf
Manually map the CIDFont names to their closest visual match (e.g., Arial, Roboto, or Myriad Pro) using editing software. Adobe Acrobat, Illustrator
// iText 7 example - Force full CID embedding PdfFontFactory.FontEncodeing = PdfEncodings.IDENTITY_H font.setSubset(false);