在 unicode-math 中重新映射字体对例如“\mscrC”没有影响

在 unicode-math 中重新映射字体对例如“\mscrC”没有影响

由于某种原因,在此设置下,\mathscr{C}\mscrC产生不同的结果:

\documentclass[12pt,a4paper]{article}
\usepackage{unicode-math}
\unimathsetup{math-style=TeX} 
\setmathfont{Cambria Math}
\setmathfont[range={\mathscr,\mathbfscr},StylisticSet=0]{xits-math.otf}
\begin{document}
\[
\mathscr{C}, \mscrC
\]
\end{document}

结果,\mathscr{C}尊重重新映射,但实际上\mscrC却不尊重。我原本以为unicode-math会将前者转换为后者,但似乎\mathscr这里包含了一些“了解”字体的额外处理。文字

答案1

我不确定,但我认为这不是一个错误,而是一个功能:即使“目标位置”相同,它也使您能够使用不同的字体。\mathscr{C}\mscrC并且\mathcal{C}都打印字符"1D49E。 当前行为意味着例如\mathscr\mathcal可以来自不同的字体:

\documentclass[12pt,a4paper]{article}
\usepackage{unicode-math}

\unimathsetup{math-style=TeX}
\setmathfont{Cambria Math}
\setmathfont[range={\mscrC,\mathscr,\mathbfscr},]{xits-math.otf}

\begin{document}
\mscrC
\[
\mathscr{C}, \mscrC,\mathcal{C}
\]
\end{document}

如果您也想改变的外观\mathcal,您也必须将其添加到列表中(就像我对所做的那样\mscrC)。

相关内容