[XeTeX] First experiences with xetex and some bugs
Bruno Voisin
bvoisin at mac.com
Sun Jul 4 23:44:28 CEST 2004
Le 4 juil. 04, à 18:48, Jonathan Kew a écrit :
> On 4 Jul 2004, at 1:07 pm, Steffen Prohaska wrote:
>
>> I'd like to continue using Yandy's mathtimes or Thierry Bouche's
>> mathfont.sty,
>> http://www.ntg.nl/maps/pdf/21_18.pdf . But neither work with xetex. I
>> read on
>> the mailinglist that xetex is focused on typesetting text only. If
>> this will
>> be the only focus in the future I think this would be a major problem
>> for most
>> of the TeX users. I still use TeX especially because of the
>> simplicity of using
>> math. But the math fonts have to follow the other fonts at least to
>> some extent.
>> If xetex doesn't provide a way this will be a show stopper for me.
>
> I don't have these fonts/packages, so cannot try them. I suspect that
> if the fonts were converted to .otf format, similarly to the CM and
> other fonts bundled with XeTeX, it would be possible to use them just
> like the CM fonts.
I suspect this might not work, as the problem seems to be not only with
the MathTime fonts, but also with the Times fonts that it relies on.
Trying right now to compile a LaTeX file of mine, using the MathTime
1.1 fonts, with XeTeX:
- If I use T1 encoding, then no warning pops up, but the Times fonts
(used for text and for Roman letters in maths) are not visible in the
PDF file. This means, for maths, the MTMI part of the MathTime fonts
(i.e., the MathTime equivalent of CMMI), which uses the virtual font
mechanism to extract characters from the Times Italic font and add to
it some characters from RMTMI (an italic "v" visually more different
from the Greek letter nu, dotless i and j, an \ell, etc.). The MTSY and
MTEX fonts, by contrast, which are the MathTime substitutes for CMSY
and CMEX and do not use virtual fonts, are displayed correctly in the
PDF file. This behaviour is probably linked with the fact that I have
the fonts RMTMI, MTSY and MTEX in Classic format in /System
Folder/Fonts/.
- If I use LY1 encoding, the same as above arises, but in addition I
get the warnings:
*** font ptmr8y (NimbusRomNo9L-Regu: file 'utmr8a') not found
*** font ptmb8y (NimbusRomNo9L-Medi: file 'utmb8a') not found
*** font ptmri8y (NimbusRomNo9L-ReguItal: file 'utmri8a') not found
There may be an additional difficulty that I have noticed recently, and
for which TeX is to blame rather than XeTeX: a peculiarity of TeX,
inherited from the epoch of 7-bit fonts, is the fact that accents in
maths mode (\hat \tilde etc.) are taken from the text font, as may be
verified in the Appendix on fonts in the TeXBook. Accordingly, if in
XeTeX you replace the default text font (CMR) by an AAT font, the math
accents will no longer be available.
In plain TeX it's relatively easy to find a cure, by defining a new
font family based on CMR, and refining the math accents to be taken
from this family. In LaTeX this is probably also possible; however,
given the intricacy and rigidity of LaTeX2e's font selection scheme, I
couldn't figure out in any reasonable amount of time how this could be
done, and gave up.
>> ---+ Problem: \graphicspath
>> ---++ Quick Summary
>>
>> \graphicspath works different in xetex and pdftex. See the attached
>> test document.
>>
>
> In XeTeX, the \XeTeXpdffile command looks for the given file relative
> to the location of the current TeX input file. So the second test,
> which \input's the file "gfx/test.tex", then looks relative to that
> file; but I assume \graphicspath prefixes "gfx/" to the name given, so
> it ends up looking for "gfx/gfx/test.pdf", relative to the top-level
> file, and of course that path doesn't exist.
>
> I'm guessing based on this example that pdfTeX always looks for
> graphics files relative to the top-level input file instead. Can
> others confirm this, and tell me whether I should change the behavior
> in XeTeX?
There seems to be two problems involved:
- The one you describe, linked with XeTeX, and which is cured in this
particular case by adding in test.tex the line:
\graphicspath{{./}}
The doc file grfguide.pdf for the graphics package says on p. 13 "Note
that LATEX will find the graphics file by searching along TEXINPUTS
(and possibly other places, as specified with \graphicspath)" and on p.
12 "The default setting of this path [i.e. \graphicspath] is
\input at path that is: graphics files will be found wherever TEX files
are found"; is this linked with your explanation?
- Another, linked with (I guess) xetex.def, and which is cured by
replacing in test.tex the line:
\includegraphics[width=0.8\textwidth]{test}
by
\includegraphics[width=0.8\textwidth]{test.pdf}
namely by adding the extension .pdf explicitly. I had also remarked
this need for adding the .pdf extension explicitly in my own input
files when using XeTeX (which is logical in some way since XeTeX has no
preferred graphic format). My interpretation was that xetex.def did not
define a default extension, while pdftex.def did; however, looking more
closely, I cannot find anything about a default extension in either the
doc for the graphics package, or in the source code of xetex.def and
pdftex.def, or in
/usr/local/teTeX/share/texmf.tetex/tex/latex/config/graphics.cfg.
Also, why test (without the .pdf extension) can be used in the main
input file while test.pdf is required in the secondary file test.texs
is beyond my comprehension. Possibly this is linked with p. 12 of
grfguide.pdf which says: "Note that if the extension is not specified
in the \includegraphics command, the graphics file must exist at the
time LATEX is run, as the existence of the file is used to determine
which extension from the list to choose. However if a file extension is
specified, e.g. \includegraphics{a.ps} instead of \includegraphics{a},
then the graphics file need not exist at the time LATEX is used."
Hope this helps,
Bruno Voisin
More information about the XeTeX
mailing list