[XeTeX] little question

Jonathan Kew jonathan_kew at sil.org
Fri Sep 14 00:13:00 CEST 2007


On 13 Sep 2007, at 10:15 pm, jadolov k wrote:

> Actually, I use the standard xetex installation that comes with Tex  
> Live 2007; I use the xdvipdfmx via the TexShop engine.

OK.

> But, unfortunately, the speed ratio is really the one I mentioned.  
> I thought it was the normal speed in TeX (since I always use  
> xetex), but once I've tried pdfLaTeX and I have been astonished  
> about the speed...

Well, it's true that if you use only "traditional" TeX fonts via TFM  
files, typesetting is faster... that's true also if you use xetex to  
process such a document. There is a speed penalty for using Unicode/ 
OpenType fonts directly. But it shouldn't be *that* bad!....

> I will provide an example file soon.

Looking at your example, I can't run it directly as it stands, as I  
don't have all the same Adobe fonts. But I suspect that one factor,  
at least, may be the way you're defining font features, using  
\addfontfeature within commands such as \bass, \prim,  
\cftchapterfont, \@makefnmark, and many others. While \addfontfeature  
can be handy, it makes the fontspec package and xetex engine work  
very hard, constructing a new font specification (which involves  
considerable examination of the fonts available), even if it ends up  
re-using the same final font as a previous time.

If you look in the .log file, you'll see many, many reports from  
fontspec of the form:
> Package fontspec Info: Defining font family for "Minion Pro" with  
> options [Mapp
> ing=tex-text, Numbers={OldStyle,Proportional},,Numbers= 
> {Monospaced,OldStyle}] o
> n input line 515.
Each of these represents a relatively time-consuming operation, so it  
would be good to minimize them.

It's much more efficient, therefore, to use fontspec's  
\newfontinstance command to pre-define commands for any font  
instances you will be using frequently, and then use these within  
your other macros.

(I see that Will has just responded with a similar comment while I've  
been writing! But I'll go ahead and send this too.)

JK


More information about the XeTeX mailing list