Typography
Volume Number: 5
Issue Number: 10
Column Tag: Developer's Notes
Related Info: Font Manager
New Typographic Frontier 
By Frank Alviani, Waukegan, IL
Apple’s New Typographic Universe
At the 1989 Developers’ Conference, Apple revealed an entirely new typographic
universe to 1500 eager supporters. The combination of a new font technology, a
greatly enhanced line layout manager, and an entirely new printer driver architecture
promises to make the Macintosh the premier machine for print-oriented graphics, and
open new opportunities for Macintosh developers. The three features are closely
related and need to be discussed together to understand the full impact.
Why Outline Fonts?
The two great advantages of outline fonts are the ability to display them nicely at
any point size, and their compactness when compared to a reasonably large set of
bitmaps. For example, the full set of bitmaps for the (exceptionally nice) Clairvaux
font occupies over 200K, while the outline description is estimated to average
40-60K. They are not magic, however - just a shorthand method for describing
bitmaps.
Ultimately, all raster devices actually use bitmaps to place the characters of a
font into an image; it doesn’t matter whether you’re talking about a 2540 dpi
Linotronic imagesetter or a 72 dpi 128K Macintosh. What outline fonts provide is an
efficient way to generate a bitmap of a specified character at an arbitrary size that can
then be saved and used whenever needed. The “quality” of an outline font system
depends on two factors:
1) The quality of the generated bitmap. If the bitmap generated by the process is
not visually appealing, nothing else matters.
2) The speed of the generation process. If it takes forever to create a bitmap of a
character, who would use that process?
The process of generating a bitmap consists, for both the Apple and Postscript
systems, of two basic parts: creating the basic bitmap, and making any small
adjustments necessary for the best appearance at small point sizes. Creating the
bitmap from an outline description can be visualized as drawing the outline over a
grid of small squares, and filling in all the squares that fall at least partially within
the outline.
If you carried out this little exercise, you were probably bo thered by some of the
effects of filling in squares that only partially fell within the outline. This
demonstrates the problems encountered with small type on machines with relatively
low resolution (large pixels). Small point sizes are a problem for all systems simply
because:
1) With low resolution and small point sizes, a single pixel occupies a significant
percentage of an image. Therefore, it is important to make sure every pixel is
optimally placed.
2) “The jaggies” are unavoidable, but a visual decision on where a pixel looks best
sometimes differs from a purely mathematical decision. Naturally, this conflict
is more significant when there are only a few pixels to play with.
3) While the idealized pixel is generally square, real world pixels never are,
whether you are dealing with a CRT or a LaserWriter imaging drum. This means
that corrections must be made to account for the visual effects of the actual pixel
shapes on the equipment being used. There are two basic shapes of “real” pixels:
The reason for the different shapes is that in reality all pixels tend to be convex;
however, when convex white pixels are drawn over black to define a black pixel, the
black pixel is left with concave edges.
One of the major advantages of the Apple outline font system from the artist’s
viewpoint is that the entire “hinting” language needed to make the bitmap adjustments
is precisely defined in complete detail; this is in contrast to the undocumented system
used by Adobe, which has historically given them a small but important advantage over
their competitors in image quality. The features included in the hinting language were
chosen to include all the features used by the major type foundries, thus making the
conversion of fonts by those type foundries to the Apple format as accurate as possible.
The result should be a steady flow of very high quality fonts once System 7.0 is in
place. In fact, Apple has been working with most of the major type foundries in
developing their system.
Another result of Apple’s decision to publish the complete specifications of its
outline font system is that we can expect to see one or more font editors enter the
market that will allow the artist to completely specify the hinting required for the
best possible quality at small point sizes. This levels the playing field and places the
competitive emphasis on artistic ability rather than secret technology, which will be
to everyone’s benefit in the long run.
Apple’s font descriptions, using quadratic splines, are designed to be simple
enough that it is reasonable to use them for interactive displays such as the Macintosh
itself; the original Postscript model (which uses Bezier curves - a more complex
equation form) is oriented towards printing engines. The fundamental approach is to
generate the required bitmaps for an entire size when first requested and cache them;
thus, the overhead is only incurred once. Once the bitmaps have been built, the
Macintosh text operations are exactly as fast as when using the “old” fonts. “Old
style” fonts are completely compatible with the new system. This means that you won’t
need to throw out all those nifty display fonts you already have when you install
What’s so important about the new Line Layout Manager?
While the new font manager provides very precise control of the shape of letters,
the new line layout manager provides some very powerful and impressive capabilities
in conjunction with the new font descriptions. One of the primary goals of this manager
is to work together with the Text Edit package, using information provided in the font
descriptions, to greatly enhance the line layout facilities available to the developer and
user. The preliminary description handed out at the Developers’ Conference noted that
many of the features of the Layout Manager, while optional in English and other
roman-script languages, are mandatory for acceptable text display in many other
languages.
There are two basic types of features implemented in the Layout Manager:
Positional features, and Non-positional features. As you probably have deduced from
the names, the positional features affect horizontal and vertical positioning of
characters, while non-positional features primarily affect character shaping. The
distinction will become clearer when I list some of the individual items in each group.
Positional Features. These include the types of manipulations traditionally
considered part of “fine typography”, such as
• Kerning: This is the most basic positional manipulation. It involves moving a pair
of characters (such as T-y) closer together to improve the appearance of the
text. When “negative kerning” is done it is often termed letterspacing.
• Optical alignment: This is the adjustment of positioning so that margins are
optically correct. The problem arises because of the space surrounding a
character that is part of it’s definition.
• Hanging punctuation: Punctuation marks are often placed “outside” the margins
since they are optically small so that the optical flushness of the margins looks
better. A line ending with a period, for example, seems to be visually slightly
ragged.
• Justification and centering: Just what they sound like.
Non-positional features. These are features that concentrate on refining the
shape of letters, primarily in response to the immediate context for each letter. Many
of these features were difficult to implement, to say the least, with a traditional
typesetting system. A partial list of these features includes:
• Ligaturing: This is the combination of two letters into a single graphic, and was
traditionally done both for more compact layout and for a more elegant
appearance. Common ligatures include “æ”, “”, etc.
• Contextual forms: As the name suggests, this is a technique for shaping a letter to
look best in a very specific context. For example, a capital ‘L’ with a long low
horizontal stroke that goes under the succeeding character is very attractive as
long as the succeeding character doesn’t have a descender. With contextual
reforming, the Layout Manager can chose a non-underlining form if the
succeeding character has a descender. For example:
• Applied marks: These are typically various forms of accents, such as the tilde (~)
or accent (‘). There are various styles of positioning these.
• Reordering of graphics: In certain non-roman languages, such as Sanskrit, the
order of characters is dominated by their shape, so that the visible order of
certain character combinations may not correspond to their logical order. This
reordering, fortunately, follows firm rules and not artistic whim.
It should be emphasized that the modifications that can be applied by the Layout
Manager happen fast enough to be very real-time. Many of the features of the Layout
Manager are specified in the font description, so that the type artist can have precise
control over contextual reformatting, for example, which is automatically applied
without any intervention by the application.
Certain Text Edit functions are now better carried out by the Layout Manager. In
particular, these include the text measuring and caret management functions, which
are very dependent on the higher precision supported. Highlighting can now be
non-rectangular and non-contiguous, for example. As in FullWrite, a caret in italic
text is slanted at the proper angle, which actually serves to make placement much
easier.
The combination of the new font descriptions and the power of the Layout Manager
gives the Mac user the power to create text with every typographic refinement
available to the traditional typesetter, and then some. Up until now, however,
everything I’ve talked about seems to have been limited to the screen - so what good
does it do when the ink hits the paper?
The New Printing Architecture - Getting It All Down in Black and White.
And other colors as well, of course... Printer drivers have always been one of the
sore spots in the Macintosh architecture, being extremely difficult to write well and
tending towards instability. Apple’s stated goals for System 7.0 required that the
entire internal design approach for these drivers be changed. As a result, the new
drivers are totally new code, with considerable advantages.
The new driver structure is explicitly layered into: (1) An I/O layer specialized
for a number of device types, (2) A “Food Processor” layer that handles the bulk of
the work of dicing, slicing, and chopping the user’s requests into device-specific byte
streams, and (3) A specification layer, making up about 10% of a driver, that is
actually written by the driver author to describe the hardware-dependent aspects of
the device and thus convert generic requests by the user into specific calls to the food
processor, where the actual conversions take place.
As shown in the diagram, there are several different devices supported. According
to an experienced printer-driver author I spoke to, driving a film recorder is actually
the most difficult, due to extremely stringent timing constraints. Perhaps the most
interesting from a marketing viewpoint is the “R.I.P.” - the Raster Image Processor
that forms the heart of the modern typesetter, or imagesetter. While it was firmly
stated that Apple would never license the technology at the core of the image creation
process, a Mac II-class machine with an EtherNet card would be very viable as the
heart of a relatively low-price high resolution typesetter that could very effectively
compete with a Postscript typesetter. I don’t expect that it will take too long for such a
device to appear on the market
Unlike the previous structure, the new printer manager is explicitly designed to
simplify the task of writing output drivers as much as possible. The authors claimed at
the Developers’ Conference that the average time to create a printer driver would
decrease from months to days, and that they had created several test drivers in less
than a day.
The motivation for the support of 3rd party devices is simple: Apple has decided
that support for the widest possible variety of printers, plotters, etc. is necessary to
make the Mac the printing platform of choice. As conclusive evidence of this, they
revealed that the “print shop” is now committed to actively supporting everyone who
wishes to make a Mac-compatible printer - even though they believe that the
LaserWriter will lose market share as a result.
There are a number of additional major enhancements to the printing capabilities
of the Mac. Among the more important ones are:
• The ability to redirect spooled output after before printing. This means that if a
particular LaserWriter turns out to be extremely busy, you can send a waiting
document to another printer without having to reprint it. For this alone, most
people would be ecstatic.
• The ability to redirect a printed document to a printer of a different type without
having to reprint it, and without having the layout recalculated. This may require
some cooperation on the part of the application authors; the basic idea is the the
application will output both a “final” quality and a “draft” quality version at the
same time; the draft quality component will use the layout information for the
final quality portion. This means that you can choose a LaserWriter for the final
output device, but send the document to an ImageWriter II and get an accurate idea
of the final appearance.
• The ability to keep a spooled document after it’s been printed, so that munged
pages could be reprinted if necessary.
• Further off in the future (post-System 7.0), support for high-volume remote
printing stations that would include multiple output queues (so you could just say
“Use the 1st available LaserWriter” rather than having to explicitly pick one),
good status reporting, and other features designed to work in an environment
such as many large offices.
• Greatly redesigned user-interfaces for the printer dialogs, allowing you to
choose a printer from a printer dialog, set a custom page size for a job, and
support multiple page types in a single job (such as a #10 envelope and legal
paper), among other things.
From the viewpoint of an application developer, there were several critical
matters that are being handled properly in the new approach. First, the application’s
interface to the printer drivers is structurally identical to the way matters work
today, although routine names have been changed to protect the innocent. This means -
hopefully - that a simple conversion will be all that’s needed to become printing
compatible with System 7.0. Secondly, recognizing that the new functionality is too
radically different from that in pre-System 7.0 systems, Apple is making no attempt
to make the new drivers work in older systems - which means that past mistakes are
not going to be anchors on the new drivers. The downside is that no existing drivers
will work under System 7.0, but changing printer drivers is a fairly trivial matter.
Finally, the print shop claimed the new drivers are noticeably faster than the older
drivers - which cheered everybody.
Perhaps the most important fact was that the print samples shown were of
uniformly excellent quality. I once worked for a typesetter manufacturer, and the
output I saw at the Developers’ Conference was on a par with “real” typesetters.
What’s ahead in the future?
As if all these developments weren’t enough, a little information about future
developments leaked out - just enough to tantalize. The Remote Printing Stations were
fairly explicitly described, but we were cautioned that they wouldn’t be ready in time
for System 7.0. It was stated that the new font system will support rotated text, but
that the current implementation of Quickdraw couldn’ handle it. And finally, somebody
in development was overhead mentioning that the resolution-independent version of
Quickdraw would support the rotated text, but that an implementation compatible with
existing applications was proving difficult and was “a ways off”.
So much for my Robert Cringely imitation; now back to reality
What do these developments actually mean?
The most important outcome from these new developments is that finally a single
imaging model will be usable on everything from the Mac screen to a high-resolution
imagesetter, eliminating the mis-matches that now make WYSIWYG really mean
“What You See Is Almost What You Get”. This gives Apple a dramatic advantage over
competing machines, where there are always differences between the screen and
hardcopy graphic models, with the ensuing annoyances.
From the users’ viewpoint, the most noticeable immediate change will be that the
quality of text on the screen is going to improve dramatically. This should make the
Mac even more competitive against the MS-DOS machines. Once the user starts
printing documents, the new speed and flexibility should be very pleasing.
It should be emphasized that your Postscript fonts and printers don’t become
instantly obsolete with System 7.0. The Postscript drivers are intelligent enough to
determine if you are using a resident font and to use that directly, rather than try to
stuff the Apple version of Courier into a PostScript printer.
Ultimately, we all win - better output and applications for the user, and a larger
market for the developer!