[XeTeX] (no subject)
Bruno Voisin
bvoisin at mac.com
Fri May 5 01:33:04 CEST 2006
Le 4 mai 06 à 18:29, Christophe DAMAS a écrit :
> Excuse moi de te déranger, suite à ta réponse sur XeTeX.
> Effectivement je suis bien en mode non étendu. J'ai refait le
> format xetex pour inclure la césure française, mais je n'arrive pas
> à comprendre la syntaxe avec cette mystérieuse étoile pour obtenir
> un format en mode étendu. As-tu une idée ?
Given this may be a topic of interest for other XeTeX users, I'm
answering in English and cc'ing the XeTeX list. For the non-French
speakers, the problem is: the OP recompiled the XeTeX format to
include French hyphenation, but doesn't know how to specify that
extended mode must be activated (how to include the "*" before
xetex.ini in the format creation command)).
The problem is, I don't really know myself. One solution seems to be
to edit /Library/teTeX/share/texmf.local/web2c/fmtutil.cnf, by
replacing the line:
xetex xetex - *xetex.ini
with:
xetex xetex frhyph.tex *xetex.ini
This should IIUC replace English hyphenation by French hyphenation,
once you've re-run "sudo -H fmtutil-sys".
However, it should be possible to do better, by having the XeTeX
format include several hyphenation patterns. There seem to be several
solutions:
- Use babel and the file /Library/teTeX/share/texmf.local/tex/generic/
config/language.dat: edit it to select the languages you're
interested in, then edit the above line to become:
xetex xetex language *xetex.ini
recompile the formats using fmtutil-sys. However, that probably
wouldn't work as you would need to modify the initialization file
xetex.ini into some hybrid including the modifications done when
turning plain.tex into bplain.tex. Another problem would be to manage
to activate the selection of hyphenation patterns in babel while
disactivating all of its other functions.
- Use the standard plain TeX interface, based on \language and
\selectlanguage, to switch between hyphenation patterns. Problem is,
I don't really understand this interface any longer. I just spent two
full hours looking at the TeXbook and the various babel and etex
mechanisms for dealing with multiple hyphenation files, and I feel
none the wiser. I found in an old source file of mine:
\def\american{\language=0}
\def\british{\language=1}
\def\french{\language=2}
\american
but I've unfortunately lost the accompanying initialization file,
used by INITEX to create the corresponding format, telling that the
first loaded pattern is hyphen.tex, the second ukhyphen.tex and the
third frhyph.tex. How to specify to INITEX that these files are read,
and that the definition of \language0 begins here (ie when hyphen.tex
is read), \language1 there (ie when ukhyphen.tex is read) and
\language2 up there (ie when frhyph.tex is read)? Moreover, I can't
get the difference between \language and \selectlanguage.
Another possible solution, given XeTeX is (I believe) based on eTeX,
would be to modify xetex.ini to call /Library/teTeX/share/texmf.tetex/
tex/plain/etex/etex.src (defining \uselanguage and \addlanguage),
which would make it possible to use /Library/teTeX/share/texmf.tetex/
tex/plain/config/language.def, as allowed in fmtutil.cnf, for
specifying the loaded hyphenation patterns at the time of the
creation of the XeTeX format.
Your original question was maybe oriented towards direct creation of
xetex.fmt using xeinitex, not fmtutil-sys. I must admit I've no idea
about the syntax: "xeinitex *xetex.ini" could work, but I've no idea
how to specify exactly the name of the resulting .fmt file (the same
as xetex.ini with the extension changed?) or the hyphenation pattern
(s) to be loaded (by editing xetex.ini?).
Hope this helps nonetheless,
Bruno
More information about the XeTeX
mailing list