Most PostScript files that are generated mechanically by programs consist of two parts: a prologue and a body. The prologue is generally a collection of boilerplate. Only the body differs greatly between two outputs from the same program.
This is also the strategy used in the PSPP PostScript driver. In general, the prologue supplied with PSPP will be more than sufficient. In this case, you will not need to read the rest of this section. However, hackers might want to know more. Read on, if you fall into this category.
The prologue is dumped into the output stream essentially unmodified. However, two actions are performed on its lines. First, certain lines may be omitted as specified in the prologue file itself. Second, variables are substituted.
The following lines are omitted:
!!!
).
!eps
, if the PostScript driver is producing
ordinary PostScript output. Otherwise an EPS file is being produced,
and the line is included in the output, although everything following
!eps
is deleted.
!ps
, if the PostScript driver is producing EPS
output. Otherwise, ordinary PostScript is being produced, and the line
is included in the output, although everything following !ps
is
deleted.
The following are the variables that are substituted. Only the variables listed are substituted; environment variables are not. See Environment substitutions.
bounding-box
creator
date
data
data
PostScript driver option, as one of the strings
Clean7Bit, Clean8Bit, or Binary.
orientation
Portrait
or
Landscape
.
user
LOGNAME
or, if that fails, the result of the
C library function getlogin()
. Defaults to nobody.
host
gethostname()
. Defaults to
nowhere.
prop-font
fixed-font
scale-factor
1.0
. Note that this is also passed as an argument to the BP
macro.
paper-length
paper-width
left-margin
top-margin
title
source-file
Any other questions about the PostScript prologue can best be answered by examining the default prologue or the PSPP source.