|
|
name - Naming Table
The naming table allows multilingual strings to be associated
with the OpenTypeTM 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. 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 or multi-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:
Type |
Description |
USHORT |
Format selector (=0). |
USHORT |
Number of NameRecords that follow n. |
USHORT |
Offset 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 |
USHORT |
Platform ID. |
USHORT |
Platform-specific encoding ID. |
USHORT |
Language ID. |
USHORT |
Name ID. |
USHORT |
String length (in bytes). |
USHORT |
String 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
ID |
Platform |
Specific encoding |
0 |
Apple Unicode |
none |
1 |
Macintosh |
Script manager code |
2 |
ISO |
ISO encoding |
3 |
Microsoft |
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)
Code |
Description |
0 |
Undefined character set or indexing scheme |
1 |
Unicode 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 language ID (LCID in the
table below) refers to a value which identifies the language in
which a particular string is written. Fifty of the language ID's assigned by Microsoft are listed below, along with their corresponding code pages. There are 85 additional language ID's assigned. For a full list, please see http://www.microsoft.com/typography/otspec/lcid-cp.txt.
Primary Language |
Locale Name |
LCID |
Win CP |
OEM CP |
Albanian |
Albania |
(041c; SQI) |
|
|
Basque |
Basque |
(042D; EUQ) |
1252 |
850 |
Byelorussian |
Byelorussia |
(0423, BEL) |
1251 |
866 |
Bulgarian |
Bulgaria |
(0402, BGR) |
1251 |
866 |
Catalan |
Catalan |
(0403; CAT) |
1252 |
850 |
Croatian |
Croatian |
(041a, SHL) |
1250 |
852 |
Czech |
Czech |
(0405; CSY) |
1250 |
852 |
Danish |
Danish |
(0406; DAN) |
1252 |
865 |
Dutch (2): |
Dutch (Standard) |
(0413; NLD) |
1252 |
850 |
Dutch (2): |
Belgian (Flemish) |
(0813; NLB) |
1252 |
850 |
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 |
Estonian |
Estonia |
(0425, ETI) |
1257 |
775 |
Finnish |
Finnish |
(040b; FIN) |
1252 |
850 |
French |
French (Standard) |
(040c; FRA) |
1252 |
850 |
French |
Belgian |
(080c; FRB) |
1252 |
850 |
French |
Canadian |
(0c0c; FRC) |
1252 |
850 |
French |
Swiss |
(100c; FRS) |
1252 |
850 |
French |
Luxembourg |
(140c; FRL) |
1252 |
850 |
German |
German (Standard) |
(0407; DEU) |
1252 |
850 |
German |
Swiss |
(0807; DES) |
1252 |
850 |
German |
Austrian |
(0c07; DEA) |
1252 |
850 |
German |
Luxembourg |
(1007; DEL) |
1252 |
850 |
German |
Liechtenstein |
(1407; DEC) |
1252 |
850 |
Greek |
Greek |
(0408; ELL) |
1253 |
737 or 8694 |
Hungarian |
Hungarian |
(040e; HUN) |
1250 |
852 |
Icelandic |
Icelandic |
(040F; ISL) |
1252 |
850 |
Italian (2): |
Italian (Standard) |
(0410; ITA) |
1252 |
850 |
Italian (2): |
Swiss |
(0810; ITS) |
1252 |
850 |
Latvian |
Latvia |
(0426, LVI) |
1257 |
775 |
Lithuanian |
Lithuania |
(0427, LTH) |
1257 |
775 |
Norwegian (2): |
Norwegian (Bokmal) |
(0414; NOR) |
1252 |
850 |
Norwegian (2): |
Norwegian (Nynorsk) |
(0814; NON) |
1252 |
850 |
Polish |
Polish |
(0415; PLK) |
1250 |
852 |
Portuguese (2): |
Portuguese (Brazilian) |
(0416; PTB) |
1252 |
850 |
Portuguese (2): |
Portuguese (Standard) |
(0816; PTG) |
1252 |
850 |
Romanian (2): |
Romania |
(0418, ROM) |
1250 |
852 |
Russian |
Russian |
(0419; RUS) |
1251 |
866 |
Slovak |
Slovak |
(041b; SKY) |
1250 |
852 |
Slovenian |
Slovenia |
(0424, SLV) |
1250 |
852 |
Spanish (3): |
Spanish (Traditional Sort) |
(040a; ESP) |
1252 |
850 |
Spanish (3): |
Mexican |
(080a; ESM) |
1252 |
850 |
Spanish (3): |
Spanish (Modern Sort) |
(0c0a; ESN) |
1252 |
850 |
Swedish |
Swedish |
(041D; SVE) |
1252 |
850 |
Turkish |
Turkish |
(041f; TRK) |
1254 |
857 |
Ukrainian |
Ukraine |
(0422, UKR) |
1251 |
866 |
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)
Code |
Script |
Code |
Script |
0 |
Roman |
17 |
Malayalam |
1 |
Japanese |
18 |
Sinhalese |
2 |
Chinese |
19 |
Burmese |
3 |
Korean |
20 |
Khmer |
4 |
Arabic |
21 |
Thai |
5 |
Hebrew |
22 |
Laotian |
6 |
Greek |
23 |
Georgian |
7 |
Russian |
24 |
Armenian |
8 |
RSymbol |
25 |
Maldivian |
9 |
Devanagari |
26 |
Tibetan |
10 |
Gurmukhi |
27 |
Mongolian |
11 |
Gujarati |
28 |
Geez |
12 |
Oriya |
29 |
Slavic |
13 |
Bengali |
30 |
Vietnamese |
14 |
Tamil |
31 |
Sindhi |
15 |
Telugu |
32 |
Uninterp |
16 |
Kannada |
|
|
Macintosh language IDs:
Code |
Language |
Code |
Language |
0 |
English |
12 |
Arabic |
1 |
French |
13 |
Finnish |
2 |
German |
14 |
Greek |
3 |
Italian |
15 |
Icelandic |
4 |
Dutch |
16 |
Maltese |
5 |
Swedish |
17 |
Turkish |
6 |
Spanish |
18 |
Yugoslavian |
7 |
Danish |
19 |
Chinese |
8 |
Portuguese |
20 |
Urdu |
9 |
Norwegian |
21 |
Hindi |
10 |
Hebrew |
22 |
Thai |
11 |
Japanese |
|
|
ISO specific encodings (platform ID=2)
Code |
ISO encoding |
0 |
7-bit ASCII |
1 |
ISO 10646 |
2 |
ISO 8859-1 |
There are not any ISO-specific language IDs.
The following name IDs are defined, and they apply to
all platforms.
Name IDs
Code |
Meaning |
0 |
Copyright notice. |
1 |
Font Family name |
2 |
Font 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. |
3 |
Unique font identifier |
4 |
Full 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. |
5 |
Version string. Must begin with the syntax 'Version n.nn ' (upper case, lower case, or mixed, with a space following the number). |
6 |
Postscript name for the font. |
7 |
Trademark; 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.
|
8 |
Manufacturer Name. |
9 |
Designer; name of the designer of the typeface. |
10 |
Description; description of the typeface. Can contain revision information, usage recommendations, history, features, etc. |
11 |
URL 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. |
12 |
URL Designer; URL of typeface designer (with protocol, e.g., http://, ftp://). |
13 |
URL 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. |
14 |
URL 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. |
15 |
Reserved; Set to zero. |
16 |
Preferred Family (Windows only); In Windows, the Family name is displayed in the font menu; the Subfamily name is presented as the Style name. For historical reasons, font families have contained a maximum of four styles, but font designers may group more than four fonts to a single family. The Preferred Family and Preferred Subfamily IDs allow font designers to include the preferred family/subfamily groupings. These IDs are only present if they are
different from IDs 1 and 2.
|
17 |
Preferred Subfamily (Windows only); In Windows, the Family name is displayed in the font menu; the Subfamily name is presented as the Style name. For historical reasons, font families have contained a maximum of four styles, but font designers may group more than four fonts to a single family. The Preferred Family and Preferred Subfamily IDs allow font designers to include the preferred family/subfamily groupings. These IDs are only present if they are
different from IDs 1 and 2.
|
18 |
Compatible Full (Macintosh only); On the Macintosh, the menu name is constructed using the FOND resource. This usually matches the Full Name. If you want the name of the font to appear differently than the Full Name, you can insert the Compatible Full Name in ID 18.
|
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 0, 1, 2 and 4. Some examples:
Helvetica Narrow Oblique |
1 = Helvetica Narrow 2 = Oblique 4 = Helvetica Narrow Oblique |
Helvetica Narrow |
1 = Helvetica Narrow 2 = Regular 4 = Helvetica Narrow |
Helvetica Narrow Light Italic |
1 = 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:
0. The copyright string from the font vendor.
© Copyright the Monotype Corporation plc, 1990
1. The name the user sees.
Times New Roman
2. The name of the style.
Bold
3. A unique identifier that applications can store to identify the font being used.
Monotype: Times New Roman Bold:1990
4. The complete, hopefully unique, human readable name of the font. This name is used by Windows.
Times New Roman Bold
5. Release and version information from the font vendor.
Version 1.00 June 1, 1990, initial release
6. The name the font will be known by on a PostScript printer.
TimesNewRoman-Bold
7. Trademark string.
Times New Roman is a registered trademark of the Monotype Corporation.
8. Manufacturer.
Monotype Corporation plc
9. Designer.
Stanley Morison
10. 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.
11. URL of Vendor.
http://www.monotype.com
12. URL of Designer.
http://www.monotype.com
13. License Description. This font may be installed on all of your machines and printers, but you may not sell or give these fonts to anyone else.
14. License Info URL. http://www.monotype.com/license/
15. Reserved. Set to zero.
this page was last updated 30 July 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of use.
comments to the MST group:
ttwsite@microsoft.com
|
|