The state of EPUB rendering: A comparison
A little discussion about the beaten-to-death topic of ebooks vs. paper books reminded me that I once wanted to do comparisons of EPUB rendering in various reader software. Now that the Fate/Zero project is complete, I have finally gotten round to doing it.
A note for readers: Here I focus entirely on rendering accuracy. The EPUB2 specification does have requirements for CSS support, and in this geek’s opinion any self-respecting EPUB reader should at least have some form of CSS support (even if not all features of it as required by the EPUB2 spec are included). Those looking for comparisons of filetype support and ability to render non-compliant EPUB files will have to turn elsewhere.
- @font-face embedding support (truetype format)
- float divs (for sidenotes)
- font-variant: small caps (for sidenotes, chapter leaders)
- CSS selectors: :first-child pseudo-class (for unindented first paragraphs)
- CSS3 hyphenation – experimental, using hyphens & hyphenate-resource (body text)
See Styles/styles.css in the epub file for the full CSS stylesheet.
Image display support is not tested here, though images are included (bonus art, chapter covers). I may test this in a future post.
Font smoothing/anti-aliasing is largely software- and OS-dependent, since the font used, Vollkorn, has no font hinting encoded. Ignore any differences in font-smoothing methods used in the screenshots below. However, it does seem that EPUBReader does not do any font-smoothing whatsoever.
Only ebook reading software are tested here, as I still do not have a tablet or ebook reader device.
e-Readers without CSS support
The following e-Readers failed CSS support unacceptably; they were unable to render almost all the features listed above. Some do not even support basic CSS styles like text-align, font-size, and so on. I suspect they may simply have broken external CSS embedding; they can’t possibly not support CSS at all.
- FBReader 0.12.10 (Windows XP)
- Azardi 7 (Windows XP)
- CoolReader QT-3.0.51-2 (Windows XP)
- Stanza 1.0.0-beta18 (Windows XP)
- Bookglutton (online)
In any case, I have not further tested these readers. No screenshots of their rendered output will be posted here.
Rendering support summary
The following software/services were tested:
- Adobe Digital Editions 1.7.2 (Windows XP)
- Bookworm + Chromium-dev 15.0.874.121 (Linux 3.1.1)
- Calibre 0.8.28-1 (Linux 3.1.1)
- EPUBReader 220.127.116.11 + Firefox 8.0.1 (Windows XP)
- ibisreader + Chromium-dev 15.0.874.121 (Linux 3.1.1)
|@font-face||CSS float||font-variant: small-caps||:first-child||CSS3 hyphens|
Adobe Digital Editions (still) doesn’t seem to support Unicode glyph substitution. If you are using @font-face embedding and must have proper rendering in Adobe DE, ensure that the font you use has all the required glyphs. Missing glyphs will have a ? in their place instead (see screenshots below).
ibisreader does not use margin-bottom as encoded in the css stylesheet (no extra spacing is added between paragraphs in the stylesheet). It also removes custom margin spacing in other styles; note the difference in spacing between chapters in the contents page.
Bookworm renders the Act/chapter titles as expected, but styles it with its own themed colours.
Adobe Digital Editions seems to have some strange alignment issues that don’t show up in the other readers; note the right alignment of the chapter titles in the contents page.
Basic ligature support is observed in EPUBReader and Calibre, although these are features of their respective rendering engines. Calibre uses freetype2, which recently gained this feature. Firefox has automatic ligature support as well.
Filed under: Typesetting, Uncategorized | 2 Comments
Tags: epub, Vollkorn