我正在使用 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
并非每个字体系列都支持所有可能的功能,并且并非同一系列中的每种字体都支持相同的功能。例如,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
。