Make `\emph`ed letters bold italic when they are in `\textbf`

boldemphasisfontspecitalicxetex

I have some emphasised letters in \textbf{}, i.e. \textbf{\emph{abc}}, to bold-italicise the letters. However, the text merely comes to be italic, not bold italic. How can I redefine \emph to get bold italic letters when I have to use \emph in \textbf{}?

I also have to use XeLaTeX and fontspec.

MWE

\documentclass[
  a4paper]{article}
\usepackage{fontspec}
\setmainfont[Scale = MatchUppercase,BoldFont = Libertinus Sans Bold]{Libertinus Serif}
\setsansfont[Scale = MatchUppercase,BoldFont = LinBiolinum_RB.otf,ItalicFont = LinBiolinum_RI.otf,BoldItalicFont = LinBiolinum_RBO.otf]{LinBiolinum_R.otf}

\begin{document}

I want to make \textbf{\emph{abc}} bold italic,
like 
{\sffamily\bfseries\emph{abc}}.

\end{document}

Output of the MWE in my environment

enter image description here

Best Answer

The example from the question works as-is for me with LuaLaTeX, but throws an error with XeLaTeX (dvipdfmx:fatal: Invalid font: -1 (1)).

In my experience loading files with file names instead of font names is usually much more reliable.

So if we replicate what you already did for Biolinum in \setsansfont also for Libertinus in \setmainfont we end up with

\documentclass[a4paper]{article}
\usepackage{fontspec}
\setmainfont[
  Scale = MatchUppercase,
  BoldFont = LibertinusSerif-Bold.otf,
  ItalicFont = LibertinusSerif-Italic.otf,
  BoldItalicFont = LibertinusSerif-BoldItalic.otf,
]{LibertinusSerif-Regular.otf}
\setsansfont[
  Scale = MatchUppercase,
  BoldFont = LinBiolinum_RB.otf,
  ItalicFont = LinBiolinum_RI.otf,
  BoldItalicFont = LinBiolinum_RBO.otf,
]{LinBiolinum_R.otf}

\begin{document}

I want to make \textbf{\emph{abc}} \textbf{bold} \textit{italic},
like
{\sffamily\bfseries\emph{abc}}.

\end{document}

which works fine with XeLaTeX and LuaLaTeX

I want to make abc bold italic, like abc.