In some cases, you can overcome by interrupting the normal kerning:
\hl{\emph{irre\mbox{}ducible}}
by sticking an \mbox{}
in the middle of a word. But even that will not work on, for example, ending a penultimate word on an italic f
.
As a real hacky workaround that could get you out of a bind, you could try this if the problem arises just once or twice in the span of a longer passage. Note that the argument to \althl
will not linebreak, so it is only to be used for the word that needs help, not the whole passage.
\documentclass{article}
\usepackage{xcolor}
\usepackage{soul}
\fboxsep=.5pt
\newcommand\althl[1]{\colorbox{yellow}{\rule
[-.75\dp\strutbox]{0pt}{.81\baselineskip}\itshape #1}}
\begin{document}
\hl{\emph{This is an irre\mbox{}ducible test }}%
\althl{of }\hl{\emph{things.}}
\end{document}

Compare this to, for example, that which naturally arises just from using \hl
on the passage:
\hl{\emph{This is an irreducible test of things.}}

In this case, the first r
and the e
in irreducible
are clipped as well as the f
in of
.
soul
. Essentially, when you say\hl{...}
, it draws a bunch of thin vertical colored lines to create the illusion of backgroud highlight. Sometimes it happens to block part of some letter(s). In your case, that is not an\epsilon
, but rather just an italice
but with its right half blocked (you can see the same blocking with the firstr
, not as severe as thee
of course).