解决方案 1:将 TeX Live 字体添加到标准 OS X 字体位置

解决方案 1:将 TeX Live 字体添加到标准 OS X 字体位置

我想在 OS X 10.11 上由 XeLaTeX 排版的文档中使用 EB Garamond(与 TeX Live 一起分发):

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{EB Garamond}
\begin{document}

Hello, World!

\end{document}

但是当我运行时xelatex它会产生以下错误:

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

l.3 \setmainfont[Ligatures=TeX]{EB Garamond}

即使我的系统中存在该字体:

$ ls /usr/local/texlive/2015/texmf-dist/fonts/opentype/public/ebgaramond/
EBGaramond12-Italic.otf     EBGaramondInitials.otf
EBGaramond12-Regular.otf

如何让 XeLaTeX 在 OS X 上使用 EB Garamond 的 TeX Live 副本?

相关:同样的问题,但Ubuntu GNU/Linux

答案1

解决方案 1:将 TeX Live 字体添加到标准 OS X 字体位置

XeLaTeX 使用系统字体库,在 OS X 上,它仅在/System/Library/Fonts/Library/Fonts(~/Library/Fonts来源)。上述命令会从用户的字体库创建一个符号链接到包含随 TeX Live 2015 分发的 OpenType 字体的目录。

ln -s /usr/local/texlive/2015/texmf-dist/fonts/opentype/ ~/Library/Fonts/texlive-opentype

(注意:如果您不想使用 TeX Live 2015 版本,请更改上面命令中的日期。)

一旦创建此链接,问题中的示例就可以工作。

解决方案 2:通过文件名选择字体

解决方案 1 的缺点是,由于必须跟踪大量字体,因此可能会降低 GIMP 或 Inkscape 等图形设计程序的速度。如果这对您来说是个问题,请不要将 TeX Live 字体符号链接到~/Library/Fonts/,而是通过文件名请求字体。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{EBGaramond12}[
  Extension   = .otf ,
  UprightFont = *-Regular ,
  ItalicFont  = *-Italic ,
  Ligatures   = TeX]
\begin{document}

Hello, World!

\end{document}

相关内容