[fa.laser-lovers] Interpress and Postscript

laser-lovers@uw-beaver (02/07/85)

From: Mendelson.es@XEROX.ARPA


[The following response from Jerry Mendelson is aimed at clarifying a
number of questions and issues that have been raised about Interpress
and PostScript as a result of recent messsages on the Arpanet.  Jerry
Mendelson is one of the principals responsible for the transition of
Interpress from a research project to the Xerox standard. -AKB]

HISTORY OF INTERPRESS

Interpress began as a research effort within PARC.  Xerox perceived
the need for the development of a universal method for describing the
content of a printed page in a manner that was printer-independent.
The research effort produced a result that encompassed far more than
the then current needs of the Xerox printing community.  We refer to
that total language produced by our research efforts as Research
Interpress, and since Interpress is extensible, the effort to develop
the language further, continues on.  When a significant portion of the
language had been proven, a stabilized subset of Research Interpress,
called Interpress 82, was extracted and established as a Xerox
Standard.  Since that time additional portions of Research Interpress
have been stabilized and moved into the Xerox Interpress Standard in a
number of carefully phased extensions.  The current published version
is designated as Interpress 2.1.  These upward extensions of the
language into the published standard will continue to be made as the
need arises, after they are fully tested and proven in the research
environment.

SIMILARITIES AND DIFFERENCES, INTERPRESS AND POSTSCRIPT

Rob Warnock (no relation to John Warnock of Adobe Systems) raised the
question:

"1. My understanding is that both Adobe's PostScript and Xerox's
Interpress are "document construction languages", rather than just
"print formats".  Could someone comment on the similarities and
differences between them?"

Xerox's encourages its research staff to publish papers about their
work.  Two of the key personnel responsible for the development of the
Interpress language left Xerox and formed Adobe Systems. It is our
understanding that some of the development of PostScript is based on the
work that was published. 

A comparison shows many similarities between the two languages.  Both
Interpress and PostScript are document construction languages.  Both
are device independent.  Both are stack oriented, and use postfix
notation.  Both are transmitted in byte streams that are designed to
be easily created and/or parsed and interpreted in one-pass processes.
Both contain imager state variables that are manipulated by the
language.  Both use an identical transformation mechanism, and both
employ that mechanism in the same fashion.  Many of the operators of
the two languages are identical, and are identically named.

There are several major and significant differences.  Here are a few.  

Interpress is constructed so that page independence is guaranteed.  A
reference frame, called the PageFrame, that contains the constructs that
are global to a document is created at the beginning of the document,
e.g. the PageFrame contains fonts or procedures that are used throughout
the document.  The PageFrame is made available to every page.  Nothing
else that is unique to a page is permitted to influence the description
of any other page.  Each page described by Interpress utility routines
to construct documents made from pieces of other documents without
having to know the content of those documents, and without having to
parse and/or execute their way through those documents to determine the
execution state that exists at the beginning of any particular page.
PostScript does not provide this capability.

Interpress provides a CORRECT operator that enables the printer to
rejustify text whenever the creator's values for font widths do not
match the printer's values.  This typically occurs when font
substitution must be made or when a document has been retrieved from
archives, and font parameters have drifted from what they were at the
time the document was created.

Interpress is printer production oriented.  It is designed for high
speed and high performance interpretation.  It  contains an encoding
mechanism that permits a tremendous compaction in the content of a
transmitted document.  Utility routines provide for translation between
the verbose text form and the compact transmission encoding so that
human interpretation capability is available when desired. PostScript
does not provide such an encoding.

We believe that one major advantage with Interpress is that it has
been designed as part of a complete systems architecture, it works on
a variety of printers from the slowest to the fastest, and it has been
running ion our products since 1981.  It was made publicly available
in April, 1984 after its development was stabilized.  We provide an
open architecture, consistent with the ISO Open Systems
Interconnection Reference model.

CONVERSION BETWEEN INTERPRESS AND POSTSCRIPT

Here's a second question raised by Rob Warnock: 

"2. Are they "mutually translatable", that is, will it be possible (and/or
   feasible) to convert one to the other (either one way or both ways)?
   If someone were to do both (for some strange reason), which should be
   the "base" format and which converted from that base?"
 
We have not analyzed the relationships between the two languages
sufficiently to give a definitive answer to this question, but it
appears that it should be possible to translate from one to the other.
A first impression is that Interpress contains somewhat higher level
constructs than  PostScript.  PostScript is the more basic of the two
languages.  As such it will probably be easier to represent higher level
Interpress constructs as PostScript procedures than it will be to
represent lower level PostScript operators as Interpress composed
operators.

DOCUMENTATION

Here's a comment on Rob's third point:
 
"3. I have just begun studying the Interpress Electronic Printing Standard
   and the other documents (2-3 inches of them) you get when you plop down
   your $250.00 to Xerox for the Interpress Architecture set."

The Interpress Printing Architecture includes more than Interpress, it
is a complete architecture including Standard Character Codes for all
character sets (including Japanese, graphics, etc.),, Printing
Protocol (how you instruct printers to print multiple sets, collated,
stapled, 1-sided or 2-sided, etc.), Clearinghouse (resource locator or
directory), Authentication (security in network system), as well as
the XNS communications protocols and Courier (Remote Procerdure Call
Protocol).

INTERPRESS USE IN PRODUCTS

Finally, Rob asks the following question:

"4. [Speculation:] Does Xerox actually USE Interpress in any products
yet, or do they still use some version of the "Empress" format (not to
be confused with Imagen's "Impress"... or is it?)? ...and if
Interpress is not real yet, is it likely to be supplanted by
PostScript within Xerox?"
 
There have been incorrect rumors that Xerox does not use Interpress.
All of our current network workstation and printer products (including
8040 series, 5700, 8700 and 9700) not only use Interpress, but the
complete Xerox Network Systems Architecture which includes the
Interpress Printing Architecture. 

Now if the question were to be interpreted as "Does Xerox have any
Printers that implement the full Interpress 2.1 specification?", the
answer currently is no.  For example, the 8044 and 5700 field versions
do not print compressed binary images, and the 9700/8700 does not
print complex Star graphics at present (these situations are being
rectified). Full Interpress implementation may only be in a few future
printers since the Interpress 2.1 definition includes color operators
(as it should), and few printers are full color printers.  However, we
do currently send Interpress subsets from a wide variety of Xerox (and
non-Xerox) sources to Xerox Laser printers.  The Interpress standard
defines two specific standard subsets, the Text Subset and the
Reference Subset (which includes text, binary pixel arrays, and vector
graphics).

The following which describes the current Xerox Network System
capabilities is a relatively complete answer to Rob's question " Does
Xerox actually USE Interpress in any products yet?"

Xerox offers a wide range of over 20 products, including workstations,
printers, and graphic input devices, that work together as part of Xerox
Network Systems (XNS) using Interpress.  The XNS print server products
include the 8040 series, and the 5700, the 8700 and the 9700 Print
Servers.   Additional XNS output elements include the Facsimile Print
Service which enables printing and communications for the TC 495
Facsimile product.
 
The XNS workstation products generating Interpress include the 820-II
Personal Computer, the 860 Information Processing System, the 16/8
Professional Computer, the 8010 Star Workstation, the  8012 Multilingual
Star, the 8014 workstation with the Versatec Expert1000 series CAD/CAM
appplications software, the 8080 J-starII Series Workstation (from Fuji
Xerox), and the 1108 Artificial Intelligence workstation. For Graphics
input, the XNS products include the 150 Graphics Input Station and the
Kurzweil 4000 Intelligent Scanning System for ICR (Intelligent Character
Recognition) applications.  The Xerox Development Environment (XDE) on
the 8010 series has been made available to the Universities since last
year.  The Memorywriter has a network printing function using Interpress
via the Interactive terminal Service.

Software and hardware is also available from Xerox to enable the IBM
PC and the DEC VAX/VMS to become a part of XNS and use the XNS
services (which uses Interpress for Printing). As the Ethernet and the
XNS protocols, including the Interpress Printing Architecture have
been made publicly available, a number of other companies have also
adopted these standards and provide products that are capable of
generating or accepting Interpress, and working as part of Xerox
Network Systems.