[XeTeX] Superscript and Small Caps problem

Karljurgen Feuerherm kfeuerherm at wlu.ca
Fri Aug 19 14:05:57 CEST 2011


Hello Andy,

Thanks--this does help.

the \sffamily wasn't a typo--I did want sansserif, it's just for
testing purposes that I couldn't quickly find a font that would make the
example work.

Interesting that the h-breve isn't in the small caps. I suppose another
solution would be to add it in (and change the font name, of course).

I'll give this a whirl!

Much appreciated,

K

>>> On Fri, Aug 19, 2011 at  4:37 AM, in message
<CADvAzURmF7w6y5WV4x8a0ry-f0QrnqOKpToPbRt3=1GKaMCtiQ at mail.gmail.com>,
Andy Lin
<kiryen at gmail.com> wrote: 
> Superscripts: xltxtra uses real super-/subscripts by default if the
> font supports it, and fakes them if the font doesn't. The reason it
> used to work for Times New Roman, ironically, is because the font
> didn't actually support OpenType superscripts, so it would be faked.
> The reason why it doesn't work for Linux Libertine is because it
does
> support OpenType superscripts, so the feature is enabled, but the
font
> doesn't actually contain superscript glyphs for 'lú'. To fix this:
> Change
> \newcommand{\dtm}[1]{{\textsuperscript{\sffamily#1}}}
> to
> \newcommand{\dtm}[1]{{\rmfamily\fakesuperscript{#1}}} %\sffamily was
a
> typo, right? I've reversed the order out of personal preference;
it's
> less likely to break this way.
> 
> Small caps: Charis SIL is one of the rare fonts that has a small
> capital version of the h breve. I forget if there's any official
> support for fake small caps like with LaTeX, but you can fake the
> small caps version by using the capital version by using the
following
> code (adjust the parameters FakeStretch, FakeBold, and Scale for
> appearance).
> Add
>
\newcommand{\fakesc}[1]{{\addfontfeatures{FakeStretch=1.1,FakeBold=1.1,Scale
> =0.8}\MakeUppercase{#1}}}
> Change
> \newcommand{\smn}[1]{{\sffamily\scshape#1}}
> to
> \newcommand{\smn}[1]{{\sffamily\fakesc{#1}}}
> 
> The downside to using either of these codes is that it will always
> fake the superscript/small caps, even if the font has the proper
> glyph. I'm sure someone can hack together a fix that will swap the
> definitions(between fake and real) based on the Unicode range, but
I'm
> not quite there.
> 
> HTH,
> Andy
> 
> 
> 
> --------------------------------------------------
> Subscriptions, Archive, and List information, etc.:
>   http://tug.org/mailman/listinfo/xetex



More information about the XeTeX mailing list