When a PostScript document contains a request for fonts not loaded on the printer, the download filter manages this request. The download filter uses PostScript document structuring conventions to determine which fonts to download.
LP print filters are either fast or slow. A fast filter quickly prepares a file for printing. Also, a fast filter must have access to the printer while the filter is processing. A slow filter takes longer to convert a file. However, a slow filter does not need to access the printer while the filter is processing. An example of a slow filter is a filter that converts an ASCII document to a PostScript document.
The download filter is a fast filter. This filter downloads fonts automatically if the fonts are on the print server. The download filter can also be used to send fonts to a print server. To do so, you can create a new filter table entry that calls the download filter as a slow filter by using the lp -y command. Alternatively, you can force selection of this filter by changing the input type.
The download filter performs five tasks:
The filter searches the PostScript document to determine which fonts are requested. These requests are documented with the following PostScript structuring comments: %%DocumentFonts: font1 font2 … in the header comments.
The download filter searches the list of printer-resident fonts to determine if the requested font must be downloaded.
If the font is not resident on the printer, the download filter searches the host-resident font directory table to determine if the requested font is available. This filter performs this search by getting the appropriate file name from the map.
If the font is available, the download filter takes the file for that font and appends it to the file to be printed.
The download filter sends the font definition file and the source file to the PostScript printer. The source file is the file to be printed.