/setmainfont Error on path 2 levels deep?

/setmainfont Error on path 2 levels deep?

I am trying to house all my customizations and fonts in an asset folder so I can use it on multiple documents and maintain the same styles. Unfortunately whenever I try and put the fonts into a path two levels deep I can't compile the document. I get the error:

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

Below works:

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

This does not work:

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

The path is correct, it just generates an error anytime I go more than one level deep.

EDIT: I figured it out. It was the cache problem discussed here. Deleting the otl folder in my case allowed it to compile. LuaTeX cannot find existing font

답변1

In addition to deleting the out-of-date otl directory, you should also consider using a different setup for \fontmercury. The fontspec package provides the \newfontfamily directive. For the case at hand, using \newfontfamily would seem more efficient than issuing a \setmainfont directive. You could insert the following instructions in the preamble:

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

Then, in the body of the document, you'd write

\fontmercury{...}

답변2

I figure I would post this as an answer since I am not sure how to mark this as answered. But I figured it out shortly after posting. I use TeXLive + TeXWorks. So I deleted the otl folder in the path C:\texlive\2017\texmf-var\luatex-cache\generic\fonts\otl. It worked when it came to building the doc after.

More details: LuaTeX cannot find existing font

관련 정보