Small caps for the Kindle

Getting small caps in KF8 is easy; just set font-variant: small-caps. For the original Kindle format, it’s harder I put the lowercase letters inside a span, switch them to uppercase, and use CSS to set the font-size to 60% (Kindlegen converts this to <font size="-2">).

To make a version that works in both, I add text-transform: lowercase to the inner span for the KF8 version. Here’s an example:

<span class="firstword">P<span class="sc">ETER</span> B<span class="sc">LOOD</span></span>
@media not amzn-mobi {
  .firstword { font-variant: small-caps; }
  .sc { text-transform: lowercase; }
}
@media amzn-mobi {
  .sc { font-size: 60%; }
}

This method uses fake small caps, scaled down versions of standard uppercase characters. For true small caps in KF8 you can use your own font. However, there’s no way to make small caps that will consistently match the body font, which the user can change.

I’d love to see Amazon (and other e-reader companies) add true small caps to the built-in fonts, and make it so embedded OpenType fonts that support small caps have that support activated by font-variant: small-caps.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>