Unicode and Embedded Fonts
To match the output from the browser, embed the same fonts in the exported PDF document.
The PDF standard fonts cover only the basic ASCII character set. To render Unicode characters and to match the output that is rendered by the browser, enable the embedding of fonts by obtaining and hosting the
.ttf files and declaring the URLs.
- The fonts that you use may require a separate license for their embedding in PDF documents.
- The system fonts that the browser uses to render the content on the screen are not available for embedding.
- All characters that you use must be present in the embedded font. For more information, refer to the section on font substitution.
Fonts load on demand which means that you can declare more fonts than you need and have no unnecessary data downloaded or parsed locally.
To define the fonts, use the
@font-face CSS declarations.
- The Kendo UI PDF generator supports only TrueType fonts that have a Unicode mapping.
- To ensure that the automatic font discovery works properly, verify that your CSS reside on the same domain as the web page.
If you declare no fonts, the PDF generator will fall back to the standard PDF fonts which support only ASCII characters.
The following table lists the standard PDF fonts—the font names in the right column are reserved and cannot be used as URLs to TrueType fonts with the
'serif' : 'Times-Roman', 'serif|bold' : 'Times-Bold', 'serif|italic' : 'Times-Italic', 'serif|bold|italic' : 'Times-BoldItalic', 'sans-serif' : 'Helvetica', 'sans-serif|bold' : 'Helvetica-Bold', 'sans-serif|italic' : 'Helvetica-Oblique', 'sans-serif|bold|italic' : 'Helvetica-BoldOblique', 'monospace' : 'Courier', 'monospace|bold' : 'Courier-Bold', 'monospace|italic' : 'Courier-Oblique', 'monospace|bold|italic' : 'Courier-BoldOblique'
All characters (glyphs), which are not available in the set font are substituted by the browser with characters from a fallback font. The PDF Export module has no access to the information about these substitutions. As a result, the substituted characters are rendered as the default glyph which is typically a rectangle. To work around this limitation, use fonts that contain all characters that you use.