IPFE - Interpress File Editor
SYNOPSISipfe [ options ] infile [ pagerange ] ... [ infile [ pagerange ] ... ]
Options: [-l logfile ] [-dDiLqrRsSY ] [-a alias:actual [-a
alias:actual ] ...] [-b binding-offset:unit ] [-c chapterize-
count:unit ] [-o outfile ] [-p level:propfile ] [-S scale-factor ]
[-X X-offset:unit ] [-Y Y-offset:unit ]
IPFE performs editing functions on Interpress masters. It reads the
specified input Interpress files and writes the designated output
file(s). By using page ranges and other options, pagebodies in Inter‐
press masters may be concatenated, merged, split into several output
files (i.e., chapterized), etc.
Concatenation is accomplished by specifying more than one input master
with no pageranges.
Page selection and merging is accomplished by specifying more than one
master with a pagerange specification for at least one of the masters.
This accomplishes simple merging, such as pages 1, 2, and 4 of Master1
merged with pages 2, 4, and 5 of Master2.
In addition, a page from one master may be overlaid with pages from
other masters to create a single output page. The overlay pages may be
repositioned by specifying an xOffset and yOffset. In this manner,
graphics or images may be created as Interpress "pages" and then
merge/overlaid onto a text page of a different master, with an option
to reposition the images. See the infile [ pagerange ] discussion
below, following the options specifications, for syntax details.
The following options can be used with ipfe:
(Note: Any option with one or more arguments may be specified as
a single option, with no space between the switch and the
[first] argument, or as two options, with an unquoted space
between the switch and the [first] argument. If there is more
than one argument, they must be specified together as a single
option, separated by an [usually] optional colon. When the colon
is required, it is so indicated in the option description.)
(alias). If the -s option is specified, replace any SIF refer‐
ences matching the string alias with the string actual before
attempting to satisfy the SIF. The colon between alias and
actual is required. There may be spaces and colons in alias (if
there are spaces, alias itself must be quoted). However, there
must be no colons in actual, because IPFE searches from the end
of actual to find the colon separating alias and actual. There
may be multiple -a options. However, if there is no -s option
specified, none of the alias options has any effect. If there
is a match on any alias, and the corresponding file actual is
not found or there is some error, the original SIF reference,
alias, is preserved, unless the -r option is also specified. In
the latter case, the SIF reference is removed.
(binding offset). Shift the image offset units in the x-direc‐
tion, where unit may be none (default centimeters), c (centime‐
ters), i (inches), p (points), or P(Picas). Offset may be a neg‐
ative value. If the -L option is also specified, the image shift
is in the y-direction.
(chapterize). If the size of the output file is larger than
count units, split the output file into multiple files. Chap‐
terization occurs only on page boundaries, every time count
units is reached [where unit may be p (pages), k (kilobytes), or
m (megabytes)], and there is no look-ahead. Therefore, if a byte
specification is used, the size of each output file may actually
be larger than count units. Output file names are generated by
appending "1", "2", etc. to the file extension of outfile. (Note
that this is in addition to the possibility of an integer being
appended to the output filename if no -o option is specified.)
-d (duplex). If the -b option (binding offset) is specified, apply
the offset for duplex (two-sided) printing of the output master.
That is, for odd-numbered pages, the offset is applied as speci‐
fied; for even-numbered pages, the negative of the offset is
applied. If there is no binding offset specified, the duplex
option has no effect.
Example: If there is a binding offset of 2P and the duplex
option is specified, odd-numbered pages are shifted 2 Picas to
the right, even-numbered pages 2 Picas to the left. If the bind‐
ing offset is -2P and duplex is specified, odd-numbered pages
are shifted 2 Picas to the left, even-numbered pages 2 Picas to
-D (Debug). If the -p option is specified, write to the properties
file the offset within the input stream of each skeleton-level
token, in addition to the properties information detailed in the
-p option. If there is no -p option specified, the Debug option
has no effect.
-i (insert SIF for overlay). Insert (create) a SIF reference for
any unresolvable overlays. (See the discussion on overlays in
the infile [ pagerange ] section below, following the options
specifications.) Note that if an overlay is unresolvable and the
overlay specification includes a pageNum greater than 1, no SIF
reference will be created, even if the -i option is specified.
(log). Open the file logfile and record a transcript of IPFE
actions, error reports, etc. The logfile is opened immediately
upon encountering the -l option in the command line. Therefore,
to record errors in the command line specification, the -l
option must be the first option specified. If no logfile is
specified, the default filename "ipfe.log" is used.
-L (Landscape). Rotate every output page 90 degrees counterclock‐
wise. IPFE automatically applies an x- and y-image shift to
preserve the upper left corner of the image. This option is
intended for printing text pages in a landscape orientation.
(output). Write the output Interpress master to the file out‐
file. If the -o outfile option is not specified, the following
algorithm determines the output filename (with one exception,
noted below): remove the extension from the filespec of the
first infile and append ".ip", as long as infilename.ip does not
already exist. If it does exist, then append "n.ip", where n is
the lowest integer that will not cause an existing file to be
Note: If the -p option is specified with no -o option, then the
properties file is written with no Interpress output master.
This allows you to get information about the input stream with‐
out the overhead of creating the Interpress output master.
(properties). Open the file propfile and write the following
information about the properties of each input master: the
skeleton structure and the number of blocks, pages, and sequen‐
ceInsertFile (SIF) references. If there is more than one input
file, the total number of blocks, pages, and SIF references are
also written. Level may be 0 (default) or 1 (verbose); if 1,
each valid pageBody and endpageBody token is indicated and num‐
bered. In addition, the -D (Debug) option causes the file posi‐
tion of each skeleton-level token to be written.
Note that the properties are an accounting of the input stream.
If the properties of the output stream are desired, it is neces‐
sary to execute a second invocation of ipfe on the output
file(s) with just the -p option specified.
-q (quiet). Don't write information and error messages to STDERR.
-r (remove SIFS). Remove sequenceInsertFile (SIF) references from
the input stream. If the -s option is also specified, the -s
option takes precedence, and a SIF reference is removed only if
it is either unresolvable or there is some error, such as an
-R (Rotate). Rotate every output page 90 degrees clockwise. IPFE
automatically applies an x- and y-image shift to preserve the
center point of the image. This option is intended for printing
an image created for a "landscape printer" in portrait orienta‐
-s (satisfy SIFS). Satisfy any sequenceInsertFile (SIF) references
encountered in the input stream. This entails replacing the SIF
reference with the actual tokens in the referenced file. The
algorithm used is dependent upon the SIF type as found in the
referenced file's header. If the referenced file is not found or
there is some error, such as an invalid header, the SIF refer‐
ence is preserved, unless the -r (remove SIF references) is also
specified. The Interpress filename alias mechanism is supported
via the -a option.
(Scale). Scale the image by scale-factor, which can have the
format 'n/d', where both n and d must be integers, or 'a.b'.
(xImageShift). Shift the image offset units in the x-direction,
where unit may be none (default centimeters), c (centimeters), i
(inches), p (points), or P(Picas). Offset may be a negative
value. The x-direction is independent of the -L and -R options
(i.e., the positive x-direction is still to the right as the
image is viewed, even if a rotation is applied).
(yImageShift). Shift the image offset units in the y-direction,
where unit may be none (default centimeters), c (centimeters), i
(inches), p (points), or P(Picas). Offset may be a negative
value. The y-direction is independent of the -L and -R options
(i.e., the positive y-direction is still up as the image is
viewed, even if a rotation is applied).
infile [ pagerange ]
Each infile may have a pagerange specification for selecting
pages from the infile to merge and/or overlay. The pagerange
specification must immediately follow the corresponding infile
specification to which it applies, as a separate option (i.e.,
it must not be quoted along with infile. For shell processing,
however, the pagerange specification itself may be quoted in
order to use the brackets and parentheses required by the syn‐
Note: In the syntax below, pageNum refers to a count of pageBod‐
ies (excluding the preamble) in the Interpress master, and does
not necessarily match the printed page numbers on the output
pages. See the references below for a definition and discussion
The syntax for the pagerange specification is given in the fol‐
lowing psuedo Backus-Naur Form:
pageRange ::= [pageSpec,...,endPageSpec]
pageSpec ::= pageNum | pageNum-pageNum |
endPageSpec ::= pageNum- | NULL
pageNum ::= integer
overlaySpec ::= overlayFileName | overlayFile‐
The syntax rules are:
1. The pageRange specification must begin with a left
bracket and end with a right bracket ("[pageRangeSpec]").
2. Pages are specified by an integer corresponding to a
pageBody count, in increasing order, through the master.
3. A minus ("-") indicates a page range.
Example: [4-6] includes pages 4 through 6.
4. A comma separates pages and page ranges.
Example: [4,6-9] includes pages 4 and 6 through 9.
5. A minus ("-") appearing after the final page specifica‐
tion includes all pages to the end of the master.
Example: [4,6,9-] includes pages 4, 6, and 9 through the
last page of the master.
6. Immediately following a page specification, a left/right
bracket pair may enclose a filename to indicate an over‐
lay ("[overlayfile]"). The overlay may be an Interpress
master or an Interpress fragment. If the overlay is an
Interpress master containing more than one page, and no
overlay pageNum is specified, IPFE uses page 1 for the
overlay. There may be more than one overlay specification
for a page specification, each enclosed in a left/right
bracket pair and immediately following one another.
Example: [4[pic1][pic2]] includes page 4 and overlays it
with pic1 and pic2.
7. Immediately following overlayfile in an overlay specifi‐
cation, a colon followed by an overlayPageNum selects a
page from overlayfile for the overlay ("[overlay‐
If overlayfile is an Interpress fragment, or overlayPa‐
geNum doesn't exist, the overlay specification is
Example: [4[pic1:2] includes page 4 and overlays it with
page 2 of pic1.
8. Within an overlay specification, a left/right parenthesis
pair may enclose a page offset to reposition the overlay
page ("[overlayfile(xOffset,yOffset)]" or "[overlay‐
The page offset has the form xOffset,yOffset and each
offset has the form value unit. The comma between the
offsets is required, and there must be no space between
value and unit. Unit is one of the following: none
(default centimeters), c (centimeters), i (inches), p
(points), P (Picas). The origin is the bottom left corner
of the page. The positive x-direction is to the right,
and the positive y-direction is up. X/y-directions may be
positive or negative.
Example: [4[pic1:2(2P,4P)][pic2(-3P,-1P)]] includes page
4 and overlays it with page 2 of pic1, offset 2 Picas to
the right and 4 Picas up, and pic2, offset 3 Picas to the
left and 1 Pica down.
Example of using a pagerange specification:
include page 1,
skip pages 2-3,
include pages 4-6,
skip pages 7-8,
include page 9 and overlay it with pic1 (with no offset),
include pages 10-11,
include page 12 and overlay it with page 2 of pic2 (off‐
set 2 Picas to the right and 4 Picas up) and pic3 (offset
4 Picas to the left and 2 Picas down),
skip pages 13-14,
include pages 15 through the end of the master.
Mark Rollins, Xerox Corporation, Webster Research Center, October 1985.
Interpress Electronic Printing Standard, Version 3.0, Xerox Corpora‐
tion, January 1986, XNSS 048601
Introduction to Interpress, Xerox Corporation, June 1983, XSIG 038404
The address for obtaining these documents is:
Printing Systems Administration Office
701 South Aviation Blvd.
El Segundo, CA 90245
IPFE assumes that SIF's and overlays are either valid Interpress frag‐
ments or Interpress masters containing a single BEGIN/END block. If an
Interpress master containing nested blocks is attempted to be used as
either a SIF or an overlay, the result may be unpredictable. The most
likely error would be the erroneous inclusion of one or more extraneous
4th Berkeley Distribution 6/16/86 IPFE(1)