fontspec 和 microtype:微调 OpenType 字体

fontspec 和 microtype:微调 OpenType 字体

我刚开始尝试 LuaTeX 以使用 OpenType 字体。加载 fontspec 后,我以通常的方式选择这种字体:

\setmainfont{Adobe Garamond Pro}

现在我想知道如何通过微排版来微调排版,即如何为所选字体设置凸出规则。微排版手册仅提到遵循 Karl Berry 命名方案的字体:

\SetProtrusion
   { encoding = T1,
     family   = cmr }
   { A              = {50,50},
     \textquoteleft = {700, } }

我的问题是:使用 Fontspec 的 OT 字体的方式与这些设置有何关系?

pad首先,我想通过使用 Type1 版本的预定义设置,\DeclareMicrotypeAlias{<font name>}{<alias font>}mt-pad.cfg不会加载以下文件:

\documentclass{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX,Numbers={OldStyle,Proportional}}
\setmainfont{Adobe Garamond Pro}
\usepackage{microtype}
\DeclareMicrotypeAlias{Adobe Garamond Pro}{pad}
\begin{document}
  Some Text.
\end{document}

编辑:我刚刚意识到 LuaTeX 使用 EU2 作为内部字体编码,这使得默认值mt-pad.cfg无效。然而问题仍然存在:我必须在微类型指令中使用的字体系列的名称是什么?

答案1

对于 OpenType 字体,您只需采用加载字体时使用的名称(在您的情况下)Adobe Garamond Pro。然后,您可以将文件mt-pad.cfg用作模板,方法是将其复制到mt-AdobeGaramondPro.cfg(注意,没有空格),然后更改/添加突起值:

\SetProtrusion
   [ name     = AdobeGaramondPro ]
   { encoding = {EU1,EU2}, % EU1 = xetex, EU2 = luatex
     family   = {Adobe Garamond Pro} }
   { ... }

字形可以指定为 Unicode 字母,也可以通过相应的 latex 命令指定。该文件test-microtype.tex(包含在包中)可能有助于检查突起值。虽然它最初是为 Type1 字体(具有 256 个字形)设计的,但它可以轻松扩展。

为了真正获得完整的设置,还建议定义字符继承集,因为 OpenType 字体中通常有更多变音字符不受默认继承规则的覆盖。您可以查看提供的 OpenType 字体配置文件,例如mt-CharisSIL.cfg

最后要说的是,创建完整的设置是一项相当耗时的任务,需要耐心。当然,一旦你完成了,我会非常感激地将你的设置包含在包中!

相关内容