[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



More information about the XeTeX mailing list