These cautions are not necessarily repeated in every relevant context throughout this manual. Read and understand them before you proceed.
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:
glyf
table in one way or another. Some depend on the font containing a
constant number of glyphs; others refer to glyphs by glyph number.
feat
table refers to information in the
mort
and name
tables, and may not work
if those tables are changed independently.
trak
table refers to information in the
name
table. Users may not be able to access tracking
if the name
table is changed independently.
bdat
and bloc
tables work
together to support embedded bitmaps, and must be maintained
together.
just
, kern
, mort
,
and opbd
tables depend (to varying extents) on the
TrueEdit source tables.
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.
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.
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.
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.