/setmainfont Fehler im Pfad 2 Ebenen tief?

/setmainfont Fehler im Pfad 2 Ebenen tief?

Ich versuche, alle meine Anpassungen und Schriftarten in einem Asset-Ordner unterzubringen, damit ich sie in mehreren Dokumenten verwenden und dieselben Stile beibehalten kann. Leider kann ich das Dokument nicht kompilieren, wenn ich versuche, die Schriftarten in einen Pfad zwei Ebenen tief einzufügen. Ich erhalte die Fehlermeldung:

! error:  (type 2): cannot find file ''
!  ==> Fatal error occurred, no output PDF file produced!

Nachfolgend die Werke:

\newcommand{\fontmercury}{\setmainfont[Path = ./fonts/,
  BoldFont=mercurybd.ttf,
  ItalicFont=mercuryi.ttf,
  BoldItalicFont=mercurybi.ttf
  ]{mercury.ttf}
}

Das funktioniert nicht:

\newcommand{\fontmercury}{\setmainfont[Path = ./assets/fonts/,
  BoldFont=mercurybd.ttf,
  ItalicFont=mercuryi.ttf,
  BoldItalicFont=mercurybi.ttf
  ]{mercury.ttf}
}

Der Pfad ist korrekt. Es wird lediglich jedes Mal ein Fehler generiert, wenn ich mehr als eine Ebene tief gehe.

EDIT: Ich habe es herausgefunden. Es war das hier besprochene Cache-Problem. In meinem Fall ermöglichte das Löschen des OTL-Ordners die Kompilierung.LuaTeX kann vorhandene Schriftart nicht finden

Antwort1

Neben dem Löschen des veralteten otlVerzeichnisses sollten Sie auch erwägen, ein anderes Setup für zu verwenden \fontmercury. Das fontspecPaket stellt die \newfontfamilyDirektive bereit. Für den vorliegenden Fall \newfontfamilyscheint die Verwendung effizienter zu sein als die Ausgabe einer \setmainfontDirektive. Sie könnten die folgenden Anweisungen in die Präambel einfügen:

\newfontfamily{\mercury}{mercury.ttf}%
      [Path           = ./fonts/,
       BoldFont       = mercurybd.ttf,
       ItalicFont     = mercuryi.ttf,
       BoldItalicFont = mercurybi.ttf]
\newcommand{\fontmercury}[1]{{\mercury #1}}

Dann schreiben Sie in den Hauptteil des Dokuments

\fontmercury{...}

Antwort2

Ich dachte, ich würde das als Antwort posten, da ich nicht sicher bin, wie ich das als beantwortet markieren kann. Aber ich habe es kurz nach dem Posten herausgefunden. Ich verwende TeXLive + TeXWorks. Also habe ich den OTL-Ordner im Pfad gelöscht C:\texlive\2017\texmf-var\luatex-cache\generic\fonts\otl. Es hat funktioniert, als es darum ging, das Dokument danach zu erstellen.

Mehr Details:LuaTeX kann vorhandene Schriftart nicht finden

verwandte Informationen