Font management with printable reports

Ideally, reports should achieve a consistent look across all client platforms and all browsers. ColdFusion MX handles this automatically for graphics and images, using the size specifications in the report definition. However, potential differences in font availability across browsers, browser versions, languages, and platforms can affect the font display for your report. There are a variety of factors that you must understand to ensure consistent report display.

Embedded fonts

You can ensure consistent report display by embedding fonts. However, reports with embedded fonts have a larger file size.

Output format

The FlashPaper and PDF output formats handle embedded fonts differently.

FlashPaper FlashPaper always embeds fonts, which ensures that reports always display appropriately.

PDF PDF reports can optionally embed fonts, however, if your report doesn't use embedded fonts, you must ensure that the fonts are available on the client computers.

Font availability on the server computer and the client computer

ColdFusion MX has different requirements for rendering the fonts in a report, depending on where the fonts are located.

Server computer For all formats, the fonts used in a report must reside on the computer that runs ColdFusion MX. ColdFusion MX requires these fonts to render the report accurately. ColdFusion MX automatically locates Acrobat built-in fonts and fonts stored in typical font locations (such as the Windows\fonts directory). However, if your server has additional fonts installed in non-standard locations, you must register them with the ColdFusion MX Administrator so that the cfdocument and cfreport tags can locate and render PDF and FlashPaper reports.

Client computer If your PDF report does not embed fonts, the fonts reside on the client computer to ensure consistent report display.

Mapping logical fonts to physical fonts

If you are using Java logical fonts, such as serif, sans serif, or monospaced, ColdFusion MX maps these fonts to physical fonts using specifications in the cf_root/lib/cffont.properties file (on the multiserver or J2EE configuration, this is the cf_webapp_root/WEB-INF/cfusion/lib directory). You can modify these mappings, if necessary. Also, if you are using an operating system whose locale is not English, you can create a locale-specific mapping file by appending .java-locale-code to the filename. If ColdFusion MX detects that it is running on a non-English locale, it first checks for a cffont.properties.java-locale-code file. For example, on a computer that uses the Chinese locale, name the file cffont.properties.cn. For more information on Java locale codes, see the Sun website.

Tip: The ColdFusion MX install includes a cffont.properties.ja file for the Japanese locale.

This discussion applies to both cfdocument and cfreport. For more information, see Report Builder online Help.


View comments in LiveDocs