Jump to content

Interpress

From Wikipedia, the free encyclopedia

Interpress is a page description language developed at Xerox PARC, based on the Forth programming language[1] and an earlier graphics language called JaM. PARC failed to commercialize it, so its creators, Chuck Geschke and John Warnock, founded Adobe Systems in 1982, and developed PostScript.[2] Interpress is used in some Xerox printers, notably the DocuTech Network Production Publisher, and is supported in Xerox Ventura Publisher. It also serves as the output format for PARC's InterScript, a rich text word processor. 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. As a device-independent format, it allows printing on various devices while preserving the intended layout.

Functional Sets

[edit]

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. To prevent inconsistencies, Interpress defines three standard function sets:[3]

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)
Interpress sets Commercial Publication Professional Graphics
Text 90° rotations 90° rotations all rotations
Graphics no clipping
filled rectangles
rectangular clipping
filled outlines
arbitrary clipping
filled outlines
Color solid/sampled black grayscale full color
Pixel binary arrays binary arrays grayscale arrays

Printing Instructions

[edit]

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

[edit]
Header "Interpress/Xerox/3.0 " --standard header--
{instructions} --device instructions--
BEGIN --start of master--
    {preamble} --preamble--
    {page 1} --first page--
    {page 2} --second page--
END --end of master--

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

[edit]

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

Header "Interpress/Xerox/3.0 " --header--
BEGIN --start of master--
  { --preamble start--
      Identifier "Xerox"
      Identifier "XC1-3-3"
      Identifier "Modern"
      3 MAKEVEC FINDFONT
      0.00635 SCALE --create an 18-point font--
      MODIFYFONT
      0 FSET --place in frame[0]
      Identifier "Xerox"
      Identifier "XC1-3-3"
      Identifier "Modern-Italic"
      3 MAKEVEC FINDFONT
      0.00635 SCALE --create an 18-point Italic font--
      MODIFYFONT
      1 FSET --place in frame[1]
  } --preamble end--
   
  { --page 1 start--
      0 SETFONT --set the font--
      0.05 0.25 SETXY --set position--
      String "Printing text in " --text to print--
      SHOW --push text to image--
      1 SETFONT --set the Italic font--
      String "Italics" --text to print in Italics--
      SHOW
  } --page end--
END --end of master--

References

[edit]
  1. ^ Harrington, Steven J.; Buckley, Robert R. (1988). Interpress, the source book. A Brady Book. p. 18. ISBN 0-13-475591-X.
  2. ^ "Charles Geschke: Cofounder, Adobe Systems", Founders at Work, Berkeley, CA: Apress, pp. 281–296, 2008, doi:10.1007/978-1-4302-1077-1_21, ISBN 978-1-4302-1078-8, retrieved 2025-03-06
  3. ^ Harrington & Buckley 1988, p. 411.
[edit]