Tuesday, February 9th, 2010
All are open source, and as Keith notes in the comments, there’s also the commercial BookGlutton project. BookGlutton (which we covered earlier) shows the promise of browser-based eBooks: it lets you embed books as lightbox-powered widgets, and supports annotation.
The underlying structure of ePub is described on wikipedia:
EPUB consists of three specifications:
Open Publication Structure (OPS) 2.0, contains the formatting of its content.
Open Packaging Format (OPF) 2.0, describes the structure of the .epub file in XML.
OEBPS Container Format (OCF) 1.0, collects all files as a ZIP archive.
Basically, EPUB internally uses XHTML or DTBook (an XML standard provided by the DAISY Consortium) to represent the text and structure of the content document, and a subset of CSS to provide layout and formatting. XML is used to create the document manifest, table of contents, and EPUB metadata. Finally, the files are bundled in a zip file as a packaging format.
In the case of unzipping, Keith points out the inflate library has been around since 1999. One can imagine other applications for zip too; for example, it’s often used as a format for bundling code (Java JARs, Python Eggs, Firefox and Chrome extensions), so reliable unzipping makes it possible to build browser-based IDEs and exploration tools against such archives.
Posted by Michael Mahemoff at 3:34 am