koreader / crengine

This is the KOReader CREngine fork. It cross-pollinates with the official CoolReader repository at https://github.com/buggins/coolreader, in case you were looking for that one.
72 stars 45 forks source link

Tweaks to allow text selection in margins #484

Closed poire-z closed 2 years ago

poire-z commented 2 years ago

lvtext: fix m_kerning_mode type

Messed by a7cea02c #482: it since fails detecting Harfbuzz is used and would handle bracket mirroring, and we end up mirroring them and Harfbuzz unmirroring them, resulting in messed up brackets in Arabic and Hebrew. Noticed at https://github.com/koreader/crengine/pull/483#discussion_r889719759, thanks @weijiuqiao.

XML: let 'gb2312' (Chinese) encoding be known

Met in some CHM files at https://github.com/koreader/koreader/issues/9176#issuecomment-1147386804

Add ldomXPointer::getChar()

May be used to extend highlight to include punctuations, some idea at https://github.com/koreader/koreader/issues/8857#issuecomment-1151198923

LVDocView::getNodeByPoint(): tweak for text selection

Should allow selecting text by panning from/to/inside the outer margins, and getting something better/nearer when in paragraph left/right margins or in their collapsed top/bottom margins. See https://github.com/koreader/koreader/issues/9169#issuecomment-1146625083. Should allow closing https://github.com/koreader/koreader/issues/9169.

Fonts: allow fetching the list of embedded fonts

Frontends might want to know if there are some, and show their names. See some idea at https://github.com/koreader/koreader/issues/9190.


This change is Reviewable

weijiuqiao commented 2 years ago

Glad to have helped :)