45. 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 illegible output, even if your
screen colors only use shades of gray.

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-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. It defaults to 8.5 points.

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’.