A lot of people will recommend against mixing multiple weights of the same font in the same document, but LaTeX does standardize font series names for Light ({l}
), as well as {el}
, {ul}
, {sb}
, {eb}
and {ub}
.
So, this alternative might (I haven’t tested it) make all the styles in your screenshot available as part of the same family.
\newfontfamily\neosans{NeoSans}[
% Ligatures = ..., etc.
UprightFont = *-Regular ,
ItalicFont = *-Italic ,
BoldFont = *-Bold ,
BoldItalicFont = *-BoldItalic ,
FontFace = {l}{n}{*-Light},
FontFace = {l}{it}{*-LightItalic},
FontFace = {sb}{n}{*-Medium},
FontFace = {sb}{it}{*-MediumItalic},
FontFace = {eb}{n}{*-Black},
FontFace = {eb}{it}{*-BlackItalic},
Extention = .otf ]
This assumes that a font with PostScript outlines that you’re loading with fontspec
has an *.otf
extension.
The standard LaTeX command to select a weight other than regular or bold is, e.g., \fontseries{eb}\selectfont
. For convenience and compatibility with a few other packages, you might define commands like the following:
\DeclareRobustCommand{\sbseries}{\fontseries{sb}\selectfont}
\DeclareTextFontCommand{\textsb}{\sbseries}
\DeclareRobustCommand{\ebseries}{\fontseries{eb}\selectfont}
\DeclareTextFontCommand{\texteb}{\ebseries}
\DeclareRobustCommand{\ltseries}{\fontseries{l}\selectfont}
\DeclareTextFontCommand{\textlt}{\ltseries}
This allows you to write \ltseries
as you would \bfseries
, or \texteb{foo}
like you would \textmd{foo}
.