Kobo eReader Review update – scalable font size

Mon, May 17, 2010

Half-filtered

In my review of the Kobo eReader, I acknowledged that pre-release reviews complained about problems adjusting font sizes, but I stated that I didn’t encounter these problems myself.  I guess I should have spent more time playing with the device.  With preloaded ebooks and those purchased from the Kobo website, there were no problems.  Ditto for ebooks downloaded from the Gutenberg library.  However, the ebook I purchased from Smashwords did not allow me to change font size, so I had to put on a pair of reading glasses and squint to read the text.

I ended up pulling apart the ebook from Smashwords and reformatting it so that it would work on my Kobo eReader.  In the process, I learned a few things about the way Kobo interacts with the epub format.

Warning:  this is a technical post, so if you were expecting my usual musing or philosophizing, why don’t you go listen to me read some poetry?  Otherwise, continue …

1. Kobo says it’s not their fault.

You can read their statement to this effect in the customer care help forum.  You can tell that Kobo is a Canadian company because it begins by apologizing:  “We’re sorry but … “  A typically Canadian passive-aggressive approach.  We’re sorry but the problem has something to do with the epub file.  It goes on to abuse the subjunctive mood by saying:  “If the ePub was purchased through Kobo this feature will work however, ePubs purchased through a different site such as the Sony Library we cannot alter.  This also applies to 3rd party books transferred to the Kobo eReader through Adobe Digital Editions as well.”

2. Kobo uses Reader ® Mobile technology.

As soon as you turn on the reader, a little message appears at the bottom of the screen:  “Contains Reader ® Mobile technology by Adobe Systems Incorporated.”  In other words, Kobo is dependent upon a standard that Adobe has unilaterally established for the formatting of epub files.  If your epub file doesn’t conform to that standard, then you’re screwed.

Adobe posts all its formatting requirements and you can view them here.  This of course implies that you’ll need Indesign to do a proper job of it.

Two observations:  First, Adobe’s formatting standard is a good idea.  Since most publishers already use Indesign for layout of physical books, it doesn’t seem like much of a stretch to ask them to click a few more buttons in order to generate a digital version (though see my caveat at the end of this piece).  Second, even if you can’t afford Indesign, you can still produce a decent, standards compliant epub file for free using open source software (like eCub) if – and this is the big if – you don’t mind formatting your text as html or xhtml files with a style sheet beforehand.

3. Smashwords epub files are abyssmal.

An epub file without proper formattingThe problem with Smashwords is that it generates its files from Microsoft Word documents.  Even their own users have posted statements about why this a bad idea.  See for example Michael W. Perry’s review of the Smashwords Style Guide produced by Mark Coker (founder of Smashwords).  Most writers who use Microsoft Word don’t know how to use styles and so do all their formatting inline.

Once Smashwords gets its hands on one of those badly formatted manuscripts, it goes one further by running the text through an automated epub generator – Calibre.  The result looks a lot like spaghetti in a blender.  There’s no real organization (e.g. file hierarchy) to it; everything’s just thrown into the pot.  At right is an example of what I mean – an 110,000 word novel broken into five arbitrarily divided html files, a css file that reveals it was generated by calibre, and a useless table of contents.

4. My dastardly experiment.

A properly formatted epub fileI took the epub file from Smashwords and created a properly formatted book in Adobe’s Indesign (i.e. a separate file for each chapter, styles for different kinds of text, table of contents).  From there, I generated a pdf file on the assumption that it would look something like the original text file the author submitted to Smashwords.  I generated an epub file from the pdf using Calibre.  The result was much like the spaghetti pictured above.  When I loaded it on the Kobo, the font size was NOT adjustable.

Then I generated an epub file using Adobe Indesign (actually I generated xhtml files and a style sheet and dumped them into eCub, but that’s another story).  The result was much more elegant, as shown at right.  When I loaded it on the eReader, voilà!  An adjustable font size and comfortable reading experience.

5. What does this tell us?

Kobo is probably unable to do anything about the issue without Adobe’s cooperation and, well, don’t hold your breath.

So, if you’re an online open-source experimental publisher looking for new ways to bring authors to light, you really have to pay attention to the reading experience.

I think a lot of people assume that the publishing environment can be wholly automated.  I disagree.  There is no magic button you can press that will turn a writer’s manuscript into a perfectly formatted ebook ready for sale.  That’s true even for users of Indesign.  Before a text reaches its readers, real people have to establish a relationship with that text.  Five hundred years ago, that relationship would have emerged as the printer laid out the leading and movable type.  Now, it emerges as the digital typesetter creates style sheets and fine-tunes xhtml files.  There is no substitute for taking a personal interest in the texts you produce.

I like the idea of Smashwords.  It has a valuable contribution to make.  But it has to stop using crappy automated text conversion programs.  Not every reader who buys their books is willing to spend the time pulling them apart and putting them back together properly.

Related posts:

  1. Review: Kobo eReader
  2. The Vox – Kobo Launches a Tablet eReader
  3. Updates: Pride Toronto, Bill C-32, Kobo, Apple Censorship
ebooks, web/tech

5 Responses to “Kobo eReader Review update – scalable font size”

  1. Frank Says:

    I found a fix for this problem. It works perfectly for me, perhaps it will for you as well:

    - change the affected .epub file (example: book.epub) extension to .zip (book.zip)
    - open .zip file, find the ‘stylesheet.css’ file and delete it.
    - go out of the .zip file, then rename back to .epub (book.epub)
    This new file, once copied back to Kobo, should allow font resizing. So far it’s working for all the books I’ve done it with. Please spread this fix around if you find it works for you.

  2. Brian Says:

    Thank Frank, that solved me a ton of problems, I appreciate it, and will pass it along

  3. MJ Says:

    You are awesome! I started hating my Kobo ’cause I couldn’t see any of the books I got, not even the ones I bought from Kobo (couldn’t change the font from invisible to anything else). I tried your trick and it works perfectly!
    Thanks a million!

  4. Peter Thomas Says:

    Great news! I installed the early access version of the new Kobo firmware on Saturday (found a bug on Friday that prevented it being installed).

    Font resizing issues all gone :)

    However, the unit will now go to sleep after 15 minutes of not being used, and then power down after being in sleep mode for an additional 15.

  5. tam Says:

    The problem was probably the font size was hard coded in the epub. Stanza for iPad can’t resize these either. Just search for ‘font-size’ in the epub, and erase it with the semicolon. If you reconvert it in Calibre, that will fix it too.


Leave a Reply

PHVsPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzMwMF9hZHNlbnNlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfMzAwX2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMzAweDI1MC0yLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzMwMF91cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8xPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0xLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMy5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV80PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzU8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzM8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF81PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzY8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIDQtaWNlYmx1ZS5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19hc2lkZXNfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19hdXRob3I8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dG9faW1nPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50X2ZlYXQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9mYXZpY29uPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfcG9zdHM8L3N0cm9uZz4gLSAxNTwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXRfaW1hZ2VfaGVpZ2h0PC9zdHJvbmc+IC0gMTk1PC9saT48bGk+PHN0cm9uZz53b29fZmVhdF9pbWFnZV93aWR0aDwvc3Ryb25nPiAtIDU0MDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfaWQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX3VybDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX29uZV9jb2w8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX3NpbmdsZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fbG9nbzwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX21hbnVhbDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9zdXBwb3J0L3RoZW1lLWRvY3VtZW50YXRpb24vZnJlc2gtbmV3cy88L2xpPjxsaT48c3Ryb25nPndvb19yZXNpemU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2hvcnRuYW1lPC9zdHJvbmc+IC0gd29vPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2ltYWdlX2hlaWdodDwvc3Ryb25nPiAtIDEwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9pbWFnZV93aWR0aDwvc3Ryb25nPiAtIDEwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3RhYnM8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIEZyZXNoIE5ld3M8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSA3NTwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gNzU8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PC91bD4=