LuaLaTeX 和 polyglossia 的字体问题

LuaLaTeX 和 polyglossia 的字体问题

在最近的 TeX Live 更新之后,我以前编译正确的文档现在排版时使用了错误的字体。然后我试图了解如何“正确”地处理字体,但没有成功。由于时间紧迫,我希望在这里询问我的问题的解决方案是可以的。

我尝试过四种方案:

1 使用 pdfLaTeX 进行编译

\documentclass{article}
\pagestyle{myheadings}
\markright{My \textbf{header}}
\usepackage[fleqn]{amsmath}

%\usepackage{fontspec}
\usepackage{fouriernc}
%\usepackage{polyglossia}

\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}

使用 pdfLaTeX 编译上述 MWE 生成结果: 在此处输入图片描述 看起来不错。

2 使用 LuaLaTeX 进行编译

\documentclass{article}
\pagestyle{myheadings}
\markright{My \textbf{header}}
\usepackage[fleqn]{amsmath}

%\usepackage{fontspec}
\usepackage{fouriernc}
%\usepackage{polyglossia}

\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}

使用 LuaLaTeXproduces 编译上面的 MWE: 在此处输入图片描述 除正常尺寸的数学字体之外的所有字体都是错误的。

3 添加fontspec

\documentclass{article}
\pagestyle{myheadings}
\markright{My \textbf{header}}
\usepackage[fleqn]{amsmath}

\usepackage{fontspec}
\usepackage{fouriernc}
%\usepackage{polyglossia}

\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}

使用 LuaLaTeXproduces 编译上面的 MWE: 在此处输入图片描述 看起来不错。

4 添加polyglossia

\documentclass{article}
\pagestyle{myheadings}
\markright{My \textbf{header}}
\usepackage[fleqn]{amsmath}

\usepackage{fontspec}
\usepackage{fouriernc}
%\usepackage{polyglossia}

\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}

使用 LuaLaTeXproduces 编译上面的 MWE: 在此处输入图片描述 常规文本和数学索引现在是错误的。

此行为仅在 TeX Live 更新后发生。有重大变化吗?

问题

我的目标是使用我从包中获取的字体fouriernc,使用polyglossia(我对babelisodate语言设置为有问题nswissgerman),并使用 LuaLaTeX 进行编译。

  1. 这可能吗?
  2. 实现此目的的最简单、最轻量级(即编译时间)的方法是什么?例如,是否可以使用 而fontspec不是加载来设置我想要的字体fouriernc

非常感谢您的意见!

答案1

fouriernc加载fourier,并且这个加载fourier-orns,并且这个包的较新版本加载(使用 xelatex 和 lualatex)这个fontspec包。

fontspec将字体编码更改为TU(即适合 unicode 引擎的编码)。由于 fourier 没有为文本字体设置其TU文本字体,因此现在将回退到 lmr:

LaTeX Font Warning: Font shape `TU/fnc/m/n' undefined
(Font)              using `TU/lmr/m/n' instead on input line 6.

数学字体设置不受影响。

获取合适文本字体的最佳方法是使用 \setmainfont 进行设置。在fouriernc加载 fontenc 和设置数学字体时,最好尽早加载,以便 fontspec 可以正确接管。

\documentclass{article}
\usepackage[fleqn]{amsmath}
\usepackage{fouriernc}%loads fontspec
\usepackage{polyglossia}
\setmainfont{heuristica}[Scale=0.91]
\begin{document}
My \textbf{text} and \textbf{equation}:
\begin{align}
F_\text{G}
\end{align}
\end{document}

在此处输入图片描述

相关内容