今天 (2019-02-09) TeXLive 2018 (Linux 版) 的 tlmgr 更新严重破坏了我的项目 (使用 Adobe Garamond Pro 用 LuaLaTeX 排版的几本书中约一千二百页) — 几乎所有页面都经过了大范围的严重修改。我不得不将 luaotfload 包恢复到以前的版本 (从损坏的版本 49978):
tlmgr restore luaotfload 49747
此后,书籍再次编译成功。
稍后编辑
似乎 luaotdload 的损坏版本导致 fontspecLetterSpace
指令被忽略。
这里有一些 MWE(可能更加简约,这是对我的项目中的一个设置的快速摘录——显然修改到了极端以显示问题(我对其中的文本没有版权,所以我不能在这里使用它,但这应该足够了)):
%%%! LuaLaTeX
\documentclass[11pt,twoside,openright]{book}
\usepackage{fontspec}
\defaultfontfeatures{
Ligatures = { TeX, Common, },
ItalicFeatures = { LetterSpace = 10 },
Numbers = { Proportional },
}
\usepackage{polyglossia}
\setdefaultlanguage{czech}
\setotherlanguage{esperanto}
\setmainfont[BoldFont={agaramondprosemibold}]{adobegaramondpro}
\usepackage[
protrusion = true,
expansion = true,
tracking = true,
factor = 800,
stretch = 15,
shrink = 15
]{microtype}
\begin{document}
\textit{Příliš žluťoučký kůň úpěl ďábelské ódy.}
{
\addfontfeature{ LetterSpace = 15 }
Some text with huge spacing
}
\end{document}
结果如下(使用以前版本的 luaotdfload (49747) 是正确的,使用当前版本 (49978) 不正确):
编辑:Libertinus 也出现同样的问题,只需使用:
\setmainfont{libertinusserif}
更短的 MWE:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[LetterSpace = 150]{Latin Modern Roman}
\begin{document}
Some text with huge spacing
\end{document}