通过 microtype 与 fontspec 调整字母间距(在 LuaLaTeX 中)

通过 microtype 与 fontspec 调整字母间距(在 LuaLaTeX 中)

我刚刚意识到我可以使用microtypefontspec包来获得类似的字母间距效果;例如:

\documentclass{article}
\usepackage{fontspec}
\usepackage{microtype}
\setmainfont{Iwona}
\begin{document}

\textls*{Hello World}\par
{\addfontfeature{LetterSpace=12}Hello World}

\end{document}

显然可以\addfontfeature进行适当包装,但这是 MWE 给出的:

上面的输出

两者之间存在差异,但有人可以建议应该优先选择哪一个吗?

我的天真猜测是,如果已经在使用,fontspec那么LetterSpacing应该优先使用字体功能,因为使用microtype可能\textls会干扰它并需要Renderer=Basic进行设置。

答案1

截至 2015 年 3 月,据我所知,没有理由不是使用LetterSpace=... 由提供fontspec.但是,有几个理由更喜欢由microtype(\textls\lsstyle) 提供的功能等效物。

  • microtype's该功能已存在约 10 年;它已经过尝试和测试,其优点和局限性似乎也有据可查。

  • 虽然fontspec在 Lua 和 XeTeX 领域之外无法工作,microtype但它也与 pdfTeX 兼容,这使得在必要时在这两个领域之间传输文档变得更加容易。

  • microtype提供\textls{...}和,\lsstyle,它们模仿经典的文本样式命令。fontspec比例程更直观、更易于使用。请注意可用的可选参数\textls[...]{...},您可以使用它来本地临时指定跟踪金额。

  • 除了在行首使用外,它还\textls, microtype提供了在行首使用的选项。它将取消在此情况下产生的\textls*首字母前面不必要的空格。\textls

  • Renderer=Basic似乎是固定的。

几年来,我在几乎所有文档中都使用了和fontspec,并没有发现任何相互不耐受的情况。是我在使用全大写或小型大写字母时分段样式中的常规属性。microtype\lsstyle

PS,关于偷羊

@egreg,在发布停止使用小写字母间距的原则时,它有很好的教学理由,其效果——几乎只使用斜体而不是字母间距来强调——确实是文本美学方面的进步。教导人们停止偷羊仍然是明智的,但话又说回来,规则是用来打破的(由那些掌握了规则的人打破)。»字母间距小写是一种特别难以掌握的强调方式,只有印刷大师才能参与其中。其效果将根据其印刷环境而有所不同。在›厚›的环境中,它将起到更积极的强调作用,以一种有点阴暗的方式引起人们的注意。但在›轻›的环境中,例如在有大量缩写的参考书目中,它将失去其强调效果,这使得它可以用来进行区分。«(Willberg/Forssmann 1997:›Lesetypgraphie‹)

此外,在某些情况下,字母间距小写字母是必须使用的。例如,黑体字已经有所复兴,在这种情况下,字母间距是一种常见且完全合法的强调文本的方式。然后是历史“正确性”的考虑,例如当印刷项目遵循恰好包含字母间距小写字母的特定模型时。

你可能还会注意到,对字体字母之间的间距进行细微的调整,在整个文本中统一进行(“跟踪”),是一种常见的方法,用于(1)处理质量较差的字体,例如当我们必须使用间距很差的字体(或间距很大)时,其他用途(2) 调整字体大小,使其大于或小于阅读大小。对于拥有正确工具和适当知识的人来说,增加极小文本的字距以提高可读性(例如在脚注中),并在较大的文本(例如标题环境)中减少字距以获得更紧凑的外观,是一种很好的做法。

相关内容