You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by "J.Pietschmann" <j3...@yahoo.de> on 2002/12/01 21:56:33 UTC

Re: Getting breaks: revisited

Victor Mote wrote:
> Just to be clear, I should point out that there is not a layout that is
> impossible to perform.

There are layouts for which it is very hard to decide what
to do. Consider the following:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
   <fo:layout-master-set>
     <fo:simple-page-master master-name="thin"
       page-width="110mm" page-height="297mm">
       <fo:region-body/>
     </fo:simple-page-master>
     <fo:simple-page-master master-name="thick"
       page-width="210mm" page-height="297mm">
       <fo:region-body/>
     </fo:simple-page-master>
     <fo:page-sequence-master master-name="master">
       <fo:repeatable-page-master-reference
         maximum-repeats="100" master-reference="thin"/>
       <fo:repeatable-page-master-reference master-reference="thick"/>
     </fo:page-sequence-master>
   </fo:layout-master-set>
   <fo:page-sequence master-reference="master">
     <fo:flow flow-name="xsl-region-body">
       <fo:block width="150mm">blabla..............</fo:block>
     </fo:flow>
   </fo:page-sequence>
</fo:root>

Should this create 100 empty pages and render the text onto
the 101st page, or should it squeeze it onto the first page,
thereby violating the advised width constraint of the block?
The user could have either in mind.

J.Pietschmann


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: Getting breaks: revisited

Posted by Keiron Liddle <ke...@aftexsw.com>.
On Tue, 2002-12-03 at 21:56, J.Pietschmann wrote:
> Oleg Tkachenko wrote:
> > btw, how does such a case addressed by the spec? Apparently FOP, antenna 
> > and xep do squeeze content. Isn't it an example of overconstrained 
> > geometry (5.3.4)?
> 
> It can be interpreted as such in the presented case. Use height instead
> of width and a table whose rows are kept together instead of a block to
> make it more interesting (from the users point of view, for the processor
> it may still be an example of overconstrained geometry, but this becomes
> far fetched rapidly).

That suggests to me that the spec needs some work.
How can it possible mean that it should go through every single possible
combination of pages/blank pages to come up with a suitable solution.

Does the area tree allow for multiple breaks between areas in the flow?
(not including forced breaks)
It doesn't say either way (that I can find) but I would hope the answer
is no. Then you could say that anything that starts on the page will
ensure that some of it is placed on the page. The keeps are dealt within
the context of that page (and further flow) until a forced break but not
in terms of an arbitrary future page that might fit the current content.




---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: Getting breaks: revisited

Posted by "J.Pietschmann" <j3...@yahoo.de>.
Oleg Tkachenko wrote:
> btw, how does such a case addressed by the spec? Apparently FOP, antenna 
> and xep do squeeze content. Isn't it an example of overconstrained 
> geometry (5.3.4)?

It can be interpreted as such in the presented case. Use height instead
of width and a table whose rows are kept together instead of a block to
make it more interesting (from the users point of view, for the processor
it may still be an example of overconstrained geometry, but this becomes
far fetched rapidly).

J.Pietschmann



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: Getting breaks: revisited

Posted by Oleg Tkachenko <ol...@multiconn.com>.
J.Pietschmann wrote:

> There are layouts for which it is very hard to decide what
> to do. Consider the following:
> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
>   <fo:layout-master-set>
>     <fo:simple-page-master master-name="thin"
>       page-width="110mm" page-height="297mm">
>       <fo:region-body/>
>     </fo:simple-page-master>
>     <fo:simple-page-master master-name="thick"
>       page-width="210mm" page-height="297mm">
>       <fo:region-body/>
>     </fo:simple-page-master>
>     <fo:page-sequence-master master-name="master">
>       <fo:repeatable-page-master-reference
>         maximum-repeats="100" master-reference="thin"/>
>       <fo:repeatable-page-master-reference master-reference="thick"/>
>     </fo:page-sequence-master>
>   </fo:layout-master-set>
>   <fo:page-sequence master-reference="master">
>     <fo:flow flow-name="xsl-region-body">
>       <fo:block width="150mm">blabla..............</fo:block>
>     </fo:flow>
>   </fo:page-sequence>
> </fo:root>
> 
> Should this create 100 empty pages and render the text onto
> the 101st page, or should it squeeze it onto the first page,
> thereby violating the advised width constraint of the block?
btw, how does such a case addressed by the spec? Apparently FOP, antenna and 
xep do squeeze content. Isn't it an example of overconstrained geometry (5.3.4)?

-- 
Oleg Tkachenko
eXperanto team
Multiconn Technologies, Israel


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: Getting breaks: revisited

Posted by "Peter B. West" <pb...@powerup.com.au>.
J.Pietschmann wrote:
> Peter B. West wrote:
> 
>> ...the intention of the spec would be realised by laying out 0 of the 
>> repeatable-p-m-refs "thin", out of the available range of 0-100, then 
>> laying out 1 of the "thick" r-p-m-refs.
>>
> Interesting and useful interpretation. The problem is, how to
> implement this?

Joerg,

It depends on your overall method of generating areas.  This goes to 
overall design questions, which are on hold until we have had a chance 
to consider the Sun product, but if layout is driven from below (as in a 
sense it already is), with tentative layouts bubbling upwards until they 
strike an invalidating constraint, which then follows them back down the 
tree for a retry, and all of this eventually comes back up to the 
PageMaker level, then, in the case above, the result would be a 
no-can-do, accompanied by the dimensions of the best attempt.

The PageMaker would then look for a layout master alternative, 
discarding the remainder of the repetitions in the process, and having a 
go at the "thick" master.  That succeeds.  If it didn't the fallback 
mode would be determined by the "overflow" property.

Peter
-- 
Peter B. West  pbwest@powerup.com.au  http://www.powerup.com.au/~pbwest/
"Lord, to whom shall we go?"


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: Getting breaks: revisited

Posted by "J.Pietschmann" <j3...@yahoo.de>.
Peter B. West wrote:
> ...the intention of the spec would 
> be realised by laying out 0 of the repeatable-p-m-refs "thin", out of 
> the available range of 0-100, then laying out 1 of the "thick" r-p-m-refs.
> 
Interesting and useful interpretation. The problem is, how to
implement this?

J.Pietschmann


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: Getting breaks: revisited

Posted by "Peter B. West" <pb...@powerup.com.au>.
J.Pietschmann wrote:
> Victor Mote wrote:
> 
>> Just to be clear, I should point out that there is not a layout that is
>> impossible to perform.
> 
> 
> There are layouts for which it is very hard to decide what
> to do. Consider the following:
> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
>   <fo:layout-master-set>
>     <fo:simple-page-master master-name="thin"
>       page-width="110mm" page-height="297mm">
>       <fo:region-body/>
>     </fo:simple-page-master>
>     <fo:simple-page-master master-name="thick"
>       page-width="210mm" page-height="297mm">
>       <fo:region-body/>
>     </fo:simple-page-master>
>     <fo:page-sequence-master master-name="master">
>       <fo:repeatable-page-master-reference
>         maximum-repeats="100" master-reference="thin"/>
>       <fo:repeatable-page-master-reference master-reference="thick"/>
>     </fo:page-sequence-master>
>   </fo:layout-master-set>
>   <fo:page-sequence master-reference="master">
>     <fo:flow flow-name="xsl-region-body">
>       <fo:block width="150mm">blabla..............</fo:block>
>     </fo:flow>
>   </fo:page-sequence>
> </fo:root>
> 
> Should this create 100 empty pages and render the text onto
> the 101st page, or should it squeeze it onto the first page,
> thereby violating the advised width constraint of the block?
> The user could have either in mind.

Joerg,

I kept this one in my inbox, and have finally got back to it.  I would 
have thought that in a case like this, the intention of the spec would 
be realised by laying out 0 of the repeatable-p-m-refs "thin", out of 
the available range of 0-100, then laying out 1 of the "thick" r-p-m-refs.

This would work in the same way for the other case you mention - 
constrained height and keep-together table rows.

Peter
-- 
Peter B. West  pbwest@powerup.com.au  http://www.powerup.com.au/~pbwest/
"Lord, to whom shall we go?"


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org