With the PDF HandShake software you can use complete PDF documents in the printing business or in an OPI workflow. PDF documents - in contrast to images such as TIFF or Photoshop files - may already contain text elements using included or referenced fonts. So, with PDF HandShake, we have to find a way to read the font information from a given PDF file and to use this information for printing (and for layout generation if you use HELIOS ImageServer).
Paragraph
A 4.2 "What you have to know about fonts and PDF HandShake" gives some more background information about fonts, explains the problems that could arise, and illustrates the activities that are running on a PDF HandShake server when handling fonts. This chapter is meant for those who "want to learn more".
A 4.2 What you have to know about fonts and PDF HandShake
PDF HandShake can only use the fonts that are embedded in a given PDF document, or those that are available on the server or printer. For OPI layout generation, the fonts must be either embedded or accessible on the server.
Embedded/ non-embedded fonts
Whenever a font is embedded in a PDF file, it will be used by PDF HandShake. This is why we recommend to always embed all fonts when creating PDF files - at least if you are working on different systems.
The fonts we deliver together with our software package are meant to ensure high-quality printing for all PDF files, even for those that do only contain font references and thus are dependent on the available system fonts.
PostScript/ non-PostScript fonts
There are different categories of fonts, namely PostScript fonts and TrueType fonts. Even though PDF HandShake requires PostScript printers (which usually require PostScript fonts), the program can also handle TrueType fonts.
PostScript fonts are also divided into different categories. The most frequently used PostScript fonts are "Type 1" and "Type 3" fonts.
The handling of fonts during printing
PDF files with PostScript Type 1 or Type 3 fonts do not cause any problems. Printing can only fail if a font is not embedded
and is not available on the server or printer either. In that case, the print job will be aborted, or the printer will replace the missing font with
Courier.
PDF files with TrueType fonts are handled as follows:
If the TrueType font is embedded, PDF HandShake transforms the TrueType font into a PostScript Type 1 font and prints the PDF file correctly. The output quality can be enhanced if the printer has a built-in TrueType rasterizer (see
A 4.2 "What you have to know about fonts and PDF HandShake" below).
If the TrueType font is not embedded, PDF HandShake tries to find a corresponding PostScript font - one with the same name - on the system, and uses the PostScript font for printing.
For
ImageServer users only
With ImageServer, fonts are not only required for printing, but also for layout generation.
The generation of layouts should never fail for PDF files that contain PostScript Type 1, Type 3, or TrueType fonts. Non-embedded missing fonts will be replaced with
Courier for the screen preview part of the EPSF layout. The printable part of the layout only becomes relevant if you want to print the layouts instead of the high-res PDF files. In that case, fonts are handled the same way as if printing high-res files. This means that they might be replaced with
Courier (see
The handling of fonts during printing above).
To avoid font replacement during printing, you should always activate the
Check Fonts option on your printer queue (see the respective chapter in your ImageServer manual).
The PDF file format allows the following font types:
- PostScript:
- Type 1
- Instance of a multiple master Type 1 font
- Subset of a Type 1 font
- Type 3
- Type 0
- CIDFont Type 0
- CIDFont Type 2
- Non-PostScript:
- TrueType
- Subset of a TrueType font
Different font types and
font handling
Before discussing the different types of fonts - at least those that are allowed in PDF documents - we want to define some specific expressions that will be used later:
In bitmap fonts, the characters are represented by a pattern of pixels. Angled or curved character elements have a serrated shape that becomes more and more obvious when scaling a bitmap font. Therefore, to avoid heavy serrations, the character patterns have to be different for every point size. This would consume a lot of memory. So, bitmap fonts are not very well suited for digital printing.
In outline fonts, the shape of each character is described geometrically by lines and curves. Outline-format characters are infinitely scalable, and are therefore not limited to a particular point size. Nearly all font types we discuss below, are outline fonts. Type 3 fonts are the only exception; they can be either in bitmap or in outline format.
A 4.2.3
PostScript/Non-PostScript fonts
PostScript fonts are very successful in the printing business because each character of a font is handled like a graphical object. PostScript interpreters apply complex algorithms to the fonts and thus are able to transform them into a pixel pattern for a specific output device. TrueType fonts are non-PostScript fonts (see explanation below).
A 4.2.4
ATM (Adobe Type Manager)
If you use PostScript fonts for printing and want to have an exact representation on your monitor, you must use a software tool (PostScript interpreter or driver) that is able to transform the fonts into pixel patterns for your monitor. This is what the ATM software does.
Note: Mac OS X includes full support to display PostScript fonts accurately, and thus needs no ATM.
Type 0 is a "composite" font format. A composite font is composed of a high-level font that references multiple descendant fonts. Type 0 fonts, just like CID fonts, are mainly used for Asian language fonts and can be neglected here. PDF HandShake does not support Type 0 fonts.
Type 1 is the font format for single-byte Roman fonts for use with Adobe Type Manager software and with PostScript printers. Type 1 fonts use a specialized subset of the PostScript language which is optimized for better performance and a very compact representation. The Type 1 operator set includes so-called "hint information" which serves to create more accurate bitmaps for smaller sizes and lower resolutions. In general, Type 1 fonts guarantee the most accurate results on printouts and have therefore been standardized. All PostScript 3 fonts we deliver with our software package, are Type 1 fonts.
Type 3 fonts can use the full PostScript language to express a font. Thus, they can do some things that Type 1 fonts cannot do such as specify shading, color, and fill patterns. The drawback is that Type 3 fonts are not optimized for size or performance like Type 1 fonts are, and there is no built-in method for adding "hint information". Also, Type3 fonts cannot be used with Adobe Type Manager because the ATM software is not a full PostScript interpreter. Type 3 fonts look slightly bolder than they would if expressed as a Type 1 font. Type 3 fonts can be useful for special-purpose or very complex fonts (such as complex logos). The format also provides a way to represent bitmap characters.
TrueType fonts are rather wide-spread. Nevertheless, they can cause problems in the high-quality printing business because they are non-PostScript fonts. There are two possibilities of sending TrueType fonts to a PostScript printer: You can either transform the fonts into PostScript fonts, or make sure that your printer has a built-in TrueType rasterizer (software tool that is able to handle TrueType fonts - see explanation below). PDF HandShake transforms TrueType fonts in PDF documents into PostScript Type 1 fonts. The transformation is only an approximation, meaning that there will be a slight loss in quality. To allow high-quality printouts of files containing TrueType fonts, PDF HandShake sends both types of font to the printer; the TrueType font (transformed into Type 42 - see explanation below) and the self-generated Type 1 font.
A 4.2.9
TrueType rasterizer, Type 42 fonts
A Type 42 font is a TrueType font that is wrapped up in a PostScript language part. The TrueType font itself remains unchanged so that there is no loss in quality. A PostScript printer with a TrueType rasterizer can handle Type 42 fonts. You can check the PPD file you are currently using to find out whether a TrueType rasterizer is available. This is indicated by the following entry:
As mentioned above, if a file contains TrueType fonts, PDF HandShake sends both the self-generated Type 1 font and the Type 42 font to the printer. The Type 42 font is used automatically by printers with a built-in TrueType rasterizer.
A 4.2.10
Multiple master fonts
Multiple master font formats are considered extensions to the Type 1 format. Usually, one font file only contains one representation of a specific font as far as weight and width are concerned. For example: Font1-Light, Font1-Regular, Font1-Bold, Font1-CondensedLight, Font1-ExpandedLight, and so on. Multiple master fonts include two or more "master" fonts within a single font file. This allows users to interpolate many intermediate "instances" of the typeface. PDF HandShake does recognize multiple master fonts but cannot use them or transform them into a usable format. The only thing PDF HandShake can do is to try and find a PostScript Type 1 font of the same name on the server, or to replace the font with
Courier.
This format also is an extension of the Type 1 font format. Characters are still expressed using standard Type 1 operators, but the file organization is different; characters are accessed by Character ID (CID) instead of name lookup. CID fonts are mainly used by some applications, e.g. Adobe InDesign, and for fonts with large character sets such as Chinese, Japanese, and Korean (CJK) language fonts. PDF HandShake supports single-byte CID fonts which are embedded in the document.
PDF HandShake recognizes fonts in PDF documents by name. The naming conventions for fonts are not standardized for all font types and systems, meaning that even though a font is identical on two systems, the font names can be different. A PDF file, for example, can contain a reference to a font called "Times,Italic", whereas the corresponding font on the server is called "Times-Italic". PDF HandShake provides a mechanism that allows handling the different naming conventions. There are two searching strategies:
- The original font name from the document is used.
- Otherwise, if the font name used in the document contains a comma, the comma is replaced by a hyphen and the new font name is used. The comma-hyphen replacement is sensible for most of the documents coming from a Windows PC because in Windows (TrueType) font names the font attributes are often separated by a comma. In PostScript font names, there is no comma; font attributes are usually separated by a hyphen.
The tables below summarize how PDF HandShake deals with the different types of fonts. The first table describes the handling of fonts during printing, the second one describes the handling of fonts during OPI layout generation. The tables are followed by a flowchart (Fig.
A-11) which illustrates what exactly happens on the server and printer when a PDF file is being printed. Please note that the
Check Fonts option - which is mentioned in the tables and in the flowchart - is available to ImageServer users only.
|
|
|
|
|
Corresponding Type 1 font from the server or printer is used - if available. Otherwise, if the font is missing, there are two options:
If Check Fonts is active the job is aborted completely.
If Check Fonts is not active the handling of the job depends on the printer's default settings; the printer might use Courier, abort the job, or hold the job and deliver a warning.
|
|
|
|
Not relevant (Type 3 fonts are always embedded).
|
|
Font is transformed into Type 1. Both the Type 1 and the Type 42 font are sent to the printer. The Type 42 font is used if the printer has a built-in TrueType rasterizer.
|
|
PostScript font of the same name is used - if available on the server. Otherwise, - (see " Type 1 (included by reference)" above).
|
|
PostScript font of the same name is used - if available on the server (very unlikely). Otherwise, - (see " Type 1 (included by reference)" above).
|
|
PostScript font of the same name is used - if available on the server (very unlikely). Otherwise, - (see " Type 1 (included by reference)" above).
|
(embedded) / (included by reference)
|
|
(embedded) / (included by reference)
|
Single-byte fonts are supported.
|
|
|
(relevant for printing layouts)
|
|
|
|
Corresponding Type 1 font from the server is included - if available. Otherwise, Courier is used.
|
When printing layouts, the font is handled as described in the table above.
|
|
|
|
Irrelevant (Type 3 fonts are always embedded)
|
|
Font is transformed into Type 1. Type 1 font is used.
|
When printing layouts, the font is handled as described in the table above.
|
|
PostScript font of the same name is used - if available on the server. Otherwise, Courier is used.
|
When printing layouts, the font is handled as described in the table above.
|
|
PostScript font of the same name is used - if available on the server (very unlikely). Otherwise, Courier is used.
|
When printing layouts, the font is handled as described in the table above.
|
|
PostScript font of the same name is used - if available on the server (very unlikely). Otherwise, Courier is used.
|
When printing layouts, the font is handled as described in the table above.
|
(embedded) / (included by reference)
|
|
|
Single-byte fonts are supported
|
Fig. A-11: Font handling when printing a PDF file with OPI
|
Printer defaults can be different (Fig.
A-11 above). In most cases, printers use their default font if they receive a print job with missing fonts. For most printers the default font is
Courier. Usually, the printers deliver a message when they substitute a missing font.
Some devices abort incomplete jobs completely, or halt them and deliver a message so that you can install the missing font.