Electronic Book Formats (supported and unsupported)
Firstly, FBReader is an open source application, and as result all formats FBReader currently supports are open formats. Theoretically, FBReader's engine could be used as a part of a closed-source application that would be supporting books in some DRM-ed/non-open format. However this requires desire not only of FBReader developers, but also that of owners of the corresponding format.
Secondly, since FBReader's authors have limited resources, formats that have the following properties are considered first:
- popularity of the format (usually this means that there are at least several books in this format :))
- the format is expected to be used for books and, first of all, fiction books (we do not have any short-term plans to add support for any spreadsheet format)
- the format is text based, and not image based (e.g. if a book is just a collection of TIFF-images within a container of some sort (archive or other), then it's most likely that implementation of this format will be prioritized rather low)
We do not aim to make support for a particular format as complete as possible so it would cover all options listed in the format description, e.g. those that would unlikely to be used in real life. In many cases that would require a significant effort that would not result in visible effect for the end user. However if a particular file is rendered incorrectly from your point of view, please contact us and if possible include the offensive file and we will try to fix the situation.
In the foreseen future we plan to make format support pluggable — this will help to separate the application from the actual format support.
Issues Common for All Formats
There are two non-implemented features that many formats required:
- support of style sheets included in the book (e.g. for HTML that would be CSS declarations)
- table support
These features are not metioned in the table below.
If your favourite format is not listed here, please tell us about it. If you are able to give us [a link to] the format description and can give a few books in this very format, we might be able to implement support for it.
List of formats and information about their support in FBReader
|epub||At the moment we consider ePub as one of two most important formats. (The second one is fb2.) FBReader supports all the main features of this format except the tables. CSS support is not full.|
|fb2||From practical point of view, version 2.0 of the format specification is fully supported. To be compliant with version 2.1 of the standard, FBReader lacks support of tables.|
|plucker||This format has commands for “absolute positioning”, which are targeted to the devices with specific screen resolution (e.g. “put the item 2 pixels away from the left border”.) Since FBReader aims to allow reading on devices with different screen sizes and resolutions, such commands may be interpreted depending on the context and, in some cases, be completely ignored.|
|Open E-Book (oeb)||The format specification is quite extensive, while there's no a great deal of available books [yet?]. As far as we know, FBReader reasonably well renders books in this format.|
|OpenReader||The situation is the same as with the Open E-Book.|
|html||Generally speaking, HTML is not a book format. It has many elements that are related to the visual rendering, while it lacks elements related to the book structure (as result, it's quite impossible to determine a table of contents for an arbitrary book in HTML format). FBReader has limited support for HTML, however it proved to be sufficient for the majority of books available out there.|
|plain text||This format is supported. However FBReader might not always correctly split text into paragraphs.|
|ztxt (Weasel Reader format)||This is just a compressed text. Comments for the previous format are also applicable for this one.|
|Palmdoc (Aportis Doc)||This format is fully supported.|
|tcr (Psion Text)||This format is fully supported.|
|Mobipocket||DRM-ed and/or files compressed with secret algorithm of Mobipocket are not supported.|
|chm||There's no complete open description of this format, while there is an open source library called chmlib that allows to work with the format as well as many open source applications that use this library to read and render files in this format. FBReader's support is implemented independently from chmlib as result rendering might be different.|
|rtf||FBReader has minimal support for RTF.|
|This format is not supported. Files in this format may contain just text as well as image representation of pages. We plan to include PDF support in FBReader: first support for files that are using text only.|
|djvu||This format is not supported. Our current plans do not include this format either.|
|doc (Microsoft Word)||This format is not supported. Probably this format will be partially supported using catdoc.|
|odt||This format is not supported. It might be supported in future, however the specification is way too big, so most likely there will be some limitations.|
|lrf||This format is not supported. Our current plans do not include this format either.|
|iSilo||This format is not supported. Actually there are two kinds of iSilo format: old one and new one (iSiloX). Old format is open however, to the best of our knowledge, currently it is practically not used at all. On the other hand iSiloX is a proprietary format, so as result it cannot be supported in FBReader.|
|.lit||This format is not supported and is unlikely to be ever supported. It is a closed format created and owned by Microsoft and any attempts to support it would be quite questionable from legal point of view.|