2
0
mirror of https://github.com/koreader/koreader synced 2024-11-04 12:00:25 +00:00
Commit Graph

313 Commits

Author SHA1 Message Date
poire-z
b498d872be
bump crengine: LI and CITE fixes are now the defaults (#3976)
Books previously opened (that have a metadata.lua, whether with
highlights or not, but because they all have a last_xpointer that
points to the current page, that can be broken too by the changes)
will continue to have the old wrong behaviour, so they won't be
impacted by the breaking changes.
Update cre_dom_version code to use the new functions from cre.cpp.
Remove these Workarounds from Style tweaks.
2018-05-25 00:22:08 +02:00
poire-z
07713be429
Adds "Better rendering of list items" to Style tweaks (#3968)
Alternate rendering of list items as block elements (instead of
inline/final).
Check the built DOM is still coherent with styles on stylesheet
change, and propose to reload the document if not. Also
invalidate cache on close in that case so a new DOM is built
at next opening.
ReaderStyleTweak: fix tweak css duplication; when globally
enabled, when disabling and re-enabling locally, the css would
be added twice to the final CSS.
Also adds !important to "sub_sup_smaller" tweak, and increase
its priority so it can override "font_size_all_inherit".
Adds CreDocument:getCacheFilePath() for futur features.
2018-05-21 01:19:36 +02:00
poire-z
5b7664b064
Style tweaks: use css snippets to tweak book styles (#3944)
Adds a new menu "Style tweaks", with a few CSS snippets
that can make some things better with some books.
2018-05-12 23:24:43 +02:00
poire-z
a9905c5129
Font menu: add symbols for default and fallback fonts (#3941)
Also allows for updating the fallback font and see results
in real-time on the underlying document.
Bump crengine for: fix updating fallback font

Also adds a menu item to generate a html document showing some
sample text rendered with each available font (only if the user has
a file koreader/settings/fonts-test-sample.html with some HTML
snippet of his choice).
2018-05-11 17:48:26 +02:00
poire-z
8b2253b3e9
bump base: crengine, freetype, libjpeg-turbo (#3928)
Includes:
- [build] FreeType: bump to 2.9.1
- [build] bump libjpeg-turbo to 1.5.3
- bump crengine:
 - Fix CSS selector specificity computation
 - [fix] crengine/src/lvfntman.cpp: improve letter_spacing limit
 - [fix] crengine/src/lvxml.cpp: add all empty HTML elements
 - html head styles: fix styles not being applied
 - Hyphenation: increase MAX_PATTERN_SIZE from 16 to 35
 - html documents: proper handling of <BR> tags
 - Allows requesting old (broken) XML/DOM building code
- cre.cpp: setStyleSheet(): accept filepath and/or css text,
  and added getIntProperty() and getStringProperty()

credocument/readerrolling: request older XML/DOM building code
for books previously opened, to not lose bookmarks and highlights

(unit tests update because of new handling of consecutive BR via css
pushed links down in the book)
2018-05-05 00:38:50 +02:00
poire-z
4bb3999cbc RenderImage: factorize all image rendering and scaling code
New module RenderImage (alongside existing RenderText) to provides
image rendering and scaling facilities.
Uses MuPDF, but tries first giflib on GIF.
Allows for getting all the frames from an animated GIF.
2018-04-22 17:00:29 +02:00
poire-z
7a2bf21434 PicDocument:getCoverPageImage(): use first page instead of MuPDF
The dedicated image format library may often give better results
than MuPDF (eg: for animated GIFs).
2018-04-22 17:00:29 +02:00
poire-z
7f6aebe399
cre hyphenation: allow for setting min left/right fragment length (#3890)
When hyphenating a word, the existing algorithms enforced a minimal
length of 2 for each word fragments on left or right side.
This adds a widget to allow changing these minimal sizes (from 1 to 10).
2018-04-19 14:24:04 +02:00
poire-z
152e17fbe3
Adds 'cre_disk_cache_max_size' setting (#3760)
For max disk space usable by crengine for storing book caches.
Increased default from 32 MB to 64 MB.
2018-03-15 14:09:24 +01:00
poire-z
7d71d73cc4
Speed up page turning on big cre documents (#3740)
Page turning, menu opening, ... everything actually
2018-03-12 20:46:40 +01:00
poire-z
c93bbec40d
cre: more constrast settings (#3737)
Use ButtonProgress like it was done for kopt.
2018-03-11 14:54:17 +01:00
poire-z
db31bd4b96
coverbrowser: quicker extraction of EPUB metadata (#3736)
bump crengine:
Allow for quicker loading when interested in metadata only.
Allow for more than 65535 different attribute values.
Increase gamma values range.
2018-03-10 22:20:54 +01:00
poire-z
5cd51ea0fe
Set default 'cre_storage_size_factor' to 20 (#3732)
Increase default crengine in-memory cache sizes to avoid pack/unpack
of chunks that is known to be the cause of bugs (rendering, cache
re-use...).
2018-03-08 21:23:52 +01:00
Frans de Jonge
076bf406fd
[UX] Add InfoMessage about OCR (#3718) 2018-03-05 16:38:04 +01:00
Frans de Jonge
8b3b2b0eb1
[fix] Better error handling when MuPDF document has no pages (#3710)
It happens in base so we don't have to worry about it in front.

References https://github.com/koreader/koreader/issues/3705
2018-03-02 18:03:12 +01:00
poire-z
ea284bbc3b
cre: cache re-use fix, warnings and allow cache sizes increase (#3700)
Bump crengine for cache re-use fix and warnings when
cache sizes reached.
Allow for increasing some crengine cache sizes with a new
setting: "cre_storage_size_factor" = 1.5 (or 2, or 4...)
2018-03-01 21:55:05 +01:00
Frans de Jonge
dc0dc7e962
[feat, UX] Add new OpenWithDialog based on RadioButton and RadioButtonTable (#3678)
Fixes #3659
2018-02-11 20:46:18 +01:00
Frans de Jonge
ced9e45d92
[fix] DocumentRegistry: don't create empty sdr and add hasProvider() (#3675)
As suggested by @poire-z https://github.com/koreader/koreader/pull/3653#issuecomment-364663156
2018-02-10 18:36:18 +01:00
poire-z
501df2ebc2
cre cache: allow for disabling compression (#3670)
With ["cre_compress_cached_data"] = false in settings.reader.lua.
Not using compression for cache files does indeed take more space,
but it does speed up opening, rendering, page turns, and closing,
with big documents.
Bump base and crengine.
2018-02-10 00:45:46 +01:00
Frans de Jonge
f6ca1c7c0a
[feat] Open with: choose which engine to use for file (#3653)
Fixes #3345

* Add SVG to MuPDF filetypes
2018-02-02 21:21:52 +01:00
Frans de Jonge
d714bd3aea
[feat] DocumentRegistry: add getProviders() and preferred by weight (#3651)
This is step one toward "open with".

References https://github.com/koreader/koreader/issues/3345

* Fix up some mimetypes
* Add XHTML to supported filetypes
* Add a few image files to MuPDF
	* ".bmp",
	* ".gif",
	* ".hdp",
	* ".j2k",
	* ".jp2",
	* ".jpeg",
	* ".jpg",
	* ".jpx",
	* ".jxr",
	* ".pam",
	* ".pbm",
	* ".pgm",
	* ".png",
	* ".pnm",
	* ".ppm",
	* ".tif",
	* ".tiff",
        * ".wdp",
2018-01-31 20:49:21 +01:00
poire-z
7797c2369e
credocument: deal with loadDocument() failures (#3570)
cre:loadDocument() may fail in recognizing the document format, and
koreader would previously keep calling other methods on it, which would
make crengine segfaults. We now check loadDocument success at the
various places it is called, and try to deal the best way we can when it fails.
2018-01-03 09:43:49 +01:00
TnS-hun
15ec47d7e0 cbt support (#3533) (#3554) 2017-12-21 22:22:04 +01:00
TnS-hun
89164dcbd7 MuPDF 1.12 (#3547)
* addMarkupAnnotation expects a float array

* Use the latest from koreader-base with koreader/koreader-base#577

Closes #3519.
2017-12-20 15:16:13 +01:00
poire-z
cfa5c8a941 djvu: enable color rendering (#3361)
* djvu: enable color rendering

* Bump base
2017-10-15 13:03:42 +02:00
poire-z
561caadc5c Avoid recalculation of partial_md5_checksum at each opening (#3352)
This is done by/for kosync plugin at each opening, because
the docsettings was re-opened and saved for this, but later
overwritten by the current koreader docsettings - so it was
redone each time. This correctly adds this partial_md5_checksum
to the current koreader docsettings, which will be saved on
document closing - so it will not be redone next time.
Note: this partial_md5_checksum is not (yet) used by anything.
2017-10-13 19:18:36 +02:00
poire-z
26def92983 credocument reader optimisation (avoid multiple TOC builds) (#3292)
Avoid unnecessary work in ReaderView:onSetViewMode() and
ReaderRolling:updatePos() that would result in TOC being reset
and rebuilt (which can take time on books with huge TOC) during
reader setup.
2017-10-03 00:31:14 +02:00
poire-z
53f083f516 Allow for toggling color rendering
New menu item in Screen submenu.
hasColorScreen enabled for SDL device.
2017-10-02 00:10:29 +02:00
poire-z
180f5755f4 Allow for colored rendering (#3276)
* Allow for colored rendering

Available with all engines (CRE, PDF, Images).
Needs to manually add setting: "color_rendering" = true

* Disable color for djvudocument

* Use Screen:isColorEnabled()

* Bump base
2017-10-01 00:16:38 +02:00
poire-z
75b7c4b524 Added Font Hinting toggle (#3182) 2017-09-08 17:38:51 +02:00
poire-z
c24d75f18c Fix use of default font with font-family: styles
Base bumped.
Previsouly, parts of document in <p style="font-family: serif">
would be rendered with the first font set, and would not
follow change of font (unline other texts without styles).
That was observable with Embedded Styles set to On, but is even
more noticiable with the new Embedded Fonts setting set to off.
2017-09-02 20:49:48 +02:00
poire-z
774d2345e0 Added Embedded Fonts config toggle
Just under the existing "Embedded Styles". Support for this
was already there in crengine, and interfacing is similar to
what is done with Embedded Styles.
2017-09-02 20:49:48 +02:00
poire-z
031df2ffee Added PicDocument:getCoverPageImage() and :getProps()
So an image file can have a cover in coverbrowser's display.
It also allows for an alternative viewer (ImageViewer widget)
when holding on file / View full size cover.
2017-08-20 19:59:15 +02:00
poire-z
64f699ba36 Store book metadata and nb of pages in new settings
They may already be available (with other statistics stuff) under
the 'stats' key, but not if Statistics plugin is disabled. As this
plugin may be migrated to SQLite, readerui and readerfooter will now
set two new properties: doc_props (containing all and only the metadata
returned by document:getDocumentProps()) and doc_pages (updated
by readerfooter on any display or font change).

PDF document: returns additional PDF properties: Keywords
and Subject (as Description).
2017-07-14 16:46:38 +02:00
Frans de Jonge
fa12f488e8 Fix garbled ImageWidget cache issues
Fixes #2805. Thanks to @poire-z, see https://github.com/koreader/koreader/issues/2805#issuecomment-296686695
2017-04-27 01:25:34 -07:00
poire-z
495accfec9 Reduce memory leaks when switching credocuments
CRE cache, hyphdict and fonts can be initialized only once
when first credocument is opened. Previously, they were
recreated for each document, and as previous instances were probably
not free'd, this caused memory leaks.
2017-04-26 22:36:02 +02:00
poire-z
76f6b49731 Fix crash with kopt semi-auto crop on blank page
When such blank page has only a few black pixels (dust), it would result in
a really small cropped area, than when scaled to fit screen, would cause a
crash with :
    ./ffi/mupdf.lua:63: could not allocate pixmap:
         malloc of array (451342 x 612558 bytes) failed (integer overflow) (1)
Fix similar to what is done in KoptInterface:getAutoBBox(): when cropped area too small,
fall back to whole page (or here: to user's manually set area).
2017-04-22 16:10:50 +02:00
Frans de Jonge
c847d628e1 Docs: cosmetic updates and additions
* Content from wiki had some cosmetic leftover glitches
* Added/adapted some docs for other modules
2017-04-12 11:27:22 -07:00
Frans de Jonge
a6ca0f9b55 CreDocument: add "md" (Markdown) to supported filetypes
Fixes #2632.
2017-04-02 15:07:46 -07:00
Frans de Jonge
eb641b6abc squash: mono-spaced font is necessary for ASCII-art type stuff
* reordered requires
2017-04-01 16:23:56 -07:00
Frans de Jonge
e5a3ecd3e5 CreDocument: disable fancy formatting by default
It does significantly more harm than good. It can be reenabled with a `txt_preformatted` setting if desired. Fixes #1607.
2017-04-01 16:23:56 -07:00
Hzj_jie
0b29e73e2e BatteryStat plugin and instruction of KoboLight plugin (#2643)
* Start battery stat plugin

* BatteryStat & kobolight

* Several minor improvements

* Remove a useless function

* flush settings

* Some review feedbacks

* Resolve review comments

* Remaining Minutes -> Remaining Hours

* Add dump_file

* typo

* realpath

* realpath on folder

* Remove useless os.time()

* Resolve review comments

* warning

* Add BatteryStat.debugging flag

* treat log as txt

* Minor improvement

* Charging hour should be positive

* Use warn instead of info

* onSuspend in Kobo

* Charging events for kobo and kindle

* More events

* dumpOrLog

* Warnings

* Typo

* More space

* Singleton

* slightly format change

* BatteryStat singleton

* Init

* Remove debugging flag

* sleeping percentage is still negative

* Read settings

* Do not need to change was_suspending and was_charging

* Typo

* Remove debugging flag

* Not charging should happen before suspend

* Resolve review comments

* was_suspend and was_charging should be updated each time in onCallback()
2017-03-23 23:36:15 -07:00
poire-z
112e6a46e4 Fix crash when holding on unsupported image 2017-03-19 17:22:02 -07:00
poire-z
d648d2b66c Added getImageFromPosition() and isXPointerInDocument()
Bump base (depends on koreader-base PR #470)
2017-01-18 09:03:31 -08:00
Qingping Hou
f95ad00b9e feat: add logger module & rewrite kobo suspend script in lua 2017-01-02 19:52:09 -08:00
chrox
166aa52a24 move painting and drawing debug log to verbose 2016-08-12 17:47:35 +08:00
Zijie He
820a39c8f7 Update KOSyncClient 2016-08-10 10:42:51 -07:00
chrox
1d887f4fe1 book reading statistics for djvu documents 2016-07-15 23:00:46 +08:00
chrox
551857ce6e fix some luacheck warnings 2016-06-28 00:43:23 +08:00
Qingping Hou
fe6aaca47d Merge pull request #2083 from chrox/fix_2060
fix #2060 by handling blank search pattern
2016-06-15 00:25:40 -07:00