jaketmp/ePub-quicklook

ePub 3 compatibility

Opened this issue · 7 comments

ePub 3 completely changes the manner in which covers and metadata may be declared.

Need to check where .ibook fits between epub 2 and 3.

I didn't think the metadata was so different between 2 and 3, though the covers might be (hopefully involving fewer heuristics to locate!)

Are there any sample books around?

This is the best epub3 resource I know off hand:
http://code.google.com/p/epub-revision/downloads/detail?name=9780316000000_MobyDick_r2.epub

.ibooks seems to follow the epub2 way go doing things pretty closely.

Relevant changes from epub 2 to 3 docs: http://idpf.org/epub/30/spec/epub30-changes.html

The main change will be finding the cover: http://blog.threepress.org/2011/05/26/covers-in-epub3/

We seem to do OK getting most metadata from the "Moby Dick" sample already though I reckon some of that's by luck because that sample hasn't got much metadata.

Some understanding of the meta element's scheme attribute is going to be needed. That seems to define how to interpret some other elements e.g.:

<dc:identifier id="pub-id">urn:isbn:9780316000000</dc:identifier> <meta refines="#pub-id" property="identifier-type" scheme="onix:codelist5">15</meta> <dc:contributor id="contrib1">Dave Cramer</dc:contributor> <meta refines="#contrib1" property="role" scheme="marc:relators">mrk</meta>

So we'd need to interpret ONIX and MARC and ... some open-ended list? Or practically speaking is everyone going to use those two.

But this should mean extracting a real ISBN is more robust than now.

Commit 757e409 brings iBooks compatibility.

ePub3 allows multiple title tag (see here).

It would be great if you can:

  1. display the book title as the dc:title attribute which has either the main-titleproperty set or the display-seq set to 1 (with the current 1.7 version, the latest dc:title attribute in the file is displayed);
  2. take advantage of the new possibility, displaying the main title and any subtitle accordingly (i.e. using a smaller font for subtitle, edition).

Thanks