Digital Comic Museum > Welcome and Introductions
Advanced Comic Book Format
Whale:
Hello everyone,
I've already posted this message in goldenagecomics.co.uk forum, but this website looks more alive :-)
I'm working on a XML based comic book format that I named as "Advanced Comic Book Format" or simply ACBF. Widely used Comic Book Archive (CBR, CBZ etc.) has many drawbacks. It's basically just an archive of images. ACBF in contrast will support:
- comic book metadata (title, author(s), genre, annotation, keywords, publisher, publish date, city, ISBN, license etc.)
- definition of comic book structure (pages, frames) - if frames are defined you can zoom in to frame level and read frame by frame (usefull on smaller screens like PDAs, tablets ...)
- it will support a separate semantically enhanced text-layer over the background graphics (like emphasised text, commentary, striked-through text, computer code etc.). Comic book with such separate graphic and text-layer can be more easily readable on smaller screens again because text is drawn by fonts instead of be part of the background image. Besides, more text-layers can be defined for particular comic book, each for different translation.
Everything (included binary data like images and maybe fonts, sounds in the future) will be in a single file, though there's support for having these in separate files outside the ACBF document.
For this project I created project page on Launchpad (https://launchpad.net/acbf). Current specifications you can find in the repository, inside the Docs directory.
Direct link to repository: http://bazaar.launchpad.net/~just-me/acbf/trunk/files
I'm also developing a ACBF Viewer application. So far it is in early stages but is able to load ACBF file and navigate through the whole comic book - also zoomed in to the frame level, view comic book meta-data and table of contents. It is written in python and uses GTK library for drawing user interface. I'm using Linux (on desktop as well as on my PDA) but it is possible to run the viewer under Windows (or even maybe Mac) as well (after installing Python, PyGTK and some libraries). Here you can find ACBF Viewer screenshots (running under Linux): https://plus.google.com/photos/110989843476988874482/albums/5692035097709963025
There's still a lot of work to do. Specifications should be improved, XML schema created afterwards, ACBF viewer improved and also some comic books converted to ACBF. There is a sample comic book in the repository which I converted to ACBF. It's a "Craphound" comic book based on Cory Doctorow's story - I really recommend to read it, it's already a classic and it's free :-). Here's the related ACBF comic file: http://bazaar.launchpad.net/~just-me/acbf/trunk/files/head:/Sample%20Comic%20Book/
Here you can find it in PDF format if you're not able to run the ACBF Viewer on your machine: http://www.archive.org/details/CoryDoctorowsFuturisticTalesOfTheHereAndNow.
ACBF Viewer as well as all ACBF specifications are free.
So any feedback, suggestions or help regarding file format specifications, viewer application or anything project related is appreciated. If you have any questions, just let me know.
Have a nice day.
Whale:
For those who use Windows I managed to run ACBF Viewer under Windows OS, so if anyone with Windows wants to try it, here's the recipe (for 32-bit Windows):
Install python:
http://python.org/ftp/python/2.7.2/python-2.7.2.msi
Install PyGTK:
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.0.win32-py2.7.msi
Install Python Imaging Library:
http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe
Install lxml library:
From http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml get lxml-2.3.2.win32-py2.7.exe
If you encounter any error messages like "unable to register a library" or something like that, just ignore it.
After you install all 4 packages, download ACBF Viewer from here: http://bazaar.launchpad.net/~just-me/acbf/trunk/view/head:/ACBFViewer.zip
Unzip the file and inside you will find src directory. Navigate to it and double click acbfv.py file.
You will need some comic book in ACBF format as well. So download Craphound comic from http://bazaar.launchpad.net/~just-me/acbf/trunk/view/head:/Sample%20Comic%20Book/Doctorow%2C%20Cory%20-%20Craphound.acbf
In ACBF Viewer the first icon on the toolbar opens "Open File" dialog.
A bit complicated, huh? :-)
You may download easy to use Windows 32 executable. See a couple of posts later.
JVJ (RIP):
--- Quote from: Whale on January 02, 2012, 12:16:54 PM ---
A bit complicated, huh? :-)
--- End quote ---
And totally unlikely that I'd install that many unknown programs onto my computer to read anything called Craphound. YMMV.
Peace, Jim (|:{>
John C:
Since little things like this percolate in the back of my mind all the time, here's what little thinking I've actually done, which you can feel free to leverage, work around, or ignore as you see fit, Robert (if you'll pardon the familiarity).
The big problem is overcoming a standard (CBR, CBZ) that's "good enough." For the time being, nobody cares about anything other than seeing pages, so all the extra work is adding points of failure without a significant selling point. Add in thousands of existing comics in that format, requiring enormous time and bandwidth to update them, and a project like this is going to sound like "hey, let's all convert our e-mail to Microsoft Word 2015!" to a lot of people.
You also have a bunch of "secondary formats" waiting for their day in the sun, with PDF being obvious and DjVu having a lot of unrealized potential.
That said, before those issues convinced me that I probably wasn't going to change the world, there are a few things that I thought were of some importance and might make it worth converting ten thousand (public domain) comics...eventually.
- Some unique token, like an MD5 hash, to tell me if two files think they're the same comic and can be compared with the actual contents to determine if the file has been modified and authenticate which is the "official scan." That would also make it easier to build a registry of scans, so that there's no mistaking a file's provenance. It would also make it easy to check if the user has already read a particular file, no matter how many times it's downloaded, copied, moved, or renamed.
- Database support, so that, if the XML file hasn't been created, the data can be populated as well as possible from open-access databases like the GCD.
- SVG support, since I imagine comic publication is eventually (eventually!) going to go vector-based; I mean, raster graphics are insane when you literally can't guess at all the screen resolutions your book is going to be read at and pixels can be anything from near-microscopic to the size of a fist, if you zoom in.
- Likewise, a layered image format would also help future-proofing, allowing a publisher to isolate pencils, inks, colors, and so forth, and allow access to each independently. A similar kind of "swapping" would also be nice when pages are repaired by later editors, so that both can be included without breaking the flow of reading, by only showing the version of the page (original or latest) that the reader wants but storing both.
- For small screens, optional panel transitions would be an excellent addition. DC's (at least) digital viewer does this, and it's a nice idea. The Inkscape presentation plug-in Sozi does something like this for vector art; it's obviously not quite enough to steal code or anything, but shows the sort of direction.
http://sozi.baierouge.fr/wiki/en:welcome
- A step further might be worth supporting a native equivalent to the "motion comics," which right now are full movies that happen to just be showing comics, which is silly.
- Selectable text without requiring it to be rendered apart from the image, like PDF and DjVu do. OCR probably isn't worth pursuing in this respect (in case nobody typed it in), but is an interesting thought.
- When reading scans of microfiche, one thing I can't do without (that's easy to forget) is a gamma adjustment. I'm sure it's useful in other cases, too, but a lot of the old fiche scans are so dark that they're unreadable without being able to change it.
- Most important is a toolchain that helps the scanner or publisher put the books together. As things stand today, the minimal setup is a scanner, scanning software, and a ZIP program that's probably already sitting on your hard drive. With anything more complicated, we're not teaching anybody to edit XML or measure out the panel shapes. To catch on, it has to be trivial, or it won't get done except in the examples.
- I'd also like to see the tools help the scanner/publisher work with the open databases, reading initial content from them and assisting in correcting or uploading the data where needed. After all, if the work's going to be done, it shouldn't be done more frequently than absolutely necessary.
(On that note, one lost-cause wish I have for the future is for archives would start shifting to something like TAR format. Images don't compress well, so there's no gain by using ZIP or RAR, RAR is still proprietary, and ZIP doesn't handle corruption well. Since TAR is just concatenating files, by contrast, it's basically idiot-proof to find all the images that weren't damaged.)
Heh. And I agree with Jim. As the name of an example file, "Craphound" is...inauspicious.
As I said, take what you'd like from that, and where it's too much, just skip past.
Whale:
Thanks for the feedback.
Regarding "Craphound", it's really a nice story and you can download PDF version of it if you wish to read it :-)
The biggest problem with CBR/CBZ standard is that it does not store any meta-data, so I think it's worthy to have comic books in some more advanced format. I created ACBF format and the reader, in the first place for myself - so that I can read comics on my PDA, which has only 600x480px screen resolution and also that I can build a comic books library from comics I have (requires to store meta-data). The ACBF format is a presentation format, I don't expect publishers/creators will use it to store in it the raw comic books. It's a DRM free format, so I don't expect it will be used commercially either.
Optional panel transitions are already defined in the ACBF format and supported by the ACBF Viewer application.
Selectable text is defined in the ACBF format already as a separate text-layer (optional), not supported by the Viewer though yet.
Regarding tool chain, I already created some tools/scripts that help me to convert images into ACBF format as well as extract polygons (used as frames/panel definitions) from SVG file (I use Inkscape to draw polygons over background image to define frames on a comic book page, then convert those polygons from resulting SVG file to XML tags used in ACBF).
Regarding the open comic book databases, it's a good point, I will research into that. Some interface between ACBF meta-data and comic book meta-data from available databases would be nice to have.
I agree that using ZIP/RAR etc does not help in compressing image files, that's the reason why in ACBF you can have those files directly inside the XML (converted to BASE64) and having one single XML file to distribute. ACBF does not define any container to store multiple files in it (though actually you can have a comic book stored in multiple files in ACBF).
Nice thing with ACBF is that you can use from the format capabilities just anything you want. For example you just put inside the images, you don't have to define frames/panels for pages nor text-layers, even meta-data. But it's nice to have them and use the capabilities the ACBF provides. Anyone can take that ACBF file and fill in the meta-data later or define the frames or text-layers.
Regards,
Robert
Navigation
[0] Message Index
[#] Next page
Go to full version