Thread: ePub vs. kePub
View Single Post
Old 08-10-2015, 10:52 PM   #23
DNSB
Bibliophagist
DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.
 
DNSB's Avatar
 
Posts: 46,737
Karma: 169712580
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
Quote:
Originally Posted by JSWolf View Post
In a binary world, 0 means off. So 1 means one line and 0 means off which means the same thing in this case.
Stepping onto soapbox....

How many times has it been pointed out that widows and orphans are NOT binary values and the epub 2 and 3 standards refers to the CSS specification which states:

Quote:
13.3.2 Breaks inside elements: 'orphans', 'widows'

'orphans'
Value: <integer> | inherit
Initial: 2
Applies to: block container elements
Inherited: yes
Percentages: N/A
Media: visual, paged
Computed value: as specified

'widows'
Value: <integer> | inherit
Initial: 2
Applies to: block container elements
Inherited: yes
Percentages: N/A
Media: visual, paged
Computed value: as specified

The 'orphans' property specifies the minimum number of lines in a block container that must be left at the bottom of a page. The 'widows' property specifies the minimum number of lines in a block container that must be left at the top of a page. Examples of how they are used to control page breaks are given below.

Only positive values are allowed.
Also note the following from the CSS2/3 specification:

Quote:
if any value is considered invalid (as unsupported values must be), CSS requires that the entire declaration be ignored.
As has been pointed out ad nausem, widows and orphans must be set to a positive integer which 0, by definition, is not. At least, the definitions I've seen of a positive integer states "Positive integers refers to all whole number greater than zero." or an equivalent. So setting widows or orphans to 0 should result in the entire declaration being ignored which means the code should fall back to the default 2 value.

Off the soapbox and back to our regular babbling....

Quote:
Originally Posted by JSWolf View Post
What program did that bit of stupidity?
One old reader for Mac (Mac OS 8 or 9 as far as I recall -- it's been a few years and I seem to recall it started as implementing the Open eBook standard and updated to epub1) and a couple of epub3 readers for Windows. I've also seen odd results with some epub2/3 readers for Windows but haven't played much with any other than ADE and Calibre lately. As I mentioned above, falling back to the default setting when an invalid value is specified is—probably—the correct behaviour—annoying but correct.

These experiences led to my preference for 1 where the end result is defined—avoid problems where you can instead of hoping that someone else has taken care of any potential issues.

Takes me back to the good(?) old days of arguing whether you should start numbering at 0 or 1.

Last edited by DNSB; 08-10-2015 at 11:23 PM. Reason: Fat fingers cause typos.... what else is old?
DNSB is offline   Reply With Quote