|
|||||||||||||||
The
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tag | Meaning | Description | |||||
|---|---|---|---|---|---|---|---|
acnt
|
Accent attachment | Compact format for describing composite glyphs where the components are not transformed. | |||||
bdat
|
Bitmap data | Embedded bitmap data for multiple sizes and glyph ranges. | |||||
bloc
|
Bitmap location | Index to embedded bitmap data in bdat. |
|||||
bsln
|
Baseline | Values which specify alignment between layout runs, used for both inter-script alignment and single-script effects like drop capitals. | |||||
cmap
|
Character to index mapping | Language- and script-specific character-to-glyph mapping. | |||||
cvar
|
CVT variation | Changes to the 'cvt ' table so that instructions can work under GX style variations. | |||||
cvt
|
Control value | List of key values, such as stem weights, referred to by a font's instructions. | |||||
fdsc
|
Font descriptors | Font self-identification values used for font and style matching. | |||||
feat
|
Feature name | Organization of glyph effects into user-visible features, and pointers to their names. | |||||
fmtx
|
Font metrics | Basic metrics information in control-point format, so it can be affected by instructions and style variations. | |||||
fpgm
|
Font program | Definitions of TrueType functions for use by a font's instructions. | |||||
fvar
|
Font variations | Directory to a font's GX style variation axes and instances. | |||||
glyf
|
Glyph data | Outline and instruction data for each glyph. | |||||
gvar
|
Glyph variations | Point position changes for each glyph under GX style variations. | |||||
hdmx
|
Horizontal device metrics | Cached integer metrics for specific pixel-per-em sizes (usually screen sizes). | |||||
head
|
Font header | Basic functional information for a font. | |||||
hhea
|
Horizontal header | Basic metrics and functional information for a horizontally-written font. | |||||
hmtx
|
Horizontal metrics | Left side bearing and advance width for each glyph (actual data, not a cache). | |||||
just
|
Justification | Justification classes, priorities, and actions for glyphs or ranges of glyphs. | |||||
kern
|
Kerning | Kerning data (context-specific glyph positioning). | |||||
lcar
|
Ligature caret | Insertion point information for glyphs composed of multiple characters. | |||||
loca
|
Index to location | Location of glyph data within the glyf table. |
|||||
maxp
|
Maximum profile | Basic information on the font's instructions and required system resources. | |||||
mort
|
Glyph metamorphosis | Glyph effects including contextual and non-contextual substitution, rearrangement, and ligature formation. | |||||
name
|
Name | Localized name strings for the font and its effects. | |||||
opbd
|
Optical bounds | Values for each glyph to improve optical alignment at the edges of text. | |||||
OS/2
|
OS/2 header | Information required for cross-platform compatibility. | |||||
post
|
PostScript | PostScript names for each glyph, for compatibility with PostScript output devices. | |||||
prep
|
Preprogram | Instructions executed once for each change in font size, transformation, or variation. | |||||
prop
|
Glyph properties | Unicode directionality class, reordering, and hanging properties for each glyph. | |||||
trak
|
Tracking | Tracks for size-dependent global adjustment of spacing. | |||||
vhea
|
Vertical header | Basic metrics and functional information for a vertically-written font. | |||||
vmtx
|
Vertical metrics | Top bearing and advance height for each glyph. | |||||
Each table within an sfnt provides a specific element of functionality to a font. Some
of the tables were defined with the original release of TrueType
in 1991, while others are new with QuickDraw GX.
In addition to Apple, developers of font tools, font formats,
and platforms have used the extensible nature of the sfnt to define their own proprietary tables.
A TrueType 1.0 font, also called a simple font, must contain the following nine basic tables for Macintosh compatibility:
Tag Meaning cmapCharacter to index mapping glyfGlyph data headFont header hheaHorizontal header hmtxHorizontal metrics locaIndex to location maxpMaximum profile nameName postPostScript
TrueType 1.0 defines four additional tables to be used for instruction data:
Tag Meaning cvtControl value fpgmFont program hdmxHorizontal device metrics prepPreprogram
These four tables are optional, and may be omitted if your font contains no instruction data.
TrueType GX defines 19 new tables which may be present in a font.
There is no strict definition of a TrueType GX font, except that it contains one or more of the tables defined for
GX. The GX tables can be divided into several groups, according
to what kinds of functionality they support. (This is not a strict
division, as some tables support several different kinds of GX
effects.)
Glyph effects are defined in two tables:
Tag Meaning featFeature name mortGlyph metamorphosis
Position effects require six tables:
Tag Meaning fmtxFont metrics justJustification kernKerning lcarLigature caret opbdOptical bounds trakTracking Seven tables are used primarily for language and script support:
Tag Meaning acntAccent attachment bdatBitmap data blocBitmap location bslnBaseline propGlyph properties vheaVertical header vmtxVertical metrics Style variations use three tables:
Tag Meaning cvarCVT variation fvarFont variations gvarGlyph variations The remaining two tables are used for font self-identification:
Tag Meaning fdscFont descriptors OS/2OS/2 Font tools
Because the table structure is so flexible, many font tools (including TrueEdit) define their own tables to store additional tool-specific information in an
sfntduring font development.
TrueEdit's tables are:
Tag Meaning clasGlyphs may be grouped together into named classes for ease of editing. This table contains those class names and associations. The clastable is not an officially defined TrueType GX table.TRnnTrueEdit source (where nn is a two-digit number). These tables are used by TrueEdit to store information about user choices for various editors. Details of the TrueEdit source table formats are included in Appendix C.
The Apple tool RoyalT defines the tablesedt0andedt1to store tool-specific information.
These tables contain no information relevant to the graphics system or to the end user, and only add to the font's size. Thus these tables should be stripped from a font before it is shipped to end users.
Keep a reference copy of the font with all tables intact, for use in later font development.
The sfnt format was originally developed for TrueType fonts on the Macintosh.
Since then, other sfnt tables have been defined for use with other platforms (such as
Windows) and other font formats (such as PostScript Type 1). For
more information, contact the developer of the platform or format.
Although, beginning with GX, PostScript Type 1 fonts for the Macintosh
are shipped in the sfnt format, TrueEdit does not support them. You may be able to open
the fonts and copy and paste tables between fonts, but you can't
do actual GX development work.
TrueEdit may prevent you from opening a font which contains Type 1 tables. If you do succeed in opening the font, you should expect TrueEdit to crash at any time.