Fontspec:使用 Alegreya 字体的粗体小写字母

Fontspec:使用 Alegreya 字体的粗体小写字母

我在 XeLaTeX 中使用 Alegreya 字体,在浏览了 fontspec 文档后,我还是不知道如何指定大胆的小写字体(更不用说斜体小写字体了)。我觉得答案就在我眼前,只是我找不到。字体肯定有粗体小写字体,如第三页所示这里

%XeLaTeX
\documentclass{report}
\usepackage{fontspec}
\setmainfont[   
    SmallCapsFont={AlegreyaSC-Regular},
    SmallCapsFeatures={Letters=SmallCaps},
    Ligatures=TeX]{Alegreya}

\begin{document}
\textsc{Small Capitals!}

\textbf{\textsc{Bold Small Capitals?}}
\end{document}

那么,

SmallCapsFeatures={Letters=SmallCaps}

对于我的较大文件来说这似乎没有什么区别。

答案1

在这种情况下,Letters=SmallCaps这无关紧要,因为 Alegreya SC 只有小写字母。在其他情况下,当使用“普通”字体时,此选项将+smcp在选择字体时启用该功能。

您还必须为粗体、斜体和粗斜体添加适当的声明。

\documentclass{report}
\usepackage{fontspec}
\setmainfont[
  UprightFeatures={SmallCapsFont=AlegreyaSC-Regular},
  ItalicFeatures={SmallCapsFont=AlegreyaSC-Italic},
  BoldFeatures={SmallCapsFont=AlegreyaSC-Bold},
  BoldItalicFeatures={SmallCapsFont=AlegreyaSC-BoldItalic},
  Ligatures=TeX,
]{Alegreya}

\begin{document}
\textbf{Normal boldface}

\textsc{Small Capitals}

\textsc{\textit{Italic Small Capitals}}

\textbf{\textsc{Bold Small Capitals}}

\textbf{\textsc{\textit{Bold Italic Small Capitals}}}

\end{document}

在此处输入图片描述

当然,这并不意味着我赞同使用粗体小写字母。

答案2

手册fontspec在第 5.1.2 节中提到了这一点,但我不完全理解他们在那里写的是什么。实现您想要的功能的一种方法如下,我已重新定义\textsc为选择 Alegreya Small Caps 字体的新字体系列。

\documentclass{article}
\usepackage{fontspec}
    \setmainfont{Alegreya}
    \newfontfamily\AlegreyaSC{Alegreya SC}
    \renewcommand{\textsc}[1]{{\AlegreyaSC#1}}
\begin{document}
Alegreya
\textsc{Alegreya}
\textbf{\textsc{Alegreya}}
Alegreya
\end{document}

在此处输入图片描述

相关内容