Overleaf 中的 CustomFont (.otf) 带有 pdfLatex 和自定义字体包

Overleaf 中的 CustomFont (.otf) 带有 pdfLatex 和自定义字体包

我正在尝试使用 pdfLatex 和自定义字体包在 Overleaf 中使用自定义字体(我已阅读 Overleaf 文档这里)。我已将以下文件放在我的 Overleaf 目录中:GillAltOneMt.otf、GillAltOneMt-Italic、GillAltOneMt-Bold、GillAltOneMt-BoldItalic。

使用 LuaLatex 进行编译时,它可以工作。但是,使用 pdfLatex (Tex Live 2020) 时则不行 - 它会产生包错误。我的问题:

  • 是不是因为我没有 fd 文件 (t1mgs.fd) 才引发错误?如果是这样,这个 fd 文件应该是什么样子才能指向 otf 文件?
  • 有没有其他方法可以改变此代码,以检查根目录中的字体文件?

字体包(.sty 文件)中的相关部分:

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{uufonts}[...]

\RequirePackage{ifluatex}

\newif\ifuufonts@systemfonts
\uufonts@systemfontsfalse
\ifluatex
% Then assume we have the fonts and yield error later otherwise.
% (Checking if font exists takes time.)
\uufonts@systemfontstrue
\else
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\fi

[...]

\newif\ifuufonts@sans
\uufonts@sanstrue
\DeclareOption{no-sans}{\uufonts@sansfalse}

[...]

% === Gill Sans ===
\ifuufonts@sans
\IfFileExists{./GillAltOneMT.otf}{
  \setsansfont{GillAltOneMT.otf}[
  BoldFont = GillAltOneMT-Bold.otf ,
  ItalicFont = GillAltOneMT-Italic.otf ,
  BoldItalicFont = GillAltOneMT-BoldItalic.otf]
}{
  \setsansfont{Gill Alt One MT}
}
\fi

[...]

\ifuufonts@sans
\IfFileExists{t1mgs.fd}{
  \renewcommand*{\sfdefault}{mgs}
}{
  \AtEndOfPackage{
    \PackageError{uufonts}
    {The Gill Sans font is not installed for (pdf)TeX. Maybe try lualatex instead}
    {If you continue, that font is simply not used}}
  \relax}
\fi % sans

相关内容