[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