fontspec 包中的 CharacterVariant

fontspec 包中的 CharacterVariant

根据该fontspec包的文档,此代码:

\fontspec{EB Garamond 12 Italic} very \\
\fontspec{EB Garamond 12 Italic}[CharacterVariant=5] very \\
\fontspec{EB Garamond 12 Italic}[CharacterVariant=5:0] very \\
\fontspec{EB Garamond 12 Italic}[CharacterVariant=5:1] very \\
\fontspec{EB Garamond 12 Italic}[CharacterVariant=5:2] very \\
\fontspec{EB Garamond 12 Italic}[CharacterVariant=5:3] very

应该产生这样的输出:

在此处输入图片描述

事实上,对于我在 Linux 上使用 XeLaTeX 来说,这非常有效。

但是当我运行xelatex该文件时,我收到很多这样的抱怨:

*************************************************
* fontspec warning: "icu-feature-not-exist-in-font"
* 
* OpenType feature 'CharacterVariant=5' (+cv05) not available for font 'EB
* Garamond 12 Italic/I' with script 'Latin' and language 'Default'.
*************************************************

(其他 CharacterVariants 也类似。)

这个错误是什么意思?正如我所说,输出看起来没问题。

答案1

该命令\fontspec还尝试设置字体的斜体(和粗体)版本。xelatex字体的常规版本显示为“斜体”,并且由于常规版本没有字符变体,因此您会收到警告(而不是错误):

\documentclass{scrartcl}
\usepackage{fontspec}

\begin{document}

{\fontspec{EB Garamond 12 Italic} very \textit{very}}

{\fontspec{EB Garamond 12 Italic}[CharacterVariant=5:2] very \textit{very}}

{\fontspec{EB Garamond 12 Regular} very \textit{very}}

{\fontspec{EB Garamond 12 Regular}[CharacterVariant=5:2] very \textit{very}}

\end{document}

使用 xelatex 输出

在此处输入图片描述

您可以通过加载字体来抑制警告,例如

\fontspec{EB Garamond 12 Italic}[
     CharacterVariant=5:2,
     ItalicFont={EB Garamond 12 Italic},
     BoldItalicFont={EB Garamond 12 Italic}]

相关内容