Interpress

Interpress is a page description language developed at Xerox PARC, based on the Forth programming language and an earlier graphics language called JaM. PARC was unable to commercialize Interpress. Two of its creators, Chuck Geschke and John Warnock, left Xerox, formed Adobe Systems, and produced a similar language called PostScript. Interpress is used in some Xerox printers most notable was the DocuTech Network Production Publisher, and is supported in Xerox Ventura Publisher. Interpress is also used as the output format for PARC's InterScript system, which is an editable word processor format for rich text documents. Interpress describes the desired or ideal appearance of a document that has been completely composed by some other process (emitter). All line ending, hyphenation, and line justification decisions, and in fact all decisions about the shapes and positions of the images, are made before creating the master. Since Interpress describes a document in a device-independent manner, a master can be printed on a variety of devices, each of which renders its best approximation to the ideal represented by the master.

Functional Sets
Interpress is so extensive, some printer manufacturers may prefer to support only a part of it, perhaps to reduce development time and cost or to improve performance. Recognizing this and also the potential for chaos if every printer were to implement a different portion of the language, Interpress was designed to have defined three standard function sets:


 * Commercial Set
 * designed for text and form-printing applications, such as might be required in a data center using basic text or scanned images.


 * Publication Set
 * includes all the Commercial Set plus curved lines, filled outlines, rectangular clipping, synthetic graphics, and gray-level color capabilities.


 * Professional Graphics Set
 * consist of all of the imaging facilities (types, literals, and operators of the base language), full-color encoding, and Printing Instructions (which were expanded by Ernest L. Legg)

Printing Instructions
This feature set allows the ability to instruct the printer which media to use (paper size, type, color), number of copies, sides printed on as well as finishing actions such as stapling. These instructions are optional and their operation is dependent on the printer capability.

Example
A more complex structure would include Nested Blocks and CONTENTINSTRUCTIONS, a token used to distinguish content-instructions bodies from page bodies. In general, the content instructions are given precedence over the document instructions. Nested Blocks {BEGIN..END} allow for constructing large documents out of smaller ones.

Fonts
These are definitions that often found in the preamble since they usually apply to the entire document.