Vincent,
This page represents a good piece of work.
First some nit picking regarding language:
'A, if X; B, else': change else -> otherwise (2x)
'We may choose to either differ a side-float, or ...': change differ -> defer
Then a comment on the rules:
Rule 1. Why does the rule not require not both x >= 0 and x + ipd <=
ipd(ref-area), for both start and end floats, unless the float is
wider than the ipd(ref-area)? In other words, why is rule 7 not
required for any start and end floats?
In 'Properties of the model': I do not see that rule 7 is satisfied.
Finally some thoughts on a possible algorithm:
The algorithm should combine pagebreak and linebreak calculations in a
single dynamic calculation:
for each legal pagebreak
for each active pagebreak node
layout the page and calculate its demerits
Laying out the page involves breaking each paragraph on the page into
lines; each legal linebreak/active linebreak node combination (that
is, each iteration in the two nested loops of the linebreak
calculation) is associated with a certain side float layout, and thus
the line widths for that case are known and the demerits can be
calculated.
It is just a rough idea. I have no clear picture what the linebreak
calculation in combination with side floats looks like. I just have
the feeling that it should be possible in principle. Obviously, it may
be necessary to break a paragraph into lines several times, each time
with a different side float layout. It will be necessary to store
earlier linebreak calculations for a paragraph in a clever way, so as
to avoid unnecessary recalculations for identical linewidths. Working
this out into a realistic algorithm requires much more thinking.
Regards, Simon
On Fri, Aug 11, 2006 at 01:26:51PM +0200, Vincent Hennebert wrote:
> 2006/8/11, Apache Wiki:
> >Dear Wiki user,
> >
> >You have subscribed to a wiki page or wiki category on "Xmlgraphics-fop
> >Wiki" for change notification.
> >
> >The following page has been changed by VincentHennebert:
> >http://wiki.apache.org/xmlgraphics-fop/GoogleSummerOfCode2006/FloatsImplementationProgress/ImplementingSideFloats
> >
> >The comment on the change is:
> >Difficulties around side-floats
<snip>
--
Simon Pepping
home page: http://www.leverkruid.eu