2

I'm close to give up my fight for MnSymbol in unicode-math. I realized I already replaced so many missing and faulty characters, that there is barely something left of MnSymol. So probably I will just go the other way around in the future, use a different math font and replace the symbols I don't like with MnSymbol.


However, please allow one last question before I carry MnSymbol to his grave:

Obviously the full stop is missing in MnSymbol:

$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$

enter image description here

When I replace the full stop with a different font, all brackets get followed by a \cdot:

\setmathfont[range={"002E} ]{XITS Math} 

enter image description here

which won't happen if I replace the whole math font:

\setmathfont{XITS Math}

enter image description here


Besides looking for a solution, I actually would like to know

Why?

I'm replacing a certain unicode character and others are affected as well, that does not make any sense?


Full MWE:

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}

\setmathfont{MnSymbol} \setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Minion Pro} \setmathfont[range={"005B,"005D,"0028,"0029,"007B,"007D} ]{XITS Math} % brackets

\begin{document}

$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$ \setmathfont[range={"002E} ]{XITS Math} $\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$ \setmathfont{XITS Math} $\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$

\end{document}


For future reference:

A full solution can be found here, but

\Udelcodenum`.=1073741824 

needs to be changed to

\Udelcodenum`.=0

1 Answers1

2

I changed the font, but the problem's not font specific.

The \showlists output shows that in the first case . is set to pull the . from \fam0 In a classic TeX set up \fam0 is used for the text Roman font as used for \log and friends, but with unicode-math the Roman characters come from the Roman alphabet in the upper plane of the Unicode font in \fam1 and in fact \texfont0 is shown as being \nullfont which has no characters.

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}

\setmathfont{MnSymbol}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Arial}
\setmathfont[range={"005B,"005D,"0028,"0029,"007B,"007D} ]{XITS Math} % brackets

\begin{document}
\showoutput
\showthe\textfont0
$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].\showlists$

\setmathfont[range={"002E} ]{XITS Math} 

$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].\showlists$

\setmathfont{XITS Math}

$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$

\end{document}
David Carlisle
  • 757,742
  • Like yesterday I can't compile code containing the commands \showoutput and \showlists (it takes forever) - I use lualatex.exe -synctex=1 -interaction=nonstopmode %.tex to compile – Robert Seifert Apr 22 '15 at 11:21
  • @thewaywewalk \showxxx makes it pause to show the result \showoutput sets the interaction mode back, change it to \showoutput\nonstopmode then it won't stop and you need to look in the log – David Carlisle Apr 22 '15 at 11:26