Originally Posted by davidfor
@buffaloseven: It is no where near as simple as that. In the epub, all these settings, justification font, margins and line spacing, are set in the styles. Different styles have different values for each. The styles should then be used in different places to help the reader see what is going on.
As an example, for most of a novel, justification doesn't matter. But, a fairly common thing in a novel to have a newspaper article, a letter or something else. These are generally displayed to make them appear different. The ways this is done changes, but it is some combination of a little space above and below, wider margins on both sides, a different font or all capitals and justification settings. For a newspaper article and the transcript of a hand written letter, different justification settings would be used, fully justified and left justified respectively. Using these gives a bit more information to the reader
If the device overrides these sort of setting, then the reader loses information about the book. The device could override some of the styles, but which ones? And if it disables the options in the settings dialog because one style has the setting hard-coded, that means the reader can't adjust the other parts that it is safe to adjust.
Personally, I think Kobo are close to right on this. They allow the user to make changes but respect the books hard-coded that might be important to the book. What we need is for the book designers/creators to create ebooks in such a way that readers can change settings for anywhere that the formatting isn't important.
I completely agree with you. As a front-end designer, if I were approaching this problem, I'd tackle it one of two ways. Only override @page and body margins with the user-defined settings and:
1. Leave all others alone.
2. Add the custom margins to the user margins.
The first option could fail if an ePub is particularly poorly formatted (and ultimately, the lack of any real adopted standard for formatting eBooks is certainly one of the greatest challenges facing the industry) and possibly change no margins at all. The second option should
work just fine, but in particularly high-margin blocks could really squeeze the text. If the device could dynamically set a maximum
margin based on the font-size of each block of text, that would be ideal and you could set all the user-marigns you want, additive to the custom margins, without any awkwardly narrow columns of text.