[Tex/LaTex] Trouble with unicode-math/fontspec in XeTeX

fontspecunicode-mathxetex

The following MWE yields a wrong output:

\documentclass{article}

\RequirePackage{xltxtra}
\RequirePackage{unicode-math}

%\setmainfont{Linux Libertine}
\setmathfont{Asana Math}

\begin{document}
\(\sigma \gets 1\)
\end{document}

The expected output should be obvious. Unfortunately though, the “gets” arrow is dropped from the output when rendered with XeTeX (0.9997.4, Unicode-Math v0.5b):

𝜎 1

But even weirder, when I comment in the \setmainfont line and comment out the \setmathfont line, then the result looks as follows:

← 1

i.e. the sigma is swallowed.

Summary: when trying to use either Asana Math or Linux Libertine or both I cannot get the above text to display correctly.

Is this a bug? How can I get this to display correctly?


Furthermore, when I have “Asana Math” loaded, additionally load microype (2.5 beta 0.4) and display a very huge math text (e.g. fontsize{50}{50}), the xelatex compiler creates an error and doesn’t produce any output. This is the error log:

thesis.tex:13: [Font] Font shape `OT1/cmr/m/n' in size <50> not available size <24.88> substituted. (page 1)
thesis.tex:13: [Font] Font shape `OT1/cmr/m/n' in size <34.99985> not available size <24.88> substituted. (page 1)
thesis.tex:13: [Font] Font shape `OML/cmm/m/it' in size <50> not available size <24.88> substituted. (page 1)
thesis.tex:13: [Font] Font shape `OML/cmm/m/it' in size <34.99985> not available size <24.88> substituted. (page 1)

– I understand this error, but why does xelatex fail so badly and doesn’t produce any output?

Best Answer

It is a bug that has been fixed last October, but the fix doesn't seem to have propagated to CTAN yet (or at least not into TeX Live). With unicode-math from git your code works as expected (at least the arrow part).

Related Question