name - Naming Table

The naming table allows multilingual strings to be associated with the OpenType font file. These strings can represent copyright notices, font names, family names, style names, and so on. To keep this table short, the font manufacturer may wish to make a limited set of entries in some small set of languages; later, the font can be "localized" and the strings translated or added. Other parts of the OpenType font file that require these strings can then refer to them simply by their index number. Clients that need a particular string can look it up by its platform ID, character encoding ID, language ID and name ID. Note that some platforms may require single byte character strings, while others may require double byte strings.

For historical reasons, some applications which install fonts perform version control using values in the Mac 'name' table. Because of this, we strongly recommend that a Mac 'name' table exist in all fonts and that the syntax of the version number (name id 5) follows the guidelines given in this document.

The Naming Table is organized as follows:
TypeDescription
USHORTFormat selector (=0).
USHORTNumber of NameRecords that follow n.
USHORTOffset to start of string storage (from start of table).
n NameRecords The NameRecords.
(Variable)Storage for the actual string data.
  

Each NameRecord looks like this:
Type Description
USHORTPlatform ID.
USHORTPlatform-specific encoding ID.
USHORTLanguage ID.
USHORTName ID.
USHORTString length (in bytes).
USHORTString offset from start of storage area (in bytes).
  

Following are the descriptions of the four kinds of ID. Note that the specific values listed here are the only ones that are predefined; new ones may be added by registry with Apple Developer Technical Support. Similar to the character encoding table, the NameRecords is sorted by platform ID, then platform-specific ID, then language ID, and then by name ID.
 
Platform ID
IDPlatformSpecific encoding
0Apple Unicode none
1Macintosh Script manager code
2ISO ISO encoding
3Microsoft Microsoft encoding
  

The values 240 through 255 are reserved for user-defined platforms. The DTS registry will never assign these values to a registered platform.
 
Microsoft platform-specific encoding IDs (platform ID= 3)
CodeDescription
0Undefined character set or indexing scheme
1Unicode indexing
  

When building a Unicode font for Windows, the platform ID should be 3 and the encoding ID should be 1. When building a symbol font for Windows, the platform ID should be 3 and the encoding ID should be 0. When building a font that will be used on the Macintosh, the platform ID should be 1 and the encoding ID should be 0.

The PanEuropean Windows product will contain locale data for the following locales. This is also the list from which the user may choose a locale in custom setup and the mapping to Windows and DOS codepages based on that choice. The language ID (LCID in the table below) refers to a value which identifies the language in which a particular string is written.
Primary Language Locale NameLCIDWin CP DOS CP
AlbanianAlbania (041c; SQI)  
BasqueBasque (042D; EUQ)1252850
Byelorussian Byelorussia(0423, BEL)1251 866
BulgarianBulgaria (0402, BGR)1251866
CatalanCatalan (0403; CAT)1252850
CroatianCroatian (041a, SHL)1250852
CzechCzech (0405; CSY)1250852
DanishDanish (0406; DAN)1252865
Dutch (2):Dutch (Standard) (0413; NLD)1252850
Dutch (2):Belgian (Flemish) (0813; NLB)1252850
English (6): American(0409; ENU)1252 437
English (6): British(0809; ENG)1252 850
English (6): Australian(0c09; ENA)1252 850
English (6): Canadian(1009; ENC)1252 850
English (6): New Zealand(1409; ENZ)1252 850
English (6): Ireland(1809; ENI)1252 850
EstonianEstonia (0425, ETI)1257775
FinnishFinnish (040b; FIN)1252850
French French (Standard) (040c; FRA)1252850
French Belgian (080c; FRB)1252850
French Canadian (0c0c; FRC)1252850
French Swiss (100c; FRS)1252850
French Luxembourg (140c; FRL)1252850
GermanGerman (Standard) (0407; DEU)1252850
GermanSwiss (0807; DES)1252850
GermanAustrian (0c07; DEA)1252850
GermanLuxembourg (1007; DEL)1252850
GermanLiechtenstein (1407; DEC)1252850
GreekGreek (0408; ELL)1253737 or 8694
HungarianHungarian (040e; HUN)1250852
IcelandicIcelandic (040F; ISL)1252850
Italian (2): Italian (Standard)(0410; ITA) 1252850
Italian (2): Swiss(0810; ITS)1252 850
LatvianLatvia (0426, LVI)1257775
LithuanianLithuania (0427, LTH)1257775
Norwegian (2): Norwegian (Bokmal)(0414; NOR) 1252850
Norwegian (2): Norwegian (Nynorsk)(0814; NON) 1252850
PolishPolish (0415; PLK)1250852
Portuguese (2): Portuguese (Brazilian)(0416; PTB) 1252850
Portuguese (2): Portuguese (Standard)(0816; PTG) 1252850
Romanian (2): Romania(0418, ROM)1250 852
RussianRussian (0419; RUS)1251866
SlovakSlovak (041b; SKY)1250852
SlovenianSlovenia (0424, SLV)1250852
Spanish (3): Spanish (Traditional Sort)(040a; ESP) 1252850
Spanish (3): Mexican(080a; ESM)1252 850
Spanish (3): Spanish (Modern Sort)(0c0a; ESN) 1252850
SwedishSwedish (041D; SVE)1252850
TurkishTurkish (041f; TRK)1254857
UkrainianUkraine (0422, UKR)1251866
  

4737 is default, but 869 (IBM Greek) will be available at setup time through the selection of a bogus Greek locale in Custom Setup.
 
Macintosh platform-specific encoding IDs
(script manager codes), (platform ID = 1)
CodeScriptCode Script
0Roman 17Malayalam
1Japanese 18Sinhalese
2Chinese 19Burmese
3Korean 20Khmer
4Arabic 21Thai
5Hebrew 22Laotian
6Greek 23Georgian
7Russian 24Armenian
8RSymbol 25Maldivian
9Devanagari 26Tibetan
10Gurmukhi 27Mongolian
11Gujarati 28Geez
12Oriya 29Slavic
13Bengali 30Vietnamese
14Tamil 31Sindhi
15Telugu 32Uninterp
16Kannada   
  


 
Macintosh language IDs:
CodeLanguageCode Language
0English 12Arabic
1French 13Finnish
2German 14Greek
3Italian 15Icelandic
4Dutch 16Maltese
5Swedish 17Turkish
6Spanish 18Yugoslavian
7Danish 19Chinese
8Portuguese 20Urdu
9Norwegian 21Hindi
10Hebrew 22Thai
11Japanese   
  


 
ISO specific encodings (platform ID=2)
CodeISO encoding
07-bit ASCII
1ISO 10646
2ISO 8859-1
  

There are not any ISO-specific language IDs.

The following name IDs are defined, and they apply to all platforms. Extensions to this table will be registered with Apple DTS.
 
Name IDs
CodeMeaning
0Copyright notice.
1Font Family name
2Font Subfamily name; for purposes of definition, this is assumed to address style (italic, oblique) and weight (light, bold, black, etc.) only. A font with no particular differences in weight or style (e.g. medium weight, not italic and fsSelection bit 6 set) should have the string "Regular" stored in this position.
3Unique font identifier
4Full font name; this should be a combination of strings 1 and 2. Exception: if the font is "Regular" as indicated in string 2, then use only the family name contained in string 1. This is the font name that Windows will expose to users.
5Version string. Must begin with the syntax 'Version n.nn ' (upper case, lower case, or mixed, with a space following the number).
6Postscript name for the font.
7Trademark; this is used to save any trademark notice/information for this font. Such information should be based on legal advice. This is distinctly separate from the copyright.
8Manufacturer Name.
9Designer; name of the designer of the typeface.
10Description; description of the typeface. Can contain revision information, usage recommendations, history, features, etc.
11URL Vendor; URL of font vendor (with protocol, e.g., http://, ftp://). If a unique serial number is embedded in the URL, it can be used to register the font.
12URL Designer; URL of typeface designer (with protocol, e.g., http://, ftp://).
  

Note that while both Apple and Microsoft support the same set of name strings, the interpretations may be somewhat different. But since name strings are stored by platform, encoding and language (placing separate strings in for both Apple and MS platforms), this should not present a problem.

The key information for this table for MS fonts relates to the use of strings 1, 2 and 4. Some examples:
Helvetica Narrow Oblique1 = Helvetica Narrow
2 = Oblique
4 = Helvetica Narrow Oblique
Helvetica Narrow1 = Helvetica Narrow
2 = Regular
4 = Helvetica Narrow
Helvetica Narrow Light Italic1 = Helvetica Narrow
2 = Light Italic
4 = Helvetica Narrow Light Italic
  

Note that OS/2 and Windows both require that all name strings be defined in Unicode. Thus all 'name' table strings for platform ID = 3 (Microsoft) will require two bytes per character. Macintosh fonts require single byte strings.

Examples of how these strings might be defined:

  1. The copyright string from the font vendor. © Copyright the Monotype Corporation plc, 1990
  2. The name the user sees. Times New Roman
  3. The name of the style. Bold
  4. A unique identifier that applications can store to identify the font being used. Monotype: Times New Roman Bold:1990
  5. The complete, hopefully unique, human readable name of the font. This name is used by Windows. Times New Roman Bold
  6. Release and version information from the font vendor. Version 1.00 June 1, 1990, initial release
  7. The name the font will be known by on a PostScript printer. TimesNewRoman-Bold
  8. Trademark string. Times New Roman is a registered trademark of the Monotype Corporation.
  9. Manufacturer. Monotype Corporation plc
  10. Designer. Stanley Morison
  11. Description. Designed in 1932 for the Times of London newspaper. Excellent readability and a narrow overall width, allowing more words per line than most fonts.
  12. URL of Vendor. http://www.monotype.com
  13. URL of Designer. http://www.monotype.com