I am using the fontspec
package with LuaLaTeX
. I'm curious if there is a way to automatically set numbers in small caps by default similar to how you can set numbers in OldStyle/Lowercase by default via the fontspec
package options Numbers=OldStyle
or Numbers=Lowercase
Note: Not all fonts support numbers in small caps. I use a free font in my MWE that supports small caps numbers.
My motivation for asking this question is that I am currently testing if typesetting numbers in small caps is easier or nicer to read than the usual uppercased, monospaced numbers. Having an easier way to output numbers in small caps would be wonderful.
\documentclass{article}
\newcommand{\alphabet}{abcdefghijklmnopqrstuvwxyz}
\newcommand{\digits}{0123456789}
\usepackage{fontspec}
\setmainfont{Source Serif Pro}%Available for free on Google Fonts.
[
%Numbers=OldStyle%
%Numbers=Lowercase%
]
\begin{document}
\textbf{Regular letters and digits:}
\par
\alphabet\quad\digits
\par
\textbf{Small caps letters and digits:}
\par
\textsc{\alphabet\quad\digits}
\par
\textbf{Regular letters and Oldstyle digits:}
\par
\alphabet\quad\oldstylenums{\digits}
\end{document}
EDIT 1: I added a photo displaying numbers with small caps.
EDIT 2: I am looking for a solution, if possible, that makes numbers display as small caps by default without having to use \textsc
or any other in-text macro. Thus, \textsc{1234}
and 1234
should look identical. If this isn't possible, of course, I can always fall back on making an in-text macro.
RawFeature=+xxxx
wherexxxx
stands for the relevant feature abbreviation.fontspec
documentation, you will see that you can define your own custom feature, where you select specific characters in a font, and give them a new feature name.