BackContents


Cautions


TrueType GX fonts are not just typographic entities; they can be complex and powerful software. There are not strict rules and definitions for every single aspect of the font. As a result, the font development process may be very different from what you are used to.

This section introduces some general concerns and cautions for developing GX fonts, with TrueEdit or with any other tool.

[!]These cautions are not necessarily repeated in every relevant context throughout this manual. Read and understand them before you proceed.

Table interdependencies

Most of the tables in a TrueType GX sfnt operate independently of each other. It is important to understand a few exceptions to this rule. Table interdependencies in GX fonts include the following:

For instance, if you copy a mort table from one font to another you should also copy the feat table and certain TrueEdit source tables. If you don't copy the feat table, the glyph effects in the destination font may not work under QuickDraw GX, perhaps even crashing the application. If you don't copy the appropriate TrueEdit source tables, the glyph effects will not be editable by TrueEdit.

TrueEdit provides some simple automatic safeguards against these situations, but they are far from thorough. The best protection is to maintain a single working copy of the font throughout the development process, instead of trying to work on several aspects of the font independently and combine them later.

Font size

Using TrueEdit to create TrueType GX fonts means adding tables to an sfnt. Adding tables to a font inevitably increases its size and resource requirements. Although the GX table formats are designed to be compact, the additional glyphs and other information necessary to implement GX effects can dramatically increase the size of a font.

For development purposes, you may need more memory and disk space than for non-GX fonts. Much of the size increase comes from the TrueEdit source tables, which should be stripped before shipment, so the production version of the font will be much smaller than the development version. Nonetheless, a GX font may have also different distribution requirements than other fonts.

The size of a particular font depends on the nature and extent of its GX effects -- as well as the number of glyphs, the complexity of the design, the precision of the instructions, and other factors. It is impossible to provide any general guidelines for predicting the size of a font.

User experience

The new complexity and power of TrueType GX fonts bring to font development the traditional Macintosh concern with the user experience. The font's end user will see in menus and dialog boxes the same glyph and position effects you define in TrueEdit. How you organize and name these effects determines whether or not the font is easy and fun to use.

Before proceeding into GX font development, it is important to consider the audience and functional goals of your font. With QuickDraw GX, fonts approach the complexity of some traditional software applications, and a detailed investigation and planning phase could save you tremendous frustration later on.

Although this area of font development is hardly as complicated as it is for a major application, it still rewards serious consideration.

Development process

With GX more than ever before, font development is not a single-pass process. As often as possible you should review your work and correct any problems you see. It is quite possible that a late discovery may prompt major re-workings of the font. Conversely, poor decisions early on can constrain later development.

For these reasons, it is also important to take good notes on what you're doing. TrueEdit and most other font development tools operate graphically. While it can be very easy to implement an effect the first time around, without proper notes it can be equally difficult to return to that effect and make specific adjustments.

[!]Most importantly: before you begin developing your GX font, finish reading this manual.



BackContents


Arleigh Movitz (movitz@apple.com)
Dave Opstad (opstad@apple.com)
Kristian Walsh (walsh.k@euro.apple.com)