根据 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 所建议的那样。但是,这样做时,所有替代字体也会被选中。