我正在尝试掌握 xelatex 和 fontspec,但对如何选择字符变体有点困惑。我使用的是 Bickham Script Pro 字体。
混乱 (1) 排版时,有些单词包含小写字母,字母开头或结尾有花哨的部分,这会扰乱文本的流畅性。这会使单词看起来像是中间有空隙,看起来很难看。其他单词中的相同字母不会受到影响,因为它是不同的变体。有办法控制这种情况吗?
混乱 (2) 大写字母有多种版本,似乎都是随机使用的。这为文本增添了一些令人欣喜的变化,但我还是想知道是否有办法控制这种情况。
我花了一晚上的时间查看字体规格手册和 Adobe 字符指南,试图弄清楚这一点。有人能帮忙吗?
答案1
你确定这些替代方案是随机使用的吗?
主页表明“随着上下文的变化而动态地进行替换”,因此上下文变体似乎是此字体的一个特性。
要打开或关闭这些功能,您必须参考所用字体的功能列表。您可以使用otfinfo
文件列出这些功能:
$ otfinfo -f fontfile.otf
或者使用诸如 fontmatrix 之类的程序来显示字体并尝试 OTF 功能,直到找到所需的字体。
一旦了解了该功能,您就可以使用 激活/停用它们fontspec
。例如:
$ otfinfo -f /usr/local/share/fonts/EBGaramond.otf
c2sc Small Capitals From Capitals
calt Contextual Alternates
case Case-Sensitive Forms
ccmp Glyph Composition/Decomposition
cv01 <unknown feature>
cv02 <unknown feature>
cv03 <unknown feature>
dlig Discretionary Ligatures
dnom Denominators
frac Fractions
kern Kerning
liga Standard Ligatures
lnum Lining Figures
mark Mark Positioning
mkmk Mark to Mark Positioning
numr Numerators
onum Oldstyle Figures
ordn Ordinals
pnum Proportional Figures
sinf Scientific Inferiors
smcp Small Capitals
ss01 Stylistic Set 1
ss02 Stylistic Set 2
ss05 Stylistic Set 5
subs Subscript
sups Superscript
tnum Tabular Figures
显示 EB Garamond 支持的功能。然后我可以选择其中一些功能,例如:
\setmainfont[RawFeature={+ss02,+cv01,+ss05,+dlig},ItalicFeatures={RawFeature=+cv04}]{EB Garamond}
-calt
例如,可以使用来关闭上下文替代。