[Tex/LaTex] Fontspec: Bold Small Caps with Alegreya Font

fontspecsmall-capsxetex

I'm using the Alegreya font in XeLaTeX and, after scouring the fontspec documentation, I can't figure out how to specify the bold small caps font (not to mention the italic small caps). I feel like the answer is right under my nose, I just can't quite find it. The font definitely has bold small caps, as shown on page three here.

%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}

And while we're at it, what's the purpose of

SmallCapsFeatures={Letters=SmallCaps}

It seems to make no difference in my larger file.

Best Answer

In this case, Letters=SmallCaps is irrelevant as Alegreya SC only has small caps. In other cases, when a “normal” font is used, this option will enable the +smcp feature when choosing the font.

You have to add suitable declarations also for bold, italic and bold italic.

\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}

enter image description here

Of course, this doesn't mean I endorse usage of boldface small capitals.

Related Question