This section applies only to X11/Motif, where the hardcopy API uses Postscript rather than native printing.
On Motif, CAPI uses its own printer definition files to keep information about printers. These files contain a few configuration settings, and the name of the PPD file if applicable (see PPD files for information about PPD files). When a user saves a printer configuration, the system writes such a file. Note that because the printer definition file contains the name of the PPD file, it must only be moved between machines with care: the PPD file must exist in the same path.
Printer definition files are loaded from directories in the value of *printer-search-path*.
To fully use the functionality of a Postscript printer on Motif, the system needs a Postscript Printer Description (PPD) file, which is a file in a standard format defined by Adobe. It describes the options the printer has and how to control them.
When a print dialog is presented to the user (either by an explicit call to print-dialog, or by printing), the system uses the PPD file to find what additional options to present, and how to communicate them to the printer.
A PPD file should be supplied by the manufacturer with the printer itself. Otherwise, it is normally possible to obtain the PPD file from the website of the manufacturer. The name of a PPD file should be printername.ppd.
When the user configures a new printer, the first thing the system does is to show the user all the PPD files that it can find under the *ppd-directory* (directly, or one level of directories below it). The application should set this variable to the appropriate directory.
If the value of *ppd-directory* is nil
, the system looks at the directory obtained by evaluating (sys:lispworks-dir "postscript/ppd")
.
If the printer does not have a PPD file, the user can still use it by selecting the default button in the print dialog. This means that the system will let the user change only the basic properties of the printer, without using its more complex features.
On Motif, printers can be added, removed and configured interactively via printer-configuration-dialog. Printers can be added and removed programmatically with install-postscript-printer and uninstall-postscript-printer.
CAPI User Guide and Reference Manual (Unix version) - 3 Aug 2017