> True, but I had in mind that any such approach will be built on the fact 
> that any layout is, in some sense, tentative.  Rhett raised the question 
> some time ago of a means recording (and scoring) intermediate results, 
> something which will be an essential element of such a solution.
> 
> At this stage, I would tend to think not of doing every possible layout, 
> but of following the "optimum" values to perform initial layout, and 
> then testing the result for "goodness".  The minimum-maximum range 
> provides the slack - within the context of the spec - for applying 
> whatever other set of layout tuning algorithms that FOP implements.

The idea I am working with (of which I have prototype working) is that a break is 
after a line. For this break it finds the BPD distance from the top down (flow layout 
manager) from the start of the page to the current break. It also finds the keeps 
from the current break position, looking at parent layout managers and next layout 
managers for keep with previous. A best break is found based on these two 
values. A next break is then found, since we don't know we have a best until 
there is a worse break. This can be done for all pages in the page sequence or 
until forced break.
Then if for example we want to find the optimum break. There is also the possiblity 
to get the next break within a context (which invalidates all further breaks) or 
previous break.

I am quite confident that this will work well. Footnotes and before floats suddenly 
become easy. Keeps are quite easy also.
The only drawback is that it constantly needs to find the child layout manager that 
applies to a given break and that finding the BPD distance could be time consuming 
in some circumstances. Optimisations should help a bit.

> I would see these being arranged as a set of heuristics - for want of a 
> better word - that are applied in a structured fashion to detected 
> layout conflicts of particular types.  What comprises a conflict would 
> be determined by those configurable parameters.
> 
> In the initial version, we only need to provide for the most basic of 
> these, as long as the mechanism is general enough to allow for refinement.

I am hoping that making the breaks simple and easy to find certain properties from 
any position will help us to explore what to do next.

Keiron.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to