Commit Graph

8665 Commits

Author SHA1 Message Date
Aleksa Sarai 6f1b70e5eb util.utf8: improve CJK character detection
Previously the CJK character detection defined only characters in the
range U+4000..U+AFFF as "CJK characters". This excludes an incredibly
large number of CJK characters within the BMP, let alone the whole two
planes dedicated to rarer CJK characters (the SIP and TIP). As a result,
a very large number of Chinese, Japanese, and Korean characters were not
detected as being CJK characters.

While slightly less elegant-looking, it is far more accurate to compute
the codepoint from the utf8 character and then see if it falls within
one of the defined CJK blocks. This is not future-proof against future
CJK ideograph extensions in future Unicode versions, but there is no
real way to accurately predict such changes so this is the best we can
do without accidentally treating characters explicitily defined as being
non-CJK in Unicode as CJK.

While we're at it, copy Lua 5.3's utf8.charpattern constant definition
so that we can more easily write utf8 iterators with string.gmatch (at
least in the interim until there is a rework of utf8 handling in
KOReader and everything is rebuilt on top of utf8proc).

Some unit tests are added for Korean and Japanese text, and the existing
unit tests needed a minor adjustment to handle the fact that
isSplittable now correctly detects CJK punctuation as a character to
compare against the forbidden split rules.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Frans de Jonge 8e017de898 ReaderSearch: remove stray newline from regex help (#8358)
Noticed due to #8356.
2021-10-23 13:39:53 +02:00
Mike Kozlowski 2cd4d09db4 Add initial support for Kobo Sage (Cadmus) (#8361) 2021-10-23 13:27:25 +02:00
poire-z dade71d3c3 bump crengine: upstream sync, page splitting fix (#8360)
- Update German hyphenation patterns
- (Upstream) zip64 support: fixes and enhancements
- Page splitting: fix footnotes possibly delayed too long
2021-10-22 23:57:36 +02:00
NiLuJe 304e128031 Bump android-luajit-launcher
https://github.com/koreader/android-luajit-launcher/pull/336
2021-10-22 20:54:21 +02:00
NiLuJe c10597bcb0 Bump base
https://github.com/koreader/koreader-base/pull/1413
https://github.com/koreader/koreader-base/pull/1415
https://github.com/koreader/koreader-base/pull/1417
https://github.com/koreader/koreader-base/pull/1419
https://github.com/koreader/koreader-base/pull/1420
https://github.com/koreader/koreader-base/pull/1418
https://github.com/koreader/koreader-base/pull/1421
2021-10-22 20:54:21 +02:00
NiLuJe 942ea70235 ProgressWidget: Simplify painting logic.
* Use paintRect and plain colors instead of lightenRect and a weird
  dimming factor.
* Update call sites to the new API
* Handle FP maths properly (i.e., floor coordinates & ceil dimensions at
  the latest possible time).
* Fix border handling in the fill bar (make sure we actually honor it
  when computin the x position, and that we won't overflow into it when
  computing the width).
* Update docs
2021-10-22 20:24:46 +02:00
NiLuJe b996b8282f ReaderRolling: Unbreak CRe spinner on e-Ink
Regression since #8195, but the fact that it sometimes worked before
that was already a fluke ;).

c.f., https://github.com/koreader/koreader/pull/5406#issuecomment-948632160
2021-10-22 20:24:46 +02:00
hius07 22a012e729 [chore] RadioButtonWidget: remove unused "Use default" string (#8354) 2021-10-22 10:27:30 +02:00
poire-z 37eb53f6e4 DocSettings/Purge .sdr: reword, don't purge other books (#8348)
Reword "Purge .sdr" to "Reset settings".
When purging, remove only the known document metadata
files, and not those for a document with the same name but
a different suffix.
2021-10-21 22:43:05 +02:00
hius07 2c6943e5d6 FileManager: no notification on successful file operations (#8330) 2021-10-21 21:50:16 +02:00
zwim 09725e518a Autowarmth: wording, move expert-mode menu entry down (#8350) 2021-10-21 21:47:11 +02:00
yparitcher 61d02923e9 Dispatcher: fix horizontal margins (#8344)
Regression from #8287
2021-10-19 11:50:31 +02:00
zwim 6492583e96 Autowarmth: wording, help_text, menu tweaks (#8338) 2021-10-18 21:15:12 +02:00
hius07 d652eec2cd ReaderHighlight: allow updating a highlight drawing style (#8323)
Also modify highlight dialog's "Edit" button to be "Add note"
or "Edit note" whether a note has already beed added.
Adds a new RadioButtonWidget.
2021-10-18 19:17:37 +02:00
hius07 f0b992d425 Bookmarks: new settings and tweaks (#8301)
Bookmarks list:
- page numbers are displayed
- page bookmarks are marked with a star
- new setting: Sort by largest page number (default: checked)
New bookmark setting: Add page number / timestamp to bookmark
- If enabled (default), bookmark name is 'Page # notes @ time'.
- If disabled, bookmark name is equal to the notes field.
Rename bookmark dialog:
- page number and timestamp are displayed in the input
  dialog description
- blank input renames bookmark to the default name in
  accordance with the new setting
Also fix: changing boundaries of the highlight: the name of the
highlight is not changed if it was previously edited by the user.
2021-10-18 17:26:04 +02:00
hius07 fd697f3c77 wbuilder: use correct call for BookStatus widget (#8342)
Correction required after #8318.
v2021.10.1
2021-10-18 08:53:27 +02:00
hius07 7036500f5b Menu widget: adapt font size of shrunken items (#8340) 2021-10-18 08:52:40 +02:00
hius07 4ffabcf087 Screensaver: correct call of BookStatusWidget 2021-10-17 17:52:34 +03:00
ElimGarak1 863255c9f4 Add PocketBook InkPad Lite (PB970) (#8335)
Closes #8331.
2021-10-17 10:08:51 +02:00
Frans de Jonge 91b921505c Update translations for 2021.10 (#8334) v2021.10 2021-10-16 11:47:12 +02:00
poire-z ca1c3484d8 DictQuickLookup: two minor fixes (#8333)
- Allow Wikipedia languages cycling when invoked
  from File browser.
- Fix TextBoxWidget content not updated when next/prev
  when use_xtext=false.
2021-10-15 20:32:21 +02:00
yparitcher 1c2e5eee1d BookStatusWidget: fix status toggle (#8329)
Fix:  #8324

cf: #7671
2021-10-15 09:22:26 +02:00
ichnilatis-gr a1e0d87c62 Greek keyboard: minor updates (#8319)
New popup menu on the Greek acute key for Greek numeral signs.
2021-10-14 11:33:33 +02:00
git-help-eng 0d231cbbef Footer: maybe shouldn't be visible on resume (#8289) 2021-10-10 20:51:50 +02:00
poire-z ade89cb9b6 Adds ScrollableContainer, to be used with tall widgets (#8299)
And use it with KeyboardLayoutDialog.
2021-10-10 15:09:42 +02:00
yparitcher 8c29b71e45 Tests: emptydir switch from data/dict to history (#8296)
So this test doesn't fail when one has dictionaries locally
(history folder is deprecated and should be empty).
2021-10-10 13:33:57 +02:00
hius07 b2a7d0d5ce BookStatusWidget: use correct read percentage (#8318)
Closes #8317.
2021-10-10 11:55:32 +02:00
ichnilatis-gr 23be2f278c [UX] Keyboard: Fix Greek Y popup (#8308)
Correction of the "Υ" popup, where instead of Greek upsilon (as was written) there was the Greek capital tau ("Τ").
2021-10-06 19:24:32 +02:00
Frans de Jonge d8d0066ac0 [CI] Fix certificate issue with quick koreader/koappimage:0.1.8 (#8305)
See https://github.com/koreader/virdevenv/pull/69 for details
2021-10-06 09:09:28 +02:00
yparitcher feab232f35 Kopt: keep 4 items per panel
move newly enabled auto straighten from settings to crop
2021-10-05 23:34:29 +02:00
yparitcher 4c0d11c6d9 Dispatcher: use absolutenumber in more places 2021-10-05 23:34:29 +02:00
yparitcher 888802f618 kopt: allow pdf auto straighten 2021-10-05 23:34:29 +02:00
NiLuJe 75706ca0be TextBoxWidget: Unbreak Wikipedia (bis) (#8298)
re: https://github.com/koreader/koreader/pull/8275#issuecomment-933744596
2021-10-05 15:40:51 +02:00
zwim 6b5cf63d07 Autowarmth: fix info text alignment issues (#8271) 2021-10-03 10:40:46 +02:00
ichnilatis-gr e4337d1306 Greek keyboard: minor updates (#8292)
Adds Greek semicolon (upper dot) to the dot pop-up menu.
2021-10-03 10:37:15 +02:00
ichnilatis-gr c6b3d5d3a5 Greek keyboard: minor updates (#8291)
Adds Greek semicolon (upper dot) to the dot pop-up menu.
2021-10-03 10:36:49 +02:00
zwim cde13360ae Fix bug when leaving/entering FM/reader (#8295)
This should fix #8293
2021-10-03 10:28:09 +02:00
hius07 3fe09ecc01 CenterContainer: options to handle larger content (#8277) 2021-10-01 20:33:39 +02:00
hius07 4c9d1ac3f8 Spinwidgets: can now get width or width_factor (#8269) 2021-10-01 20:32:16 +02:00
hius07 2b87b1d8ed Virtualkeyboard: allow grey'ing the legacy umlaut mode key (#8276)
This key is still available on non-updated keyboard layouts.
2021-09-28 14:08:40 +02:00
Galunid d4628666c9 Statistics: Read page duration limits: allow min=0s (#8273)
Allow for always counting page as read, regardless of time spent.
2021-09-28 14:00:36 +02:00
NiLuJe 0ea8bee4e1 TextBoxWidget: Unbreak Wikipedia (#8275)
Turns out we can't release line_num_to_image early, so, delay it until the final, full widget teardown.

(Regression since #8250, c.f., https://github.com/koreader/koreader/pull/8250#discussion_r716646211)
2021-09-28 01:37:13 +02:00
Frans de Jonge a21b5be64a [chore] NewsDownloader: various minor string fixes (#8268)
Follow-up to <https://github.com/koreader/koreader/pull/8267>.
2021-09-26 12:44:43 +02:00
Frans de Jonge e865fb9114 [chore] NewsDownloader: remove stray space (#8267) 2021-09-26 12:30:17 +02:00
zwim 2dfbf56624 Autowarmth: Make Information in easy mode more beautiful (#8264) 2021-09-26 12:24:23 +02:00
zwim c8e55ec997 Autowarmth text formatting (#8262)
* Wordings; easier translation formatting

* use variable for tab_width (18)

* Add an indent parameter for formatting
2021-09-26 00:30:34 +02:00
zwim 0c7d174cd7 [frontlight, kobo, cervantes] Remove auto_warmth (#8154)
The feature is now provided by the "Auto warmth
and night mode" plugin (#8129).
2021-09-25 23:24:34 +02:00
NiLuJe 4a2f519600 Kobo: Use CLOEXEC in the Device module
We have a guarantee that it's supported on this platform.
2021-09-25 23:09:43 +02:00
NiLuJe 53b8ed48bf Kobo: Don't leak fds in isWifiOn
io.lines only closes the fd when the loop is exited sanely, not by a
control flow keyword (i.e., no break or return allowed).

Regression since #8169
2021-09-25 23:09:43 +02:00