Replace Hyphenation menu with Typography menu.
This works mostly like before:
- typography/hyphenation is chosen according to the book
metadata language,
- one can set a default or a fallback language,
- hyphenation is now just a subset of typography, and
can be disabled while still setting a language and
enabling the other features,
- the typography language enables newly added features
to crengine: per-language line breaking rules and
per-language Harfbuzz glyph selection.
Includes:
- Fix a few clang-tidy warnings
- Add support for <img src="data:image/png;base64,...>
- XML parsing: add more HTML5 named entities, optimize search
- Text: fix standalone BR not making an empty line
- Fix BR with "display: block" not making an empty line
- Fix hyphens from soft-hyphens not part of highlighted segments
- Use libunibreak for line breaking
- Adds TextLangMan for text typography by language
Tweak ReaderHyphenation to work with the new TextLangMan
(even if it will be replaced soon by ReaderTypography).
bump crengine: support for EPUB3 nav toc and page maps
Includes:
- Fix lvRect:isRectInside(rc) with 0-width or 0-height rect
- TOC: parse EPUB3 nav toc, fallback to spine when no toc
- Parse and cache various hardcopy page list maps
- epub.css: hide EPUB3 <span epub:type="pagebreak"> content
cre.cpp: add a few PageMap helper functions.
Adds ReaderPageMap which will add a new menu (under TOC and
Bookmarks) that will allow:
- to list source page numbers (like a TOC)
- to show visible page labels in the right margin
- to use these source page numbers in the footer, the TOC,
the GoTo and SkimTo widgets, and to use the source page
number in the standard bookmark and highlight initial text.
* Kindle FL shenanigans
Either fix#5986, or break a whole crapload of weird corner-cases.
Possibly the insane AutoFrontLight checks.
* Make fl step 0 usable on devices where 0 doesn't turn the light off.
By fudging an extra step on our own side.
* Also, add some debug logging around wmctrl to try to figure out what's
happening there...
- Show output in a TextViewer with a monospace font.
- Include stderr, so errors are shown
- Use Trapper to allow interrupting command (and to fix
some refresh issues)
Includes:
- FB2: merge other metadata in returned keywords and description
- CSS: adds support for font-variant
Also:
- Rebase MD5 module against upstream
- Update cURL to 7.69.1
- Add some style tweaks to allow displaying FB2 end notes
in-page too - and to allow showing them without a smaller
font size.
- Show footnote number in bold in popup footnotes.
Includes:
- FB2 footnotes: disable hardcoded handling as in-page 2
- CSS: also support gray colors spelled "grey"
- Text: move past floats when wide image or inlineBox does not fit
- Fix list item marker clipping check
- Ensure nodeDisplayStyleHash change when boxing prevented by cache
- Text: adds LFormattedText.is_reusable
- Handle block elements inside inline element
- Fix getBookmark() on multi-pages embedded block
- (Upstream) Support raw picture in RTF
- (Upstream) Fixed integer overflow in cache size calculations
- Add libCURL's CA bundle to the ignore list
- FB2 footnotes: fix setBoxingWishedButPreventedByCache()
- fb2.css: handle body[name="comments"] as footnotes
Also: Update base/thirdparty/turbo to v2.1.3.
Set these 2 tweaks as default global tweaks for new users
(and existing users that have not set any global defaults).
One can disable them by long-press on each of them.
Only per-specs EPUB and FB2 footnotes (other in-page footnotes
tweaks may trigger on non-footnote content on some books, so
let enabling them be a user decision).
Our code expects (rightfully) the TOC items to be ordered
and to have increasing page numbers, but we may occasionally
not get that from the engines (usually, because of bugs or
duplicated IDs in the document).
Check for that and fix page numbers (possibly making them
wrong) to have a working TOC.