Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site uw-beaver
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!houxm!vax135!cornell!
uw-beaver!laser-lovers
From: laser-lovers@uw-beaver
Newsgroups: fa.laser-lovers
Subject: LaserWriter and PostScript
Message-ID: <626@uw-beaver>
Date: Mon, 28-Jan-85 20:38:20 EST
Article-I.D.: uw-beave.626
Posted: Mon Jan 28 20:38:20 1985
Date-Received: Wed, 30-Jan-85 05:26:32 EST
Sender: daemon@uw-beaver
Organization: U of Washington Computer Science
Lines: 139

From: adobe!taft (Ed Taft) <adobe!t...@su-shasta.arpa>

It is very gratifying to see the interest that has been generated among
laser-lovers by the announcement of the Apple LaserWriter (as well as
PostScript support for the Allied Linotronic 300 and Linotron 101
typesetters and beta-test delivery of the QMS 1200A PostScript printer).
Naturally, we at Adobe Systems want to disseminate as much information
as we can about these printers and about PostScript.

However, Adobe is a small company; we don't have the resources to
devote to detailed discussions (technical or otherwise) via net mail.
Furthermore, since laser-lovers is distributed via the Arpanet, we
are obligated not to discuss product plans or to promote products in
this forum.

Adobe's participation in laser-lovers discussions, therefore, will be
limited to answering technical questions that are of general interest.
Periodically (probably not more than once a week), I or some other member
of Adobe's technical staff will respond to technical questions that have
accumulated, concentrating on those that can't easily be answered by
consulting the PostScript Language Manual. We won't respond to
discussions about the relative merits of printer products.

While I am on the subject of documentation, I should mention that the
PostScript Language Manual, PostScript Cookbook, and Adobe font
information (about 300 pages total) can be had by sending $30 to:

	Anne Brown
	Adobe Systems, Inc.
	1870 Embarcadero Rd.
	Palo Alto, CA 94303

This documentation applies to all PostScript printers and does not
include any information about the LaserWriter specifically. Apple will
be selling a package called "Inside LaserWriter" that includes both
the PostScript documentation and some additional information about
the LaserWriter, AppleTalk protocols, and some other things
(including a Mac diskette with various goodies). This can be ordered
by sending $75 to:

	Apple Computer
	467 Saratoga Ave.
	San Jose, CA 95129

I'm told that this will be available in about two weeks.
(California residents should be sure to add sales tax.)

Now for some responses to issues that have arisen in the laser-lovers
discussions to date. In general, the information in Brian Reid's and
Richard Furuta's messages has been quite accurate. I would like to
elaborate on two topics: fonts and images.

The conventional wisdom has long been that you can't produce
high-quality characters at 300 bpi without bit tuning. Adobe has
developed algorithms for automatic font scan conversion that, in our
opinion, render the conventional wisdom obsolete. The results speak for
themselves. Unfortunately, I can't discuss these algorithms because
they are proprietary.

The algorithms can be tuned to match the properties of different
printing engines, such as the Canon engine in the LaserWriter versus
the Xerox engine in the QMS 1200A. That is, a given character outline
is converted into slightly different bitmaps on these two machines,
even though their resolutions are the same.

Adobe's fonts are uniformly scaled; no attempt is made to adjust the
type style when going from one size to another. Our resident
typographer (Sumner Stone) tells me that the practice of designing
different typefaces for different sizes, while very common in the days
of metal type, has largely fallen into disuse with the introduction of
phototypesetters. A major exception to this is use of "display"
typefaces for headlines, posters, and the like; as far as PostScript is
concerned, these are entirely different fonts. The main algorithmic
transformation in common use is anamorphic scaling, i.e., scaling by
different amounts in x and y. Anamorphic scaling of arbitrary graphical
objects, including characters, is supported in PostScript; and nothing
precludes the possibility of defining fonts that select different
descriptions for different sizes. However, none of these things is
done automatically for any of the standard fonts.

PostScript will give perfectly coordinated results among printers of
all resolutions, because the font metrics are represented as
floating point numbers that are resolution-independent. Maintaining
fidelity between display and printer, however, is a much more difficult
problem. At a minimum, one must have display fonts that are coordinated
with the printer fonts. (A set of coordinated Mac display fonts will be
sold with each LaserWriter.) For best results, one must use the
printer's resolution-independent metrics for making formatting
decisions such as breaking lines. Then, when placing text on the
display, one must keep track of the difference between display and
printer widths, and distribute this error in the white space between
words. The Mac graphics software does not work this way at present;
so the printed results are not always perfectly faithful to the
display.

Next, let's discuss images, of which bitmaps are a special case. The
general case is a gray-level sampled image at an arbitrary resolution.
PostScript can take such an image and render it on any resolution
device by means of halftoning. (The halftoning technique is entirely
under user control; but the default is a halftone screen appropriate
for the given printer and resolution.)

PostScript's imaging capability is intended primarily for use in
rendering gray-scale graphical objects and scanned images such as
photographs, and only secondarily for use in rendering
user-supplied device-resolution bitmaps. Nevertheless, it is possible
to define characters as bitmaps. For example, the Macintosh software
synthesizes bitmap characters for Mac display fonts that don't have any
printer equivalent. Needless to say, the results aren't as good as
those obtained from the Adobe outline fonts.

In general, PostScript is designed to work best when given high-level,
device-independent descriptions of the desired results. Consider, for
example, the MacDraw and MacPaint graphical models. In MacDraw, all
the graphical entities (characters, lines, ellipses, etc.) retain their
original identities. Printing a MacDraw document on a PostScript printer
involves simply generating a PostScript description of those entities,
which are then rendered at the full resolution of the printer. In
contrast, everything in MacPaint is immediately converted to a
display-resolution bitmap. Printing a MacPaint document requires
sending the entire bitmap as an image. Not only does this take a long
time, but the results are crude since they are still tied to Mac
display resolution. (Some interpolation or "bit smoothing" does take
place, but the improvement obtained is limited.)

Device independence is achieved at a cost. Producing high-quality
renditions of device-independent text, graphics, and images is
computationally very intensive. This is why PostScript printers such as
the LaserWriter must contain such a high-powered computer. Fortunately,
the programming language base enables users to take maximum advantage
of this power.

	Ed Taft
	Adobe Systems, Inc.

Notices:
  PostScript is a trademark of Adobe Systems, Inc.
  LaserWriter and AppleTalk are trademarks of Apple Computer, Inc.
  Linotronic and Linotron are trademarks of Allied Corporation

Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site uw-beaver
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxb!houxm!vax135!cornell!
uw-beaver!laser-lovers
From: laser-lovers@uw-beaver
Newsgroups: fa.laser-lovers
Subject: PostScript update
Message-ID: <881@uw-beaver>
Date: Tue, 26-Feb-85 14:44:50 EST
Article-I.D.: uw-beave.881
Posted: Tue Feb 26 14:44:50 1985
Date-Received: Thu, 28-Feb-85 20:06:03 EST
Sender: daemon@uw-beaver
Organization: U of Washington Computer Science
Lines: 150

From: adobe!taft@Shasta (Ed Taft)

Here is some additional information about PostScript and about the
LaserWriter. As I said in my last message, Adobe will not participate
in laser-lovers discussions about the relative merits of competing
printer products, though we are glad to see such discussions take
place. However, we will respond to technical questions about PostScript
and about how it is being used. This message answers some questions
that have been raised about fixing bugs, TeX support, and font handling.

1. Fixing bugs

One person asked what plans Adobe has to fix bugs that are found in
released printer products such as the LaserWriter. This is really a
matter to be determined by the printer manufacturer rather than by
Adobe. We are continuing to develop and improve PostScript, and we are
naturally interested in seeing that the improvements be incorporated
into printer products. What this means in terms of firmware retrofits
to existing printers, I cannot say.

Actually, we already know about several bugs in the LaserWriter;
most of them are documented in the back of the LaserWriter Advanced
User's Supplement (part of "Inside LaserWriter"). In general, these
bugs are very obscure, and it's easy to avoid provoking them. To date,
we have not discovered any bugs that are serious enough to warrant a
firmware update in the near future. (We DO know of some serious bugs in
the QMS 1200A PostScript printer, now in beta test. These bugs will be
fixed before final product release.)

We have the capability to "patch" many parts of the PostScript
firmware, either by replacing two of the 16 ROM devices or by
downloading replacement code into RAM from a host. This capability
has already proven to be valuable: the entire package of AppleTalk
software was introduced as a "patch" after the main body of PostScript
had been frozen.

We anticipate introducing various new capabilities in the form of
programs that can be downloaded from a host. For example, we
are already providing an alternative error handler that reports
PostScript-level errors by printing a hardcopy page containing the
error information in addition to sending the information to the host.
This is included in both the "Inside LaserWriter" package and as part
of TranScript.

2. TeX support

We do not have the resources in-house to provide PostScript support for
TeX. However, we are providing technical assistance to a few parties
that have approached us about this. We prefer to let these outside
parties make their own announcements about plans and availability.

We expect that several flavors of TeX DVI to PostScript converters will
emerge, from quick and dirty "preview" schemes to more robust and
correct translations. At least one of these will support PostScript
"specials", so that raw PostScript can be included in a TeX document
for illustrations, scanned images, etc.

TeX font support presents more interesting issues and alternatives.
One possible solution is to teach TeX about Adobe's fonts (by building
TFM files for them). This should be fine for many text applications,
but the disparity between the character collections of the TeX and
PostScript symbol fonts would make the setting of mathematics difficult.

Another choice is to download TeX font bitmaps into a PostScript
printer. This presents the usual challenges of storage management, etc,
but should yield results familiar to users of TeX and TeX fonts on
other systems.

Eventually, Adobe hopes to offer outline descriptions of the
standard Metafont/TeX fonts. We believe that we can generate
acceptable outlines for a range of TeX fonts from high-resolution
raster data. We expect to do this for a number of design sizes to allay
the fears of Metafont enthusiasts. It will then be up to the TeX user
and the DVI to PostScript translator to determine which set(s) of
outlines to use.

Of course, all of these approaches could be used in combination: Adobe
Helvetica-Bold for chapter headings,  your favorite rasters for AMR10,
and an outline form of AMR for all the other sizes.

As an aside, I should mention that Unilogic has announced plans to
produce PostScript output from Scribe; and support for troff and
ditroff is included as part of the TranScript package that has already
been described in laser-lovers.

3. Font handling

In connection with discussions about font downloading, it's important
to understand a few things about how fonts work in PostScript. In
particular, it's important to distinguish between the font description
and the font cache.

A font description is a collection of PostScript programs and data
structures, organized in a particular way. It describes what the
characters of the font look like in terms of standard PostScript
graphical primitives (lines, curves, strokes, filled areas, images,
etc.) Fonts provided by Adobe use a proprietary encoding that is
compact and includes additional information that permits good-quality
rendition in small point sizes at medium resolutions. Nevertheless,
fonts themselves (whether Adobe-supplied or user-defined) are not
primitive objects, but are built up from more basic graphical primitives.

Though there are several different representations of fonts, the
only thing that is really special about a font is that it conforms to a
particular organization that is understood by PostScript's font
machinery. This permits various optimizations to be performed that do not
affect the appearance of the results but have a major effect on the
efficiency with which those results are produced.

The most important optimization is the font cache. This is a data
structure that (unlike the font description) is essentially invisible to
the PostScript programmer. When a particular character of a particular
font is to be imaged, the font machinery first checks to see whether
the bitmap for that character (at the correct size and orientation)
already exists in the cache; if so, it uses the bitmap. If not, it
executes the font description for the character, and stores the
resulting bitmap in the cache for subsequent use. Imaging a cached
character is typically 1000 times as fast as scan converting it from
an outline.

Font caching works regardless of whether a font description is built-in
or downloaded, and regardless of whether the description consists of
outlines, images (including device-resolution rasters), or whatever.
Cached bitmaps for built-in or permanently-installed fonts survive
from one print request to the next. In fact, idle time between print
requests is utilized to scan convert and cache a "standard" selection of
characters that may be specified at installation time.

A downloadable font description can be introduced into a PostScript
printer in one of two ways. It can be installed "permanently" (i.e.,
until the printer is next turned off); or it can be sent as part of an
individual print request. In the latter case, the font description
vanishes at the end of the print request, as do all other vestiges of
that request.

PostScript does not presently offer any mechanisms for automatic
management of font descriptions. In general, it is the responsibility
of spooling software to download fonts from a host and to determine
which fonts should be permanent and which should be downloaded with
individual print requests. For example, the TranScript package includes
a spooler with such a font management capability.

	Ed Taft
	Adobe Systems, Inc.

Notices:
  PostScript and TranScript are trademarks of Adobe Systems, Inc.
  LaserWriter is a trademark of Apple Computer, Inc.
  Scribe is a trademark of Unilogic, Ltd.
  TeX is a trademark of the American Mathematical Society.

Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site adobe.UUCP
Path: utzoo!linus!philabs!prls!amdimage!amdcad!decwrl!Glacier!adobe!shore
From: sh...@adobe.UUCP (Andrew Shore)
Newsgroups: net.micro.mac,net.books
Subject: PostScript books
Message-ID: <662@adobe.UUCP>
Date: Tue, 27-Aug-85 16:40:14 EDT
Article-I.D.: adobe.662
Posted: Tue Aug 27 16:40:14 1985
Date-Received: Fri, 30-Aug-85 00:34:07 EDT
Reply-To: sh...@adobe.UUCP (Andrew Shore)
Organization: Adobe Systems, Palo Alto
Lines: 61
Keywords: PostScript

Adobe Systems is pleased and proud to announce the publication of
two books on the PostScript language.

The "PostScript Language Reference Manual" (ISBN 0-201-10174-2), and
the "PostScript Language Tutorial and Cookbook" (ISBN 0-201-10179-3),
are published by Addison-Wesley Publishing Company of Reading, Mass.

PostScript, a device-independent page description language, is
quickly becoming the industry standard for printing high-quality
integrated text and graphics.  PostScript has been incorporated into
laser printers manufactured by Apple Computer, Allied Linotype, QMS
Incorporated, and Dataproducts Corporation.

PostScript Language Reference Manual
------------------------------------
This book is the complete definitive reference guide to the
PostScript language.  It begins with a discussion of the basic ideas
that underlie PostScript, followed by comprehensive presentations of
the language and its graphics and font facilities.  The precise
semantics of every PostScript operator is detailed in a convenient
dictionary-like format.  The manual concludes with four useful
appendices on the standard fonts, implementation limits, structuring
conventions, and the Apple LaserWriter.

The PostScript Language Reference Manual represents substantial
rewritting, reorganization, and additions to the information
previously available as the PostScript Language Manual.

The book is 336 pages, fully illustrated, and is available for $22.95.


PostScript Language Tutorial and Cookbook
-----------------------------------------
This book provides a thorough, clearly written guide to PostScript
that outlines the features and capabilities of the language and
shows practical ways to create useful PostScript programs.  Using
numerous annotated examples and short programs, the tutorial
provides a step-by-step guided tour of PostScript, highlighting
those qualities that make it such a unique and powerful language.
The cookbook offers a collection of some of the most useful
techniques and procedures available to PostScript programmers.

The book is 256 pages, fully illustrated, and is available for $16.95.


Both books were typeset entirely with PostScript (on the Linotype
Linotronic 300 and Linotron 101 respectively), with no paste-up of
any kind.  The books, utilizing a complex book design, were
formatted with the Scribe document production system and proofed on
an Apple LaserWriter before final typesetting of camera-ready
copy at Adobe Systems.

These books should be available in bookstores soon.  Most bookstores
will accept orders using the ISBN (International Standard Book
Number) codes given above.  Adobe Systems will discontinue
distribution of our older (3-hole bound) documentation, and begin
distribution of these new books at list price plus shipping and
handling.

-----
Adobe Systems Incorporated