根据该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}]