[XeTeX] Problem deciding Family Names

Adam Twardoch list.adam at twardoch.com
Wed Sep 20 14:58:48 CEST 2006


Jjgod Jiang wrote:
> (Yes I understand, it definitely is a bug of the font,
> which should not have such a perferred family name)
What makes you think that it is a bug in the font? The font is perfectly 
compliant with the OpenType specification.

The font AdobeMingStd-Light.otf has the following "name" table strings:
 
* "Adobe 明體 Std" used as the Chinese Mac family name (1.1.2.19) and as 
the Chinese Windows preferred family name (16.3.1.1028), and "L" used as 
the Chinese Mac style name (2.1.2.19) and as the Chinese Windows 
preferred family name (17.3.1.1028);

* "Adobe Mind Std" used as the English Mac family name (1.1.0.0) and as 
the English Windows preferred family name (16.3.1.1033), and "L" used as 
the English Mac style name (2.1.0.0) and as the Chinese Windows 
preferred style name (17.3.1.1033);

* "Adobe 明體 Std L" used as the Chinese Windows family name 
(1.3.1.1028), and "Regular" used as the Chinese Windows style name 
(2.3.1.1038);

* "Adobe Mind Std L" used as the English Windows family name 
(1.3.1.1033), and "Regular" used as the English Windows style name 
(2.3.1.1033);

The style names are formed accordingly. There is absolutely nothing 
wrong with the naming of this font -- on the contrary, it is done 
exactly by the book. However, obviously, XeTeX has a problem in parsing 
the names in the right order of preference.

The correct order of preference for the names should always be:

On Mac:

1. The locale-specific Mac family name plus the locale-specific Mac 
style name. On Mac with Chinese as the default locale, it should be 
1.1.2.19 plus 2.1.2.19 for this font.

2. The English Mac family name plus the English Mac style name. On Mac 
with the default locale not being Chinese or if the entry mentioned 
above is not found in the font, it should be 1.1.0.0 plus 2.1.0.0 for 
this font.

On Windows:

1. The locale-specific Windows preferred family name plus the 
locale-specific Windows preferred style name. On Windows with Chinese as 
the default locale, it should be 16.3.1.1028 plus 17.3.1.1028 for this 
font.

2. The English Windows preferred family name plus the English Windows 
preferred style name. On Windows with Chinese not being the default 
locale or if the entry mentioned above is not found in the font, it 
should be 16.3.1.1033 plus 17.3.1.1033 for this font.

3. The locale-specific Windows family name plus the locale-specific 
Windows style name. On Windows with Chinese as the default locale if the 
entries mentioned above are both not found, it should be 1.3.1.1028 plus 
2.3.1.1028 for this font.

4. The English Windows family name plus the English Windows style name. 
On Windows with the default locale not being Chinese or if the entries 
mentioned above are not found in the font, it should be 1.3.1.1033 plus 
2.3.1.1033 for this font.

In properly-constructed OpenType fonts, the locale-specific Windows 
preferred family and style name always should correspond to the 
locale-specific Mac family and style names, and the English Windows 
preferred family and style name always should correspond to the English 
Mac family and style names -- which ensures cross-platform compatibility 
of documents. Only if an OpenType font does not contain the Windows 
preferred entries, an application falls back to the normal Windows 
family and style names (locale-specific or English) -- and those do not 
have their counterparts on Mac.

In fact, I think AdobeMingStd-Light.otf is indeed an excellent case to 
test XeTeX's font selection mechanism. BTW, I'm cc'ing this to Thomas 
Phinney at Adobe, who may be interested in listening to this discussion.

-- 

Adam Twardoch
| Language Typography Unicode Fonts OpenType
| twardoch.com | silesian.com | fontlab.net




More information about the XeTeX mailing list