# Linux Libertine small caps fail for some Unicode characters

I'm using XeTeX and Linux Libertine, since I want "true" small caps. However it seems that the small caps don't work for certain Unicode characters. Here is a minimal example:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\begin{document}
h ħ ö Ö H Ħ

\scshape{h} \scshape{ö} \scshape{ħ}
\end{document}


This is what I get in my PDF (using latexmk -xelatex):

I am using the latest OTF versions of Libertine (downloaded just now). When I try this sequence on the Linux Libertine live-renderer, the smallcaps ħ is displayed correctly:

So this must be a Xetex thing. Any ideas?

-
The web page says 'Every font of the Libertine Open Fonts Project contains a set of small capitals in the so called private use area (PUA) which can be addressed by OpenType capable software.' The PUA is a 'free for all': I'm not expert enough to be sure, but I's say that putting the glyphs here is the issue. –  Joseph Wright Aug 5 '13 at 8:40
So is there any way to get XeteX to use the glyphs in this PUA? I've seen it alluded to but it seems to be discouraged and I cannot find any code for how to actually do it. –  John J. Camilleri Aug 5 '13 at 9:14
The font simply does not have small cap substitution for ħ. No idea what the live render is using, but looks like a standalone small caps font, which might have different coverage than the regular one. –  Khaled Hosny Aug 5 '13 at 9:27
Yes, the page here seems to indicate that there should be a separate small-caps font with an S suffix, but I could find no such file in any of the packages they offer for download. –  John J. Camilleri Aug 5 '13 at 9:51
To get any glyph actually available in the otf, use \libertineGlyph{unicode} as provided in libertine.sty; e.g., \libertineGlyph{hbar} \libertineGlyph{uni04E7} –  user22108 Aug 5 '13 at 12:12

The font simply doesn't have small caps substitution for ħ. Probably the font viewing software is able to fake the glyph or take it from the PUA.