# [XeTeX] Fake italics for some characters only

Benct Philip Jonsson bpj at melroch.se
Tue Dec 4 20:57:42 CET 2018

I have a somewhat unusual problem. In a document produced using
XeLaTeX I need to use four Unicode letters with scarce font
support in italicized words and passages but the font which I have
to use supports these characters only in roman. The obvious
solution is to use the FakeSlant feature of fontspec but I don’t
want to enclose these characters in a command argument, in the
hope that a future version of the document can use an italic font
which supports these characters, but neither do I (perhaps
needless to say) want to use fake italics except for these four
characters. In other words I would like to perform some kind of
“keyhole surgery” in the preamble and use these characters
normally in the body of the document, which I guess means having
to make them active and somehow detect when they are inside the
argument of \textit. (Note: it is appropriate to use \textit
rather than \emph here because the purpose of the italicization
is to mark text as being in an object language in a linguistic
text.) Is that at all possible? I guess I could wrap \textit in
a macro which locally redefines the active characters, but I’m not
sure how to do that, nor how to access the glyphs corresponding to
the characters once the characters are active. I am a user who
isn’t afraid of using and making the most of various packages or
of writing an occasional custom command to wrap up some repeatedly
needed operation, but I am no expert. I am aware of all the
arguments against fake italics — that is why I want to limit the
damage as much as possible! — but I have no choice here. Waiting
for the/an appropriate font to include italic versions of these
characters is not an option at the moment.

/Benct