我想将字体包含在/include/fonts/
文档旁边的目录中foo.tex
,这样我就不必将字体安装到系统中。我可以成功使用它来实现这一点:
\setmainfont[
Path=include/fonts/,
UprightFont=*,
BoldFont=*-Italic,
ItalicFont=*-Italic,
BoldItalicFont=*-Italic
]{OFLGoudyStM}
但是,手动指定所有变体非常麻烦,而fontspec
使用字体名称(而不是字体文件名)内置了智能功能来执行此操作。有没有办法兼顾两全其美:能够将字体保存在相对于文件的目录中.tex
,但让 fontspec 自动找出所有变体?
因此,实际上,在完美的世界中,我只希望能够使用以下内容,并让 fontspec 找到自己的所有变体(请注意,我在这里使用字体名称,而不是文件名):
\setmainfont[
Path=include/fonts/
]{OFL Sorts Mill Goudy}
以下是一个完整的例子(仅供参考):
\documentclass{article}
\usepackage{fontspec}
\begin{document}
% This works only if the font file is named OFLGoudyStM.otf
% and in the current path. Contrary to docs, TEXINPUTS is not searched.
% Also, the different variants like italic can no longer be automatically
% inferred and need to be explicitly specified
% \setmainfont[
% ExternalLocation,
% ]{OFLGoudyStM}
% This will find the system font
\setmainfont{OFL Sorts Mill Goudy}
\newfontfamily\headingFont[
Path=include/fonts/,
Extension=.ttf,
UprightFont=*-Lig,
BoldFont=*-Lig,
ItalicFont=*-LigIta,
BoldItalicFont=*-LigIta
]{Lato}
\LARGE{This is some \textit{text.}}
\end{document}