Bug 37906 - table left position is double margin-left
Summary: table left position is double margin-left
Status: CLOSED WORKSFORME
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: general (show other bugs)
Version: 0.90
Hardware: PC Windows 2000
: P2 normal
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-14 14:28 UTC by ken sands
Modified: 2012-04-01 13:50 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ken sands 2005-12-14 14:28:17 UTC
if I create a page with no margins or padding and have a block with text this
correctly appears butted up to the left.

if I create a table after that text again with the table having 0 margins or
padding it is also butted to the left.

however when I set the margin-left of the block to 10pt the text moves out by
10pt while the left of the table moves out double that.

it is always double, this is also the case if margin-left of the table.

this appears to be the case just since version 0.9

it can be currently worked around by putting tables in separate blocks with the
margin-left set to half of that of the rest of the page.

Ken.
Comment 1 Jeremias Maerki 2005-12-14 14:47:17 UTC
This effect is due to indent inheritance, as I call it. I've documented the
whole topic on our Wiki: http://wiki.apache.org/xmlgraphics-fop/IndentInheritance

In contrast to many commercial implementations we've chosen to closely follow
the specification which, unfortunately, may have certain side-effects. The
specialist group at the W3C is aware of the issue. There are two solutions here:

1. Spec-conformant solution: margins are mapped to the start-indent and
end-indent properties. The latter two properties are inherited. If you cross a
reference area boundary you will the see the effect you describe unless you
reset start-indent and end-indent to 0. For a table, this can conventiently be
done on the table-body, so it fans out to all child elements. For more detail,
please see the Wiki page indicated above.

2. Non-spec-conformant solution: I've recently added an option to FOP that lets
you activate an alternative set of rules concerning indent inheritance. These
rules try to mimic the behaviour implemented by some commercial FO
implementations. With these rules enabled you don't get the strange side-effect
as long as you work with margins only because the margins are not automatically
 propagated to the start-indent and end-indent properties. Documentation on how
to turn this on will be available shortly. I've already written it, but it's not
yet published. The fix for that is found in FOP Trunk (available via SVN only).
Please note that enabling this feature makes FOP behave differently from what
the specification says it should do. I've recently asked the W3C SG about their
updated opinion on the matter:
http://lists.w3.org/Archives/Public/xsl-editors/2005OctDec/0026.html
Comment 2 Glenn Adams 2012-04-01 13:50:06 UTC
batch transition to closed remaining pre-FOP1.0 resolved bugs