[XeTeX] wrong font match and missing characters

Jonathan Kew jonathan_kew at sil.org
Sun Jun 11 22:53:13 CEST 2006


On 11 Jun 2006, at 8:55 pm, Ralf Stubner wrote:

> Jonathan Kew <jonathan_kew at sil.org> writes:
>
>> Yes, that explains it, and I would say it's a bug in the pfb fonts.
>> Which in turn may indicate a bug in the conversion tools that made  
>> them.
>
> Not sure. For example GFSDidot-Italic.pfb contains
>
> /FontName /GFSDidot-Italic def
> [...]
> /FullName (GFS Didot Italic) readonly def
> /FamilyName (GFS Didot Rg) readonly def
> /Weight (Normal) readonly def
> /isFixedPitch false def
> /ItalicAngle -12 def
>
> So the only thing that might hint to 'Regular' is the 'Rg' in the
> FamilyName. Indeed, if I remove the Rg from there, the font is  
> correctly
> recognized as 'style=Italic'. I guess I will have to report this as  
> bug
> in fontconfig.

Hmm... I'm not really sure whether to blame fontconfig for this one.  
I'd guess that it isn't interpreting "Rg" as such, but may be trying  
to find a style name by removing the FamilyName from the beginning of  
FullName; but the presence of "Rg" on the FamilyName defeats this,  
and so it falls back to calling the font "Regular".

The Type 1 font spec says very little about this, and the Postscript  
reference says:

<quote>
The PostScript language does not specify any formal rules for the  
names of fonts
or for the entries in the FontInfo dictionary.
</quote>

which is not very helpful. However, it does go on to suggest:

<quote>
Typically, FullName begins with FamilyName and continues with various  
style
descriptors separated by spaces—for example, Adobe Garamond Bold  
Italic. In
some designs, a numbering system replaces or augments verbal  
descriptors—
for example, Univers 55 Medium.
</quote>

and I suspect that fontconfig assumes this convention. So I'm  
inclined to say the names in the pfb are not well chosen, from among  
the possibilities in the otf versions; and fontconfig is making a  
reasonable attempt given the incomplete and confusing data it's been  
given.

JK



More information about the XeTeX mailing list