cvs commit: xml-fop/src/java/org/apache/fop/render/rtf TableAttributesConverter.java
pherweg 2004/01/30 02:51:53 Modified:src/java/org/apache/fop/render/rtf TableAttributesConverter.java Log: fixed runtime error while reading PR_BORDER_WIDTH or PR_BORDER_STYLE Revision ChangesPath 1.9 +29 -38 xml-fop/src/java/org/apache/fop/render/rtf/TableAttributesConverter.java Index: TableAttributesConverter.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/TableAttributesConverter.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- TableAttributesConverter.java 18 Jan 2004 21:21:41 - 1.8 +++ TableAttributesConverter.java 30 Jan 2004 10:51:53 - 1.9 @@ -218,17 +218,7 @@ } // Border styles do not inherit from parent -if ((p = props.get(Constants.PR_BORDER_STYLE)) != null) { -log.warn(border-style not implemented. Please use border-style-left, - + ...-right, ...-top or ...-bottom); -/* -attrib.set(ITableAttributes.CELL_BORDER_LEFT, \\+convertAttributetoRtf(e.getEnum())); -attrib.set(ITableAttributes.CELL_BORDER_RIGHT, \\+convertAttributetoRtf(e.getEnum())); - attrib.set(ITableAttributes.CELL_BORDER_BOTTOM,\\+convertAttributetoRtf(e.getEnum())); -attrib.set(ITableAttributes.CELL_BORDER_TOP, \\+convertAttributetoRtf(e.getEnum())); -isBorderPresent=true; -*/ -} + ep = (EnumProperty)props.get(Constants.PR_BORDER_TOP_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.CELL_BORDER_TOP, \\ @@ -254,9 +244,19 @@ isBorderPresent = true; } -if ((p = props.get(Constants.PR_BORDER_WIDTH)) != null) { -ListProperty listprop = (ListProperty)p; -LengthProperty lengthprop = (LengthProperty)listprop.getList().get(0); +//Currently there is only one border width supported in each cell. +p = props.get(Constants.PR_BORDER_LEFT_WIDTH); +if(p == null) { +p = props.get(Constants.PR_BORDER_RIGHT_WIDTH); +} +if(p == null) { +p = props.get(Constants.PR_BORDER_TOP_WIDTH); +} +if(p == null) { +p = props.get(Constants.PR_BORDER_BOTTOM_WIDTH); +} +if (p != null) { +LengthProperty lengthprop = (LengthProperty)p; Float f = new Float(lengthprop.getLength().getValue() / 1000f); String sValue = f.toString() + pt; @@ -351,26 +351,7 @@ * it is implemented that the border type is the value of the border * place. */ -if ((p = props.get(Constants.PR_BORDER_STYLE)) != null) { -log.warn(border-style not implemented. Please use border-style-left, - + ...-right, ...-top or ...-bottom); -/* -attrValue = new String(AbstractBuilder.getValue( attrs, border-style, defAttrs )); -attrib.set(ITableAttributes.ROW_BORDER_LEFT,\\ - + BorderAttributesConverter.convertAttributetoRtf(attrValue)); -attrib.set(ITableAttributes.ROW_BORDER_RIGHT,\\ - + BorderAttributesConverter.convertAttributetoRtf(attrValue)); -attrib.set(ITableAttributes.ROW_BORDER_HORIZONTAL,\\ - + BorderAttributesConverter.convertAttributetoRtf(attrValue)); -attrib.set(ITableAttributes.ROW_BORDER_VERTICAL,\\ - + BorderAttributesConverter.convertAttributetoRtf(attrValue)); -attrib.set(ITableAttributes.ROW_BORDER_BOTTOM,\\ - + BorderAttributesConverter.convertAttributetoRtf(attrValue)); -attrib.set(ITableAttributes.ROW_BORDER_TOP,\\ - + BorderAttributesConverter.convertAttributetoRtf(attrValue)); -isBorderPresent=true; -*/ -} + ep = (EnumProperty)props.get(Constants.PR_BORDER_TOP_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.ROW_BORDER_TOP, \\ @@ -424,9 +405,19 @@ isBorderPresent = true; } -if ((p = props.get(Constants.PR_BORDER_WIDTH)) != null) { -ListProperty listprop = (ListProperty)p; -LengthProperty lengthprop = (LengthProperty)listprop.getList().get(0); +//Currently there is only one border width supported in each cell. +p = props.get(Constants.PR_BORDER_LEFT_WIDTH); +if(p == null) { +p = props.get(Constants.PR_BORDER_RIGHT_WIDTH); +} +if(p == null) { +p = props.get
cvs commit: xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfPage.java
pherweg 2004/01/28 11:00:10 Modified:src/java/org/apache/fop/render/rtf PageAttributesConverter.java RTFHandler.java src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfPage.java Log: improved support for margin-top and margin-bottom in fo:region-XXX Revision ChangesPath 1.4 +89 -25 xml-fop/src/java/org/apache/fop/render/rtf/PageAttributesConverter.java Index: PageAttributesConverter.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/PageAttributesConverter.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- PageAttributesConverter.java 29 Dec 2003 23:28:47 - 1.3 +++ PageAttributesConverter.java 28 Jan 2004 19:00:09 - 1.4 @@ -56,6 +56,8 @@ //FOP import org.apache.fop.apps.FOPException; import org.apache.fop.fo.Constants; +import org.apache.fop.fo.pagination.Region; +import org.apache.fop.fo.pagination.SimplePageMaster; import org.apache.fop.fo.Property; import org.apache.fop.fo.PropertyList; import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfAttributes; @@ -72,48 +74,110 @@ private static Logger log = new ConsoleLogger(); /** convert xsl:fo attributes to RTF text attributes */ -static RtfAttributes convertPageAttributes(PropertyList props, PropertyList defProps) { -RtfAttributes attrib = null; - +static RtfAttributes convertPageAttributes(SimplePageMaster pagemaster) { +RtfAttributes attrib = new RtfAttributes(); + try { -Property p; - -if (defProps != null) { -attrib = convertPageAttributes(defProps, null); -} else { -attrib = new RtfAttributes(); -} - +FoUnitsConverter converter = FoUnitsConverter.getInstance(); + +float fPageTop = 0; +float fPageBottom = 0; +PropertyList props = null; +Property p = null; +Float f = null; + +Region before = pagemaster.getRegion(before); +Region body = pagemaster.getRegion(body); +Region after = pagemaster.getRegion(after); + +//page attributes +props = pagemaster.propertyList; + if ((p = props.get(Constants.PR_PAGE_WIDTH)) != null) { -Float f = new Float(p.getLength().getValue() / 1000f); +f = new Float(p.getLength().getValue() / 1000f); attrib.set(RtfPage.PAGE_WIDTH, -(int)FoUnitsConverter.getInstance().convertToTwips(f.toString() + pt)); +(int)converter.convertToTwips(f.toString() + pt)); } + if ((p = props.get(Constants.PR_PAGE_HEIGHT)) != null) { -Float f = new Float(p.getLength().getValue() / 1000f); +f = new Float(p.getLength().getValue() / 1000f); attrib.set(RtfPage.PAGE_HEIGHT, -(int)FoUnitsConverter.getInstance().convertToTwips(f.toString() + pt)); +(int)converter.convertToTwips(f.toString() + pt)); } + if ((p = props.get(Constants.PR_MARGIN_TOP)) != null) { -Float f = new Float(p.getLength().getValue() / 1000f); -attrib.set(RtfPage.MARGIN_TOP, -(int)FoUnitsConverter.getInstance().convertToTwips(f.toString() + pt)); +fPageTop = p.getLength().getValue() / 1000f; } + if ((p = props.get(Constants.PR_MARGIN_BOTTOM)) != null) { -Float f = new Float(p.getLength().getValue() / 1000f); -attrib.set(RtfPage.MARGIN_BOTTOM, -(int)FoUnitsConverter.getInstance().convertToTwips(f.toString() + pt)); +fPageBottom = p.getLength().getValue() / 1000f; } + if ((p = props.get(Constants.PR_MARGIN_LEFT)) != null) { -Float f = new Float(p.getLength().getValue() / 1000f); +f = new Float(p.getLength().getValue() / 1000f); attrib.set(RtfPage.MARGIN_LEFT, -(int)FoUnitsConverter.getInstance().convertToTwips(f.toString() + pt)); +(int)converter.convertToTwips(f.toString() + pt)); } if ((p = props.get(Constants.PR_MARGIN_RIGHT)) != null) { -Float f = new Float(p.getLength().getValue() / 1000f); +f = new Float(p.getLength().getValue() / 1000f); attrib.set(RtfPage.MARGIN_RIGHT, -(int
cvs commit: xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfStringConverter.java
pherweg 2004/01/27 08:58:59 Modified:src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfStringConverter.java Log: Submitted by Lucas Bruand to JFOR: escape all characters 127 instead of 255 Revision ChangesPath 1.2 +2 -2 xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfStringConverter.java Index: RtfStringConverter.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfStringConverter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- RtfStringConverter.java 4 Nov 2003 23:59:11 - 1.1 +++ RtfStringConverter.java 27 Jan 2004 16:58:58 - 1.2 @@ -137,7 +137,7 @@ w.write('\\'); w.write(replacement); w.write(' '); -} else if (c.charValue() 255) { +} else if (c.charValue() 127) { // write unicode representation - contributed by Michel Jacobson // [EMAIL PROTECTED] w.write(\\u); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfTextrun.java RtfParagraph.java
pherweg 2004/01/27 09:33:27 Modified:src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfTextrun.java RtfParagraph.java Log: Removed call of JFOR's WhiteSpaceCollapser; now this is done by FOP Revision ChangesPath 1.9 +4 -11 xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java Index: RtfTextrun.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- RtfTextrun.java 10 Jan 2004 19:43:58 - 1.8 +++ RtfTextrun.java 27 Jan 2004 17:33:27 - 1.9 @@ -228,19 +228,12 @@ */ protected void writeRtfContent() throws IOException { /** - *TODO: The textrun's children are iterated threetimes: - * 1. In WhitespaceCollapser - * 2. To determine the last RtfParagraphBreak - * 3. To write the children + *TODO: The textrun's children are iterated twice: + * 1. To determine the last RtfParagraphBreak + * 2. To write the children * Maybe this can be done more efficient. */ - -if (attrib != null attrib.isSet(WhiteSpaceFalse)) { -attrib.unset(WhiteSpaceFalse); -} else { -new WhitespaceCollapser(this); -} - + //determine, if this RtfTextrun is the last child of its parent boolean bLast = false; for (Iterator it = parent.getChildren().iterator(); it.hasNext();) { 1.3 +1 -8 xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfParagraph.java Index: RtfParagraph.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfParagraph.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- RtfParagraph.java 8 Nov 2003 19:58:03 - 1.2 +++ RtfParagraph.java 27 Jan 2004 17:33:27 - 1.3 @@ -136,13 +136,6 @@ * @throws IOException for I/O problems */ protected void writeRtfPrefix() throws IOException { -// collapse whitespace before writing out -// TODO could be made configurable -if (attrib != null attrib.isSet(WhiteSpaceFalse)) { -attrib.unset(WhiteSpaceFalse); -} else { -new WhitespaceCollapser(this); -} //Reset paragraph properties if needed if (resetProperties) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/render/rtf RTFHandler.java
pherweg 2004/01/27 08:51:29 Modified:src/java/org/apache/fop/render/rtf RTFHandler.java Log: added support for white-space-treatment and linefeed-treatment by deferring the processing of some FOs until execution of endBlock Revision ChangesPath 1.15 +283 -1xml-fop/src/java/org/apache/fop/render/rtf/RTFHandler.java Index: RTFHandler.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/RTFHandler.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- RTFHandler.java 24 Jan 2004 16:09:48 - 1.14 +++ RTFHandler.java 27 Jan 2004 16:51:29 - 1.15 @@ -54,12 +54,14 @@ import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; +import java.util.Iterator; import org.apache.avalon.framework.logger.ConsoleLogger; import org.apache.avalon.framework.logger.Logger; import org.apache.fop.apps.FOPException; import org.apache.fop.fo.EnumProperty; import org.apache.fop.fo.FOInputHandler; +import org.apache.fop.fo.FObj; import org.apache.fop.datatypes.FixedLength; import org.apache.fop.fo.flow.BasicLink; import org.apache.fop.fo.flow.Block; @@ -71,6 +73,7 @@ import org.apache.fop.fo.flow.Leader; import org.apache.fop.fo.flow.ListBlock; import org.apache.fop.fo.flow.ListItem; +import org.apache.fop.fo.flow.ListItemLabel; import org.apache.fop.fo.flow.PageNumber; import org.apache.fop.fo.flow.Table; import org.apache.fop.fo.flow.TableColumn; @@ -82,6 +85,7 @@ import org.apache.fop.fo.pagination.PageSequence; import org.apache.fop.fo.pagination.SimplePageMaster; import org.apache.fop.fo.Constants; +import org.apache.fop.fo.FOText; import org.apache.fop.fo.Property; import org.apache.fop.fo.LengthProperty; import org.apache.fop.fo.StringProperty; @@ -129,6 +133,12 @@ private final Logger log = new ConsoleLogger(); private RtfSection sect; private RtfDocumentArea docArea; +private int iNestCount; +private boolean bDefer; //true, if each called handler shall be + //processed at later time. +private boolean bDeferredExecution; //true, if currently called handler was not + //called while SAX parsing, but was called + //by invokeDeferredEvent. private boolean bPrevHeaderSpecified = false;//true, if there has been a //header in any page-sequence private boolean bPrevFooterSpecified = false;//true, if there has been a @@ -150,6 +160,9 @@ public RTFHandler(Document doc, OutputStream os) { super(doc); this.os = os; +bDefer = false; +bDeferredExecution = false; +iNestCount=0; FontSetup.setup(doc, null); log.warn(ALPHA_WARNING); } @@ -185,6 +198,10 @@ */ public void startPageSequence(PageSequence pageSeq) { try { +if (bDefer) { +return; +} + sect = docArea.newSection(); //read page size and margins, if specified @@ -218,6 +235,10 @@ * @see org.apache.fop.fo.FOInputHandler#endPageSequence(PageSequence) */ public void endPageSequence(PageSequence pageSeq) throws FOPException { +if (bDefer) { +return; +} + builderContext.popContainer(); } @@ -225,6 +246,10 @@ * @see org.apache.fop.fo.FOInputHandler#startFlow(Flow) */ public void startFlow(Flow fl) { +if (bDefer) { +return; +} + try { if (fl.getFlowName().equals(xsl-region-body)) { // if there is no header in current page-sequence but there has been @@ -300,6 +325,10 @@ * @see org.apache.fop.fo.FOInputHandler#endFlow(Flow) */ public void endFlow(Flow fl) { +if (bDefer) { +return; +} + try { if (fl.getFlowName().equals(xsl-region-body)) { //just do nothing @@ -318,6 +347,19 @@ * @see org.apache.fop.fo.FOInputHandler#startBlock(Block) */ public void startBlock(Block bl) { +++iNestCount; + +if (!bDeferredExecution) { +//If startBlock was called while SAX parsing, defer processing of this +//FO and all its elements until endBlock. This has to be done, because +//attributes (for example while-space-treatment, linefeed-treatment) +//are not available until endBlock. +bDefer = true; +} +if (bDefer) { +return
cvs commit: xml-fop/src/java/org/apache/fop/render/rtf TableAttributesConverter.java TextAttributesConverter.java
pherweg 2004/01/18 13:21:41 Modified:src/java/org/apache/fop/render/rtf TableAttributesConverter.java TextAttributesConverter.java Log: replaced string constants with int constants Revision ChangesPath 1.8 +10 -10 xml-fop/src/java/org/apache/fop/render/rtf/TableAttributesConverter.java Index: TableAttributesConverter.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/TableAttributesConverter.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- TableAttributesConverter.java 5 Jan 2004 00:44:59 - 1.7 +++ TableAttributesConverter.java 18 Jan 2004 21:21:41 - 1.8 @@ -229,25 +229,25 @@ isBorderPresent=true; */ } -ep = (EnumProperty)props.get(border-top-style); +ep = (EnumProperty)props.get(Constants.PR_BORDER_TOP_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.CELL_BORDER_TOP, \\ + convertAttributetoRtf(ep.getEnum())); isBorderPresent = true; } -ep = (EnumProperty)props.get(border-bottom-style); +ep = (EnumProperty)props.get(Constants.PR_BORDER_BOTTOM_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.CELL_BORDER_BOTTOM, \\ + convertAttributetoRtf(ep.getEnum())); isBorderPresent = true; } -ep = (EnumProperty)props.get(border-left-style); +ep = (EnumProperty)props.get(Constants.PR_BORDER_LEFT_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.CELL_BORDER_LEFT, \\ + convertAttributetoRtf(ep.getEnum())); isBorderPresent = true; } -ep = (EnumProperty)props.get(border-right-style); +ep = (EnumProperty)props.get(Constants.PR_BORDER_RIGHT_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.CELL_BORDER_RIGHT, \\ + convertAttributetoRtf(ep.getEnum())); @@ -272,7 +272,7 @@ // Column spanning : -NumberProperty n = (NumberProperty)props.get(number-columns-spanned); +NumberProperty n = (NumberProperty)props.get(Constants.PR_NUMBER_COLUMNS_SPANNED); if (n != null n.getNumber().intValue() 1) { attrib.set(ITableAttributes.COLUMN_SPAN, n.getNumber().intValue()); } @@ -371,7 +371,7 @@ isBorderPresent=true; */ } -ep = (EnumProperty)props.get(border-top-style); +ep = (EnumProperty)props.get(Constants.PR_BORDER_TOP_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.ROW_BORDER_TOP, \\ + convertAttributetoRtf(ep.getEnum())); @@ -379,7 +379,7 @@ + convertAttributetoRtf(ep.getEnum())); isBorderPresent = true; } -ep = (EnumProperty)props.get(border-bottom-style); +ep = (EnumProperty)props.get(Constants.PR_BORDER_BOTTOM_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.ROW_BORDER_BOTTOM,\\ + convertAttributetoRtf(ep.getEnum())); @@ -387,7 +387,7 @@ + convertAttributetoRtf(ep.getEnum())); isBorderPresent = true; } -ep = (EnumProperty)props.get(border-left-style); +ep = (EnumProperty)props.get(Constants.PR_BORDER_LEFT_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.ROW_BORDER_LEFT, \\ + convertAttributetoRtf(ep.getEnum())); @@ -395,7 +395,7 @@ + convertAttributetoRtf(ep.getEnum())); isBorderPresent = true; } -ep = (EnumProperty)props.get(border-right-style); +ep = (EnumProperty)props.get(Constants.PR_BORDER_RIGHT_STYLE); if (ep != null ep.getEnum() != Constants.NONE) { attrib.set(ITableAttributes.ROW_BORDER_RIGHT,\\ + convertAttributetoRtf(ep.getEnum())); 1.8 +4 -4 xml-fop/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java Index: TextAttributesConverter.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- TextAttributesConverter.java 29 Dec
cvs commit: xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfFootnote.java RtfTextrun.java
pherweg 2004/01/10 11:43:58 Modified:src/java/org/apache/fop/fo FOInputHandler.java FOTreeHandler.java src/java/org/apache/fop/render/mif MIFHandler.java src/java/org/apache/fop/render/rtf RTFHandler.java src/java/org/apache/fop/fo/flow Footnote.java FootnoteBody.java src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfTextrun.java Added: src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfFootnote.java Log: added support for fo:footnote Revision ChangesPath 1.13 +24 -3 xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java Index: FOInputHandler.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- FOInputHandler.java 1 Jan 2004 21:19:55 - 1.12 +++ FOInputHandler.java 10 Jan 2004 19:43:58 - 1.13 @@ -58,6 +58,8 @@ import org.apache.fop.fo.flow.BasicLink; import org.apache.fop.fo.flow.Block; import org.apache.fop.fo.flow.ExternalGraphic; +import org.apache.fop.fo.flow.Footnote; +import org.apache.fop.fo.flow.FootnoteBody; import org.apache.fop.fo.flow.Inline; import org.apache.fop.fo.flow.InstreamForeignObject; import org.apache.fop.fo.flow.Leader; @@ -365,9 +367,28 @@ public abstract void foreignObject(InstreamForeignObject ifo); /** - * Process a footnote. + * Process the start of a footnote. + * @param footnote Footnote that is starting */ -public abstract void footnote(); +public abstract void startFootnote(Footnote footnote); + +/** + * Process the ending of a footnote. + * @param footnote Footnote that is ending + */ +public abstract void endFootnote(Footnote footnote); + +/** + * Process the start of a footnote body. + * @param body FootnoteBody that is starting + */ +public abstract void startFootnoteBody(FootnoteBody body); + +/** + * Process the ending of a footnote body. + * @param body FootnoteBody that is ending + */ +public abstract void endFootnoteBody(FootnoteBody body); /** * Process a Leader. 1.12 +24 -4 xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java Index: FOTreeHandler.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- FOTreeHandler.java1 Jan 2004 21:19:55 - 1.11 +++ FOTreeHandler.java10 Jan 2004 19:43:58 - 1.12 @@ -62,6 +62,8 @@ import org.apache.fop.fo.flow.BasicLink; import org.apache.fop.fo.flow.Block; import org.apache.fop.fo.flow.ExternalGraphic; +import org.apache.fop.fo.flow.Footnote; +import org.apache.fop.fo.flow.FootnoteBody; import org.apache.fop.fo.flow.InstreamForeignObject; import org.apache.fop.fo.flow.Inline; import org.apache.fop.fo.flow.Leader; @@ -446,11 +448,29 @@ } /** - * @see org.apache.fop.fo.FOInputHandler#footnote() + * @see org.apache.fop.fo.FOInputHandler#startFootnote() */ -public void footnote() { +public void startFootnote(Footnote footnote) { } - + +/** + * @see org.apache.fop.fo.FOInputHandler#endFootnote() + */ +public void endFootnote(Footnote footnote) { +} + +/** + * @see org.apache.fop.fo.FOInputHandler#startFootnoteBody() + */ +public void startFootnoteBody(FootnoteBody body) { +} + +/** + * @see org.apache.fop.fo.FOInputHandler#endFootnoteBody() + */ +public void endFootnoteBody(FootnoteBody body) { +} + /** * @see org.apache.fop.fo.FOInputHandler#leader(Leader) */ 1.4 +24 -4 xml-fop/src/java/org/apache/fop/render/mif/MIFHandler.java Index: MIFHandler.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/mif/MIFHandler.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- MIFHandler.java 1 Jan 2004 21:19:55 - 1.3 +++ MIFHandler.java 10 Jan 2004 19:43:58 - 1.4 @@ -60,6 +60,8 @@ import org.apache.fop.fo.flow.BasicLink; import org.apache.fop.fo.flow.Block; import org.apache.fop.fo.flow.ExternalGraphic; +import org.apache.fop.fo.flow.Footnote; +import org.apache.fop.fo.flow.FootnoteBody; import org.apache.fop.fo.flow.InstreamForeignObject; import org.apache.fop.fo.flow.Inline
cvs commit: xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfColorTable.java
pherweg 2004/01/03 05:43:12 Modified:src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfColorTable.java Log: bug fixed: The first occurence of a custom color was displayed with wrong color Revision ChangesPath 1.3 +12 -3 xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfColorTable.java Index: RtfColorTable.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfColorTable.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- RtfColorTable.java15 Nov 2003 23:45:34 - 1.2 +++ RtfColorTable.java3 Jan 2004 13:43:12 - 1.3 @@ -187,14 +187,21 @@ int retVal; if (o == null) { +//The color currently does not exist, so add it to the table. +//First add it, then read the size as index (to return it). +//So the first added color gets index 1. That is OK, because +//index 0 is reserved for auto-colored. addColor (identifier); retVal = colorTable.size (); } else { -retVal = ((Integer) o).intValue (); +//The color was found. Before returning the index, increment +//it by one. Because index 0 is reserved for auto-colored, but +//is not contained in colorTable. +retVal = ((Integer) o).intValue () + 1; } -return new Integer(retVal + 1); +return new Integer(retVal); } /** @@ -212,6 +219,8 @@ header.writeGroupMark (true); //Don't use writeControlWord, because it appends a blank, //which may confuse Wordpad. +//This also implicitly writes the first color (=index 0), which +//is reserved for auto-colored. header.write (\\colortbl;); int len = colorTable.size (); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfHyperLink.java RtfTextrun.java
pherweg 2004/01/01 13:19:55 Modified:src/java/org/apache/fop/fo/flow BasicLink.java src/java/org/apache/fop/fo FOInputHandler.java FOTreeHandler.java src/java/org/apache/fop/render/mif MIFHandler.java src/java/org/apache/fop/render/rtf RTFHandler.java src/java/org/apache/fop/render/rtf/rtflib/rtfdoc RtfHyperLink.java RtfTextrun.java Log: added support for fo:basic-link Revision ChangesPath 1.9 +21 -0 xml-fop/src/java/org/apache/fop/fo/flow/BasicLink.java Index: BasicLink.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/BasicLink.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- BasicLink.java28 Dec 2003 17:10:16 - 1.8 +++ BasicLink.java1 Jan 2004 21:19:54 - 1.9 @@ -50,7 +50,11 @@ */ package org.apache.fop.fo.flow; +// XML +import org.xml.sax.Attributes; + // FOP +import org.apache.fop.apps.FOPException; import org.apache.fop.fo.FONode; import org.apache.fop.fo.FOTreeVisitor; import org.apache.fop.fo.properties.CommonAccessibility; @@ -157,4 +161,21 @@ fotv.serveBasicLink(this); } +/** + * @see org.apache.fop.fo.FObj#handleAttrs + */ +public void handleAttrs(Attributes attlist) throws FOPException { +super.handleAttrs(attlist); + +getFOTreeControl().getFOInputHandler().startLink(this); +} + +/** + * @see org.apache.fop.fo.FONode#end + */ +public void end() { +super.end(); + +getFOTreeControl().getFOInputHandler().endLink(); +} } 1.12 +4 -2 xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java Index: FOInputHandler.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- FOInputHandler.java 1 Nov 2003 14:23:49 - 1.11 +++ FOInputHandler.java 1 Jan 2004 21:19:55 - 1.12 @@ -55,6 +55,7 @@ // FOP import org.apache.fop.apps.FOPException; +import org.apache.fop.fo.flow.BasicLink; import org.apache.fop.fo.flow.Block; import org.apache.fop.fo.flow.ExternalGraphic; import org.apache.fop.fo.flow.Inline; @@ -337,8 +338,9 @@ /** * Process start of a Link. + * @param basicLink BasicLink that is ending */ -public abstract void startLink(); +public abstract void startLink(BasicLink basicLink); /** * Process end of a Link. 1.11 +4 -3 xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java Index: FOTreeHandler.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- FOTreeHandler.java1 Nov 2003 14:23:49 - 1.10 +++ FOTreeHandler.java1 Jan 2004 21:19:55 - 1.11 @@ -59,6 +59,7 @@ // FOP import org.apache.fop.apps.FOPException; +import org.apache.fop.fo.flow.BasicLink; import org.apache.fop.fo.flow.Block; import org.apache.fop.fo.flow.ExternalGraphic; import org.apache.fop.fo.flow.InstreamForeignObject; @@ -415,9 +416,9 @@ } /** - * @see org.apache.fop.fo.FOInputHandler#startLink() + * @see org.apache.fop.fo.FOInputHandler#startLink(BasicLink basicLink) */ -public void startLink() { +public void startLink(BasicLink basicLink) { } /** 1.3 +4 -3 xml-fop/src/java/org/apache/fop/render/mif/MIFHandler.java Index: MIFHandler.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/mif/MIFHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- MIFHandler.java 12 Dec 2003 22:37:39 - 1.2 +++ MIFHandler.java 1 Jan 2004 21:19:55 - 1.3 @@ -57,6 +57,7 @@ import org.apache.fop.apps.Document; import org.apache.fop.apps.FOPException; import org.apache.fop.fo.FOInputHandler; +import org.apache.fop.fo.flow.BasicLink; import org.apache.fop.fo.flow.Block; import org.apache.fop.fo.flow.ExternalGraphic; import org.apache.fop.fo.flow.InstreamForeignObject; @@ -398,9 +399,9 @@ } /** - * @see org.apache.fop.fo.FOInputHandler#startLink() + * @see org.apache.fop.fo.FOInputHandler#startLink(BasicLink basicLink) */ -public void startLink() { +public void startLink(BasicLink basicLink