fontspec 包的第 27 页内容如下:
段落中单词之间的间距将自动选择,通常不需要调整。当精确的细节很重要时,可以使用 WordSpace 功能,该功能要么采用单个缩放因子来缩放默认值,要么采用三个逗号分隔的值来分别缩放单词间距的标称值、拉伸和收缩。(WordSpace={x} 与 WordSpace={x,x,x} 相同。)
不清楚带有三重参数的 WordSpace 的参数是什么意思。假设我想使用可以拉伸或缩小多达 5% 的单词间距(我知道这是糟糕的排版)。我应该使用什么 WordSpace={x,x,x}?
我猜是 WordSpace={1,1.05,0.95},但同样,包说明不清楚。
答案1
这三个值是字体参数乘以的因子。
你可以利用这个事实,即在定义字体时,\font
会引用它。标准字间距为\fontdimen2\font
,可拉伸性为\fontdimen3\font
,可收缩性为\fontdimen4\font
。
现在需要将单词间间距除以可拉伸性和可收缩性,然后将这些商乘以您希望的因子,在您的情况下,两者都为 0.05。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}[
WordSpace={
1,
\fpeval{0.05*(\the\fontdimen2\font)/(\the\fontdimen3\font)},
\fpeval{0.05*(\the\fontdimen2\font)/(\the\fontdimen4\font)}
},
]
\begin{document}
Standard space: \the\fontdimen2\font
Stretchability: \the\fontdimen3\font
Shrinkability: \the\fontdimen4\font
\end{document}
注意:该答案已被重新修改,您可以在编辑历史中阅读原始想法。