CBZ (and derivatives) are being used as e-book format for comic books for quite a long time. While they work well in larger screen, It is very hard to use them in smaller handheld devices.
Many e-book reader apps solve this problem differently. Some use feature like panel zoom and bubble zoom. They work, but not perfectly.
This proposed second iteration of Comic Book Archive is an attempt to solve some, if possible most, of these problems.
Structure
In structure this format is similar to CBZ except for an additional content.xml file in the archive root. This allows these files to be backward compatible.
Content.xml
The content.xml file will content several sections. A rudimentary example here:
Code:
<?xml version="1.0" encoding="utf-8"?>
<package version="2.0">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
<dc:title>Title of the comic book</dc:title>
... Other metadata
</metadata>
<content>
<panels>
<panel id="panel-1" href="1.png" frame="5 5 30 30" />
<panel href="1.png" frame="40 40 30 30" />
...more panels
<panel href="5.png" frame="5 5 30 100" />
...
</panels>
<bubbles>
<bubble href="1.png" frame="5 5 30 30" parent="#panel-1" />
<bubble href="1.png" frame="40 40 30 30" />
...more bubbles
<bubble href="5.png" frame="5 5 30 100">
Optional content in the bubble for screen reader.
</bubble>
</bubbles>
</content>
</package>
Let's dissect the content.xml
Metadata
The metadata section contains all the metadata of the comic book. I'm using IPDF's metadata convention here.
Content
Panels
This section define all the panels in order. href points to the file from which we'll get the panel. frame contains for values: x, y, width, height.
Bubbles
Bubbles get defined here almost exactly like panels. Optionally, they can also have the content in them to allow the screen readers to read the comics, and with a parent key, a parent panel can be defined.
Usage
Using the structure defined above, e-book reader applications can develop following features:
Panel Navigation
Apps can get panels from images by using the data from content.xml and allow users to navigate panel by panel. This allows the users to read comics more easily in hand-held devices.
Bubble Zoom
Using the bubbles definitions apps can enable bubble zoom more efficiently without any image recognition burden.
Additionally, It can be used to provide better accessibility for people with disabilities affecting their reading capabilities.
P.S. This is still mostly a draft. I'll keep it updated in my
digital garden.