As is known, luatex requires the fontspec option Renderer = Basic in order to display small caps when microtype's tracking = true is used.
\documentclass{article}
\usepackage[tracking = true]{microtype}
\usepackage{fontspec}
\setmainfont{Libertine Serif}[%
SmallCapsFeatures = {%
% Renderer = Basic, % breaks kerning, but allows small caps
Letters = SmallCaps}]
\begin{document}
\textsc{ipa}
\end{document}
With Renderer = Basic, however, proper kerning between the characters P and A is removed:
@KhaledHosny tells me that this is because "Libertine uses class based kerning, which does not seem to be supported by the base mode of luaotfload". I'm curious to find out if there's a way to work around this problem?
The following screen capture from FontForge shows that there's supposed to be a -25 kerning between small caps P and A (click on the picture for a full size version).
As a test, I've tried to increase the kerning from -25 to -80, but the output with luatex is unchanged.




libertineis a fork oflinux libertineprovided by @KhaledHosny – Sverre Aug 24 '15 at 17:29