多语系统中的 Setdefaultlanguage 会影响数字字体

多语系统中的 Setdefaultlanguage 会影响数字字体

我尝试对文本和数学使用不同的字体,但我希望普通文本中的数字使用数学字体的字形。我使用 LuaLatex 并得到以下奇怪的行为。

第一个 MWE 给了我想要的结果:

\documentclass{article}
\usepackage{polyglossia}

% \setdefaultlanguage{norsk}

\usepackage{fontspec}
\setmainfont{Constantia}
\usepackage[adobe-utopia]{mathdesign}

\begin{document}
1234567890 $1234567890$
\end{document}

好的数字

但是,我需要\setdefaultlanguage{norsk},但是随后发生了以下情况:

\documentclass{article}
\usepackage{polyglossia}

\setdefaultlanguage{norsk}

\usepackage{fontspec}
\setmainfont{Constantia}
\usepackage[adobe-utopia]{mathdesign}

\begin{document}
1234567890 $1234567890$
\end{document}

不好的数字

这是怎么回事?

答案1

在第一个例子中,文本字体到处都是 Utopia。这里有一个证明:我没有使用 Constantia,因为我没有,但是我使用了 Futura,它与 Utopia 非常有区别。

\documentclass{article}
\usepackage{polyglossia}

%\setdefaultlanguage{norsk}

\usepackage{fontspec}
\setmainfont{Futura}
\usepackage[adobe-utopia]{mathdesign}

\begin{document}

1234567890 $1234567890$ abcdef

\fontname\font

\end{document}

在此处输入图片描述

除非在 LuaLaTeX 中使用组合字体,否则不可能仅获取不同字体的文本中的数字,但我不想尝试。

为什么启用语言后会有差异?请看:

\documentclass{article}
\usepackage{polyglossia}

\setdefaultlanguage{norsk}

\usepackage{fontspec}
\setmainfont{Futura}
\usepackage[adobe-utopia]{mathdesign}

\begin{document}

1234567890 $1234567890$ abcdef

\fontname\font

\end{document}

在此处输入图片描述

在这种情况下,polyglossia在开始文档时选择“Norsk 字体”,该字体恰好是通过定义的\setmainfont

如果您只想使用数学mathdesign,那么您必须先加载它fontspec

\documentclass{article}

\usepackage[adobe-utopia]{mathdesign}

\usepackage{fontspec}
\usepackage{polyglossia}

\setmainfont{Futura}
%\setdefaultlanguage{norsk}

\begin{document}

1234567890 $1234567890$ abcdef

\fontname\font

\end{document}

无论有没有该线,都会产生相同的输出\setdefaultlanguage

相关内容