Seems to be nothing in the layout code that supports these CSS properties. 
Is that right? I guess they are not important for a web browser and on 
screen viewing. But I'm quite interested in good pagination features.

>From quick looks at the layout model supporting such keeps (page breaks are 
not a problem, the keeps are) is a major undertaking.

I can imagine reflowing line after line, block after block and then coming 
to the end of page or end of a column and needing to backtrack to find a 
suitable place to break. The position must satisfy keeps between lines 
inside blocks, orphans and between blocks. Once the possible break point is 
found, you need to discard (or mark dirty?) all the frames created after 
that point. Unfortunately tables, nested tables and floats will comlicate 
things beyond average human capabilities.

An interesting fact - this looks almost like inline layout algorithm, but 
only turned 90deg to the side. When laying out inline you also reach the end 
of the space allowed and have to backtrack to find a suitable wrap point. 
I'd say every word has "line-break-inside: avoid" set (if there was such a 
property :) ).

I now remember bits in the CSS spec something about inline-progression and 
block-progression direction and that they are very similar conceptually, 
just differ in the axis. These progresssion directions can also turn 
depending on the text orientation and on the writing system. Or maybe this 
was from XSL-FO...


Cheers,
Roman


_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout

Reply via email to