CBR and CBZ
Comic books and other books with a high graphic content can be problematic to read on traditional eBook readers. Generally the best method of displaying these kinds of books is to scan them in or photograph them and then display the resultant graphic image. What is needed is a way to collect the graphic images into a book and then be able to leaf through them like you would a traditional book. Generally you might want to see a whole page yet be able to zoom in to read the text or study details. Of the available traditional eBook formats only the PDF format has the capability to handle such a large number of images easily but PDF readers are not really designed to maximize the enjoyment in reading such a book. Of course it is also possible to use other formats so long at they support images but they do not usually have any special image viewing features.
To address this need there are two formats that have been defined, cbz and cbr. Comic Book Z is a ZIP compressed file containing the collection of images while Comic Book R is a RAR compressed file. Most readers in this group can handle either format but there are exceptions. The internal files are in a standard graphic format, usually Jpeg, PNG, GIF, TIFF or more recently WebP. Not all readers support all graphic formats. CBR or CBZ files are easily created from images which are displayed in alphabetical order.
Manga books (a term originating from Japan) are similar to Comic Books in the USA but are typically black and white images and lower resolution using text bubbles with larger characters. They lend themselves easily to standard eBook readers.
USA Comic books generally are in color and have very small print. USA comic books typically need a zoom mode to be read on smaller screens. They also require good gray scale capability or color.
Comic Strips are another candidate for Comic archives. These generally work well on eBook readers. And of course, this format is excellent container for regular pictures as well. It can be used as a manually changed slide show.
 Devices and Software
Since CBR and CBZ are really RAR and ZIP files respectively some readers can look at the contents if the extension is renamed. But to be a true reader the program must treat the pages as a book and remember where it was in the reading of the book if the person stops reading.
- ACBF Viewer is a reader application for Linux, Windows and Android. It supports rich comic metadata (using Advanced Comic Book Format), panel by panel viewing and switching between transalation text layers.
- The current Kobo devices can read CBR and CBZ files. This include the Aura line and the Glo products as well as the mini.
- PocketBook eBook Readers can also read these formats.
- Onyx makes the BOOX line of eBook readers. Many of the current readers can read this format.
- Pocket PC Comic Book Reader -, This reader can read only CBZ files. Compact Framework 2.0 is required.
- ComiX Reader - This reader is for PalmOS Version 5 and can read cbz and cbr files.
- Comical is a comic book reader for Linux, MacOS X and Windows. Source code is available.
- Coview. Comic book reader for Windows where the comic is the most important, not the viewer.
- CDisplay calls itself a sequential image viewing utility for Windows. It can read Jpeg, PNG, and GIF images in zip, rar, ace, cbr, cbz or tar archives.
- Droid Comic Viewer is a comic and manga reader for Android that supports CBZ, CBR and ACV.
- Open Comic Reader an open source comic reader for Android reads RAR, ZIP, CBR, CBZ as well as image folders. Available on Google play too.
- 6Reader features TCL/TK, Perl and reads CBR and CBZ formats. It will run where TCL/TK and Perl is supported.
- Evince has an optional package that adds Comic book support.
- ComicZeal is a comic book reader for the iPhone. Their desktop application, ComicZeal Creator, converts CBZ/CBR files to its scaled down CBI format.
- STDU Viewer is a comic book reader for Windows, that supports CBR and CBZ.
- QComicBook is a Linux reader that uses the Qt library. Binaries are available for several Linux systems or build from source.
 Creation programs
Some of these programs may also be used as readers.
- ACBF Editor is application for Linux and Windows capable of adding comic book metadata (using Advanced Comic Book Format), panels/frames definitions (for panel by panel viewing) and table of contents into comic book archives (CBZ)
- GonVisor Viewer can read cbr and cbz files and can be used to create them. It is a free windows application and supports both English and Spanish versions. Passwords are supported for locked files.
- Comics2Reader is a free program to create CBZ eBooks (can also create PDF) or EPUB eBooks from a set of images. It can also correct the image , remove white border around it , convert it in BW .
- ComicRack a management and converter program that can also read documents.
- MangAI - create or edit CBR or CBZ which are optimized for eBook Readers.
- JE-Comics is a Java converter that will make PDF files from graphic images and CBZ files.
- Alan Horkan blog - An entry for a windows script that can batch convert CBR files to CBZ.
- ComicTagger is a cross-platform GUI/CLI app for writing metadata to comic archives.
One of the more important ways to improve the CBR / CBZ experience is to edit the graphics used to create the book itself. See editing graphics for more information and tips.
Normally a CBR or CBZ file does not have metadata. There are no text files and the images are viewed in alphabetical order. However there are several ways to store comic book metadata in comic book archives.
ComicRack can add metadata via a ComicInfo.xml file. This file is added directly by ComicRack by entering the data in the Info dialog box. A example of this file is shown below:
<?xml version="1.0"?> <ComicInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Title>Title of the Book</Title> <Summary>A description of the book</Summary> <Number>1</Number> <Count>3</Count> <Year>2010</Year> <Month>4</Month> <Writer>Author name</Writer> <Publisher>self</Publisher> <Genre>educational</Genre> <BlackAndWhite>No</BlackAndWhite> <Manga>No</Manga> <Characters>Superman</Characters> <PageCount>5</PageCount> <Pages> <Page Image="0" Type="FrontCover" ImageSize="139382" ImageWidth="774" ImageHeight="1024" /> <Page Image="2" ImageSize="125736" ImageWidth="797" ImageHeight="1024" /> <Page Image="1" ImageSize="127937" ImageWidth="797" ImageHeight="1024" /> <Page Image="4" ImageSize="160902" ImageWidth="804" ImageHeight="1024" /> <Page Image="3" ImageSize="211181" ImageWidth="804" ImageHeight="1024" /> </Pages> </ComicInfo>
This is only a small sample of the data that can be stored in the file. Note that the pages can be viewed out of order depending on the arrangement of the Pages list.
Another format is the ComicBookInfo metadata, which is stored directly in the ZIP file header as comment. The data is apparently stringified JSON data. Calibre can read this format. Here is an example for the format: https://code.google.com/p/comicbookinfo/wiki/Example
 Advanced Comic Book Fromat
Advanced Comic Book Format besides comic book metadata (authors, genres, publisher, publish date, annotation ...) supports also definition of frames/panels (for panel by panel viewing), text-layers for translations, storing of table of contents and more. ACBF document (*.acbf) can be embedded into comic book archive (CBZ) or exist as a individual *.acbf file with binary data included. High level ACBF document structure is shown below:
<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/css" href="default.css"?> <ACBF xmlns="http://www.fictionbook-lib.org/xml/acbf/1.0"> <meta-data> <book-info> ... </book-info> <publish-info> ... </publish-info> <document-info> ... </document-info> </meta-data> <body> <page> <title lang="en">Chapter 1: How it All Began</title> <image href="#page1.jpg"/> <text-layer lang="en"> ... </text-layer> <frame points="10,75 650,137 650,562 10,562"/> </page> </body> <references></references> <data> <binary id="page1.jpg" content-type="image/jpeg">BASE64string</binary> </data> </ACBF>
ACBF Viewer, ACBF Editor (both for Linux and Windows) and ACBF Viewer for Android can work with this format.