Proposal: Regions with auto-extent

Hello Editiors,

This is another proposal that allows automatically adjust a body region if static-content regions overlap it. This issue is concerned with adjustment aka MS Word.

In MS Word, the extent of headers and footers is not specified. When a header/footer goes over the text area, the top/bottom margin of the text area is adjusted to avoid overlapping. Many users of RTF2FO want a similar behavior for FO renderers. I thing this behavior can be specified as follows:

1 Allow extent="auto" in description of static regions in the simple-page-master. This value means the extent of the region to be calculated when a static-content of the region is prepared. More precisely, the block-progression direction in such region should be parallel with the extent direction. When auto-extent is calculated, only the areas of the xsl-normal class are taken into account.

2 In region-body, additional properties are required. One property is neccessary to allow or disallow adjustment of region margins if auto-extending regions overlap it. Other properties should specify the minimal distance between auto-extending regions and the region-body. This is how I see it:

"region-adjust"
Value: none | auto
Initial: none
Inherited: no
Percentages: allows adjust "region-body" margins to avoid overlapping with auto-extending regions.
Media:  visual 

"region-distance-before"
Value:  <width> | inherit 
Initial:  0pt
Inherited:  no 
Percentages: Specifies a minimal distance between region-body and auto-extending region-before 
Media:  visual 

"region-distance-after"
....

"region-distance-start"
....

"region-distance-end"
....

"region-distance"
This is a shorthand for all four distances

How should they work?

If "region-adjust" has the "auto" value, the region-body margins can be adjusted. The decision to adjust a margin is made in the following case: if static content of a neighbor region is auto-extendable, has a positive extent, and the distance between it and the region-body area is less than it is specified in the corresponding "region-distance-..." property. Then the corresponding margin is adjusted to provide the required region-distance.

Sincerely,
Alexander I Rozhenko

Received on Saturday, 10 September 2005 11:40:31 UTC