LuaLaTeX、fontspec 和使用 microtype 进行跟踪

LuaLaTeX、fontspec 和使用 microtype 进行跟踪

我尝试让 microtype 的跟踪工作但没有成功:最新的 TeXlive 2011(lualatex 0.70.1)和 microtype v2.5 beta 07。示例代码:

\documentclass{article}
\usepackage[no-math]{fontspec}
\usepackage[tracking,letterspace=500]{microtype}
\begin{document}\parindent0em

\fontspec[SmallCapsFont={Latin Modern Roman Caps}]{Latin Modern Roman}
\textsc{stealing sheep}

\fontspec{Linux Libertine O}
\textsc{stealing sheep}
\end{document}

Latin Modern 可以正常工作(带字母间距的小型大写字母),但 Libertine 不行(带字母间距的小写字母)。这两种字体之间的唯一区别是 Latin Modern 的小型大写字母位于单独的文件中。有什么想法可以让 Libertine 也正常工作吗?但是,以下方法不起作用:

\fontspec[SmallCapsFont={Linux Libertine O}]{Linux Libertine O}

也不会:

\fontspec[SmallCapsFont={Linux Libertine O},SmallCapsFeatures={Letters=SmallCaps}]{Linux Libertine O}

欢迎任何建议。

编辑:以下确实有效(有副作用,见下文):

\fontspec[Renderer=Basic]{Linux Libertine O}

第二次编辑:参见相关问题

答案1

这是由于 luatex 中的一个错误(或者,更礼貌的说法是:不兼容)造成的。我刚刚报告了这个问题在 luatex 列表中

编辑:...我得到了一个答案,确实说服我变得更有礼貌 - 这不是一个错误,而是微类型使用了遗留命令。

简单的解决方案是:加载字体Renderer=Basic(副作用尚未发现)。

答案2

\documentclass{article}
\usepackage[no-math]{fontspec}
\fontspec[SmallCapsFont={LinLibertineCapitalsO},
          SmallCapsFeatures={Letters=SmallCaps}]{Linux Libertine O}
\usepackage[tracking,letterspace=500]{microtype}
\begin{document}\parindent0em

stealing sheap

\textsc{Stealing Sheep}

\textls[800]{\scshape Stealing Sheep}

\end{document}

在此处输入图片描述

相关内容