40.2 Variables for PostScript Hardcopy
All the PostScript hardcopy commands use the variables ps-lpr-command
and ps-lpr-switches
to specify how to print the output. ps-lpr-command
specifies the command name to run, ps-lpr-switches
specifies command line options to use, and ps-printer-name
specifies the printer. If you don’t set the first two variables yourself, they take their initial values from lpr-command
and lpr-switches
. If ps-printer-name
is nil
, printer-name
is used.
The variable ps-print-header
controls whether these commands add header lines to each page—set it to nil
to turn headers off.
If your printer doesn’t support colors, you should turn off color processing by setting ps-print-color-p
to nil
. By default, if the display supports colors, Emacs produces hardcopy output with color information; on black-and-white printers, colors are emulated with shades of gray. This might produce barely-readable or even illegible output, even if your screen colors only use shades of gray.
Alternatively, you can set ps-print-color-p
to black-white
to have colors display better on black/white printers. This works by using information in ps-black-white-faces
to express colors by customizable list of shades of gray, augmented by bold and italic face attributes.
By default, PostScript printing ignores the background colors of the faces, unless the variable ps-use-face-background
is non-nil
. This is to avoid unwanted interference with the zebra stripes and background image/text.
The variable ps-paper-type
specifies which size of paper to format for; legitimate values include a4
, a3
, a4small
, b4
, b5
, executive
, ledger
, legal
, letter
, letter-small
, statement
, tabloid
. The default is letter
. You can define additional paper sizes by changing the variable ps-page-dimensions-database
.
The variable ps-landscape-mode
specifies the orientation of printing on the page. The default is nil
, which stands for portrait mode. Any non-nil
value specifies landscape mode.
The variable ps-number-of-columns
specifies the number of columns; it takes effect in both landscape and portrait mode. The default is 1.
The variable ps-font-family
specifies which font family to use for printing ordinary text. Legitimate values include Courier
, Helvetica
, NewCenturySchlbk
, Palatino
and Times
. The variable ps-font-size
specifies the size of the font for ordinary text and defaults to 8.5 points. The value of ps-font-size
can also be a cons of 2 floats: one for landscape mode, the other for portrait mode.
Emacs supports more scripts and characters than a typical PostScript printer. Thus, some of the characters in your buffer might not be printable using the fonts built into your printer. You can augment the fonts supplied with the printer with those from the GNU Intlfonts package, or you can instruct Emacs to use Intlfonts exclusively. The variable ps-multibyte-buffer
controls this: the default value, nil
, is appropriate for printing ASCII and Latin-1 characters; a value of non-latin-printer
is for printers which have the fonts for ASCII, Latin-1, Japanese, and Korean characters built into them. A value of bdf-font
arranges for the BDF fonts from the Intlfonts package to be used for all characters. Finally, a value of bdf-font-except-latin
instructs the printer to use built-in fonts for ASCII and Latin-1 characters, and Intlfonts BDF fonts for the rest.
To be able to use the BDF fonts, Emacs needs to know where to find them. The variable bdf-directory-list
holds the list of directories where Emacs should look for the fonts; the default value includes a single directory /usr/local/share/emacs/fonts/bdf
.
Many other customization variables for these commands are defined and described in the Lisp files ps-print.el
and ps-mule.el
.