我正在使用 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{...}