CID font embedding for Unicode fonts

<< Click to Display Table of Contents >>

Navigation:  Reference > Project Configuration Settings > Publishing Options > Adobe PDF >

CID font embedding for Unicode fonts

The Embed CID Fonts option in Configuration > Publishing Options > Adobe PDF > Font Embedding is a rather esoteric technology that can reduce the size of your PDF and improve font rendering.

When you activate Embed CID Fonts the characters actually used in the project are embedded in the PDF file as "virtual" fonts, using a special internal format and CID (Character ID) encoding of the characters.

This only works with fonts that actually contain all the characters you need to display. If you select a normal western font like Trebuchet that does not contain the characters for the language you are using you will have problems. The text will automatically be rendered as graphical glyphs because the characters are not available, which will make your PDF files huge. Also, it will not be possible to select or copy text from the PDF, because it does not contain text, only graphics.

Effectively, this means that Embed CID Fonts only works with Unicode fonts that contain the full Unicode character set!

CID font embedding and Asian fonts

When you select CID font embedding for Asian fonts the PDF will generally look very good but you will usually not be able to select or search the text and the PDF file will be very large. This is because the characters are then rendered as glyphs (small graphics). In most cases, it is better to choose either TrueType or Type 3 embedding for Asian documents, particularly Asian documents that also contain text using the English alphabet. Type 3 embedding will usually produce the best results for such documents, even if you are not using Type 3 fonts in your project (Help+Manual embeds the fonts in Type 3 mode.)

Recommendations for CID font embedding

It is not really possible to provide more than a general rule of thumb for CID font embedding: It should usually be off for Asian languages, Russian and Greek, but it can provide better rendering and smaller PDF sizes for other languages. We can only suggest that you test your PDFs with CID on and off to see which is better for your specific needs.

PDF files much too large:
If your PDF files get massively larger with CID embedding switched on, that is a sure sign that the fonts you are using do not contain all the characters you need. This also means that these fonts will not actually be used even if CID is off: Then, Windows will perform font substitution and will replace your font with one that does contain the necessary characters.

Special Unicode characters:
If special characters are not rendering correctly this is also a sign that the font you are using does not contain all the necessary characters, and Windows font substitution is also failing to find them. The only way to really get all characters to render correctly is to use fonts that really contain all the characters you are using. Otherwise you will get oversized PDFs or incorrect rendering or both.

Why CID font embedding exists

Although Help+Manual can generate PDFs from projects written in Unicode-based languages, the Adobe PDF format does not actually support Unicode directly. This is because PDF is a universal format designed to be displayed on any computer running any operating system. If PDF files were encoded with Unicode they would not display on older operating systems like Windows 98 and Windows NT that have no Unicode support.

PDF files gets around this problem by using a different encoding internally that can map and represent all the Unicode characters. PDF currently supports two internal encoding formats for Unicode: double-byte characters (which are often mistakenly confused with Unicode) and "character ID" or CID.

When you use CID font embedding, PDF engine does not embed the entire font. Instead, it only embeds the characters that are actually used, storing them as a special PDF "virtual" font with character ID encoding. A single copy of each character in each size used is stored as a graphical glyph and it is then referenced in the text with the CID code that makes it possible to copy text and search in the PDF.

You might think that this would make it unnecessary to embed fonts not available on the user's computer in the PDF, but unfortunately this is not always the case.

See also:

International languages setup

Adobe PDF - Font Embedding (Configuration Options)