No description
Find a file
Mark W. Gabby-Li d9a343dad6
Support for Books in RTL Languages, Such as Hebrew
Three parts: RTL layout support, made inputs behave naturally in RTL modes, and updated tutorial for RTL books.

To add RTL layout support:
 ‣ Don't force LTR layout on DOM when loading.
 ‣ Disable "overflow: hidden" in RTL mode to compensate for an issue in Chrome, and disable scrollbars on all browsers to compensate for the side effect of this turning on scrollbars.
 ‣ Have viewport hide the RTL mode by negating scrolls and viewport position requests in RTL mode.
 ‣ Initialize viewport in paged mode layout so that it properly saves RTL mode.
 ‣ Remove all raw calls to pageXOffset and pageYOffset
 ‣ Put viewport_to_document in ScrollViewport so that it can abstract away RTL mode in this case, too.
   ‣ Get rid of calls to reset_transforms and make it private, since it is only called to prepare for viewport_to_document. Put the call there, instead.
 ‣ Use bounding box right instead of left for position of various elements when the viewport is in RTL mode, since the right side is the beginning of the element in this case.

To made input behave naturally in RTL:
 ‣ Get page progression direction from ePub.
 ‣ Add rtl_page_progression() function to return whether we're in this mode.
 ‣ Added support to tell page advance functions whether they should flip their direction if RTL is on.
 ‣ Changed touch behavior to support different position for going back and forward in RTL books.

Tutorial changes:
 ‣ Flipped tutorial so that next and previous page are reversed in position and size in RTL mode.
 ‣ Added a new counter so that RTL tutorial is shown even if user has already seen LTR tutorial.
2020-08-22 18:48:22 +05:30
.github Add pychm to CI deps 2020-08-22 18:48:00 +05:30
bypy calibre portable: Add launchers for standalone viewer and editor 2020-08-22 18:48:16 +05:30
format_docs Update "Page Mapping Header" information. 2019-11-29 13:53:48 -08:00
icons Remove useless __future__ imports 2020-08-22 18:47:55 +05:30
imgsrc Buttons to finish editing highlight 2020-08-22 18:48:18 +05:30
manual Adjust documentation for new selection bar 2020-08-22 18:48:21 +05:30
recipes Change shebangs to python from python2 2020-08-22 18:47:51 +05:30
resources Forgot to bump db user_version in creation script 2020-08-22 18:48:12 +05:30
setup Keep annotations sorted in CFI order when merging 2020-08-22 18:48:11 +05:30
src Support for Books in RTL Languages, Such as Hebrew 2020-08-22 18:48:22 +05:30
.gitattributes Mark hunspell as vendored 2019-01-19 12:17:52 +05:30
.gitignore Remove reference to appcache in gitignore 2020-04-20 10:08:15 +05:30
=template.py Change shebangs to python from python2 2020-08-22 18:47:51 +05:30
Changelog.old.yaml Move old changelog entries 2018-06-25 08:14:49 +05:30
Changelog.yaml version 4.23.0 2020-08-21 07:09:18 +05:30
COPYRIGHT Get rid of msstdint.h 2020-08-22 18:47:57 +05:30
INSTALL.rst Change shebangs to python from python2 2020-08-22 18:47:51 +05:30
LICENSE http -> https 2019-04-24 05:29:51 +05:30
LICENSE.rtf http -> https 2019-04-24 05:29:51 +05:30
README.md Update link to CI workflow 2020-03-01 17:16:23 +05:30
run-local Allow running calibre from source without needing to run either develop or install 2019-04-10 11:26:47 +05:30
session.vim Change shebangs to python from python2 2020-08-22 18:47:51 +05:30
setup.cfg Get rid of @dynamic_property 2019-05-15 20:39:48 +05:30
setup.py Remove useless __future__ imports 2020-08-22 18:47:55 +05:30
update-on-ox Fix update-on-ox 2019-09-13 09:12:39 +05:30

calibre

calibre is an e-book manager. It can view, convert, edit and catalog e-books in all of the major e-book formats. It can also talk to e-book reader devices. It can go out to the internet and fetch metadata for your books. It can download newspapers and convert them into e-books for convenient reading. It is cross platform, running on Linux, Windows and macOS.

For more information, see the calibre About page

Build Status

Screenshots

Screenshots page

Usage

See the User Manual

Development

Setting up a development environment for calibre

A tarball of the source code for the current calibre release.

Bugs

Bug reports and feature requests should be made in the calibre bug tracker at launchpad. GitHub is only used for code hosting and pull requests.

Support calibre

calibre is a result of the efforts of many volunteers from all over the world. If you find it useful, please consider contributing to support its development. Donate to support calibre development.

Building calibre binaries

See Build instructions for instructions on how to build the calibre binaries and installers for all the platforms calibre supports.