QuickDraw brings fundamental changes to the way we work with text. QuickDraw GX makes creating special typographic effects and working with all fonts easy. It gives you precise control over the appearance of all fonts in a document. Functions you would find in a high-end page layout program are now available in all GX-savvy programs. While GX-savvy fonts allow you to create all sorts of special effects using things like rare ligatures, fractions, kerning, tracking, etc, QuickDraw GX brings superior line layout to all fonts.
QuickDraw GX - equal font citizenship
QuickDraw GX has a unified, extensible architecture for dealing with fonts - all fonts are equal citizens under GX. You don't need a GX-savvy font to take advantage of QuickDraw GX. If you have your own proprietary font format that you would rather use in preference to TrueType or Type 1, then you can implement a "font scaler" plug-in component (eg : ATM) that understands this format, and this will give GX the ability to deal with your fonts.
You must prepare, or enable, PostScript Type 1 fonts to function under GX. When you install QuickDraw GX, it automatically enables you Type 1 Fonts, and places the originals a folder called Archived Type 1 Fonts in the root level of the System Folder. Should you add PostScript Type 1 fonts after GX is installed, you will need to enable them for use with GX with Type 1 Enabler, a font converter program that comes with GX. It allows you to prepare Type 1 fonts for use with QuickDraw GX.
Why do you still need Adobe Type Manager after you've prepared your fonts for GX ? Because ATM provides the handling for Type 1 fonts -- it's not built into GX. That's also why you need the GX version of ATM -- to fit into the plug-in GX font architecture. Now instead of having to worry about two separate files for Type 1 fonts, you only have one.
You may also make your fonts more GX-savvy with a program called GXifier. Written by Dave Opstad of Apple, this program allows you to automatically access existing features in a font (like ligatures) without having to type any special key combinations. While not creating any new ligatures or glyphs, once you process your font with the GXifier, it allows you to access some of the features found in fonts specifically created for use with GX. GXifier only works on TrueType fonts for now, though the author is planning on adding support for PostScript Type 1 fonts fairly soon.
Extended character sets
Many of the major font foundries have developed GX-specific fonts. These special fonts allow you to really take advantage of QuickDraw GX's advanced typography functions. These fonts, called GX fonts or "Plus" fonts, may offer multiple extended character and glyph sets that in the case of PostScript fonts, you would normally have to purchase separately(eg: Old Style Face, Small Caps, and Alternate).
A GX font can have up to 65,000 glyphs and may also have multiple character set encodings. A character set encoding can have up to 65,000 characters (eg : Kanji, Unicode). Note the difference between "characters" and "glyphs." A character is a conceptual thing, like the letter "A." A glyph is a graphic that appears on the output device; normally each character is represented by a single glyph, but GX allows you to do things like use special ligature glyphs to represent character combinations (like "fl"), or use alternate sets of glyphs (eg: small caps) for the same characters.
Automatic glyph substitution
With a GX typography compatible application, QuickDraw GX automatically takes care of things like kerning, justification, glyph substitution as you type. It adjusts itself as you make changes to existing type and the text you type. In the case of special glyphs like ligatures, swash characters, fractions, with a GX-enhanced font, GX inserts the proper glyph depending on the context of the word and the actual letter on the line of type.
In a non GX-savvy application, in order to produce a ligature (ex : fi, fl, etc.), you would hit a combination of keys on the keyboard. The resulting character comprises the different letters in the ligature, but remains one character, just like the letter "a" is one character, hard-coded into the document.
QuickDraw GX however does glyph substitutions, not character substitutions. Depending upon the settings you have, as you type in a GX-savvy application, QuickDraw GX will produce ligatures based upon the relationships among the different letters. On screen this will look like a single, joined character, but it remains entirely editable. Contrary to a hard-coded ligature, you may place the cursor within the ligature, and change it by editing the letters.
In this example, the type settings are set so that the letter "y" in the middle of a sentence or the middle of a word would have little or no flourish, while a "y" at the end of a sentence will have a nice big swash (like in the example with a .gif file conveniently lifted from Dave Opstad's GX pages :-). You don't have to change anything to produce the different ligatures/flourishes. GX takes care of changing them as you type.
Like MultipleMaster fonts from Adobe, you can also play with the weight and width of GX fonts, allowing a near infinite number of combinations. Contrary to MultipleMaster fonts, where you must create a specific screen font weight outside of the application, with GX fonts you can type your text and make changes to the weight and width automatically, right in your document. One nice thing is that MultipleMaster fonts continue to work under QuickDraw GX. You may even do your resizing directly in the document, instead of creating separate screen fonts as you normally would.
QuickDraw GX and WorldScript
(Note : This section is adapted from an e-mail conversation with Dave Opstad, the Lead Engineer for Line Layout of Apple's GX Engineering team.)
What is the relationship between WorldScript and GX's Line Layout manager? Does Line Layout take care of some of the same things WorldScript does ? Can one necessarily assume that a GX-savvy type application supports WorldScript ? If it doesn't, does one get all of the same benefits (ie : interchanging of different scripts in the same document) ?
There are two answers to this: the current world, and the Brave New World
In the current world, GX deals with rendering and editing, while WorldScript
deals with these issues as well as many others (input methods, sorting,
linebreaking, keyboard management, etc.) An application like Ready, Set, Go! GX (Manhattan Graphics' GX-savvy page-layout program) uses WorldScript to do non-rendering things, and uses GX to do rendering things.
In WorldScript, the glyph repertoire for a given script is pretty much fixed, and constrained (at least in the one-byte scripts) to 256 rendering forms. GX, of course, has no such restriction, and thus is capable of richer typography.
This will be quite different in Copland. There, WorldScript goes away as a separate INIT, its functionality having been subsumed into the rest of the system. QuickDraw and GX will both use a common layout path, thus making at least some of GX's rich text model available to non-GX applications. Of course, GX will still be around, and will be much faster and a lot less memory-intensive.
More GX typography information
I have put online a document based on a mini-manual that comes with upgrades of Pixar's Typestry application. Entitled GX Font Feature Registry at www.info.apple.com (a sub-page of the official GX pages at Apple).
The October 1994 issue of MacWorld features an article on QuickDraw GX Fonts. Inside QuickDraw GX Fonts is an informative article on GX fonts and what makes them tick.