[Tex/LaTex] How to set LaTeX to use a different font when a font has no italics built in

fonts

I'm using Helvetica Neue Light as the default in my document (working off a template), but when I specify /emph, it simply gives me a warning in

LaTeX Font Warning: Font shape 'EU2/HelveticaNeueLight(0)/m/it' undefined

Using 'EU2/HelveticaNeueLight(0)/m/n instead on input line

and the output is simply normal, un-italicized text.

The style sheet looks as follows:

\RequirePackage[quiet]{fontspec}
\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math}

\newfontfamily\bodyfont[]{Helvetica Neue}
\newfontfamily\thinfont[]{Helvetica Neue UltraLight}
\newfontfamily\headingfont[]{Helvetica Neue Condensed Bold}

\defaultfontfeatures{Mapping=tex-text}
\setmainfont[Mapping=tex-text, Color=textcolor]{Helvetica Neue Light}

Any idea how I get around this? I do have the Helvetica Neue Light Italic font installed on my system, if that helps.

Best Answer

Provide the italic font to fontspec with its key-value option syntax. Note the reversed order of font-then-options and the fact that TeX ligatures (--/---/curly typographers' quotes) are set up automatically in the latest version of fontspec:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Helvetica Neue Light}[
  ItalicFont=Helvetica Neue Light Italic,
]

\begin{document}
Test \emph{test}.
\end{document}

enter image description here