我正在重新询问2015 年未解答的问题。这是我正在使用的:
- 诺托对于 normal、sans 和 mono 类型,通过字体规格,又名
\setmainfont
- STIX二数学通过unicode 数学,又名
\setmathfont
- 希尼奇以
mode=match
避免\qty
在句子中间导致切换到 STIX Two 的奇怪现象。
NOTO 文本字体缺少减号按照设计,因此\qty{1}{\joule\per\meter}
在之前会得到一个矩形m
。
有没有办法用衬线字体来替代缺失的字形(减号)?
unicode-math 有一个range=
选项\setmathfont
,但我无法将其传递给\setmainfont
。
注意:我想使用 NOTO Sans Math 来保持一致的风格,但我遇到了这个问题。
答案1
希望我理解正确。此代码使用\setmainfont
和\setmathfont
。它还指定了XITS Math
(但可以是任何其他字体)用于MINUS SIGN (U+2212)
,如果您的主字体中缺少 :
\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{newunicodechar}
\setmainfont{Noto Sans}
\setmathfont{XITS Math}
\newfontface{\xits}{XITS Math}
\iffontchar\font "2212\relax % do nothing if font has required glyph
\else
\newunicodechar{^^^^2212}{{\xits −}} % use double braces to limit the scope
\fi
\begin{document}
\noindent HYPHEN-MINUS (U+002D) shown in \textbf{Noto Sans}: - \\
MINUS SIGN (U+2212) shown in \textbf{XITS Math} (Text mode) −
\end{document}