johnfactotum / foliate

Read e-books in style

Home Page:https://johnfactotum.github.io/foliate/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Line Height and Justification do not apply to some books

kaptem opened this issue · comments

Describe the bug
The foliate settings for line height and justification do not apply to some booys.

Expected behavior
For the Foliate settings to always apply or for a toggle to force the Foliate settings for line height and justification onto a book.
Version:

  • Foliate version: Arch
  • OS/Distribution and version: [e.g. Ubuntu 18.04]
  • Desktop environment: [e.g. GNOME 3.36] KDE
  • Installation method: Arch Repo's

Currently you can already force any style you'd like using the user stylesheet.

What remains is whether to force things by default and how to make it optional. It would be possible to add these option in the settings, but then there's the question of whether to present them as separate options, or to bundle them together in a single "override publisher style" sort of option.

Always forcing justification by default is absolutely out of the question. In my opinion it breaks too many things to even be an optional setting.

Forcing line-height by default might be tolerable. It's perhaps okay and in fact somewhat necessary when forcing the font. The problem here is how exactly to force it. Maybe just use !important for p, li and dd, but that might not be enough for some books. (Not sure about blockquote even though currently it does set it [without !important but ordered at the end of non-inline styles]. Perhaps only apply it to blockquotes containing only phrasing content, like blockquote:not(:has(p, h1, h2, h3, h4, h5, h6, header, hgroup, section, article, aside, div)) but that seems a bit heavy.)

So here's one tentative solution:

  • For line-height, make the "override publisher font" setting also control whether line-height is overridden. It might be good to put the line-height setting close to the font settings.
  • For justification, do nothing. Keep the current behavior and never force it. And maybe clarify this by changing the title "Paragraph" to "Default paragraph style" or something similar.

Some alternatives:

  • Provide a separate option for forcing individual settings. Though in conception a simple solution, I'd very much like to avoid this option-geddon if possible.
  • Provide an option similar to the browser's reader mode where everything is overridden. One problem with this approach is that it might require reloading the page to take effect.
  • Do nothing. Just use the user stylesheet or edit the books.