我正在尝试定义默认无衬线字体的副本,但单词间距不同。但是,简单地定义\sffamily
如果两个字体系列使用相同的缩放因子,则该字体系列会改变字间距。
最小工作示例:
% !TeX program = lualatex
\documentclass{article}
\usepackage{fontspec}
\setsansfont{texgyreheroscn}[
Ligatures=TeX,
Scale=MatchUppercase
]
\newfontfamily{\spacedsffamily}{texgyreheroscn}[
Ligatures=TeX,
% commenting the following line changes word spacing to the expected value:
Scale=MatchUppercase,
WordSpace=2
]
\begin{document}
\textsf{This is a test to show word spacing}
\end{document}
尽管\spacedsffamily
文档中未使用,但我观察到的单词间距与匹配WordSpace=2
。如果我注释该行Scale=MatchUppercase
或放置不同的缩放因子(与不匹配\sffamily
),则观察到的单词间距会发生变化。
对我来说,这看起来就像WordSpace
是全局应用于所有具有相同文件名和缩放因子的字体。
对这种行为有什么解释或解决方法吗?(除了显而易见的:复制 otf 文件,但这会在生成的 pdf 中创建第二个嵌入字体子集)