While working on the manuscript for the book, I noticed that one of my page headings was being rendered as
Putting together a document—part i
thanks to my writing “part I” using a small caps i for the “I.” I was also getting an annoying warning on every odd page:
LaTeX Font Warning: Font shape `TU/EhrhardtMTStd(0)/m/scit' undefined
(Font) using `TU/EhrhardtMTStd(0)/m/sc' instead on input line 12.
Monotype Ehrhardt does not have an italic small caps and normally I would shun the use of obliquing against the designer’s wishes but here it was going to be a limited case of a single character which, if it were to exist would be obliqued (in fact, other than losing hinting, there’s not a strong argument against using a mechanical oblique for italic small caps, especially not for a small caps I). The catch was how to persuade fontspec to let me do this.
It took a bit of digging through the documentation of fontspec to figure this out (most of the discussion on the topic on Stack Exchange was to express horror at fake italic small caps), but I eventually managed to get the desired result which I present here for anyone trying to solve this particular problem:
\setmainfont[Numbers=OldStyle,Mapping=tex-text, ItalicFeatures= { SmallCapsFont={Ehrhardt MT Std}, SmallCapsFeatures={FakeSlant=0.2, Letters=SmallCaps} } ]{Ehrhardt MT Std}