fontspec 在 Gentium Basic 中找不到样式变体

fontspec 在 Gentium Basic 中找不到样式变体

根据 SIL,字体 Gentium Basic(Gentium Plus 的一个子集)支持“识字替代品”. 咨询字体文档 (无论如何对于 Gentium plus 而言),文字替代项显示具有 OpenType 功能 ID“ss01”。

那么,为什么以下 XeTeX 代码无法选择读写替代项?

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Gentium Basic}[StylisticSet=01]

\begin{document}
This is a test of literacy álternàtes.
\end{document}

类似的代码在 Gentium Plus 中运行良好。但在 Gentium Basic 中,我收到以下错误:

OpenType feature 'Variant=01'(+ss01) not available for 'Gentium Basic'.

我也尝试过[StylisticSet=1]、、[StylisticSet=0][StylisticSet=ss01]但都不起作用。

也许 Gentium Basic 和 Gentium Plus 中的读写替代编码不同?或者也许fontspec我应该使用其他功能?有人知道吗?

答案1

事实上,风格替代集不能作为字体功能访问。如果选择的代码作为答案这个问题在 Gentium Basic 中运行,发现以下特点:

aalt、ccmp、mark、mkmk。

使用 Gentium Plus 运行相同的代码会导致:

aalt、c2sc、ccmp、kern、mark、mkmk、smcp、liga、ss01、ss04、ss05、ss06、ss07

因此,很明显,风格集可作为 Gentium Plus 的字体功能使用,但不适用于 Gentium Basic。

Gentium Basic 中确实存在“literacy alternatives”风格集,我们可以通过+aalt在加载字体时将其作为选项来获得该功能,正如@cfr 所建议的那样。但是,这样做时,所有替代字体也会被选中。

相关内容