更新:我升级到了 TeX Live 2013,但情况变得稍微糟糕了一些,详情请参阅文章末尾。
我有 Garamond Premier Pro,我正在尝试确保我的文档使用所有适当的光学尺寸。使用 XeLaTeX 时它们可以完全正常工作,但 LuaLaTeX 中未使用显示字体,但由于各种原因,我必须在所有项目中使用 LuaLaTeX。这是 MWE:
\documentclass{memoir}
\usepackage{fontspec}
\setmainfont{Garamond Premier Pro}
\begin{document}
{\tiny tiny}\\
{\normalsize normal}\\
{\Huge Huge}\\
{\HUGE HUGE}\\
\end{document}
当我使用 XeLaTeX 运行它并查看嵌入的字体时,我得到:
GaramondPremrPro-Identity-H
GaramondPremrPro-Capt-Identity-H
GaramondPremrPro-Subh-Identity-H
GaramondPremrPro-Disp-Identity-H
当我使用 LuaLaTeX 运行它时:
GaramondPremrPro-Med
GaramondPremrPro-Capt
GaramondPremrPro-MedSubh
请注意,显示字体未列出且未被使用(尽管文本以正确的大小显示,只是不使用 Garamond 显示字体)。
我想我会尝试用这个来解决这个问题
\documentclass{memoir}
\usepackage{fontspec}
\setmainfont[SizeFeatures=
{Size=-8,Font=GaramondPremrPro-Capt.otf}
{Size=8-14,Font=GaramondPremrPro.otf}
{Size=14-21,Font=GaramondPremrPro-Subh.otf}
{Size=21-,Font=GaramondPremrPro-Disp.otf}}
]{Garamond Premier Pro}
\begin{document}
{\tiny tiny}\\
{\normalsize normal}\\
{\Huge Huge}\\
{\HUGE HUGE}\\
\end{document}
但是当我在 LuaLaTeX 或 XeLaTeX 中运行它时,出现以下错误:
! LaTeX Error: Font EU2/GaramondPremierPro(0)/m/n/10 not found.
我不知道那是什么意思,甚至不知道我是否掌握了正确的语法来指定那样的大小。
所以最后我似乎无法使用 LuaLaTeX 获取 Garamond 中的显示尺寸。
附注:如果{Garamond Premier Pro}
我使用,{GaramondPremrPro.otf}
那么其他光学尺寸都不会加载 XeLaTeX 或 LuaLaTeX。
我正在使用 TeX Live 2012 以及随附的任何版本的 LuaTeX 和 XeTeX。
更新我设法升级到原始 TeX Live 2013 安装(勉强),但问题变得更严重了。XeLaTeX 仍然使用所有适当的大小,但现在 LuaLaTeX 不使用任何大小。它只使用主尺寸字体,而忽略其余字体。