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.
70 stars 45 forks source link

Fix ruby alignment, fix one possible crash, ignore empty non-linear flows #565

Closed poire-z closed 3 months ago

poire-z commented 3 months ago

html5.css: really ensure ruby centering

Should allow closing https://github.com/koreader/koreader/issues/11771.

getRenderedWidths(): fix possible crash with 0-width images

Coding error: images with width=0 in tables/floats would cause an infinite loop and a stack overflow. Should allow closing https://github.com/koreader/koreader/issues/11680

Page splitting: ignore empty non-linear flows

If a non-linear flow was created, but we never got any "line" associated to it, just ignore it and reset the counter. (Otherwise, frontend would get holes/nil in the array of flows, and would get confused.) Fix issue noticed at https://github.com/koreader/koreader/issues/8623#issuecomment-2068168592.

LvDocView header: allow overriding "page/total %"

So frontend can build this bit of text and propagate it to crengine for it to display in place of its own computed text. Will allow KOReader (via ReaderCoptListener) to display something similar to what it displays in the footer (which is different from crengine's own text when using hidden flow or reference page numbers).


This change is Reviewable