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