[XeTeX] Differing font name handling betwixt Mac OS X and W32 (and Linux?) XeTeX

Jonathan Kew jonathan_kew at sil.org
Mon Jun 19 17:18:22 CEST 2006

On 19 Jun 2006, at 3:18 pm, William Adams wrote:

> On Jun 19, 2006, at 9:21 AM, Jjgod Jiang wrote:
>> It should be "Aldus LT Std Roman". William, you can try the test
>> document attached in my mail.
> I tried it on my G5 and it didn't work --- I suspect if I copy it to
> my pen slate it will, so there seems to be something strange about
> how this font is constructed which is making it operate
> inconsistently between Mac OS X and the Linux/Windows port.

That's possible; unfortunately, OpenType fonts can contain a  
bewildering variety of names, and different systems pay attention to  
different subsets of them. And xetex tries to avoid iterating over  
all the installed fonts and collecting all their names, because this  
is a time-consuming operation.

(It used to do that, and the result was that annoying delay when the  
first font was loaded. Now, this should only happen if (a) the  
underlying system -- Cocoa, fontconfig, or whatever -- decides it  
needs to update its caches, or (b) you use a name that the system  
doesn't recognize, in which case xetex falls back on inspecting every  
font for itself, on the theory that finding it slowly is better than  
not finding it at all.)

> Do we have a better nomenclature for describing this bifurcation?
> On Mac OS X it uses AAT, right?

It currently uses Cocoa's font manager class (NSFontManager), after  
experimenting with the old (QuickDraw-based) Font Manager and the  
Apple Type Services APIs in earlier versions, and concluding that the  
Cocoa option works best for xetex's purposes.

> What's the equivalent being used on
> Linux/Windows

Fontconfig is the equivalent that is used to find available fonts.

In either case, xetex does its own management of font names,  
families, styles, etc., based on the collection of available physical  
fonts that it finds from the system-dependent libraries.

> Graphite?

No; that would be an alternative to ATSUI (Mac only) or ICU layout  
(all platforms), the libraries used to handle rendering behavior once  
the font has been found. But there's no Graphite support at present.


More information about the XeTeX mailing list