7.2 PostScript Printer Description Files

The PostScript Printer Description file format, defined by Adobe and extended by the Microsoft, provides the basis for external printer descriptions. This ASCII file contains one or more statements, each consisting of a keyword and associated values.

Each keyword defines a feature of the PostScript printer. The associated values specify whether the feature is available, or how the feature affects the operation of the printer. For example, the “*FileSystem” keyword specifies whether a printer supports fonts loaded on a hard drive. PPD files must be standard ASCII files with carriage return and line feed pairs terminating each line.

To ensure the best performance for a printer, the PPD file should be as complete as possible. Windows 3.1 has defined new PPD keywords that should be added to existing PPD files to create new WPD files. If these keywords are not added, the driver can still use the old WPD files, but it will assign default values to any keywords not explicitly defined.

The following provides descriptions of the PPD keywords.

Keyword Description

*ColorDevice Indicates whether the printer supports color.
*DefaultFont The name of the default font (that is, the font used if none is selected). This setting must appear before any “*Font” settings.
*DefaultInputSlot The default input slot.
*DefaultResolution The default resolution of the printer.
*Duplex PostScript commands to set duplex mode. This feature is new for Windows 3.1.
*FileSystem Reserved; do not use.
*Font The fonts resident in the printer.
*FreeVM Amount of free memory in standard printer configuration. This feature is new for Windows 3.1.
*ImageableArea The actual area that can be marked on for every paper size.
*InputSlot The PostScript code that is necessary to specify each input slot.
*ManualFeed False The PostScript code that is necessary to turn off manual feed. If present, it is assumed that manual feed is supported.
*ManualFeed True The PostScript code that is necessary to specify the manual feed operation. If present, it is assumed that manual feed is supported (and therefore PageRegion settings must be included).
*NickName The name that appears in the printer dialog box. It should be a unique description of the printer. This is also the name used for automatic printer recognition.
*PageRegion The PostScript code that is necessary to specify different page sizes when using manual feed.
*PageSize The PostScript code used to specify the different page sizes that are supported (when not in manual-feed mode).
*PaperDimension The size of all the used paper types. A Paper Dimension setting must be included for every size of paper supported. The sizes of the standard page types should be used. Only standard page types are recognized.
*SetResolution Used to determine the hardware resolution(s) supported. This feature is new for Windows 3.1.
*Transfer Normalized The normalized transfer function used to generate linear gray levels. This must be present. If none is required, include the nul function “{ }.”

The following is a list of PPD extensions.

Extension Description

*AcceptsTrueType: True or false. If true, TrueType fonts will be downloaded natively using readhexsfnt operator. This is selected through the download option in the Advanced Options dialog box. If false, TrueType will not be displayed as a selection. This feature is new for Windows 3.1.
*EndOfFile Indicates whether ^D is required to indicate the end of the file. This is true by default, and only needs to be included if this is false (that is, “*EndOfFile False”).
*SetPage True or false. If true, the PostScript driver allows a custom paper size to be defined. This is implemented through the use of the setpage operator. If your printer supports the setpage operator in the same manner as LinotronicÒ printers, you can use this option.
*TrueImageDevice: True or false. If true, the PostScript driver takes advantage of some optimizations available in TrueImageÔ. Currently there is very little difference in the output. This feature is new for Windows 3.1.

The following are the paper keywords used to show the paper sizes supported.

Keyword Description

10x14 10 x 14 inches physical size, oriented in portrait mode.
11x17 11 x 17 inches physical size, oriented in portrait mode. Can be used interchangeably with the keyword “Tabloid.”
A3 297 x 420 millimeters physical size, oriented in portrait mode. Refers to the International Standards Organization (ISO)/(JIS) A3 paper size.
A4 210 x 297 millimeters physical size, oriented in portrait mode.
A4Extra 9.27 x 12.69 inches physical size.
A4Small 210 x 297 millimeters physical size, but with a reduced-size imageable area of 7.47 x 10.85 inches that is centered on an A4 page. Supports the Adobe PostScript paper definitions.
A5 148 x 210 millimeters physical size, oriented in portrait mode.
B4 250 x 354 millimeters physical size, oriented in portrait mode. Refers to the Japanese Industrial Standard (JIS) B4 paper size.
B5 182 x 257 millimeters physical size, oriented in portrait mode.
Folio 8.5 x 13 inches physical size, but with a reduced-size imageable region, oriented in portrait mode and centered on the folio sheet. Supports the Adobe PostScript paper definitions.
Ledger 17 x 11 inches physical size, oriented in landscape mode (that is, the y-axis is on the shorter edge of the paper).
Legal 8.5 x 14 inches physical size, oriented in portrait mode.
LegalExtra 9.5 x 15 inches physical size.
Letter 8.5 x 11 inches physical size. Refers to the standard paper type.
LetterExtra 9.5 x 12 inches physical size.
LetterSmall 8.5 x 11 inches physical size, but with a reduced-size imageable region that is centered on the page. Supports the Adobe PostScript paper definitions.
Note 8.5 x 11 inches physical size, but with a reduced-size imageable region. This is used to reduce the size of the page buffer to give print jobs more memory.
Quarto 215 x 275 millimeters physical size, but with a reduced-size imageable region, oriented in portrait mode and centered on the quarto sheet.
Statement 5.5 x 8.5 inches physical size, oriented in portrait mode.
Tabloid 11 x 17 inches physical size, oriented in portrait or tabloid mode (that is, the y-axis is on the longer edge of the paper).
TabloidExtra 11.69 x 18 inches physical size.

For paper extensions, five standard envelope sizes are recognized. The two groups of numbers following the word Envelope indicate the size of the envelope in points (where each point equals 1/72 of an inch).

Extension Description

Envelope.279.639 #9 Envelope (3.875 x 8.875 inches)
Envelope.297.684 #10 Envelope (4.125 x 9.5 inches)
Envelope.324.747 #11 Envelope (4.5 x 10.375 inches)
Envelope.342.792 #12 Envelope (4.75 x 11 inches)
Envelope.360.828 #14 Envelope (5 x 11.5 inches)

The following are the paper tray and bin keywords used to show and specify the input slots supported.

Keyword Description

LargeCapacity This one can hold more than a standard amount of paper.
Lower If there is more than one tray, this one is on the bottom.
Middle This one is in the middle.
OnlyOne There is only one tray.
Upper If there is more than one tray, this one is on top.

The following list describes the paper tray extensions.

Extension Description

AutoSelect Printer can select automatically which feeder to use. This is followed by the code (or a nul command if no code is required) that is used to specify the autofeed mechanism.
Envelope There is an envelope feeder.
EnvelopeManual There is a manual envelope feeder.
None There are no input feeders. This is treated as being the same as OnlyOne.

The following keywords are required to support duplex printing.

Keyword Definition

*Duplex DuplexNoTumble: “statusdict begin false settumble true setduplexmode end”
*Duplex DuplexTumble: “statusdict begin true settumble true setduplexmode end”
*Duplex None: “statusdict begin false setduplexmode end”
*DefaultDuplex None

If the PPD with correct *Duplex settings is built with the Windows 3.1 MKPRN utility, the driver expands the Options dialog box to give user control of duplex settings.