sumatrapdfreader / sumatrapdf

SumatraPDF reader
http://www.sumatrapdfreader.org
GNU General Public License v3.0
13.71k stars 1.73k forks source link

some ideas about ebook display #1406

Open mengmo opened 4 years ago

mengmo commented 4 years ago

The problem is SumatraPDF will always repage the contents when

  • change the width of Bookmarks
  • hide/show Bookmarks
  • maximize/restore SumatraPDF window
  • switch between Single page and Facing
  • close/reopen an ebook file

This takes a lot of time especially when reading a large-size ebook file

I think the following options may solve this problem or at least reduce the rapaging time

  • make a chapter as a page*
  • display contents/characters in users' specified width ( in Single page mode)
  • display Bookmarks overlay above the reading area

*This idea comes from Thorium Reader, a heavy and slow app built on Electron, randomly stuck when reading ebooks.


Thanks to this great project anyway!!!

GitHubRulesOK commented 4 years ago

@mengmo All the "triggers" for reflow are an unfortunate side effect of when an ePub is not being read on a hardware Ebook reader where the window is "fixed"

The first (good) suggestion to break down the document into smaller chunks may be difficult to program so I have to leave that answer to @kjk

The comments re 2nd request has been edited see below. In summary is a request to have user controlled fixed width contents much like a frame in frame approach.

The 3rd request is I guessed a floating bookmarks window see comments below. In summary the request is some form of overlaid bookmarks.

There are delays to a new release simply dealing with current bookmark issues, so those requests could take a while to impliment. @kjk (one for next milepost?)

mengmo commented 4 years ago

@GitHubRulesOK Thanks! I've tried the latest daily builds. It seems that debug > toggle ebook ui is simply UseFixedPageUI = true in settings

And also I'm sorry that I didn't express what I exactly want for the 2nd request correctly. So please allow me to describe the 2nd request in detail.

I've modified the 2nd option

mengmo commented 4 years ago

Please allow me to add a little more to explain why not use FixedPageUI

The TextColor and BackgroundColor settings of EbookUI are different from these settings of FixedPageUI

It seems that users can't specify Font and FontSize of FixedPageUI

@GitHubRulesOK Thanks! I've tried the latest daily builds. It seems that debug > toggle ebook ui is simply UseFixedPageUI = true in settings

And also I'm sorry that I didn't express what I exactly want for the 2nd request correctly. So please allow me to describe the 2nd request in detail.

* in `EbookUI`, not `FixedPageUI`

* contents/characters(, sorry not pages) should display in the middle of the page

* contents/characters should display in a limited section of width.
  users can specify the width

* in `Single page` mode
  or in `Facing` mode if someone wants

I've modified the 2nd option

GitHubRulesOK commented 4 years ago

@mengmo Sorry for misunderstanding I will remove comments above about FixedPageUI Just to be clear on your 2nd or 3rd option I am assuming it would be something like this

image

Where say a right click would show a floating list that would hide on selection ? thus Maximising screen usage. If that was the intent it is highly commendable towards not needing reflow and in fact would also be of benefit to FixedPageUI users. @kjk would this be possible similar to the way the TOC editor is composed ?

GitHubRulesOK commented 4 years ago

@mengmo Font type and Size in EbookUI section are used for FixedPageUI when it is set to true You can also set your ebook color choices to be applied to FixedPageUI The downside is that may not what you want for say PDF reading thus you may need two profiles one for each type of document, there are a few hints under issues for day/night modes or use the -appdata command, but of course no one workaround is perfect for all users.

mengmo commented 4 years ago

@GitHubRulesOK Option 2. Please ignore the different backgroud colors, they came from 2 different apps option02 Option 3. This is just a sample. The Bookmarks can also overlay on the left. I think a floating bookmarks window is also a good option option03

mengmo commented 4 years ago

A better option 2 sample option02

GitHubRulesOK commented 4 years ago

@mengmo Ok I think I understand better

Option 1 was a request to speed up by memory "splitting" book into parts such as chapters thus reducing reflow time per part, however the need to constantly recalculate start and end of book structure is the main slow down as it changes the page numbers. Even if the book were simply split in half the total pages would still need to be calculated for each part unless the number of pages was ignored but then that would possibly have other effects. I think the fundemental problem is early ebooks could have been designed better to say have indexed word counts per chapter in meaningful blocks for estimation on diferent devices but they were initially designed for a limited number of fixed screen ratios.

Option 2 is to have a user choice of a centered FIXED SINGLE page width so that reflow occurs less often ?

Option 3 is to have the Table of Contents OVERLAY the book reading area ?

mengmo commented 4 years ago

@GitHubRulesOK Option 1 option01

Option 2. Yes, that's it

Option 3. So it should be called Table of Contents. Sorry I'm not professional and not good at English. I toggled the menu View > Show Bookmarks F12 and saw the catalog of epub files, so I thought it is Bookmarks before.

GitHubRulesOK commented 4 years ago

@mengmo your english is good Table of Contents is the way it is made in the Document body like MSWord or Adobe Acrobat Bookmarks is what most users call the same user list at the side so they are roughly the same