我注意到我的新 TexLive 2012 中打包了大量 OTF 和 TTF 字体。例如,Asana-Math OTF 字体位于
$TEXMFDIST/fonts/opentype/public/Asana-Math
并且 TTF 位于不同的位置。我可以在 fontspec 中使用它吗?没有将它安装在我的系统字体中,还是指定它的绝对路径?
答案1
如果您只想使用 UTF-8 TeX 衍生字体(XeTeX 和 LuaTeX),则无需将它们安装在系统字体文件夹中。根据您的操作系统和引擎选择,使用字体名称可能不如使用字体文件名可靠。因此,无论您使用的是系统范围字体还是 TeX 树字体,我都倾向于使用后者。
例如,
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Asana-Math.otf}
\begin{document}
$y = mx + c$
\end{document}
在我的系统上可以使用 XeLaTeX 和 LuaLaTeX,但我没有在系统范围内安装 Asana Math(IE在例如 Word 中不可用)。
答案2
将文件复制到
$TEXMFLOCAL/fonts/truetype/.../
然后在运行 MiKTeX 时运行texhash
或更新数据库。然后您可以使用字体名称来使用该字体,例如
\usepackage{fontenc}
\setmainfont{Helvetica Neue}
如果你正在运行 Linux,那么你可以将文件保存在 下/home/$USER/.fonts/
,运行它fc-cache
,它将被找到xelatex
答案3
使用 LuaTeX,你可以使用 TeX Live 安装的字体(即在 TEXMF 树下),就像使用系统字体一样。XeTeX 尚不支持此功能,但在 Linux/Windows 上,你可以按照说明操作这里使 TeX Live 字体在整个系统内可用,以便 XeTeX 可以找到它。
或者,您可以通过文件名调用字体,这适用于两个引擎中的 TEXMF 树字体,但如果您想使用多种字体样式,这可能会有点复杂。查看fontspec
有关如何通过文件名加载字体的文档。