No description
Find a file
Mark W. Gabby-Li 8b39fea8f8
Vertical RTL Book Reading Support
Added a variety of functions to viewport to allow working based on block and inline direction rather than X and Y.

Changed paged mode and flow mode to be based on block and inline directions, making them agnostic to writing direction.

Added jump_to_cfi function to flow mode code, and use this in iframe. This fixes some issues with CFI jumping in flow mode.

Use self.jump_to_cfi in iframe so that it is based on the current mode.

Removed a redundant self.onscroll call that was causing CFIs to be queried twice on load, doubling the time they took.

Fixed some bugs related to scrolling in flow mode related to a decorator not working with keyword arguments, by removing the keyword arguments.

Fixed some bugs with flow mode visibility anchor function.

CFI changes:
 Renamed some functions and variables to clarify meaning.

 Remove use of exceptions, since they were causing CFI calculation to run about six times more slowly in benchmarks. (Worst-case went from ~6 to ~1 second.)

 Remove forward flag and allow text offset to be equal to node length, and correct for this by adding a flag to the decoded CFI to indicate this.

 Added comments clarifying the results of decoding a CFI.

 Fix bugs in the point (now decode_with_range) function and simplified it.

 Added new functions that get CFI position from decoded CFIs, to replace places where this was being done in slightly different ways.

 Fixed some issues with cfi.pyj's scroll_to that were exposed by vertical writing support, mainly caching and using span's parent to create the start and end ranges, which causes re-creating the range to succeed. Also, don't store the span's bounding rect, since it's not needed anymore.

 Rewrote at_current to do a simplified scan of the viewport in the inline and then block direction.
2020-08-22 18:48:34 +05:30
.github Bump CI python version 2020-08-22 18:48:25 +05:30
bypy Fix accidental re-execing for calibre_parallel as well on macOS 2020-08-22 18:48:33 +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 Better internet search icon 2020-08-22 18:48:30 +05:30
manual Add a note on how to sync annots with the browser viewer 2020-08-22 18:48:25 +05:30
recipes py3ize some shebangs 2020-08-22 18:48:32 +05:30
resources Forgot to bump db user_version in creation script 2020-08-22 18:48:12 +05:30
setup py3ize some shebangs 2020-08-22 18:48:32 +05:30
src Vertical RTL Book Reading Support 2020-08-22 18:48:34 +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.