在 xelatex 下切换数学字体(范围选项与组合字体)

在 xelatex 下切换数学字体(范围选项与组合字体)

我知道这是一个常见问题:xelatex我需要将文本和数学字体从衬线字体切换为无衬线字体,然后再切换回来。以下是我的设置,基于unicode-math

\usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
\setmainfont[BoldItalicFont={Adobe Garamond Pro Bold Italic},
         Ligatures=TeX]{SimonciniGaramondStd}
\setsansfont[BoldFont={Roboto Medium},Scale=MatchUppercase]{Roboto}
\newcommand{\mathstd}{%
\setmathfont{Garamond-Math.otf}[StylisticSet={5,7,9}]%
\setmathfont[range=it/{Latin,latin}]{SimonciniGaramondStd-Italic}%
\setmathfont[range=it/{Greek,greek},Scale=.9]{Gentium Plus Italic}%

请注意,我的主要数学字体将 Garamond-math 与 Simonicini Garamond(拉丁斜体)和 Gentium(希腊斜体字母)结合在一起。为了切换到 sans 数学字体,我可能会定义一个新的数学版本:

\setmathfont[version=sansserif]{Noto Sans Math}

然而,众所周知versionrange选项不能一起工作,我确实需要用主数学字体替换斜体字母。

我想知道是否有办法。我记得前段时间有人提到过可以创建组合字体来替代range,但我不知道在 xelatex 中是否可以做到这一点以及如何做到这一点。

相关内容