<commit_before>[![Build Status][travis-badge]][travis-link]
[![Coverage Status][coverage-badge]][coverage-link]
[![AGPL Licence][licence-badge]](COPYING)
KOReader
========

KOReader is a document viewer application, originally created for Kindle 
e-ink readers. It currently runs on Kindle 5 (Touch), Kindle Paperwhite,
Kobo, Android(2.3+) devices.

KOReader started as the KindlePDFViewer application, but it supports much more
formats than PDF now. Among them are DJVU, FB2, EPUB, TXT, CBZ, HTML.

KOReader is a frontend written in Lua and uses the API presented by the
koreader-base framework. KOReader implements a GUI and is currently targeted
at touch-based devices - for the classic user interface for button-driven
e-ink devices (like the Kindle 2, Kindle DX, Kindle 3, Kindle 4) see the
KindlePDFviewer legacy project or - especially for the Kindle 4 - have a look
at its fork Librerator.

This application is distributed under the GNU AGPL v3 license (read the [COPYING](COPYING) file).

Check out the [KOReader wiki](https://github.com/koreader/koreader/wiki) to learn 
more about this project.

Prerequisites
========

Instructions about how to get and compile the source are intended for a linux
OS. Windows users are suggested to develop in a [Linux VM][linux-vm] or use Wubi.

To get and compile the source you must have `patch`, `wget`, `unzip`, `git`, `autoconf`, 
`subversion` and `cmake` installed. Version of autoconf need to be greater than 2.64.

Ubuntu users may need to run:<commit_msg>add koreader feature list in README.md<commit_after>[![Build Status][travis-badge]][travis-link]
[![Coverage Status][coverage-badge]][coverage-link]
[![AGPL Licence][licence-badge]](COPYING)
KOReader
========

KOReader is a document viewer application, originally created for Kindle 
e-ink readers. It currently runs on Kindle 5 (Touch), Kindle Paperwhite,
Kobo and Android (2.3+) devices. Developers can also run Koreader emulator
for development purpose on desktop PC with Linux or Windows operating system.

Main features for users
-----------------------

* supports multi-format documents including:
  * paged fixed-layout formats: PDF, DjVu and CBZ
  * reflowable e-book formats: ePub, fb2, mobi, doc, chm and plain text
  * scanned PDF/DjVu documents can also be reflowed with built-in K2pdfopt
* use StarDict dictionaries / Wikipedia to lookup words
* highlights can be exported to Evernote cloud account
* highly customizable reader view and typeset
  * setting arbitrary page margins / line space
  * choosing external fonts and styles
  * built-in multi-lingual hyphenation dictionaries
* supports adding custom online OPDS catalogs
* calibre integration
  * send ebooks from calibre library to koreader wirelessly
  * browser calibre library and download ebooks via calibre OPDS server
* can share ebooks to other koreader devices wirelessly
* various optimizations for e-ink devices
  * paginated menus without animation
  * adjustable text contrast
* multi-lingual user interface
* online Over-The-Air software update

Highlights for developlers
--------------------------

* frontend written in Lua scripting language
  * running on multi-platform with only one code-base maintained
  * developing koreader in any editor without compilation
  * high runtime efficiency by LuaJIT acceleration
  * light-weight widget toolkit for small memory footprint
  * extensible with plugin system
* interfaced backends for documents parsing and rendering
  * high quality document backend libraries like MuPDF, DjvuLibre and Crengine
  * interacting with frontend via LuaJIT FFI for best performence
* in active development
  * contributed by 28 and more developers around the world
  * continuous integration with Travis CI
  * with unit tests and code coverage test
  * automatic release of nightly builds
* free as in free speech
  * licensed under Affero GPL v3
  * all dependencies are free software

Check out the [KOReader wiki](https://github.com/koreader/koreader/wiki) to learn 
more about this project.

Building Prerequisites
======================

Instructions about how to get and compile the source are intended for a linux
OS. Windows users are suggested to develop in a [Linux VM][linux-vm] or use Wubi.

To get and compile the source you must have `patch`, `wget`, `unzip`, `git`, `autoconf`, 
`subversion` and `cmake` installed. Version of autoconf need to be greater than 2.64.

Ubuntu users may need to run:
{'fraction_non_alphanumeric': 0.08262044124268347, 'fraction_numerical': 0.005177847816298964, 'mean_word_length': 4.464944649446495, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4951651', 'n_tokens_mistral': 1289, 'n_tokens_neox': 1217, 'n_words': 571}