|Column Tag:||Developer's Notes
|Related Info: Font Manager
New Typographic Frontier
By Frank Alviani, Waukegan, IL
Apples 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 doesnt matter whether youre 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 bothered 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 artists 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 Apples 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 everyones benefit in the long run.
Apples 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 wont need to throw out all those nifty display fonts you already have when you install System 7.0
Whats 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 its 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 doesnt 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 Ive 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. Apples 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 users 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 dont 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 its 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 applications 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 thats 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.
Whats ahead in the future?
As if all these developments werent 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 wouldnt 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 dont 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!