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-boxcreatordatedatadata PostScript driver option, as one of the strings
Clean7Bit, Clean8Bit, or Binary.
orientationPortrait or
Landscape.
userLOGNAME or, if that fails, the result of the
C library function getlogin(). Defaults to nobody.
hostgethostname(). Defaults to
nowhere.
prop-fontfixed-fontscale-factor1.0. Note that this is also passed as an argument to the BP
macro.
paper-lengthpaper-widthleft-margintop-margintitlesource-fileAny other questions about the PostScript prologue can best be answered by examining the default prologue or the PSPP source.