Re: AFP Renderer
Hi everyone, i just started experimenting with fop to generate afp files, and i would like to know how to go about including an overlay in the output afp file. i'd like to embed ressources as a general rule.
Re: svn commit: r1360665 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/layoutmgr/ test/java/org/apache/fop/intermediate/ test/java/org/apache/fop/layoutengine/
Is this addressing a specific bug? If not, then please enter a bug and update the status to ensure this association for documentation and release notes tracking purposes. Also, I notice you left a printf in place below. Is that intentional? If so, then I would suggest using something other than printf. On Thu, Jul 12, 2012 at 7:25 AM, vhenneb...@apache.org wrote: Author: vhennebert Date: Thu Jul 12 13:25:34 2012 New Revision: 1360665 URL: http://svn.apache.org/viewvc?rev=1360665view=rev Log: Bugfix: When restarting layout for the last page, discard glues and penalties at the beginning of the restarted Knuth sequence. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/KnuthSequence.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java xmlgraphics/fop/trunk/status.xml xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=1360665r1=1360664r2=1360665view=diff == --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java Thu Jul 12 13:25:34 2012 @@ -492,7 +492,6 @@ public abstract class AbstractBreaker { protected void addAreas(PageBreakingAlgorithm alg, int startPart, int partCount, BlockSequence originalList, BlockSequence effectiveList) { LayoutContext childLC; -// add areas int startElementIndex = 0; int endElementIndex = 0; int lastBreak = -1; @@ -550,12 +549,7 @@ public abstract class AbstractBreaker { // ignore KnuthGlue and KnuthPenalty objects // at the beginning of the line -ListIteratorKnuthElement effectiveListIterator -= effectiveList.listIterator(startElementIndex); -while (effectiveListIterator.hasNext() - !(effectiveListIterator.next()).isBox()) { -startElementIndex++; -} +startElementIndex = alg.par.getFirstBoxIndex(startElementIndex); if (startElementIndex = endElementIndex) { if (log.isDebugEnabled()) { @@ -576,7 +570,9 @@ public abstract class AbstractBreaker { p (partCount - 1)) { // count the boxes whose width is not 0 int boxCount = 0; -effectiveListIterator = effectiveList.listIterator(startElementIndex); +@SuppressWarnings(unchecked) +ListIteratorKnuthElement effectiveListIterator = effectiveList +.listIterator(startElementIndex); while (effectiveListIterator.nextIndex() = endElementIndex) { KnuthElement tempEl = effectiveListIterator.next(); if (tempEl.isBox() tempEl.getWidth() 0) { Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java?rev=1360665r1=1360664r2=1360665view=diff == --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java Thu Jul 12 13:25:34 2012 @@ -532,14 +532,15 @@ public abstract class BreakingAlgorithm // index of the first KnuthBox in the sequence, in case of non-centered // alignment. For centered alignment, we need to take into account preceding // penalties+glues used for the filler spaces -int firstBoxIndex = startIndex; +int previousPosition = startIndex; if (alignment != Constants.EN_CENTER) { -firstBoxIndex = par.getFirstBoxIndex(startIndex); +int firstBoxIndex = par.getFirstBoxIndex(startIndex); +previousPosition = (firstBoxIndex = par.size()) ? startIndex : firstBoxIndex - 1; } -firstBoxIndex = (firstBoxIndex 0) ? 0 : firstBoxIndex; +previousPosition = (previousPosition 0) ? 0 : previousPosition; // create an active node representing the starting point -addNode(0, createNode(firstBoxIndex, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, null)); +addNode(0,
Re: svn commit: r1360665 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/layoutmgr/ test/java/org/apache/fop/intermediate/ test/java/org/apache/fop/layoutengine/
On 12/07/12 14:37, Glenn Adams wrote: Is this addressing a specific bug? If not, then please enter a bug and update the status to ensure this association for documentation and release notes tracking purposes. I added an entry in the status.xml file. Also, I notice you left a printf in place below. Is that intentional? If so, then I would suggest using something other than printf. It’s intentional, to have the association between test index and test file when investigating failing test cases. Vincent On Thu, Jul 12, 2012 at 7:25 AM, vhennebert wrote: Author: vhennebert Date: Thu Jul 12 13:25:34 2012 New Revision: 1360665 URL: http://svn.apache.org/viewvc?rev=1360665view=rev Log: Bugfix: When restarting layout for the last page, discard glues and penalties at the beginning of the restarted Knuth sequence. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/KnuthSequence.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java xmlgraphics/fop/trunk/status.xml xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=1360665r1=1360664r2=1360665view=diff == --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java Thu Jul 12 13:25:34 2012 @@ -492,7 +492,6 @@ public abstract class AbstractBreaker { protected void addAreas(PageBreakingAlgorithm alg, int startPart, int partCount, BlockSequence originalList, BlockSequence effectiveList) { LayoutContext childLC; -// add areas int startElementIndex = 0; int endElementIndex = 0; int lastBreak = -1; @@ -550,12 +549,7 @@ public abstract class AbstractBreaker { // ignore KnuthGlue and KnuthPenalty objects // at the beginning of the line -ListIteratorKnuthElement effectiveListIterator -= effectiveList.listIterator(startElementIndex); -while (effectiveListIterator.hasNext() - !(effectiveListIterator.next()).isBox()) { -startElementIndex++; -} +startElementIndex = alg.par.getFirstBoxIndex(startElementIndex); if (startElementIndex = endElementIndex) { if (log.isDebugEnabled()) { @@ -576,7 +570,9 @@ public abstract class AbstractBreaker { p (partCount - 1)) { // count the boxes whose width is not 0 int boxCount = 0; -effectiveListIterator = effectiveList.listIterator(startElementIndex); +@SuppressWarnings(unchecked) +ListIteratorKnuthElement effectiveListIterator = effectiveList +.listIterator(startElementIndex); while (effectiveListIterator.nextIndex() = endElementIndex) { KnuthElement tempEl = effectiveListIterator.next(); if (tempEl.isBox() tempEl.getWidth() 0) { Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java?rev=1360665r1=1360664r2=1360665view=diff == --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java Thu Jul 12 13:25:34 2012 @@ -532,14 +532,15 @@ public abstract class BreakingAlgorithm // index of the first KnuthBox in the sequence, in case of non-centered // alignment. For centered alignment, we need to take into account preceding // penalties+glues used for the filler spaces -int firstBoxIndex = startIndex; +int previousPosition = startIndex; if (alignment != Constants.EN_CENTER) { -firstBoxIndex = par.getFirstBoxIndex(startIndex); +int firstBoxIndex = par.getFirstBoxIndex(startIndex); +previousPosition = (firstBoxIndex = par.size()) ? startIndex : firstBoxIndex - 1; } -firstBoxIndex = (firstBoxIndex 0) ? 0 : firstBoxIndex; +previousPosition = (previousPosition
Re: svn commit: r1360665 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/layoutmgr/ test/java/org/apache/fop/intermediate/ test/java/org/apache/fop/layoutengine/
On Thu, Jul 12, 2012 at 7:45 AM, Vincent Hennebert vhenneb...@gmail.comwrote: On 12/07/12 14:37, Glenn Adams wrote: Is this addressing a specific bug? If not, then please enter a bug and update the status to ensure this association for documentation and release notes tracking purposes. I added an entry in the status.xml file. Yes, I noticed. But there is no bug #. There should be a documented bug against every non-trivial substantive fix of this nature. Also, I notice you left a printf in place below. Is that intentional? If so, then I would suggest using something other than printf. It’s intentional, to have the association between test index and test file when investigating failing test cases. Vincent On Thu, Jul 12, 2012 at 7:25 AM, vhennebert wrote: Author: vhennebert Date: Thu Jul 12 13:25:34 2012 New Revision: 1360665 URL: http://svn.apache.org/viewvc?rev=1360665view=rev Log: Bugfix: When restarting layout for the last page, discard glues and penalties at the beginning of the restarted Knuth sequence. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/KnuthSequence.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java xmlgraphics/fop/trunk/status.xml xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=1360665r1=1360664r2=1360665view=diff == --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java Thu Jul 12 13:25:34 2012 @@ -492,7 +492,6 @@ public abstract class AbstractBreaker { protected void addAreas(PageBreakingAlgorithm alg, int startPart, int partCount, BlockSequence originalList, BlockSequence effectiveList) { LayoutContext childLC; -// add areas int startElementIndex = 0; int endElementIndex = 0; int lastBreak = -1; @@ -550,12 +549,7 @@ public abstract class AbstractBreaker { // ignore KnuthGlue and KnuthPenalty objects // at the beginning of the line -ListIteratorKnuthElement effectiveListIterator -= effectiveList.listIterator(startElementIndex); -while (effectiveListIterator.hasNext() - !(effectiveListIterator.next()).isBox()) { -startElementIndex++; -} +startElementIndex = alg.par.getFirstBoxIndex(startElementIndex); if (startElementIndex = endElementIndex) { if (log.isDebugEnabled()) { @@ -576,7 +570,9 @@ public abstract class AbstractBreaker { p (partCount - 1)) { // count the boxes whose width is not 0 int boxCount = 0; -effectiveListIterator = effectiveList.listIterator(startElementIndex); +@SuppressWarnings(unchecked) +ListIteratorKnuthElement effectiveListIterator = effectiveList +.listIterator(startElementIndex); while (effectiveListIterator.nextIndex() = endElementIndex) { KnuthElement tempEl = effectiveListIterator.next(); if (tempEl.isBox() tempEl.getWidth() 0) { Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java?rev=1360665r1=1360664r2=1360665view=diff == --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java Thu Jul 12 13:25:34 2012 @@ -532,14 +532,15 @@ public abstract class BreakingAlgorithm // index of the first KnuthBox in the sequence, in case of non-centered // alignment. For centered alignment, we need to take into account preceding // penalties+glues used for the filler spaces -int firstBoxIndex = startIndex; +int previousPosition = startIndex; if (alignment != Constants.EN_CENTER) { -
Re: svn commit: r1360665 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/layoutmgr/ test/java/org/apache/fop/intermediate/ test/java/org/apache/fop/layoutengine/
On 12/07/12 14:47, Glenn Adams wrote: On Thu, Jul 12, 2012 at 7:45 AM, Vincent Hennebert vhenneb...@gmail.comwrote: On 12/07/12 14:37, Glenn Adams wrote: Is this addressing a specific bug? If not, then please enter a bug and update the status to ensure this association for documentation and release notes tracking purposes. I added an entry in the status.xml file. Yes, I noticed. But there is no bug #. There should be a documented bug against every non-trivial substantive fix of this nature. Why? As long as the status.xml file is the authoritative list of bug fixes and implemented features, adding an entry to Bugzilla is just redundant paperwork I’m not keen on doing. Unless I missed something, of course... Also, I notice you left a printf in place below. Is that intentional? If so, then I would suggest using something other than printf. It’s intentional, to have the association between test index and test file when investigating failing test cases. Vincent On Thu, Jul 12, 2012 at 7:25 AM, vhennebert wrote: Author: vhennebert Date: Thu Jul 12 13:25:34 2012 New Revision: 1360665 URL: http://svn.apache.org/viewvc?rev=1360665view=rev Log: Bugfix: When restarting layout for the last page, discard glues and penalties at the beginning of the restarted Knuth sequence. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/KnuthSequence.java xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java xmlgraphics/fop/trunk/status.xml xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=1360665r1=1360664r2=1360665view=diff == --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java Thu Jul 12 13:25:34 2012 @@ -492,7 +492,6 @@ public abstract class AbstractBreaker { protected void addAreas(PageBreakingAlgorithm alg, int startPart, int partCount, BlockSequence originalList, BlockSequence effectiveList) { LayoutContext childLC; -// add areas int startElementIndex = 0; int endElementIndex = 0; int lastBreak = -1; @@ -550,12 +549,7 @@ public abstract class AbstractBreaker { // ignore KnuthGlue and KnuthPenalty objects // at the beginning of the line -ListIteratorKnuthElement effectiveListIterator -= effectiveList.listIterator(startElementIndex); -while (effectiveListIterator.hasNext() - !(effectiveListIterator.next()).isBox()) { -startElementIndex++; -} +startElementIndex = alg.par.getFirstBoxIndex(startElementIndex); if (startElementIndex = endElementIndex) { if (log.isDebugEnabled()) { @@ -576,7 +570,9 @@ public abstract class AbstractBreaker { p (partCount - 1)) { // count the boxes whose width is not 0 int boxCount = 0; -effectiveListIterator = effectiveList.listIterator(startElementIndex); +@SuppressWarnings(unchecked) +ListIteratorKnuthElement effectiveListIterator = effectiveList +.listIterator(startElementIndex); while (effectiveListIterator.nextIndex() = endElementIndex) { KnuthElement tempEl = effectiveListIterator.next(); if (tempEl.isBox() tempEl.getWidth() 0) { Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java?rev=1360665r1=1360664r2=1360665view=diff == --- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java Thu Jul 12 13:25:34 2012 @@ -532,14 +532,15 @@ public abstract class BreakingAlgorithm // index of the first KnuthBox in the sequence, in case of non-centered // alignment. For centered alignment, we need to take into account preceding // penalties+glues used for the
Re: svn commit: r1360665 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/layoutmgr/ test/java/org/apache/fop/intermediate/ test/java/org/apache/fop/layoutengine/
On Thu, Jul 12, 2012 at 9:00 AM, Vincent Hennebert vhenneb...@gmail.comwrote: On 12/07/12 14:47, Glenn Adams wrote: On Thu, Jul 12, 2012 at 7:45 AM, Vincent Hennebert vhenneb...@gmail.com wrote: On 12/07/12 14:37, Glenn Adams wrote: Is this addressing a specific bug? If not, then please enter a bug and update the status to ensure this association for documentation and release notes tracking purposes. I added an entry in the status.xml file. Yes, I noticed. But there is no bug #. There should be a documented bug against every non-trivial substantive fix of this nature. Why? As long as the status.xml file is the authoritative list of bug fixes and implemented features, adding an entry to Bugzilla is just redundant paperwork I’m not keen on doing. Unless I missed something, of course... If there is no bug entry in bugzilla, then there is/was no bug. Since this is clearly a bug fix, there should be a documentation trail through the bug database. So please create an entry and do so in the future. The status.xml document is only an informal paraphrase of bug database entries, and should not be considered the authoritative list of bugs.
Re: svn commit: r1360665 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/layoutmgr/ test/java/org/apache/fop/intermediate/ test/java/org/apache/fop/layoutengine/
On 12/07/12 16:17, Glenn Adams wrote: On Thu, Jul 12, 2012 at 9:00 AM, Vincent Hennebert vhenneb...@gmail.comwrote: On 12/07/12 14:47, Glenn Adams wrote: On Thu, Jul 12, 2012 at 7:45 AM, Vincent Hennebert vhenneb...@gmail.com wrote: On 12/07/12 14:37, Glenn Adams wrote: Is this addressing a specific bug? If not, then please enter a bug and update the status to ensure this association for documentation and release notes tracking purposes. I added an entry in the status.xml file. Yes, I noticed. But there is no bug #. There should be a documented bug against every non-trivial substantive fix of this nature. Why? As long as the status.xml file is the authoritative list of bug fixes and implemented features, adding an entry to Bugzilla is just redundant paperwork I’m not keen on doing. Unless I missed something, of course... If there is no bug entry in bugzilla, then there is/was no bug. Since this is clearly a bug fix, there should be a documentation trail through the bug database. So please create an entry and do so in the future. The status.xml document is only an informal paraphrase of bug database entries, and should not be considered the authoritative list of bugs. Well it /is/ authoritative, in the sense that its content is used to display the list of changes on the website: http://xmlgraphics.apache.org/fop/changes.html As long as it’s the case, duplicating entries in Bugzilla is just a waste of time. Once that status.xml has been deprecated and an other mechanism implemented to extract the list of changes from Bugzilla and display them on the website, I’ll certainly start creating entries in Bugzilla. In the meantime, I don’t see the point of doing both. Unless, again, I’m missing something. Does that make sense? Vincent
Re: svn commit: r1360665 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/layoutmgr/ test/java/org/apache/fop/intermediate/ test/java/org/apache/fop/layoutengine/
On Thu, Jul 12, 2012 at 10:47 AM, Vincent Hennebert vhenneb...@gmail.comwrote: On 12/07/12 16:17, Glenn Adams wrote: If there is no bug entry in bugzilla, then there is/was no bug. Since this is clearly a bug fix, there should be a documentation trail through the bug database. So please create an entry and do so in the future. The status.xml document is only an informal paraphrase of bug database entries, and should not be considered the authoritative list of bugs. Well it /is/ authoritative, in the sense that its content is used to display the list of changes on the website: http://xmlgraphics.apache.org/fop/changes.html The fact that status.xml makes reference to bugzilla entries, and not the other way around shows the latter is more authoritative than the former. As long as it’s the case, duplicating entries in Bugzilla is just a waste of time. Not it isn't. It is good time spent to document the work on FOP/XGC, etc. Others are doing this, so you should follow suit and not be remiss in your duties. Once that status.xml has been deprecated and an other mechanism implemented to extract the list of changes from Bugzilla and display them on the website, I’ll certainly start creating entries in Bugzilla. In the meantime, I don’t see the point of doing both. Unless, again, I’m missing something. It's a matter of following best current practice. Failing to record in BZ is not following BCP.