[XeTeX] pre-loading fonts in the format?

Manuel Pégourié-Gonnard mpg at elzevir.fr
Sun Oct 26 14:04:48 CET 2008


Jonathan Kew a écrit :
> Right; this would present various technical challenges, and could be  
> quite confusing for the user if the .fmt file contained references to  
> fonts that meanwhile have been removed or modified in the host system.
> 
Ok. OTOH, I don't understand exactly how font preloading works for
"classical" TeX, but the same could happen if the fonts were removed
from the texmf tree (or even form the map files)? Or maybe TeX needs
only the tfms while XeTeX is using "more" of the font?

>> 7 seconds to load on my computer.
> 
> That seems very slow. What system are you running, and how are you  
> specifying the font name?

I'm running a PC with a pentium dual core 1.86Ghz and enough ram under
Linux, 64bit system and tex binaries. I'm specifiying the font name
using fontspec under XeLaTeX as

\setdefaultfont[Mapping=tex-text,Numbers=OldStyle]{Minion Pro}

> Normally, it should be reasonably quick  
> unless you have just modified your font collection (in which case  
> caches may need to be regenerated),

I ran fc-cache many times since the last change in my font collection,
so I assume the cache is up to date.

> or if you use a form of the font  
> name that is not found directly via fontconfig, in which case xetex  
> will fall back to a slower and more exhaustive search.
> 
Hum, maybe. Other font loads fast indeed, only Minion is so slow. (Maybe
it's because the family is quite big, with opticals etc. But myriad,
another quite big family, loads pretty fast.) Is there a way to guess
the correct name? Below is the relevant part of the output of fc-list.

Thanks,
Manuel.

mpg at roth:~% fc-list | grep -i minion
Minion Pro,Minion Pro Subh:style=Italic Subhead,Italic
Minion Pro:style=Semibold Display
Minion Pro:style=Bold Italic
Minion Pro:style=Bold Caption
Minion Pro,Minion Pro SmBd Cond Capt:style=Semibold Cond Caption,Regular
Minion Pro:style=Semibold Italic Display
Minion Pro,Minion Pro Cond Disp:style=Bold Cond Display,Bold
Minion Pro,Minion Pro Disp:style=Display,Regular
Minion Pro,Minion Pro SmBd Subh:style=Semibold Italic Subhead,Italic
Minion Pro:style=Bold Italic Display
Minion Pro,Minion Pro SmBd Cond Capt:style=Semibold Cond Italic
Caption,Italic
Minion Pro,Minion Pro Capt:style=Bold Caption,Bold
Minion Pro:style=Bold Italic Subhead
Minion Pro,Minion Pro Cond Subh:style=Bold Cond Italic Subhead,Bold Italic
Minion Pro,Minion Pro SmBd:style=Semibold,Regular
Minion Pro,Minion Pro Cond Disp:style=Bold Cond Italic Display,Bold Italic
Minion Pro:style=Semibold Caption
Minion Pro:style=Regular
Minion Pro:style=Italic Caption
Minion Pro:style=Semibold Subhead
Minion Pro,Minion Pro Cond Disp:style=Cond Italic Display,Italic
Minion Pro:style=Semibold Italic
Minion Pro,Minion Pro Cond:style=Cond Italic,Italic
Minion Pro:style=Semibold Italic Subhead
Minion Pro:style=Bold Display
Minion Pro,Minion Pro SmBd Cond:style=Semibold Cond Italic,Italic
Minion Pro,Minion Pro Disp:style=Bold Display,Bold
Minion Pro:style=Italic Subhead
Minion Pro,Minion Pro Subh:style=Subhead,Regular
Minion Pro,Minion Pro Capt:style=Bold Italic Caption,Bold Italic
Minion Pro,Minion Pro Subh:style=Bold Subhead,Bold
Minion Pro,Minion Pro SmBd Capt:style=Semibold Italic Caption,Italic
Minion Pro,Minion Pro Cond Capt:style=Bold Cond Caption,Bold
Minion Pro:style=Bold Subhead
Minion Pro:style=Semibold Italic Caption
Minion Pro,Minion Pro Cond:style=Cond,Regular
Minion Pro,Minion Pro Cond Subh:style=Cond Italic Subhead,Italic
Minion Pro,Minion Pro Disp:style=Bold Italic Display,Bold Italic
Minion Pro,Minion Pro Subh:style=Bold Italic Subhead,Bold Italic
Minion Pro,Minion Pro SmBd Subh:style=Semibold Subhead,Regular
Minion Pro:style=Italic
Minion Pro,Minion Pro SmBd Cond Subh:style=Semibold Cond Italic
Subhead,Italic
Minion Pro,Minion Pro Cond Capt:style=Cond Caption,Regular
Minion Pro:style=Caption
Minion Pro:style=Semibold
Minion Pro,Minion Pro Capt:style=Caption,Regular
Minion Pro:style=Bold Italic Caption
Minion Pro,Minion Pro Cond Capt:style=Bold Cond Italic Caption,Bold Italic
Minion Pro,Minion Pro Cond Disp:style=Cond Display,Regular
Minion Pro,Minion Pro Cond Capt:style=Cond Italic Caption,Italic
Minion Pro,Minion Pro SmBd Cond Subh:style=Semibold Cond Subhead,Regular
Minion Pro,Minion Pro SmBd Disp:style=Semibold Display,Regular
Minion Pro:style=Subhead
Minion Pro:style=Italic Display
Minion Pro,Minion Pro Cond Subh:style=Cond Subhead,Regular
Minion Pro,Minion Pro SmBd Cond Disp:style=Semibold Cond Italic
Display,Italic
Minion Pro,Minion Pro SmBd Capt:style=Semibold Caption,Regular
Minion Pro,Minion Pro Capt:style=Italic Caption,Italic
Minion Pro,Minion Pro SmBd Cond:style=Semibold Cond,Regular
Minion Pro,Minion Pro Cond Subh:style=Bold Cond Subhead,Bold
Minion Pro,Minion Pro SmBd Disp:style=Semibold Italic Display,Italic
Minion Pro,Minion Pro SmBd Cond Disp:style=Semibold Cond Display,Regular
Minion Pro:style=Bold
Minion Pro,Minion Pro Cond:style=Bold Cond,Bold
Minion Pro,Minion Pro Cond:style=Bold Cond Italic,Bold Italic
Minion Pro,Minion Pro SmBd:style=Semibold Italic,Italic
Minion Pro,Minion Pro Disp:style=Italic Display,Italic
Minion Pro:style=Display


More information about the XeTeX mailing list