[XeTeX] Newbie troubles with XeTex for Linux

Jonathan Kew jonathan_kew at sil.org
Thu Aug 24 10:34:42 CEST 2006

On 24 Aug 2006, at 1:57 am, Steven Shaviro wrote:

>> Ah, that may well be the problem... the xetex binary packages are set
>> up for the teTeX installation, and TeXLive probably configures things
>> differently. In fact, I'm a bit surprised you're able to install the
>> binary packages, as I thought they would require teTeX -- or do you
>> mean that you compiled from source, and then installed the binaries
>> you built?
> No, I didn't compile from source; I installed the .deb packages for
> Ubuntu. I didn't get any error messages during the install.

OK, that's interesting. I wonder -- do you *also* have the Ubuntu  
teTeX packages installed, by any chance? (Are they shown as installed  
in Synaptic?) I'm guessing that you may have two TeX installations,  
and xetex got installed (or at least partially installed) with the  
one you aren't actually using!

How is TL installed -- using the installation script directly from  
the TeX Live DVD, or is there an Ubuntu package for this? (I don't  
see one in Synaptic on my system.)

>> Where are the xetex binaries installed, and the main configuration
>> files? It might be helpful to see what is reported by:
>>    ls -l `which xetex`
> /usr/bin/xetex

That's the output of "which xetex", but not the complete output of  
"ls -l `which xetex`". I'm curious what ls -l says about it because  
that would tell whether it's the actual binary (which would be the  
teTeX-based way to install it) or a symlink to a binary that's  
elsewhere (which I think would be the TeXLive way).

I'm guessing that your real TeXLive binaries live somewhere like /usr/ 
local/texlive/2005/bin/i386-linux, and either this directory is in  
the PATH or there are symlinks in /usr/bin. To work as expected, the  
xetex binaries would need to be installed in the same way, otherwise  
they won't find the same configuration files.

>>    kpsewhich texmf.cnf
> /usr/local/texlive/2005/texmf/web2c/texmf.cnf
>>    kpsewhich fmtutil.cnf
> /usr/local/texlive/2005/texmf/web2c/fmtutil.cnf
>>  grep xetex `kpsewhich texmf.cnf`
> TEXINPUTS.xetex         = .;$TEXMF/tex/{plain,generic,}//

The TL2005 version of texmf.cnf isn't really set up well for xetex.  
It would be better to change this to:

   TEXINPUTS.xetex = .;$TEXMF/tex/{xetex,plain,generic,}//

and the preceding line which probably reads:

   TEXINPUTS.xelatex	= .;$TEXMF/tex/{latex,generic,}//

should be changed to:

   TEXINPUTS.xelatex	= .;$TEXMF/tex/{xelatex,latex,generic,}//

(By the time TL2006 is ready, we should have all this in place  

> OTFFONTS = .;$TEXMF/fonts/otf/{xetex,}//
>>  grep xetex `kpsewhich fmtutil.cnf`
> got nothing.
> I also looked at the file directly and I did *not* find the lines:
>> # XeTeX formats
>> xetex		xetex		-		*xetex.ini
>> xelatex		xetex		language.dat	*xelatex.ini
> So is that the source of the problem? What should I do to correct it?

That's at least part of the problem; and you should be able to add  
those lines to the end of the file.

I think it's also likely that the xetex-related input files  
(xetex.ini, xelatex.ini, unicode-letters.tex, various LaTeX packages  
and .cfg files, etc.) have been installed under /usr/local/share/ 
texmf (which is searched by teTeX), and may not be found by a TL- 
based installation. So you may need to move/copy these into  
corresponding locations under /usr/local/texlive/2005/texmf-local or  
something like that.

More information about the XeTeX mailing list