Fontspec 找不到 Tex Gyre Pagella Italic

Fontspec 找不到 Tex Gyre Pagella Italic

我正在使用 XeLaTeX,并且在调用时

\newfontfamily\headingfont{TeX Gyre Pagella Italic}

我明白了

Requested font "TeX Gyre Pagella Italic" at 11.99997pt -> font not found, using "nullfont" 
! Package fontspec Error: The font "TeX Gyre Pagella Italic" cannot be found.

我可以看到 Windows 10 将字体列为已安装,我有 fontspec、libertine 软件包的当前版本,并且我使用 MikTeX 控制台刷新了字体图,但似乎仍然找不到该字体。

以下是 MWE:

\documentclass[english,a4paper,12pt]{article}
\usepackage{libertine}
\usepackage[bold-style=ISO]{unicode-math}
\newfontfamily\headingfont{TeX Gyre Pagella Italic}
\begin{document}
XX
\end{document}

答案1

Pagella 系列使用“TeX Gyre Pagella”作为系列名称。斜体形状称为“TeXGyrePagella-Italic”。此外,您不是在设置字体系列,而是在设置单个字体,因此使用更有意义\newfontface。总体而言,对于我在 Debian Linux 上使用 TeXLive 2019 的情况,以下内容有效:

\documentclass[english,a4paper,12pt]{article}
\usepackage[bold-style=ISO]{unicode-math}
\newfontface\headingfont{TeXGyrePagella-Italic}
\begin{document}
\headingfont XX
\end{document}

答案2

问题是,xelatex无法通过名称找到字体。要解决此问题,您必须指定字体文件:

\documentclass[a4paper,12pt]{article}
\usepackage{libertine}
\usepackage[bold-style=ISO]{unicode-math}
\newfontfamily\headingfont{texgyrepagella-italic.otf}
\begin{document}
  \headingfont XX 
\end{document}

如果你运行,pdffonts你会看到,使用了正确的字体:

name                                     type              encoding         emb sub uni object ID
---------------------------------------- ----------------- ---------------- --- --- --- ---------
SLTSXB+TeXGyrePagella-Italic-Identity-H  CID Type 0C       Identity-H       yes yes yes      5  0
LJPSEU+LinLibertineO-Identity-H          CID Type 0C       Identity-H       yes yes yes      7  0

答案3

你可以试试

\newfontface\headingfont{TeXGyrePagella-Italic}

或者

\newfontfamily\headingfont{TeX Gyre Pagella}\textit{...}

相关内容