2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
Commit Graph

2225 Commits

Author SHA1 Message Date
NiLuJe
9a20fb5836
Switch to zsync2 (#5810)
* Switch to zsync2

Requires https://github.com/koreader/koreader-base/pull/1036

* Simplify FBInk syntax

The weird-ass workarounds for -s's subopts handling are
no longer needed w/ FBInk >= 1.21.0

* Update base

* Re-enable HW dithering on Kindle
  (https://github.com/koreader/koreader-base/pull/1034)
* Update SQLite to 3.31.1
  (https://github.com/koreader/koreader-base/pull/1035)
* reMarkable port
  (https://github.com/koreader/koreader-base/pull/1023)
* zsync2
  (https://github.com/koreader/koreader-base/pull/1036)

* zsync2 means we can finally have nice things

(OpenStack backed storage)

* We also no longer need that insane workaround on ARM

* And comment out @chrox's mirror, which appears to be down.

* Warn that a malformed URL will horribly blow up in fun and interesting
ways
2020-02-04 03:14:23 +01:00
NiLuJe
5499d85cbc
Allow running shell scripts from the FileManager/Favorites (#5804)
* Allow running Shell/Python scripts from the FM

* Show an InfoMessage before/after running the script

Since we're blocking the UI ;).

* Allow running scripts from the favorites menu, too.
2020-02-03 20:08:18 +01:00
NiLuJe
283187efb7
Update fonts & add Noto Sans Devanagari UI (#5803)
* Update fonts

https://github.com/koreader/koreader-fonts/pull/11

* Add Noto Sans Devanagari UI to the UI fallback font list (fix #2895).
2020-01-31 17:25:13 +01:00
poire-z
6d2cada96e Wikipedia Save as EPUB: better gallery rendering
Switch Wikipedia galleries from floats to inline-block.
Also remove some crengine bugs workaround code as these
bugs have been fixed for a long time.
2020-01-31 15:33:13 +01:00
poire-z
1ccc658401 Style tweaks: adds "Enforce steady line heights"
And re-order them a bit to group the line-height related
ones together.
2020-01-31 15:33:13 +01:00
Mustafa Ali Mutlu
5724971466 add turkish f keyboard layout (#5795) 2020-01-28 00:05:16 +01:00
poire-z
23d848acf4 Reader: strict ordering of tap & hold gestures (#5789)
The lack of proper overrides could make their
order/precedence/priority non-deterministic.
2020-01-24 20:05:21 +01:00
yparitcher
236609c431 fix arabic keyboard to conform to #5639 (#5793)
Fixes #5792
2020-01-24 09:16:52 +01:00
poire-z
2d02ade498 Footnote popups: drop justification if RTL content
MuPDF does not handle "text-align: justify" correctly on
RTL text: the last line is left-aligned, but it should be
right-aligned.
Not using justify makes it correctly right align the whole
text.
2020-01-23 19:26:07 +01:00
poire-z
c449d0ad1e [UI] Render metadata text with book language
Gives the book language to Text*Widget (and XText) when
drawing title, authors and other metadata text.
Might be needed to properly display a Japanese book title
when the UI language is Chinese.
2020-01-23 19:26:07 +01:00
WaseemAlkurdi
c8b3942bf4 [UX] Keyboard for Arabic and languages with Arabic script (#5569) 2020-01-18 22:47:34 +01:00
poire-z
605f6026bb
TextWidget: adds getFittedText() (#5776)
bump base for xtext:getText().
2020-01-18 00:04:32 +01:00
poire-z
e3b4116f4d opds: add one public server (Gallica) 2020-01-17 17:42:07 +01:00
Robert
73a0f2f9d1 Remove DSCROLL_MODE and DGLOBALGAMMA (#5754) 2020-01-07 20:16:59 +01:00
poire-z
e172926af5 LoginDialog: fix crash on focus switch (#5749) 2020-01-06 11:59:17 +01:00
Martín Fernández
51ed411ee4 android: OTA fallback using the browser
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
2020-01-04 21:08:17 +01:00
poire-z
0599c440cc [RTL UI] Bidi-wrap filenames, paths, urls, metadata
bidi.lua:
- Revert "Alias everything to Bidi.nowrap() when in LTR UI,
  as using LTR isolates seems uneeded when already LTR" (part
  of a628714f) which was a wrong assumption: we need proper
  wrappers for all things paths. Enhance some of these wrappers.
- Fix GetText RTL wrapping which was losing empty lines and
  trailing \n.

- Wrap all paths, directories, filenames in the code with
  these wrappers.
- Wrap all book metadata (title, authors...) with BD.auto(),
  as it helps fixing some edge cases (like open/close quotation
  marks which are not considered as bracket types by FriBiDi).
  (Needed some minor logic changes in CoverBrowser.)

- Tweak hyphenation menu text
- Update forgotten SortWidget for UI mirroring
- KoptConfig: update "justification" index for RTL re-ordering,
  following the recent addition of the page_gap_height option.
2020-01-04 01:34:46 +01:00
poire-z
a31abf79de TextBoxWidget: fix some truncation ellipsis issues
Ellipsis was sometimes not displayed when text is right aligned,
because width was not updated with ellipsis size.
bump base/xtext: fix truncation ellipsis position in bidi text
so it stays nearer to previous logical order char, instead of
sometimes being thrown away to start or end of line.
2020-01-04 01:34:46 +01:00
poire-z
b4ff207ece [fix, i18n] Auto-save book metadata: fix interval string (#5729)
See https://github.com/koreader/koreader/pull/5687#issuecomment-570226614 and followups.
2020-01-02 21:31:29 +01:00
Mustafa Ali Mutlu
12adb96206 [feat] Option to change page gap in continuous mode (#5705)
Fixes #5656.
2020-01-02 21:30:03 +01:00
poire-z
5ea1a7c817 Style tweaks: In-page footnotes: add some classic classnames 2020-01-02 16:25:10 +01:00
poire-z
378dfdc1df ConfirmBox: prevent lower widgets from responding to tap 2020-01-02 16:25:10 +01:00
Frans de Jonge
ecc9715371
[chore] Ellipsis instead of dots (#5720)
Thanks to Weblate, see https://github.com/koreader/koreader/issues/3754
2020-01-01 15:20:16 +01:00
poire-z
908151a3b0 [feat] Adds Document> Auto-save book metadata sub-menu (#5687)
Replaces DAUTO_SAVE_PAGING_COUNT in defaults.lua with
a new option available in menu, that allows setting
an interval in minutes instead of a page count.
2020-01-01 12:27:51 +01:00
Frans de Jonge
0ea889aecb
[fix] Restore most Japanese keyboard layers (#5709)
The Japanese keyboard still needs to be cleaned out a bit more at some point, but the important thing is that this commit fixes #5632 by restoring the kanji layer with the voiced-unvoiced conversion symbol.
2019-12-30 16:52:58 +01:00
Robert
c3a0bd4def Remove DFULL_SCREEN (#5695) 2019-12-27 23:03:31 +01:00
poire-z
6596e5ddc7 [RTL UI] GetText/Bidi: wrap untranslated strings in LTR 2019-12-17 23:46:35 +01:00
poire-z
a628714f51 [RTL UI] Bidi wrapping tweaks
- Alias everything to Bidi.nowrap() when in LTR UI, as using
  LTR isolates seems uneeded when already LTR.
- Better wrapping of RTL filename by using auto direction and
  LTR-isolating only the suffix so it's always on a side.
- menu.lua: handle bidi_wrap_func outside getMenuText(), which
  may be used in other contexts.
- Add BD.filepath() and BD.dirpath()
2019-12-17 23:46:35 +01:00
poire-z
d89317e820 bump crengine, fribidi, xtext
- bump crengine: (Upstream) DocX: fix paragraphs with single hyperlink
- bump fribidi to 1.0.8 (for nested isolates fix)
- xtext.makeLine(): return no_allowed_break_met=true when that
  happens, so we know the line breaks inside a word.

TextBoxWidget: add forgotten property (when use_xtext=true) when no
line break opportunity was found: has_split_inside_word=true.
(Only used by CoverBrowser Mosaic mode to make nicer text covers
by reducing font size when that happens.)
2019-12-16 23:55:31 +01:00
Mihai Vasiliu
739a3009ff [i18n] Fix Romanian plural forms (#5692)
Hardcode the plural forms logic for Romanian.

This fixes #5661 and enables Romanian (Moldova) language in the menu.
2019-12-16 20:21:07 +01:00
poire-z
a838a6eb1d TextBoxWidget: fix crash when empty last line and alignment center/right (#5691) 2019-12-15 20:05:50 +01:00
poire-z
ea67b9be77 TextBoxWidget: fix crash on hold after end of text (#5689) 2019-12-14 15:33:43 +01:00
Frans de Jonge
7d231acad0
[UX] Simple symbol keyboard layer paging (#5659)
Use 1/2 and 2/2 instead of Shift on the symbol layer.
2019-12-13 16:20:16 +01:00
Robert
e26ad2b287 [UX] Adds DoubleSpinWidget (#5679)
Replaces HyphenationLimits widget by making it more generic.
2019-12-11 23:12:55 +01:00
poire-z
55f3575a10
UI font rendering: use available bold fonts for bold (#5675)
A few fixes and enhancement related to bold text:
- When using bold=true with a regular font, use its bold
  variant if one exists (can be prevented by manually
  adding a setting: "use_bold_font_for_bold" = false).
- When using a bold font without bold=true, promote bold
  to true, so fallback fonts are drawn bold too.
- Whether using a bold font, or using bold=true, ensure
  fallback fonts are drawn bold, with their available bold
  variant if one exists, or with synthetized bold.
- When using a bold variant of a fallback font, keep using
  the regular variant as another fallback (as bold fonts
  may contain less glyphs than their regular counterpart).
- Allow providing bold=Font.FORCE_SYNTHETIZED_BOLD to
  get synth bold even when a bold font exists (might be
  interesting to get text in bold the same width as the
  same text non-bold).
- Use the font realname in the key when caching glyphs,
  instead of our aliases (cfont, infont...) to avoid
  duplication and wasting memory.
2019-12-08 20:31:27 +01:00
poire-z
7952fa2c09 [RTL UI] update widgets and apps for UI mirroring
Small tweaks all around to handle UI mirroring:
- swap existing symbols like arrows, or use alternative ones
- rotate some images, like chevrons and dogear icons
- flip some left and right swipe handling
- flip some geometry arithmetic like tap on left or right
  side of page or dict window
- use new ProgressWidget:getPercentageFromPosition() instead
  of geometry arithmetic
- BD.wrap() some concatenated string bits, like in reader
  and menu footers
- flip inverse_reading_order when UI is mirrored

More specific tweaks:
- ReaderGesture: reset some specific gestures when UI direction
  has changed (tap on top/bottom left/right corners, for
  bookmarks and FileManager "Plus menu").
- ReaderRolling: show markers on the correct side of page,
  in single or dual page mode.
- KoptOptions: swap left and right icons in Alignment toggle
- CheckMark: proper rendering in all 4 mirroring/rtl combinations.
- VirtualKeyboard: forbid any mirroring
- Move util.getMenuText into Menu.lua
2019-12-08 15:10:51 +01:00
poire-z
36ce82d8c2 [RTL UI] update low-level widgets to handle mirroring
These updated low-level widgets will handle 90%
of the needed UI mirroring.
2019-12-08 15:10:51 +01:00
poire-z
d6d49a64a7 [RTL UI] use auto or LTR text direction in some specific cases
Allow TextBoxWidget new text direction/lang parameters to be
set on upper widgets, and propagate them all the way to it
(ScrollTextWidget, InputText, InputDialog, TextViewer).

Use specific non-default ones in some specific cases:
- Force LTR text direction when showing HTML and CSS, and
  configuration files (in some plugins).
- Use Wikipedia server language and text direction when
  showing an article.
- Use auto with Dictionary results, as we don't know the
  dictionary language, and they may contain mixed content.
- Force LTR when showing some paths (still needs more of them)

TextEditor plugin: add 2 new options "Auto paragraph direction"
and "Force paragraph direction LTR".

Footnotes popup: grab HTML direction, and forward it
to MuPDF for proper display.
2019-12-08 15:10:51 +01:00
poire-z
866c9571df [RTL UI] adds bidi.lua, bootstrap UI mirroring with RTL languages
Set default language (for Harfbuzz to pick up localized glyphs
in a font), default text direction, and UI element mirroring
depending on the UI language.
2019-12-08 15:10:51 +01:00
poire-z
3c280f6e5f KeyValuePage: proper padding between key and value
Use some HorizontalSpan for padding between key and value,
instead of prepending a space to the value text (which
won't work as expected if value text is RTL, as it would
be put on the right side of screen).
2019-12-08 15:10:51 +01:00
poire-z
ef08f50336 DictQuickLookup: properly truncate title text 2019-12-08 15:10:51 +01:00
Martín Fernández
a5069f1c26 android: make system fonts toggable (#5670)
Also add droid font back to android and remove the workaround
2019-12-08 14:54:14 +01:00
poire-z
e9032a2b2a TextBoxWidget: slightly better cursor positionning in RTL text 2019-12-05 12:18:52 +01:00
poire-z
588c35967f TextBoxWidget: minor optimisations
It's best to do all free'ing via :free(), and not :onCloseWidget(),
as :free() is more logically called in cascade when upper widgets
are closed.
2019-12-05 12:18:52 +01:00
Mihai Vasiliu
e8f91ab399 [UX] ru keyboard ё popup and translation (#5662)
Changes in this commit:
- Fix arrays to large (10 elements instead of 8) copied from the old keyboard system.  Issue introduced in #5610 
- Add ё popup.
- Change shift key as per #5659 (for both ro and ru keyboards)
- Translate Russian space and symbol keys.
- Rename Sym key to 123
2019-12-03 15:09:06 +01:00
Mihai Vasiliu
2541440bb8 [UX] Add Romanian keyboard layout (#5660)
This adds a new separate Romanian keyboard layout, with popup support.

- Functional buttons are translated.
- Pages 5&6 contain 3 groups of characters (I tried my best to group them logically):
  - On the left: traditional Romanian cyrillic pre-1850s
  - On the middle latinised forms from 1850s onwards
  - On the right modern diacritics from 1900s to today
- Pages 7&8 add only large double quotes and section/paragraph mark.
- Popups are only avalable for most common diacritics. Swipe up for circumflex, swipe down for breve.

I can really call this the most complete though-the-ages Romanian keyboard. :)
2019-11-30 17:35:39 +01:00
Mihai Vasiliu
849bd951ed [UX] Add Moldavian diacritics to ru_keyboard (#5652)
Added Ӂӂ on the Russian layout popup for Moldavian.
2019-11-30 16:37:17 +01:00
poire-z
a1247160a1 TextWidget: minor optimisations
Also fix possible crash with NumberPickerWidget.
2019-11-29 23:45:12 +01:00
poire-z
5541d5f5d3 bump crengine: word spacing and hyphenation tweaks
Includes:
- New option to tune word spacing: space width scale percent
- Text: look for hyphenation in more words if needed
- CSS: fix "hyphens:none" should override inherited "hyphens:auto"
- getHtml(): grab dir= and lang= attributes from upper nodes

Replace our Word Gap/Space condensing toggle/setting with
a new Word Spacing toggle/setting, made of 2 values:
- 1st number scales the normal width of spaces in all font
  (100% uses the font space width untouched)
- 2nd number applies after the 1st has been applied, and
  tells how much these spaces can additionally be condensed
  to make more text fit on a line.
2019-11-29 23:45:12 +01:00
Robert
b0738960df Dictionary: add menu item to set font size (#5647) 2019-11-27 23:59:08 +01:00