[XeTeX] Small caps not working consistently in TeX Live 2013

Khaled Hosny khaledhosny at eglug.org
Sat Jun 29 10:26:53 CEST 2013


On Fri, Jun 28, 2013 at 08:32:24PM -0400, Lammert, Richard wrote:
> \scshape is not working for me for some fonts in TeX Live 2013. The
> following minimal example does not produce small caps with XeTeX, Version
> 3.1415926-2.5-0.9999.3 (TeX Live 2013) and fontspec v2.3c:
> 
>   \documentclass{memoir}
> 
>   \usepackage[no-math]{fontspec}
>   \newfontfamily\mytextfont{Charis SIL}
>   \newcommand{\basetext}{\mytextfont\fontsize{12}{15.4pt}\selectfont}
>   \begin{document}
>   \basetext
> 
>   T{\scshape his sentence shows that scshape} does not, in fact, produce
> small capitals.
>   \end{document}
> 
> With the font Linux Libertine O, on the other hand, small caps *are*
> produced. TeX Live 2013 produces the same results with \textsc used instead
> of \scshape.
> 
> However, with XeTeX, Version 3.1415926-2.4-0.9998 (TeX Live 2012) and
> fontspec v2.3a, the example produces small caps with either Charis SIL or
> Linux Libertine O, as expected.

Charis SIL is a hybrid OpenType/Graphite font, in 0.9998 OpenType was
chosen but in 0.9999 Graphite is chosen instead (a side effect of using
HarfBuzz for both OpenType and Graphite) I’m not yet decided whether to
consider this a bug or a feature.

Either way, with such hybrid fonts it is always better to be explicit
about what font technology to use, adding a “Renderer=ICU” will force
OpenType layout (should be renamed “Renderer=OT” now, but it still works
nevertheless).

BTW, you should {\scshape This…} to allow for kerning and other
interactions between the caps and smallcaps, \scshape effectively
switches to a different font.

Regards,
Khaled


More information about the XeTeX mailing list