如何访问特定字体中的样式变体和自由连字符?

如何访问特定字体中的样式变体和自由连字符?

我正在使用 MinionPro 处理我的文档(带有 的 LuaLaTeX fontspec)。该字体提供了许多可选的连字和字形变体。以下是我的字体设置的一部分:

\setmainfont{MinionPro}[
UprightFeatures     = {
                              Numbers = { Proportional, OldStyle },
                           RawFeature = { +dlig,+cswh},
                       },
]

这些被视为“样式变体”吗?如何让 LuaLaTex 自动使用它们?

强制使用 Unicode 字符似乎不是一个可行的长期解决方案:

A Choral^^^^e08f fo^^^^e0da th^^^^e08f \emph{Medulla Oblongata}, Arranged i^^^^e0b2 Blood

[1]:https://i.stack.imgur.com/FzpnA.png

答案1

并非每个字体系列都支持所有可能的功能,并且并非同一系列中的每种字体都支持相同的功能。例如,Minion Pro 没有任何fina功能(这是Contextuals=WordFinal请求的),并且只有cswh斜体。

对于 Minion Pro,最终的花饰被定义为ss02。这是设计师的选择;它们也可以被定义为fina或其他完全不同的东西。您无法从fontspec手册中了解单个字体的详细信息;相反,您需要研究 的输出otfinfo并在程序中检查字体,例如FontForge

以下功能可用xetex(如果愿意,您可以将这些功能限制在直立位置):

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Minion Pro}[
  Ligatures=Rare,
  Numbers={OldStyle,Proportional},
  StylisticSet={1,2}]
\begin{document}
A Chorale for the \textit{Medulla Oblongata,} Arranged in Blood
\end{document}

输出

由于某些我并不完全清楚的原因,它在 中失败了luatex。我并不感到非常惊讶,因为我从来没有在 中成功处理过其他字体的首字母、中间字母和尾字母变体luatex。但请给我时间,我会找到一种方法来用 重新创建该功能\directlua{...}

编辑:luatex正如 DG 所评论的,可以通过指定 来避免重新创建此功能的工作Renderer=Harfbuzz

相关内容