There are many aspects to good typesetting, such as

Many interesting details can be found in e.g. Hans Peter Willberg's books.

Now, some of these aspects can be controlled by user (e.g. choice of font) and/or ebook author (ligatures). Others are controlled by the rendering software inside the reader at hand (kerning, justification, hyphenation). Arguably, these aspects are crucial for readability so reading devices should not be too dumb about them.

Compare, for instance, the same text (thanks, Mr Wells), typeset with the same line width and a similar font (URW Bookman L resp. Bookman) by Libreoffice and LaTeX, respectively:

libreoffice latex

Neither is absolutely impossible to read, but you get my drift.

My question is now: how well to different ebook readers typeset? Which algorithms do they use and can ebook authors help them along?


2 Answers 2


Long story short: Poorly.

The user control that you mention is one of the great strengths of ebooks, but the problem that it brings with it is that really precise control of the look of the page gets thrown out the window. Many (myself included) would argue that this is a worthwhile sacrifice. As I mentioned in an answer to a question about embedding fonts in ebooks, many devices will automatically override publisher styles. Even without that, though, the simple ability of users to change fonts on the fly means throwing kerning out the window--text that looks too tightly spaced in Times New Roman may be a little spread out in Bulmer.

Ligatures are another tricky area--one ebook I prepared recently had a font that used ligatures, and while it showed up fine on most of Amazon's devices, on Kindle for PC there were empty rectangles in place of the "fl" and "fi" ligatures.

Without getting into the justification vs. ragged right argument, Kindle at least will automatically justify your text, and further will take down your book if it receives word that you have forced the body text to display left-aligned.

Hyphenation rules are by and large terrible as well. Most reading systems will at least honor some of the various ways to turn off auto-hyphenation for things like headers, but not all of them do. Discretionary hyphens will usually produce a line break where you put them, but will not always leave a hyphen at the line break, which is decidedly suboptimal.

My business partner and I covered a number of these issues at Tools of Change 2013 a year ago. The slides are available at SlideShare. The bits on hyphenation in particular start on slide 38.

The best solution at the moment is to keep styling as simple as possible. Reading systems are in a state very similar to the Browser Wars of the late 90's, so we're in a lowest-common-denominator situation--complex formatting is almost guaranteed to look bad somewhere.

  • Oh dear, that's worse than I thought. Out of interest, do OT and TT fonts even have metrics necessary for kerning? I know that LaTeX fonts are somehow enriched in this regard.
    – Raphael
    Feb 10, 2014 at 19:20
  • That's a good question. I haven't delved into it that much, but there are kerning rules for OTF fonts, at least: microsoft.com/typography/otspec/kern.htm. It looks like those rules apply to the entire font, though, rather than to individual instances.
    – Tom
    Feb 10, 2014 at 19:23
  • let us continue this discussion in chat
    – Raphael
    Feb 10, 2014 at 19:36
  • 2
    Both TTF and OTF formats have the capability of describing kerning. Clearly, not all fonts have good kerning tables (or have it at all). Feb 14, 2014 at 21:29

There is a lot of work being done on this. See http://www.w3.org/dpub/IG/wiki/Task_Forces/Latinreq to learn more.

  • 1
    The link does not immediately provide information regarding typesetting. Also, links can break. Can you please summarize the efforts of this group?
    – Raphael
    Feb 18, 2014 at 16:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.