\dot 未位于大写字母 \symbf 上方的中心

\dot 未位于大写字母 \symbf 上方的中心

使用 TeX Gyre Pagella 作为我的数学字体时,“流数”点没有正确位于大写粗体拉丁符号上方的中心。

以下是 MWE:

\documentclass{article}    
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setmathfont{texgyrepagella-math.otf}

\begin{document}
How to centre the dot over the character?  $\dot\symbf{x}$ works but $\dot\symbf{X}$ does not.

The same happens if displayed:
\begin{displaymath}
\dot\symbf{X} \qquad \dot\symbf{x}
\end{displaymath}
\end{document}

如果我注释掉该\setmathfont行,那么一切就正常了。我正在使用最新的 TL 2016 发行版进行编译。

先感谢您。

答案1

受影响的字符似乎是 D、X 和 Y。这是一个字体中的错误,因为它在 LuaTeX 和 XeLaTeX 中都会发生,但在其他数学字体中不会发生。

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setmathfont{TeX Gyre Pagella Math}
%\setmathfont{Asana Math}

\begin{document}
How to centre the dot over the character?  $\dot{\symbf{x}}$ works but $\dot{\symbf{X}}$ does not.

\count255=\numexpr`A-1\relax
\loop\ifnum\count255<`Z
\advance\count255 1
$\dot{\symbf{\Uchar\count255}}$
\repeat

\count255=\numexpr`A-1\relax
\loop\ifnum\count255<`Z
\advance\count255 1
$\acute{\symbf{\Uchar\count255}}$
\repeat

\count255=\numexpr`A-1\relax
\loop\ifnum\count255<`Z
\advance\count255 1
$\mathring{\symbf{\Uchar\count255}}$
\repeat

\count255=\numexpr`a-1\relax
\loop\ifnum\count255<`z
\advance\count255 1
$\dot{\symbf{\Uchar\count255}}$
\repeat

\end{document}

在此处输入图片描述

Asana Math 也一样

在此处输入图片描述

解决方法可能是添加

\setmathfont[range=\symbf]{Asana Math}

相关内容