Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: Text /
Chapter 4 - Font Manager / Font Manager Reference
The Outline Font ('sfnt') Resource


The Font Naming Table

The font naming table, with a tag name of 'name', is shown in Figure 4-21. This table contains multilingual strings associated with the outline font resource. These strings can represent copyright notices, font names, style names, and so on, and each string is stored in a separate record with some information about what kind of string it is. You may want to provide this information in your application for the user, or you may want to use it to check one version of a font against another.

Figure 4-21 The naming table

The header component of the font naming table consists of the following elements:

Each name record contains information about the platform and language of the strings stored in the naming table.

The storage area at the end of the naming table contains the actual string data.

There is no length limit for the strings contained in a name record, but font designers should not include empty strings (of byte length 0). The Font Manager sorts the entries in the naming table first by platform identifier, next by platform-specific identifier, next by language identifier, and last by name identifier.

To keep the size of this table small, a font designer may make a limited set of name records in a small set of languages, because the font can be localized and the existing strings translated or new strings added. Other parts of the outline font resource that need these strings can refer to them by their index number, and applications that need a particular string can look it up by its platform identifier, language identifier, and font name identifier. Platform IDs are shown in Table 4-2, language identifiers are shown in Table 4-4, and font name identifiers are shown in Table 4-5.

TrueType outline fonts are available on other platforms besides the Macintosh computer, which is why the font designer must specify the platform. There are only four predefined platform identifiers, listed in Table 4-2, and they use values 0 through 3.
Platform identifiers
IDPlatformSpecific encoding
0UnicodeReserved (set to 0)
1MacintoshThe Script Manager code
2ISOISO encoding
3MicrosoftMicrosoft encoding
240-255User-definedReserved for all nonregistered platforms

When the platform used is the Macintosh computer, the platform-specific identifier names the specific script code for this name record. The script codes defined for the Macintosh system software are listed in the chapter "Script Manager" in this book.

The platform-specific identifier encodings for the ISO platform are listed in Table 4-3.
Table 4-3 ISO platform-specific identifiers
CodeISO encoding scheme
07-bit ASCII
1ISO 10646
2ISO 8859-1

The value of the language identifier specifies the language in which a particular
string is written. The language identifiers available on the Macintosh platform are
listed in Table 4-4.
Table 4-4 ISO language codes
CodeLanguageCodeLanguage
0English12Arabic
1French13Finnish
2German14Greek
3Italian15Icelandic
4Dutch16Maltese
5Swedish17Turkish
6Spanish18Yugoslavian
7Danish19Chinese
8Portuguese20Urdu
9Norwegian21Hindi
10Hebrew22Thai
11Japanese  

The font name identifier values, listed in Table 4-5, contain the strings with information about the font.
Table 4-5 Font name identifiers (Continued)
CodeMeaningDescription
0Copyright noticeThe copyright notice of the font--for example, "Copyright Apple Computer, Inc. 1992"
1Font family nameThe font family name, such as "New York"
2Font styleThe style of the font, such as "Bold"
3Font identificationA unique identification string for the font--for example, "Apple Computer New York Bold version 1.0"
4Full font nameThe font family name combined with the font style name--for example, "New York Bold"
5Version stringThe version of the font, or when it was created--for example, "August 10, 1991, 1.08d21"
6PostScript name of the fontA name of this font that the PostScript printer driver can recognize--for example, "Times-Bold"
7TrademarkThe trademark notice of the designer
8DesignerCorporate name of the designer

The full font name for a font family, given in string 4 of Table 4-5, is most often the same as the family name, given in string 1. The default style for a family or the only font in a family should have "Regular" in the font style string. (Font designers use the term "Regular" to denote the plain style for a font, so as to reflect typographic terminology more accurately.) One exception, based on historical convention, is when the full name of a font includes the word "Roman" (e.g. Times Roman). In all other cases, the full name should be made up of the family name and the style name, as in Bookman Bold.

The unique font identification consists of the designer's name, followed by a space serving as a separator, followed by the full name of the font. For example, though there might be many Symbol fonts, the name "Apple Computer Symbol" is unique. The use of unique names allows applications to determine if the current system software has the fonts used in the original document.


Previous Book Contents Book Index Next

© Apple Computer, Inc.
6 JUL 1996