You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Alexey Neyman <st...@att.net> on 2013/09/19 08:22:56 UTC
[PATCH] [FOP-2106] Footnote overlapping with body
Hi all,
I hope this list is still alive... as there has not been any reaction to my
previous posts.
Attached is a patch that resolves the issue for the .fo attached to FOP-2106
issue, as well as with the document where I had the issue. With that patch,
all ~60 footnotes in my document have been placed where they should've been,
without any of them going to the previous page or overlapping with the body.
The issue is that when the PageBreakingAlgorithm class backtracks to handle a
page break (via its parent, BreakingAlgorithm), it does not reset the
footnoteListIndex/footnoteElementIndex fields. As a result, in the second pass
the footnote position is not calculated properly - then first/last
element/list indexes on pagebreaks are not correct, and footnote is placed on
the page before one where it has been successfully fitted. This happens when
two conditions are met: (a) there is at least one page break inserted before
the problematic footnote, and (b) if not for the footnote, the containing
block would fit at the bottom of the previous page.
I am not sure about s/insertedFootnoteLength/totalFootnoteLength/ change in
createNode(). I haven't seen any immediate effect from this, but it looks like
the total length of all the footnotes should also reset when BreakingAlgorithm
backtracks to a previous active node. Feedback welcome.
If the patch is deemed acceptable, I could probably add a test case for that
issue.
Regards,
Alexey.
Re: [PATCH] [FOP-2106] Footnote overlapping with body
Posted by Alexey Neyman <st...@att.net>.
[Moving to fop-dev]
Thanks Pascal,
I couldn't mark the existing Jira entry as [PATCH], as I am not the original
submitter of the issue - I cannot edit the subject. I attached the diff to the
issue.
As to the tests - I'd like to get the patch reviewed first - if it is the
"right thing to do". Then I can create a minimal layout test.
Regards,
Alexey.
On Thursday, September 19, 2013 09:11:56 AM Pascal Sancho wrote:
> Hi,
>
> 1st, thanks for your proposal, all contributions are welcome.
>
> Yes, this list is still alive, while activity is a little bit lower
> than the past.
>
> Note that for FOP internal development, there is another list, more
> appropriate: fop-dev (follow [1]); you are welcome there ;-).
>
> About submitting a patch, you should either open a new Jira entry, or
> change the existing one ([2]) to turn it into a patch entry (see [3]:
> submitting a patch).
>
> Adding a test case to complete the patch is a good practice, so if you
> can add it, this will help in the merge process.
>
> [1] http://xmlgraphics.apache.org/fop/dev/#mail-fop-dev
> [2] https://issues.apache.org/jira/browse/FOP-2106
> [3] http://xmlgraphics.apache.org/fop/dev/#patches
>
> 2013/9/19 Alexey Neyman <st...@att.net>:
> > Hi all,
> >
> > I hope this list is still alive... as there has not been any reaction to
> > my
> > previous posts.
> >
> > Attached is a patch that resolves the issue for the .fo attached to
> > FOP-2106 issue, as well as with the document where I had the issue. With
> > that patch, all ~60 footnotes in my document have been placed where they
> > should've been, without any of them going to the previous page or
> > overlapping with the body.
> >
> > The issue is that when the PageBreakingAlgorithm class backtracks to
> > handle a page break (via its parent, BreakingAlgorithm), it does not
> > reset the footnoteListIndex/footnoteElementIndex fields. As a result, in
> > the second pass the footnote position is not calculated properly - then
> > first/last element/list indexes on pagebreaks are not correct, and
> > footnote is placed on the page before one where it has been successfully
> > fitted. This happens when two conditions are met: (a) there is at least
> > one page break inserted before the problematic footnote, and (b) if not
> > for the footnote, the containing block would fit at the bottom of the
> > previous page.
> >
> > I am not sure about s/insertedFootnoteLength/totalFootnoteLength/ change
> > in
> > createNode(). I haven't seen any immediate effect from this, but it looks
> > like the total length of all the footnotes should also reset when
> > BreakingAlgorithm backtracks to a previous active node. Feedback welcome.
> >
> > If the patch is deemed acceptable, I could probably add a test case for
> > that issue.
> >
> > Regards,
> > Alexey.
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
Re: [PATCH] [FOP-2106] Footnote overlapping with body
Posted by Alexey Neyman <st...@att.net>.
[Moving to fop-dev]
Thanks Pascal,
I couldn't mark the existing Jira entry as [PATCH], as I am not the original
submitter of the issue - I cannot edit the subject. I attached the diff to the
issue.
As to the tests - I'd like to get the patch reviewed first - if it is the
"right thing to do". Then I can create a minimal layout test.
Regards,
Alexey.
On Thursday, September 19, 2013 09:11:56 AM Pascal Sancho wrote:
> Hi,
>
> 1st, thanks for your proposal, all contributions are welcome.
>
> Yes, this list is still alive, while activity is a little bit lower
> than the past.
>
> Note that for FOP internal development, there is another list, more
> appropriate: fop-dev (follow [1]); you are welcome there ;-).
>
> About submitting a patch, you should either open a new Jira entry, or
> change the existing one ([2]) to turn it into a patch entry (see [3]:
> submitting a patch).
>
> Adding a test case to complete the patch is a good practice, so if you
> can add it, this will help in the merge process.
>
> [1] http://xmlgraphics.apache.org/fop/dev/#mail-fop-dev
> [2] https://issues.apache.org/jira/browse/FOP-2106
> [3] http://xmlgraphics.apache.org/fop/dev/#patches
>
> 2013/9/19 Alexey Neyman <st...@att.net>:
> > Hi all,
> >
> > I hope this list is still alive... as there has not been any reaction to
> > my
> > previous posts.
> >
> > Attached is a patch that resolves the issue for the .fo attached to
> > FOP-2106 issue, as well as with the document where I had the issue. With
> > that patch, all ~60 footnotes in my document have been placed where they
> > should've been, without any of them going to the previous page or
> > overlapping with the body.
> >
> > The issue is that when the PageBreakingAlgorithm class backtracks to
> > handle a page break (via its parent, BreakingAlgorithm), it does not
> > reset the footnoteListIndex/footnoteElementIndex fields. As a result, in
> > the second pass the footnote position is not calculated properly - then
> > first/last element/list indexes on pagebreaks are not correct, and
> > footnote is placed on the page before one where it has been successfully
> > fitted. This happens when two conditions are met: (a) there is at least
> > one page break inserted before the problematic footnote, and (b) if not
> > for the footnote, the containing block would fit at the bottom of the
> > previous page.
> >
> > I am not sure about s/insertedFootnoteLength/totalFootnoteLength/ change
> > in
> > createNode(). I haven't seen any immediate effect from this, but it looks
> > like the total length of all the footnotes should also reset when
> > BreakingAlgorithm backtracks to a previous active node. Feedback welcome.
> >
> > If the patch is deemed acceptable, I could probably add a test case for
> > that issue.
> >
> > Regards,
> > Alexey.
Re: [PATCH] [FOP-2106] Footnote overlapping with body
Posted by Pascal Sancho <ps...@gmail.com>.
Hi,
1st, thanks for your proposal, all contributions are welcome.
Yes, this list is still alive, while activity is a little bit lower
than the past.
Note that for FOP internal development, there is another list, more
appropriate: fop-dev (follow [1]); you are welcome there ;-).
About submitting a patch, you should either open a new Jira entry, or
change the existing one ([2]) to turn it into a patch entry (see [3]:
submitting a patch).
Adding a test case to complete the patch is a good practice, so if you
can add it, this will help in the merge process.
[1] http://xmlgraphics.apache.org/fop/dev/#mail-fop-dev
[2] https://issues.apache.org/jira/browse/FOP-2106
[3] http://xmlgraphics.apache.org/fop/dev/#patches
2013/9/19 Alexey Neyman <st...@att.net>:
> Hi all,
>
> I hope this list is still alive... as there has not been any reaction to my
> previous posts.
>
> Attached is a patch that resolves the issue for the .fo attached to FOP-2106
> issue, as well as with the document where I had the issue. With that patch,
> all ~60 footnotes in my document have been placed where they should've been,
> without any of them going to the previous page or overlapping with the body.
>
> The issue is that when the PageBreakingAlgorithm class backtracks to handle a
> page break (via its parent, BreakingAlgorithm), it does not reset the
> footnoteListIndex/footnoteElementIndex fields. As a result, in the second pass
> the footnote position is not calculated properly - then first/last
> element/list indexes on pagebreaks are not correct, and footnote is placed on
> the page before one where it has been successfully fitted. This happens when
> two conditions are met: (a) there is at least one page break inserted before
> the problematic footnote, and (b) if not for the footnote, the containing
> block would fit at the bottom of the previous page.
>
> I am not sure about s/insertedFootnoteLength/totalFootnoteLength/ change in
> createNode(). I haven't seen any immediate effect from this, but it looks like
> the total length of all the footnotes should also reset when BreakingAlgorithm
> backtracks to a previous active node. Feedback welcome.
>
> If the patch is deemed acceptable, I could probably add a test case for that
> issue.
>
> Regards,
> Alexey.
--
pascal
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org