cvs commit: xml-fop/src/documentation/content/xdocs team.xml
cbowditch2004/04/08 06:17:15 Modified:src/documentation/content/xdocs team.xml Log: added Luca Furini to contributor section Revision ChangesPath 1.30 +5 -2 xml-fop/src/documentation/content/xdocs/team.xml Index: team.xml === RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/team.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- team.xml 4 Apr 2004 14:27:23 - 1.29 +++ team.xml 8 Apr 2004 13:17:15 - 1.30 @@ -66,6 +66,9 @@ is a TeX/LaTeX and XML expert with Elsevier at its Amsterdam office. See his http://www.leverkruid.nl";>home page for some of his private projects. + + mailto:lfurini AT cs.unibo.it">Luca Furini +is a student of Computer Studies at the University of Bologna (Italy) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/fo/flow Block.java
cbowditch2004/04/02 07:01:05 Modified:src/java/org/apache/fop/fo/flow Block.java Log: corrected line endings. changed ko option to kkv Revision ChangesPath 1.15 +404 -404 xml-fop/src/java/org/apache/fop/fo/flow/Block.java Index: Block.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Block.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- Block.java2 Apr 2004 13:50:52 - 1.14 +++ Block.java2 Apr 2004 15:01:05 - 1.15 @@ -1,404 +1,404 @@ -/* - * Copyright 1999-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.fo.flow; - -// XML -import org.xml.sax.Attributes; - -// FOP -import org.apache.fop.apps.FOPException; -import org.apache.fop.datatypes.ColorType; -import org.apache.fop.fo.CharIterator; -import org.apache.fop.fo.FONode; -import org.apache.fop.fo.FObj; -import org.apache.fop.fo.FObjMixed; -import org.apache.fop.fo.RecursiveCharIterator; -import org.apache.fop.fo.FOTreeVisitor; -import org.apache.fop.fo.Constants; -import org.apache.fop.fo.properties.CommonAccessibility; -import org.apache.fop.fo.properties.CommonAural; -import org.apache.fop.fo.properties.CommonBackground; -import org.apache.fop.fo.properties.CommonBorderAndPadding; -import org.apache.fop.fo.properties.CommonHyphenation; -import org.apache.fop.fo.properties.CommonMarginBlock; -import org.apache.fop.fo.properties.CommonRelativePosition; -import org.apache.fop.util.CharUtilities; - -/* - Modified by Mark Lillywhite [EMAIL PROTECTED] The changes - here are based on memory profiling and do not change functionality. - Essentially, the Block object had a pointer to a BlockArea object - that it created. The BlockArea was not referenced after the Block - was finished except to determine the size of the BlockArea, however - a reference to the BlockArea was maintained and this caused a lot of - GC problems, and was a major reason for FOP memory leaks. So, - the reference to BlockArea was made local, the required information - is now stored (instead of a reference to the complex BlockArea object) - and it appears that there are a lot of changes in this file, in fact - there are only a few sematic changes; mostly I just got rid of - "this." from blockArea since BlockArea is now local. - */ - /** - * Class modelling the fo:block object. See Sec. 6.5.2 of the XSL-FO Standard. - */ -public class Block extends FObjMixed { - -private int align; -private int alignLast; -private int breakAfter; -private int lineHeight; -private int startIndent; -private int endIndent; -private int spaceBefore; -private int spaceAfter; -private int textIndent; -private int keepWithNext; -private ColorType backgroundColor; -private int blockWidows; -private int blockOrphans; - -private String id; -private int span; -private int wsTreatment; //ENUMERATION -private int lfTreatment; //ENUMERATION -private boolean bWScollapse; //true if white-space-collapse=true - -// this may be helpful on other FOs too -private boolean anythingLaidOut = false; - -/** - * Index of first inline-type FO seen in a sequence. - * Used during FO tree building to do white-space handling. - */ -private FONode firstInlineChild = null; - -/** - * @param parent FONode that is the parent of this object - */ -public Block(FONode parent) { -super(parent); -} - -/** - * @see org.apache.fop.fo.FObj#handleAttrs - */ -public void handleAttrs(Attributes attlist) throws FOPException { -super.handleAttrs(attlist); -this.span = this.propertyList.get(PR_SPAN).getEnum(); -this.wsTreatment = - this.propertyList.get(PR_WHITE_SPACE_TREATMENT).getEnum(); -this.bWScollapse = - (this.propertyList.get(PR_WHITE_SPACE_COLLAPSE).getEnum() - == Constants.TRUE)
cvs commit: xml-fop/src/java/org/apache/fop/fo/flow Block.java
cbowditch2004/04/02 05:50:52 Modified:src/java/org/apache/fop/fo/flow Block.java Log: Applied Luca Furini's patch from bugzilla entry 28021. Corrections to behaviour of whitespace-treatment property Revision ChangesPath 1.14 +404 -391 xml-fop/src/java/org/apache/fop/fo/flow/Block.java Index: Block.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Block.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- Block.java7 Mar 2004 17:52:43 - 1.13 +++ Block.java2 Apr 2004 13:50:52 - 1.14 @@ -1,391 +1,404 @@ -/* - * Copyright 1999-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.fo.flow; - -// XML -import org.xml.sax.Attributes; - -// FOP -import org.apache.fop.apps.FOPException; -import org.apache.fop.datatypes.ColorType; -import org.apache.fop.fo.CharIterator; -import org.apache.fop.fo.FONode; -import org.apache.fop.fo.FObj; -import org.apache.fop.fo.FObjMixed; -import org.apache.fop.fo.RecursiveCharIterator; -import org.apache.fop.fo.FOTreeVisitor; -import org.apache.fop.fo.Constants; -import org.apache.fop.fo.properties.CommonAccessibility; -import org.apache.fop.fo.properties.CommonAural; -import org.apache.fop.fo.properties.CommonBackground; -import org.apache.fop.fo.properties.CommonBorderAndPadding; -import org.apache.fop.fo.properties.CommonHyphenation; -import org.apache.fop.fo.properties.CommonMarginBlock; -import org.apache.fop.fo.properties.CommonRelativePosition; -import org.apache.fop.util.CharUtilities; - -/* - Modified by Mark Lillywhite [EMAIL PROTECTED] The changes - here are based on memory profiling and do not change functionality. - Essentially, the Block object had a pointer to a BlockArea object - that it created. The BlockArea was not referenced after the Block - was finished except to determine the size of the BlockArea, however - a reference to the BlockArea was maintained and this caused a lot of - GC problems, and was a major reason for FOP memory leaks. So, - the reference to BlockArea was made local, the required information - is now stored (instead of a reference to the complex BlockArea object) - and it appears that there are a lot of changes in this file, in fact - there are only a few sematic changes; mostly I just got rid of - "this." from blockArea since BlockArea is now local. - */ - /** - * Class modelling the fo:block object. See Sec. 6.5.2 of the XSL-FO Standard. - */ -public class Block extends FObjMixed { - -private int align; -private int alignLast; -private int breakAfter; -private int lineHeight; -private int startIndent; -private int endIndent; -private int spaceBefore; -private int spaceAfter; -private int textIndent; -private int keepWithNext; -private ColorType backgroundColor; -private int blockWidows; -private int blockOrphans; - -private String id; -private int span; -private int wsTreatment; //ENUMERATION -private int lfTreatment; //ENUMERATION -private boolean bWScollapse; //true if white-space-collapse=true - -// this may be helpful on other FOs too -private boolean anythingLaidOut = false; - -/** - * Index of first inline-type FO seen in a sequence. - * Used during FO tree building to do white-space handling. - */ -private FONode firstInlineChild = null; - -/** - * @param parent FONode that is the parent of this object - */ -public Block(FONode parent) { -super(parent); -} - -/** - * @see org.apache.fop.fo.FObj#handleAttrs - */ -public void handleAttrs(Attributes attlist) throws FOPException { -super.handleAttrs(attlist); -this.span = this.propertyList.get(PR_SPAN).getEnum(); -this.wsTreatment = - this.propertyList.get(PR_WHITE_SPACE_TREATMENT).getEnum(); -this.bWScollapse = - (this.propertyList.get(PR_WHITE_SPACE_COLLAPSE).getEnum() - == Constants.TRUE); -this.lfTreatment =
cvs commit: xml-fop/src/java/org/apache/fop/layoutmgr LineLayoutManager.java TextLayoutManager.java
cbowditch2004/04/02 02:38:29 Modified:src/java/org/apache/fop/layoutmgr LineLayoutManager.java TextLayoutManager.java Log: Applied Luca Furini's patch from bugzilla entry 28130. Corrections to space adjustment for text justification Revision ChangesPath 1.17 +6 -3 xml-fop/src/java/org/apache/fop/layoutmgr/LineLayoutManager.java Index: LineLayoutManager.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LineLayoutManager.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- LineLayoutManager.java21 Mar 2004 12:03:08 - 1.16 +++ LineLayoutManager.java2 Apr 2004 10:38:29 - 1.17 @@ -566,7 +566,7 @@ realWidth = targetWith; } else { ipdAdjust = -1; -realWidth = actual.max; +realWidth = actual.min; } } else { if (targetWith - actual.opt < actual.max - actual.opt) { @@ -575,7 +575,7 @@ realWidth = targetWith; } else { ipdAdjust = 1; -realWidth = actual.min; +realWidth = actual.max; } } @@ -586,7 +586,7 @@ switch (textalign) { case TextAlign.JUSTIFY: if (realWidth != 0) { -dAdjust = (targetWith - realWidth) / realWidth; +dAdjust = (double)(targetWith - realWidth) / realWidth; } break; case TextAlign.START: @@ -601,6 +601,9 @@ indent = targetWith - realWidth; break; } +//System.err.println(" "); +//System.err.println("LineLayoutManager> difference to fill= " + (targetWith - realWidth)); +//System.err.println("LineLayoutManager> ipdAdjust= " + ipdAdjust + " dAdjust= " + dAdjust); LineBreakPosition lbp; lbp = new LineBreakPosition(this, 1.13 +12 -15xml-fop/src/java/org/apache/fop/layoutmgr/TextLayoutManager.java Index: TextLayoutManager.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/TextLayoutManager.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- TextLayoutManager.java17 Mar 2004 03:37:32 - 1.12 +++ TextLayoutManager.java2 Apr 2004 10:38:29 - 1.13 @@ -466,23 +466,19 @@ return; } // Calculate total adjustment +int iRealWidth = ai.ipdArea.opt; int iAdjust = 0; +double dIPDAdjust = context.getIPDAdjust(); double dSpaceAdjust = context.getSpaceAdjust(); -if (dSpaceAdjust > 0.0) { -// Stretch by factor -// System.err.println("Potential stretch = " + -//(ai.ipdArea.max - ai.ipdArea.opt)); -iAdjust = (int)((double)(ai.ipdArea.max - - ai.ipdArea.opt) * dSpaceAdjust); -} else if (dSpaceAdjust < 0.0) { -// Shrink by factor -// System.err.println("Potential shrink = " + -//(ai.ipdArea.opt - ai.ipdArea.min)); -iAdjust = (int)((double)(ai.ipdArea.opt - - ai.ipdArea.min) * dSpaceAdjust); +if (dIPDAdjust > 0.0) { +iRealWidth += (int)((double)(ai.ipdArea.max - ai.ipdArea.opt) * dIPDAdjust); } -//System.err.println("\nText adjustment factor = " + dSpaceAdjust + -// " total=" + iAdjust + "; breakIndex = " + ai.iBreakIndex); +else { +iRealWidth += (int)((double)(ai.ipdArea.opt - ai.ipdArea.min) * dIPDAdjust); +} +iAdjust = (int)((double)(iRealWidth * dSpaceAdjust)); +//System.err.println(" "); +//System.err.println("TextLayoutManager> recreated difference to fill= " + iAdjust); // Make an area containing all characters between start and end. InlineArea word = null; @@ -498,12 +494,13 @@ word = new Space(); word.setWidth(ai.ipdArea.opt + iAdjust); } else { -TextArea t = createTextArea(str, ai.ipdArea.opt + iAdjust, +TextArea t = createTextArea(str, iRealWidth + iAdjust, context.getBaseline()); if (iWScount > 0) { //getLogger().error("Adjustment per word-space= " + // iAdjust / i
cvs commit: xml-fop/src/documentation/content/xdocs/design layout.xml
cbowditch2004/03/17 06:24:23 Modified:src/documentation/content/xdocs/design layout.xml Log: updated status of layout development work on HEAD as discussed on fop-user http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]&msgNo=10498 Revision ChangesPath 1.15 +85 -8 xml-fop/src/documentation/content/xdocs/design/layout.xml Index: layout.xml === RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/layout.xml,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- layout.xml2 Mar 2004 21:32:03 - 1.14 +++ layout.xml17 Mar 2004 14:24:22 - 1.15 @@ -301,15 +301,92 @@ Status To Do + + +Task +Priority +Notes + + +Justified Text +High + + + +Multi-column layout +High + + + +Re-parenting retrieved markers +High + + + +Absolutely positioned block containers +High + + + +Background Images +High + + + +Conditional space suppression +High + + + +Footnotes +Medium + + + +Relative positioned block containers +Medium + + + +Fine-tuning line breaking and hypenation +Medium + + + +Last page layout +Medium + + + +Aligned leaders, especially in justified text +Medium + + + +Floats of all kind +Low + + + +Border collapsing on tables +Low +RenderX hasnt implemented this (17/03/04) + + +Fine-tuning all other borders +Low +Not sure what Joerg means by this, border collapse priorties? +Dashed and dotted borders have been implemented in PDF + + +BIDI support +Low + + + Work in Progress - - better layout design - that can handle keeps and spacing better - better area tree handling - means it can run in less memory - new area tree model - changed area tree xml format to match the area tree hierarchy - Completed - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/render/pdf PDFRenderer.java
cbowditch2004/03/02 03:04:00 Modified:src/java/org/apache/fop/render/pdf PDFRenderer.java Log: now for some "real" commits this is the patch to PDF Renderer for dotted/dashed lines I prepared some time ago. bugzilla link http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25900 Revision ChangesPath 1.35 +55 -27xml-fop/src/java/org/apache/fop/render/pdf/PDFRenderer.java Index: PDFRenderer.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/pdf/PDFRenderer.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- PDFRenderer.java 27 Feb 2004 17:52:34 - 1.34 +++ PDFRenderer.java 2 Mar 2004 11:04:00 - 1.35 @@ -1,12 +1,12 @@ /* * Copyright 1999-2004 The Apache Software Foundation. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -83,6 +83,7 @@ import org.apache.fop.render.PrintRenderer; import org.apache.fop.render.RendererContext; import org.apache.fop.traits.BorderProps; +import org.apache.fop.fo.Constants; /* @@ -200,7 +201,7 @@ protected int bpMarginOffset = 0; /** - * Offset for rendering text, taking into account borders and padding for + * Offset for rendering text, taking into account borders and padding for * both the region and block. */ protected int ipMarginOffset = 0; @@ -262,7 +263,7 @@ * @see org.apache.fop.render.Renderer#stopRenderer() */ public void stopRenderer() throws IOException { -pdfDoc.getResources().addFonts(pdfDoc, +pdfDoc.getResources().addFonts(pdfDoc, (org.apache.fop.apps.Document) fontInfo); pdfDoc.outputTrailer(ostream); @@ -478,7 +479,7 @@ int saveIPMargin = ipMarginOffset; int saveBPMargin = bpMarginOffset; if (block != null) { -Integer spaceStart = (Integer) block.getTrait(Trait.SPACE_START); +Integer spaceStart = (Integer) block.getTrait(Trait.SPACE_START); if (spaceStart != null) { ipMarginOffset += spaceStart.intValue(); } @@ -539,7 +540,7 @@ * @param block the block to render the traits */ protected void handleBlockTraits(Block block) { -/* ipMarginOffset for a particular block = region border + +/* ipMarginOffset for a particular block = region border + * region padding + parent block padding + current block padding */ @@ -547,12 +548,12 @@ float starty = (currentBPPosition + bpMarginOffset) / 1000f; float width = block.getWidth() / 1000f; -Integer spaceStart = (Integer) block.getTrait(Trait.SPACE_START); +Integer spaceStart = (Integer) block.getTrait(Trait.SPACE_START); if (spaceStart != null) { startx += spaceStart.floatValue() / 1000; width -= spaceStart.floatValue() / 1000; } -Integer spaceEnd = (Integer) block.getTrait(Trait.SPACE_END); +Integer spaceEnd = (Integer) block.getTrait(Trait.SPACE_END); if (spaceEnd != null) { width -= spaceEnd.floatValue() / 1000; } @@ -623,10 +624,13 @@ } float bwidth = bps.width / 1000f; -updateColor(bps.color, true, null); -currentStream.add(startx + " " + starty + " " - + width + " " + bwidth + " re\n"); -currentStream.add("f\n"); +updateColor(bps.color, false, null); +updateLineStyle(bps.style); +currentStream.add(bwidth + " w\n"); +float y1 = starty + bwidth / 2; +currentStream.add(startx + " " + y1 + " m\n"); +currentStream.add(startx + width + " " + y1 + " l\n"); +currentStream.add("S\n"); } bps = (BorderProps)block.getTrait(Trait.BORDER_AFTER); if (bps != null) { @@ -638,10 +642,13 @@ } float bwidth = bps.width / 1000f; -updateColor(bps.color, true, null); -currentStream.add(startx + " " + (starty + height - bwidth) + " "
cvs commit: xml-fop/src/documentation/content/xdocs compliance.xml
cbowditch2004/03/01 07:38:25 Modified:src/documentation/content/xdocs compliance.xml Log: corrected compliance for baseline-shift and vertical-align properties Revision ChangesPath 1.25 +6 -2 xml-fop/src/documentation/content/xdocs/compliance.xml Index: compliance.xml === RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/compliance.xml,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- compliance.xml12 Nov 2003 15:11:59 - 1.24 +++ compliance.xml1 Mar 2004 15:38:25 - 1.25 @@ -274,7 +274,9 @@ - + +Only values "super" and "sub" have been implemented. + Implemented only for table-cell and block-container. For table-cell, the "height" attribute must be set for the parent table-row; setting the height of the table or the table-cell results in vertical centering having no effect. @@ -502,7 +504,9 @@ "inherit" not handled - + +Only works as a shorthand for baseline-shift property. + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/documentation/content/xdocs team.xml
cbowditch2004/03/01 02:52:53 Modified:src/documentation/content/xdocs team.xml Log: Testing my software setup by updating my description on Team page Revision ChangesPath 1.26 +3 -2 xml-fop/src/documentation/content/xdocs/team.xml Index: team.xml === RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/team.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- team.xml 19 Jan 2004 23:56:50 - 1.25 +++ team.xml 1 Mar 2004 10:52:53 - 1.26 @@ -13,7 +13,8 @@ Active Committers mailto:[EMAIL PROTECTED]">Finn Bock (FB) -mailto:[EMAIL PROTECTED]">Chris Bowditch (CB) +mailto:[EMAIL PROTECTED]">Chris Bowditch (CB) +is a Java/VB Programmer from England. mailto:[EMAIL PROTECTED]">Andreas Delmelle (AD) mailto:[EMAIL PROTECTED]">Christian Geisert (CG) mailto:[EMAIL PROTECTED]">Peter Herweg (PH) is helping to - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]