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

Jonathan Kew jonathan_kew at sil.org
Mon Jun 19 14:12:02 CEST 2006

Thanks for the report, William. A few comments below:

On 19 Jun 2006, at 12:51 pm, William Adams wrote:

> Just wanted to chime in here that I tried the new version over the
> weekend and had the following observations / comments:
>   - performance seems a lot slower now --- right after reading
> fontspec.cfg there's no change in the log information on-screen for a
> couple of minutes at least (this on a Pentium 233, so probably not a
> big deal, but it might be worth looking into if considering
> optimization)

Two points on this. First, is this every time, or is it better on  
subsequent runs? On my Linux machine, there can be a significant  
delay on the first run, which I think occurs if fontconfig decides it  
needs to update its caches, but then things improve.

Secondly, there will be a substantial delay (depending on number of  
installed fonts) the first time xetex *fails* to find a requested  
font by its full name or family name. At that point, it actually  
accesses name information from each individual font file (in order to  
get the postscript names, not available from the fontconfig caches).  
So if your documents always use full or family names, you should  
avoid this delay.

>   - Garamond Premier Pro works w/o spaces \fontspec{GaramondPremrPro}

That'll be the postscript name, I assume, which is a "last resort";  
the family name (Garamond Premier Pro) should also work, and is the  
preferred form.

>   - other fonts need the space though
>   - where should one look to determine what name should be used (to
> load a font)? I used the TTF properties extension from Microsoft.com
> (Properties | Names (tab) | Font Family Name) and that works for most
> fonts (but not Garamond Premr Pro --- now it works based on the Font
> Name)

I don't know what Windows shows. Fonts can contain both a "family  
name" and a "preferred family name"; I think the former is used by  
most legacy Windows stuff that doesn't know about opentype families  
with more than 4 members, but Adobe prefers the latter (and so does  
xetex) if it's present.

> In case anyone is curious, here's a list of fontspec commands which
> did work for me in W32tex (and one which doesn't):
> %\setromanfont{Aachen Std Bold}
> %\setromanfont{Adobe Garamond Pro}
> %\setromanfont{Adobe Caslon Pro}
> %\setromanfont{Albertus MT Std}
> %\setromanfont{AldusLTStd-Roman} --- didn't work
> %\setromanfont{Alexa Std}
> %\setromanfont{Americana Std}
> %\setromanfont{GaramondPremrPro}

Does "Garamond Premier Pro" also work? It should, and avoids the need  
to look up postscript names (expensive).

> Testing Aldus on my G5, the following were unsuccessful:
> \setromanfont{Aldus LT Std}
> \setromanfont{AldusLTStd}
> but this did work on my G5 (and allowed the \emph italics command to
> work as well:
> \setromanfont{AldusLTStd-Roman}

"AldusLTStd" looks like a postscript name or legacy mac/windows  
family name; it would be nice to know the font's preferred opentype  
family name, if any. What does \fontname\font produce when you're  
using this font?


More information about the XeTeX mailing list