更新

更新

我试图将其用作Lato我的主要字体,但我想从我的项目文件夹中加载它。所以我定义了以下命令:

\newcommand*{\fontdir}[1][fonts/]{\def\@fontdir{#1}}
\fontdir

\newfontfamily\Lato[
  Path=\@fontdir,
  UprightFont=Lato-Regular.ttf,
  ItalicFont=Lato-Italic.ttf,
  BoldFont=Lato-Bold.ttf,
  BoldItalicFont=Lato-BoldItalic.ttf,
  NFSSFamily=latofont
]{Lato}

并将其设置为我的主要字体

\setmainfont[Ligatures=TeX]{latofont}

但我收到以下错误:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
! 
! The font "latofont" cannot be found.
! 
! See the fontspec documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

我不明白。如能提供任何帮助,我将不胜感激。

更新

我通过定义成功加载它:

\newfontfamily\Lato[
  Path=\@fontdir,
  NFSSFamily=latofont
]{Lato-Regular.ttf}
\setmainfont[Ligatures=TeX, Path=\@fontdir]{Lato-Regular.ttf}

但如果我宣布

\setmainfont[Ligatures=TeX, Path=\@fontdir]{latofont}

这是行不通的。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
! 
! The font "latofont" cannot be found.
! 
! See the fontspec documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

l.64 ...ont[Ligatures=TeX, Path=\@fontdir]{latofont}

? 

我猜这个选项NFSSFamily不起作用,但你告诉我。我正在使用 MacTex 和 LuaLatex:

$ lualatex -v
This is LuaTeX, Version 0.95.0 (TeX Live 2016)

答案1

你把事情搞得太复杂了。如果你想将主系列设置为某种字体,只需使用 \setmainfont 进行设置:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}%[options if needed]

\begin{document}
This is the main (roman) family and it is in Pagella 
\end{document}

相关内容