Friday 26 July 2013

page numbers on ereaders

It's a common complaint that ereaders do no do page numbers.
Actually it isn't tue - it's Kindles that don't do page page numbers. Others do. My venerable Cool-er, which I still use for Gutenberg epubs does page numbers. And the way it does it is mindnumbing simple.
It effectively does a
 linecount=$(cat file | wc -l)
    number_of_pages=$((linecount/40))
    echo $number_of_pages
on the epub document to come up with the number of pages. This is of course entirely arbitrary. The original published edition could have had 42, 50, 54 lines to a page all dependent on the font used and the whim of the original typesetter. It's important to realise that the job of the ereader is to display text in a meaningful fashion, so what they have done is decide that a page is 40 lines long.
That this is an arbitrary decision doesn't matter. We're not trying to reproduce a printed edition here - we are most definitely not talking TEI-C.
Having made the arbitrary decision that there's 40 lines to the page, the Cool-er sticks with it - boost the font size and the page numbers will stay the same, it just means that one 'page' flows over more than one screen and that the 'page number' will increment part way down the second screen.
Why does this matter?
Well, if you are reading for pleasure it doesn't. But J has been teaching nineteenth century novels again. Five or so years ago, you could be fairly confident the kids would all have the Penguin edition, and they would all have more or less the same page numbers, so you could get them to do a critical analysis on the second and third paragraphs of page 96.
Now you can't. Some have kindles, some have other book reading apps on iPads and android tablets and all the devices/applications do something different in the page number space ...

[update - after a conversation with @fatrat this weekend we've managed to establish that some more recent members of the kindle family can display pseudo page numbers for some e-books where page numbers are enabled via the inclusion of an APNX file in the file bundle- however the basic problem still remains]
Written with StackEdit.

No comments: