当使用 xelatex 排版以下 MWE 时,我在公式的两行之间得到了一个意外的符号,一个空的方块。它在 lualatex 中排版很好。当在数学模式下对文本使用与其他符号不同的字体时,会出现意外的符号,这是相当常见的情况。以前也报告过类似的问题,例如这里: xelatex 中的 mathtools 和 unicode-math 不兼容?
但是,新示例没有以任何方式涉及数学工具。
该问题仅在某些字体集上出现,如下面 MWE 所示。
\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfont{xits-math.otf}
\setmathfont[range=up/{latin,Latin,num}]{XCharter-Roman.otf} % extra character appears between two lines
%\setmathfont[range=up/{latin,Latin,num}]{Charis SIL} % extra character appears between two lines
%\setmathfont[range=up/{latin,Latin,num}]{texgyretermes-regular.otf} % works okay with this
%\setmathfont[range=up/{latin,Latin,num}]{Times} % works okay with this
\begin{document}
\begin{equation*}
x = \begin{cases}
y \\ y
\end{cases}
\end{equation*}
\end{document}
除非我做错了什么(这总是最有可能的),否则我猜这是一个错误,但我不确定在哪里 - unicode-math、xelatex、opentype 字体本身?这和之前报告的错误一样吗?