[fa.laser-lovers] LaserWriter and PostScript

laser-lovers@uw-beaver (01/29/85)

From: adobe!taft (Ed Taft) <adobe!taft@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