许多字体针对不同的字体大小提供不同的字体。例如测量员专业版具有用于正文的 Book 样式和用于标题(或一般大文本)的 Display 样式。另一个示例是开源项目西安国际旅行社如果缩小到较小的文本,需要调整字距对(这会导致不同的字体)。
在这些情况下,可以重新定义 \Huge 或 \footnotesize 环境并使用 fontspec 包将不同的字体与这些命令关联起来。然而,这是一种相当不靠谱的方法,可能会导致更多问题。这就是我的问题。
有没有简单的方法手动在 XeTeX 中更改字体大小吗?
编辑:我应该指出,fontspec 可以识别光学缩放,因此如果可用,会自动为不同的大小选择不同的字体。还有很多 SizeFeatures(如 fontspec 手册中所述),例如更改颜色、字距值等等。但是可以更改字体吗?例如:
\setmainfont{Typeface}[SizeFeatures = {{Size = -8, <Font_A>},
{Size = 8-12, <Font_B>},
{Size = 12- , <Font_C>}}]
为了论证的目的,Font_A 应该是 Garamond,Font_B 应该是 Times New Roman,而 Font_C 可以是 Surveyor Pro Display。
答案1
好吧,我找到了我自己问题的答案。事实证明我已经非常接近答案了:
\setmainfont[SizeFeatures = {{Size = -8, Font = <Font_A>},
{Size = 8-12, Font = <Font_B>},
{Size = 12- , Font = <Font_C>}}]{<Typeface>}
产生了我想要的结果。