New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump crengine: Harfbuzz light, WTF-8, corrupted ZIPs #4483

Merged
merged 3 commits into from Jan 15, 2019

Conversation

Projects
None yet
2 participants
@poire-z
Copy link
Contributor

poire-z commented Jan 15, 2019

Includes from koreader/crengine#252 & koreader/crengine#251 :

  • EPUB: workaround ZIP files with corrupted central directories. Closes #4464
  • Supports book text encoded in WTF-8
  • Harfbuzz kerning (full): fix possible wrong flags
  • (Upstream) Adds new kerning method: Harfbuzz light, without ligatures

Includes koreader/koreader-base#794

  • Adds missing support in ffi/util.lua utf8charcode() for 4-bytes UTF-8 chars (text selection from book would be truncated to the first 4-bytes char met).

Adds Harfbuzz light kerning methods as the 3rd toggle.
(Not yet set as a new default instead of Freetype, let's use that new one for a while to be sure it's really good and deserves to be the default.)

Also:

  • ConfigDialog: tweak widths computation
    Small fixes to widths computation for a more balanced layout.
    Decreased min width of names (on the left) from 33% to 25%, to allow more room for toggles on the right.
    (May make things a little bit too stretched out with english, but should help with other languages that use longer words to name things than english.)
    Also ignore disabled option names in the names width calculation (noticable on the PDF right most config menu, where toggles were uneededly too small)
    I had to reduce the width of my emulator in the following screenshots, to not show super wide sausages... Looks better on my GloHD... If there's a need for tuning that, we can raise the 25% in default_name_align_right = math.max(default_name_align_right, 0.25) and change the padding on the left/middle/right default_option_hpadding = Size.padding.fullscreen

image

image

  • InfoMessage: avoid overflowing screen height with long messages
    When no height= provided, and the InfoMessage would overflow screen heigh when some long message is provided, decrease the font size until the widget fit.

image
(screenshot of my emulator with its height resized down)

poire-z added some commits Jan 15, 2019

InfoMessage: avoid overflowing screen height with long messages
When no height= provided, and the InfoMessage would overflow
screen height when some long message is provided, decrease the
font size until the widget fit.
ConfigDialog: tweak widths computation
Small fixes to widths computation for a more balanced layout.
Decreased min width of names (on the left) from 33% to 25%, to
allow more room for toggles on the right.
(May make things a little bit too stretched out with english,
but should help with other languages that use longer words to
name things than english.)

Also ignore disabled option names in the names width calculation
(noticable on the PDF right most config menu, where toggles were
uneededly too small)
bump crengine: Harfbuzz light, WTF-8, corrupted ZIPs
Includes:
- EPUB: workaround ZIP files with corrupted central directories
- Supports book text encoded in WTF-8
- Harfbuzz kerning (full): fix possible wrong flags
- (Upstream) Adds new kerning method: Harfbuzz light, without ligatures

Adds Harfbuzz light kerning methods as the 3rd toggle.
@Frenzie
Copy link
Member

Frenzie left a comment

lgtm

@poire-z poire-z merged commit 1928007 into koreader:master Jan 15, 2019

1 check passed

ci/circleci Your tests passed on CircleCI!
Details

@poire-z poire-z deleted the poire-z:bump_crengine branch Jan 15, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment