# FBReader

FBReader is an e-book reader for Linux, Microsoft Windows, Android, and other platforms.
It was originally written for the Sharp Zaurus and currently runs on many other mobile devices, like the Nokia Internet Tablets, as well as desktop computers. A preview of FBReaderJ (the Java port) for Google Android was released on April 13, 2008.
Supported formats include EPUB, FictionBook, HTML, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, mobi without DRM, and plain-text.
It has support for books with Readium LCP content protection.
It was formerly free software under the GPL, but since 2015 (v2.7) is proprietary software.

## History

Nikolay Pultsin wrote the first FBReader; the tool was released for the Sharp Zaurus in January 2005, a Maemo port was added in December 2005 for the Nokia 770. FBReader has since had binary packages released for many mobile-device platforms and for most major personal computer operating systems. The FBReader name with the FB prefix comes from FictionBook, an e-book format popular in Russia, the country of FBReader's author.
The original FBReader was written in C++; however, in 2007 a fork called FBReaderJ was created, which was written in Java. As the Android platform became available in the following years, this fork became the codebase for the Android software application, while the C++ codebase remained in use for other platforms.
In 2015 the software for all platforms became closed-source: the old open-source code hasn't been updated since. The Android app was split into Free and Premium versions, both closed-source, with the Premium version adding integrated support for PDF and for machine translation.

## Components

For easy cross-platform compiling, FBReader uses zlibrary, a cross-platform interface library. It allows recompiling for many platforms while disregarding the GUI-toolkit used.

## Features

* Support multiple book tar, ZIP, gzip and bzip2 archives.
* Encoding detection
* Generates contents table
* Embedded images
* Hyperlinks
* Position indicator (substitutes for page number).
* Library building
* Most recent book
* Last read positions for all previously opened books
* List of last opened books.
* Automatic hyphenations
* Text search.
* Full-screen mode.
* Screen rotation by 90, 180 and 270 degrees.
* Text-to-speech
** To activate text-to-speech on the Android platform, install a TTS plugin

## File format support

FBReader supports the following file formats:
* EPUB : all the main features except the tables. CSS support is not complete.
* EPUB3 : does not support most of EPUB 3 specific features
* Mobipocket : opens non-encrypted *.mobi files. DRM-protected files are not supported.
* FB 2.0 : fully supported
* FB 2.1 : lacks support of tables
* HTML : limited, sufficient support
* Plain text : supported, might not correctly split text into paragraphs.
* RTF : subset of RTF
* DOC (Microsoft Word) : subset of DOC
* PDF :
** Android: via separate plugin with third-party library
** Other platforms: not supported
* DjVu :
** Android: via separate plugin
** Other platforms: not supported
* Plucker :
** Android: not supported at this moment
** Other platforms: "absolute positioning" commands may be interpreted or ignored
* DAISY 3 : added to Go Read for Bookshare on Google Play (a fork of FBReaderJ by Benetech)

## Multi-platform support

* Windows
* Linux
* macOS
* FreeBSD
* BlackBerry 10
* Tizen
* mobile Linux devices:
** Sharp Zaurus with Qtopia-based ROMs, pdaXrom or OpenZaurus ROM.
** Archos PMA430.
** Siemens Simpad with Opensimpad 0.9.0/Opie ROM.
** Nokia 770/N800/N810 Nokia Internet tablets (maemo).
** Pepper Pad 3.
** Motorola E680i/A780 smartphones.
** iLiad
** Digital Reader 1000 and Digital Reader DR800SG
** Hanlin eReader
** Openinkpot - OS replacement for Hanlin eReader and Hanvon N516
** Pocketbook - E Ink e-book readers
** SmartQ 5 and SmartQ 7