[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:

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

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

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

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  


More information about the XeTeX mailing list