ebook reader

CoolReader – lightweight XML and CSS eBook reader

CoolReader is a long-established eBook reader built around CREngine, its XML, CSS and document-rendering engine. The project targets desktop systems as well as handheld and e-ink devices, and its code has influenced several related readers.

Its design reflects an era when personal eBook libraries often contained many competing formats. Rather than centring everything on EPUB, CoolReader retains parsers and rendering paths for a broad range of reflowable documents and applies a common reading engine to them.

The desktop application is only one part of the project. CREngine is the more important technical foundation, providing the layout and text-rendering machinery that underpins CoolReader itself and has also been reused or forked elsewhere.

This is free and open source software.

Key Features

  • Reads FB2, TXT, RTF, DOC, TCR, HTML, EPUB, CHM, PDB and MOBI documents.
  • Uses CREngine to parse, lay out and render XML, HTML and CSS based eBook content.
  • Supports stylesheet-driven presentation so the appearance of books can be customized beyond their embedded defaults.
  • Provides graphical Linux interfaces based on Qt and wxWidgets, alongside front ends intended for embedded and e-ink hardware.
  • Uses HarfBuzz for text shaping and supports bidirectional text through FriBidi.
  • Employs language-aware line-breaking and hyphenation components to improve text layout for reflowable books.
  • Supports font discovery and fallback, allowing the renderer to select suitable typefaces for different scripts and books.
  • Includes dictionary-related components for lookup workflows supported by the reader.
  • Retains a relatively lightweight reader architecture compared with full eBook management suites.
  • Shares its rendering technology with other readers in the CoolReader family, including projects built around crengine-ng.

Website: github.com/buggins/coolreader
Support:
Developer: Vadim Lopatin
License: GNU General Public License v2.0

CoolReader in action
Click image for full size

CoolReader is written in C++, C and Java. Learn C++ with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials. Learn Java with our recommended free books and free tutorials.


Related Software

GUI eBook readers
KOReaderAdvanced multi-format reader with excellent customisation
Koodo ReaderFeature-rich eBook reader and library manager
FoliatePolished GTK eBook reader
CalibrePowerful eBook library manager, reader and conversion suite
readestModern eBook reader with syncing and advanced reading tools
ThoriumHighly accessible multi-format eBook reader
LibrumeBook reader with synchronized library
LectorQt based e-book reader
BookwormSimple, focused GTK eBook reader
AriannaKDE EPUB reader and library manager
crqt-ngFast Qt eBook reader using crengine-ng
CoolReaderLightweight XML/CSS based eBook reader
apvlvVim-like graphical document viewer
FBReaderMakes it simple to access free literature

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted