Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFName.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFName.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFName.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFName.java Fri Nov 19 18:52:09 2010 @@ -41,6 +41,7 @@ public class PDFName extends PDFObject { this.name = escapeName(name); } + private static final String ESCAPED_NAME_CHARS = "/()<>[]%#"; /** * Escapes a PDF name. It adds the leading slash and escapes characters as necessary. @@ -56,7 +57,8 @@ public class PDFName extends PDFObject { } for (int i = (skipFirst ? 1 : 0), c = name.length(); i < c; i++) { char ch = name.charAt(i); - if (ch < 33 || ch > 126 || ch == 0x2F) { + + if (ch < 33 || ch > 126 || ESCAPED_NAME_CHARS.indexOf(ch) >= 0) { sb.append('#'); toHex(ch, sb); } else {
Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFObject.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFObject.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFObject.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/pdf/PDFObject.java Fri Nov 19 18:52:09 2010 @@ -42,7 +42,7 @@ import org.apache.commons.logging.LogFac public abstract class PDFObject implements PDFWritable { /** logger for all PDFObjects (and descendants) */ - protected static Log log = LogFactory.getLog(PDFObject.class.getName()); + protected static final Log log = LogFactory.getLog(PDFObject.class.getName()); /** * the object's number Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractConfigurator.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractConfigurator.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractConfigurator.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractConfigurator.java Fri Nov 19 18:52:09 2010 @@ -30,7 +30,7 @@ import org.apache.fop.apps.FOUserAgent; */ public abstract class AbstractConfigurator { /** logger instance */ - protected static Log log = LogFactory.getLog(AbstractConfigurator.class); + protected static final Log log = LogFactory.getLog(AbstractConfigurator.class); private static final String MIME = "mime"; Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractRenderer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractRenderer.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractRenderer.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/AbstractRenderer.java Fri Nov 19 18:52:09 2010 @@ -79,7 +79,7 @@ public abstract class AbstractRenderer implements Renderer, Constants { /** logging instance */ - protected static Log log = LogFactory.getLog("org.apache.fop.render"); + protected static final Log log = LogFactory.getLog("org.apache.fop.render"); /** * user agent Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/PrintRendererConfigurator.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/PrintRendererConfigurator.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/PrintRendererConfigurator.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/PrintRendererConfigurator.java Fri Nov 19 18:52:09 2010 @@ -48,7 +48,7 @@ public class PrintRendererConfigurator e implements RendererConfigurator, IFDocumentHandlerConfigurator { /** logger instance */ - protected static Log log = LogFactory.getLog(PrintRendererConfigurator.class); + protected static final Log log = LogFactory.getLog(PrintRendererConfigurator.class); /** * Default constructor Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/XMLHandlerConfigurator.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/XMLHandlerConfigurator.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/XMLHandlerConfigurator.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/XMLHandlerConfigurator.java Fri Nov 19 18:52:09 2010 @@ -32,7 +32,7 @@ import org.apache.fop.apps.FOUserAgent; public class XMLHandlerConfigurator extends AbstractRendererConfigurator { /** logger instance */ - protected static Log log = LogFactory.getLog(XMLHandlerConfigurator.class); + protected static final Log log = LogFactory.getLog(XMLHandlerConfigurator.class); /** * Default constructor Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPDocumentHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPDocumentHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPDocumentHandler.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPDocumentHandler.java Fri Nov 19 18:52:09 2010 @@ -47,6 +47,7 @@ import org.apache.fop.render.afp.extensi import org.apache.fop.render.afp.extensions.AFPIncludeFormMap; import org.apache.fop.render.afp.extensions.AFPInvokeMediumMap; import org.apache.fop.render.afp.extensions.AFPPageOverlay; +import org.apache.fop.render.afp.extensions.AFPPageSegmentElement; import org.apache.fop.render.afp.extensions.AFPPageSetup; import org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler; import org.apache.fop.render.intermediate.IFDocumentHandler; @@ -76,8 +77,8 @@ public class AFPDocumentHandler extends private DataStream dataStream; /** the map of page segments */ - private Map/*<String,String>*/pageSegmentMap - = new java.util.HashMap/*<String,String>*/(); + private Map/*<String,PageSegmentDescriptor>*/pageSegmentMap + = new java.util.HashMap/*<String,PageSegmentDescriptor>*/(); /** Medium Map referenced on previous page **/ private String lastMediumMap; @@ -213,7 +214,6 @@ public class AFPDocumentHandler extends throws IFException { this.location = LOC_ELSEWHERE; paintingState.clear(); - pageSegmentMap.clear(); AffineTransform baseTransform = getBaseTransform(); paintingState.concatenate(baseTransform); @@ -288,9 +288,12 @@ public class AFPDocumentHandler extends null); } if (AFPElementMapping.INCLUDE_PAGE_SEGMENT.equals(element)) { - String name = aps.getName(); - String source = aps.getValue(); - pageSegmentMap.put(source, name); + AFPPageSegmentElement.AFPPageSegmentSetup apse + = (AFPPageSegmentElement.AFPPageSegmentSetup)aps; + String name = apse.getName(); + String source = apse.getValue(); + String uri = apse.getResourceSrc(); + pageSegmentMap.put(source, new PageSegmentDescriptor(name, uri)); } else if (AFPElementMapping.NO_OPERATION.equals(element)) { String content = aps.getContent(); if (content != null) { @@ -392,13 +395,13 @@ public class AFPDocumentHandler extends } /** - * Returns the page segment name for a given URI if it actually represents a page segment. + * Returns the page segment descriptor for a given URI if it actually represents a page segment. * Otherwise, it just returns null. * @param uri the URI that identifies the page segment - * @return the page segment name or null if there's no page segment for the given URI + * @return the page segment descriptor or null if there's no page segment for the given URI */ - String getPageSegmentNameFor(String uri) { - return (String)pageSegmentMap.get(uri); + PageSegmentDescriptor getPageSegmentNameFor(String uri) { + return (PageSegmentDescriptor)pageSegmentMap.get(uri); } } Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPPainter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPPainter.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPPainter.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/AFPPainter.java Fri Nov 19 18:52:09 2010 @@ -26,6 +26,8 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.geom.AffineTransform; import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; import java.util.Map; import org.w3c.dom.Document; @@ -48,6 +50,8 @@ import org.apache.fop.afp.modca.Abstract import org.apache.fop.afp.modca.PresentationTextObject; import org.apache.fop.afp.ptoca.PtocaBuilder; import org.apache.fop.afp.ptoca.PtocaProducer; +import org.apache.fop.afp.util.DefaultFOPResourceAccessor; +import org.apache.fop.afp.util.ResourceAccessor; import org.apache.fop.fonts.Font; import org.apache.fop.fonts.FontInfo; import org.apache.fop.fonts.FontTriplet; @@ -184,14 +188,34 @@ public class AFPPainter extends Abstract /** {...@inheritdoc} */ public void drawImage(String uri, Rectangle rect) throws IFException { - String name = documentHandler.getPageSegmentNameFor(uri); - if (name != null) { + PageSegmentDescriptor pageSegment = documentHandler.getPageSegmentNameFor(uri); + + if (pageSegment != null) { float[] srcPts = {rect.x, rect.y}; int[] coords = unitConv.mpts2units(srcPts); int width = Math.round(unitConv.mpt2units(rect.width)); int height = Math.round(unitConv.mpt2units(rect.height)); - getDataStream().createIncludePageSegment(name, coords[X], coords[Y], width, height); + getDataStream().createIncludePageSegment(pageSegment.getName(), + coords[X], coords[Y], width, height); + + //Do we need to embed an external page segment? + if (pageSegment.getURI() != null) { + ResourceAccessor accessor = new DefaultFOPResourceAccessor ( + documentHandler.getUserAgent(), null, null); + try { + URI resourceUri = new URI(pageSegment.getURI()); + documentHandler.getResourceManager().createIncludedResourceFromExternal( + pageSegment.getName(), resourceUri, accessor); + + } catch (URISyntaxException urie) { + throw new IFException("Could not handle resource url" + + pageSegment.getURI(), urie); + } catch (IOException ioe) { + throw new IFException("Could not handle resource" + pageSegment.getURI(), ioe); + } + } + } else { drawImageUsingURI(uri, rect); } Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java Fri Nov 19 18:52:09 2010 @@ -103,7 +103,7 @@ public class AFPElementMapping extends E static class AFPIncludePageSegmentMaker extends ElementMapping.Maker { public FONode make(FONode parent) { - return new AFPPageSetupElement(parent, INCLUDE_PAGE_SEGMENT); + return new AFPPageSegmentElement(parent, INCLUDE_PAGE_SEGMENT); } } Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java Fri Nov 19 18:52:09 2010 @@ -24,11 +24,13 @@ import java.net.URISyntaxException; import org.xml.sax.Attributes; import org.xml.sax.SAXException; +import org.xml.sax.helpers.AttributesImpl; import org.xml.sax.helpers.DefaultHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.fop.render.afp.extensions.AFPPageSegmentElement.AFPPageSegmentSetup; import org.apache.fop.util.ContentHandlerFactory; import org.apache.fop.util.ContentHandlerFactory.ObjectBuiltListener; @@ -39,7 +41,7 @@ public class AFPExtensionHandler extends implements ContentHandlerFactory.ObjectSource { /** Logger instance */ - protected static Log log = LogFactory.getLog(AFPExtensionHandler.class); + protected static final Log log = LogFactory.getLog(AFPExtensionHandler.class); private StringBuffer content = new StringBuffer(); private Attributes lastAttributes; @@ -52,7 +54,7 @@ public class AFPExtensionHandler extends throws SAXException { boolean handled = false; if (AFPExtensionAttachment.CATEGORY.equals(uri)) { - lastAttributes = attributes; + lastAttributes = new AttributesImpl(attributes); handled = true; if (localName.equals(AFPElementMapping.NO_OPERATION) || localName.equals(AFPElementMapping.TAG_LOGICAL_ELEMENT) @@ -96,6 +98,30 @@ public class AFPExtensionHandler extends if (name != null) { returnedObject.setName(name); } + } else if (AFPElementMapping.INCLUDE_PAGE_SEGMENT.equals(localName)) { + AFPPageSegmentSetup pageSetupExtn = null; + + pageSetupExtn = new AFPPageSegmentSetup(localName); + this.returnedObject = pageSetupExtn; + + String name = lastAttributes.getValue("name"); + if (name != null) { + returnedObject.setName(name); + } + String value = lastAttributes.getValue("value"); + if (value != null && pageSetupExtn != null) { + pageSetupExtn.setValue(value); + } + + String resourceSrc = lastAttributes.getValue("resource-file"); + if (resourceSrc != null && pageSetupExtn != null) { + pageSetupExtn.setResourceSrc(resourceSrc); + } + + if (content.length() > 0 && pageSetupExtn != null) { + pageSetupExtn.setContent(content.toString()); + content.setLength(0); //Reset text buffer (see characters()) + } } else { AFPPageSetup pageSetupExtn = null; if (AFPElementMapping.INVOKE_MEDIUM_MAP.equals(localName)) { @@ -117,6 +143,7 @@ public class AFPExtensionHandler extends content.setLength(0); //Reset text buffer (see characters()) } } + } } Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/awt/viewer/PageChangeEvent.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/awt/viewer/PageChangeEvent.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/awt/viewer/PageChangeEvent.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/awt/viewer/PageChangeEvent.java Fri Nov 19 18:52:09 2010 @@ -27,6 +27,8 @@ import java.util.EventObject; */ public class PageChangeEvent extends EventObject { + private static final long serialVersionUID = -5969283475959932887L; + private int oldPage; private int newPage; Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java Fri Nov 19 18:52:09 2010 @@ -31,6 +31,7 @@ import java.awt.image.SinglePixelPackedS import java.io.IOException; import java.io.OutputStream; import java.util.Iterator; +import java.util.NoSuchElementException; import org.apache.commons.logging.Log; @@ -133,7 +134,11 @@ public class TIFFRenderer extends Java2D multiWriter.close(); } } else { - writer.writeImage((RenderedImage) pageImagesItr.next(), outputStream, writerParams); + RenderedImage renderedImage = null; + if (pageImagesItr.hasNext()) { + renderedImage = (RenderedImage) pageImagesItr.next(); + } + writer.writeImage(renderedImage, outputStream, writerParams); if (pageImagesItr.hasNext()) { BitmapRendererEventProducer eventProducer = BitmapRendererEventProducer.Provider.get( @@ -186,8 +191,7 @@ public class TIFFRenderer extends Java2D try { pageImage = getPageImage(current++); } catch (FOPException e) { - log.error(e); - return null; + throw new NoSuchElementException(e.getMessage()); } if (COMPRESSION_CCITT_T4.equalsIgnoreCase(writerParams.getCompressionMethod()) Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFParser.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFParser.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFParser.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFParser.java Fri Nov 19 18:52:09 2010 @@ -71,7 +71,7 @@ import org.apache.fop.util.XMLUtil; public class IFParser implements IFConstants { /** Logger instance */ - protected static Log log = LogFactory.getLog(IFParser.class); + protected static final Log log = LogFactory.getLog(IFParser.class); private static SAXTransformerFactory tFactory = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFRenderer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFRenderer.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFRenderer.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/IFRenderer.java Fri Nov 19 18:52:09 2010 @@ -111,7 +111,7 @@ public class IFRenderer extends Abstract //if optimizations can be done to avoid int->float->int conversions. /** logging instance */ - protected static Log log = LogFactory.getLog(IFRenderer.class); + protected static final Log log = LogFactory.getLog(IFRenderer.class); /** XML MIME type */ public static final String IF_MIME_TYPE = MimeConstants.MIME_FOP_IF; Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java Fri Nov 19 18:52:09 2010 @@ -41,7 +41,7 @@ public class DocumentNavigationHandler e implements DocumentNavigationExtensionConstants { /** Logger instance */ - protected static Log log = LogFactory.getLog(DocumentNavigationHandler.class); + protected static final Log log = LogFactory.getLog(DocumentNavigationHandler.class); private StringBuffer content = new StringBuffer(); private Stack objectStack = new Stack(); Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/intermediate/util/IFConcatenator.java Fri Nov 19 18:52:09 2010 @@ -19,7 +19,6 @@ package org.apache.fop.render.intermediate.util; - import java.awt.Dimension; import javax.xml.transform.Source; @@ -39,12 +38,17 @@ import org.apache.fop.render.intermediat * <p> * Note: This class will filter/ignore any document navigation events. Support for this may be * added later. + * <p> + * Note: document-level extensions will only be transferred from the first document passed in. + * If you need to merge extensions from all the concatenated documents, you may have to merge + * these manually on the XML level, for example using XSLT. */ public class IFConcatenator { private IFDocumentHandler targetHandler; private int nextPageIndex = 0; + private boolean inFirstDocument = true; /** * Creates a new IF concatenator. @@ -163,14 +167,17 @@ public class IFConcatenator { /** {...@inheritdoc} */ public void endDocument() throws IFException { //ignore + inFirstDocument = false; } /** {...@inheritdoc} */ public void handleExtensionObject(Object extension) throws IFException { - if (inPageSequence) { + if (inPageSequence || inFirstDocument) { //Only pass through when inside page-sequence + //or for the first document (for document-level extensions). super.handleExtensionObject(extension); } + //Note:Extensions from non-first documents are ignored! } /** {...@inheritdoc} */ Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/pdf/extensions/PDFExtensionHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/pdf/extensions/PDFExtensionHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/pdf/extensions/PDFExtensionHandler.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/pdf/extensions/PDFExtensionHandler.java Fri Nov 19 18:52:09 2010 @@ -21,6 +21,7 @@ package org.apache.fop.render.pdf.extens import org.xml.sax.Attributes; import org.xml.sax.SAXException; +import org.xml.sax.helpers.AttributesImpl; import org.xml.sax.helpers.DefaultHandler; import org.apache.commons.logging.Log; @@ -36,7 +37,7 @@ public class PDFExtensionHandler extends implements ContentHandlerFactory.ObjectSource { /** Logger instance */ - protected static Log log = LogFactory.getLog(PDFExtensionHandler.class); + protected static final Log log = LogFactory.getLog(PDFExtensionHandler.class); private Attributes lastAttributes; @@ -48,7 +49,7 @@ public class PDFExtensionHandler extends throws SAXException { boolean handled = false; if (PDFExtensionAttachment.CATEGORY.equals(uri)) { - lastAttributes = attributes; + lastAttributes = new AttributesImpl(attributes); handled = false; if (localName.equals(PDFEmbeddedFileExtensionAttachment.ELEMENT)) { //handled in endElement Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/PSFontUtils.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/PSFontUtils.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/PSFontUtils.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/PSFontUtils.java Fri Nov 19 18:52:09 2010 @@ -54,7 +54,7 @@ import org.apache.fop.fonts.Typeface; public class PSFontUtils extends org.apache.xmlgraphics.ps.PSFontUtils { /** logging instance */ - protected static Log log = LogFactory.getLog(PSFontUtils.class); + protected static final Log log = LogFactory.getLog(PSFontUtils.class); /** * Generates the PostScript code for the font dictionary. This method should only be Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/extensions/PSExtensionHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/extensions/PSExtensionHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/extensions/PSExtensionHandler.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/ps/extensions/PSExtensionHandler.java Fri Nov 19 18:52:09 2010 @@ -21,6 +21,7 @@ package org.apache.fop.render.ps.extensi import org.xml.sax.Attributes; import org.xml.sax.SAXException; +import org.xml.sax.helpers.AttributesImpl; import org.xml.sax.helpers.DefaultHandler; import org.apache.commons.logging.Log; @@ -36,7 +37,7 @@ public class PSExtensionHandler extends implements ContentHandlerFactory.ObjectSource { /** Logger instance */ - protected static Log log = LogFactory.getLog(PSExtensionHandler.class); + protected static final Log log = LogFactory.getLog(PSExtensionHandler.class); private StringBuffer content = new StringBuffer(); private Attributes lastAttributes; @@ -49,7 +50,7 @@ public class PSExtensionHandler extends throws SAXException { boolean handled = false; if (PSExtensionAttachment.CATEGORY.equals(uri)) { - lastAttributes = attributes; + lastAttributes = new AttributesImpl(attributes); handled = false; if (localName.equals(PSSetupCode.ELEMENT) || localName.equals(PSSetPageDevice.ELEMENT) Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/RTFHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/RTFHandler.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/RTFHandler.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/RTFHandler.java Fri Nov 19 18:52:09 2010 @@ -80,11 +80,11 @@ import org.apache.fop.fo.flow.PageNumber import org.apache.fop.fo.flow.PageNumberCitation; import org.apache.fop.fo.flow.table.Table; import org.apache.fop.fo.flow.table.TableBody; -import org.apache.fop.fo.flow.table.TableFooter; -import org.apache.fop.fo.flow.table.TablePart; import org.apache.fop.fo.flow.table.TableCell; import org.apache.fop.fo.flow.table.TableColumn; +import org.apache.fop.fo.flow.table.TableFooter; import org.apache.fop.fo.flow.table.TableHeader; +import org.apache.fop.fo.flow.table.TablePart; import org.apache.fop.fo.flow.table.TableRow; import org.apache.fop.fo.pagination.Flow; import org.apache.fop.fo.pagination.PageSequence; @@ -436,7 +436,8 @@ public class RTFHandler extends FOEventH RtfTextrun textrun = container.getTextrun(); textrun.addParagraphBreak(); - textrun.popBlockAttributes(); + int breakValue = toRtfBreakValue(bl.getBreakAfter()); + textrun.popBlockAttributes(breakValue); } catch (IOException ioe) { handleIOTrouble(ioe); @@ -488,7 +489,8 @@ public class RTFHandler extends FOEventH RtfTextrun textrun = container.getTextrun(); textrun.addParagraphBreak(); - textrun.popBlockAttributes(); + int breakValue = toRtfBreakValue(bl.getBreakAfter()); + textrun.popBlockAttributes(breakValue); } catch (IOException ioe) { handleIOTrouble(ioe); @@ -498,6 +500,21 @@ public class RTFHandler extends FOEventH } } + private int toRtfBreakValue(int foBreakValue) { + switch (foBreakValue) { + case Constants.EN_PAGE: + return RtfTextrun.BREAK_PAGE; + case Constants.EN_EVEN_PAGE: + return RtfTextrun.BREAK_EVEN_PAGE; + case Constants.EN_ODD_PAGE: + return RtfTextrun.BREAK_ODD_PAGE; + case Constants.EN_COLUMN: + return RtfTextrun.BREAK_COLUMN; + default: + return RtfTextrun.BREAK_NONE; + } + } + /** {...@inheritdoc} */ public void startTable(Table tbl) { if (bDefer) { Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java Fri Nov 19 18:52:09 2010 @@ -35,6 +35,7 @@ import org.apache.fop.fo.flow.BlockConta import org.apache.fop.fo.flow.Inline; import org.apache.fop.fo.flow.Leader; import org.apache.fop.fo.flow.PageNumber; +import org.apache.fop.fo.flow.table.TableCell; import org.apache.fop.fo.properties.CommonBorderPaddingBackground; import org.apache.fop.fo.properties.CommonFont; import org.apache.fop.fo.properties.CommonMarginBlock; @@ -80,10 +81,48 @@ final class TextAttributesConverter { attrBlockMargin(fobj.getCommonMarginBlock(), attrib); attrBlockTextAlign(fobj.getTextAlign(), attrib); attrBorder(fobj.getCommonBorderPaddingBackground(), attrib, fobj); + attrBreak(fobj, attrib); return attrib; } + private static void attrBreak(Block fobj, FOPRtfAttributes attrib) { + int breakValue = fobj.getBreakBefore(); + if (breakValue != Constants.EN_AUTO) { + //"sect" Creates a new section and a page break, + //a simple page break with control word "page" caused + //some problems + boolean bHasTableCellParent = false; + FONode f = fobj; + while (f.getParent() != null) { + f = f.getParent(); + if (f instanceof TableCell) { + bHasTableCellParent = true; + break; + } + } + if (!bHasTableCellParent) { + attrib.set("sect"); + switch (breakValue) { + case Constants.EN_EVEN_PAGE: + attrib.set("sbkeven"); + break; + case Constants.EN_ODD_PAGE: + attrib.set("sbkodd"); + break; + case Constants.EN_COLUMN: + attrib.set("sbkcol"); + break; + default: + attrib.set("sbkpage"); + } + } else { + log.warn("Cannot create break-before for a block inside a table."); + } + } + //Break after is handled in RtfCloseGroupMark + } + /** * Converts all known text FO properties to RtfAttributes * @param fobj FObj whose properties are to be converted Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ParagraphKeeptogetherContext.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ParagraphKeeptogetherContext.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ParagraphKeeptogetherContext.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ParagraphKeeptogetherContext.java Fri Nov 19 18:52:09 2010 @@ -37,24 +37,11 @@ public final class ParagraphKeeptogether private static int paraKeepTogetherOpen = 0; private static boolean paraResetProperties = false; - private static ParagraphKeeptogetherContext instance = null; private ParagraphKeeptogetherContext() { } /** - * Singelton. - * - * @return The instance of ParagraphKeeptogetherContext - */ - public static ParagraphKeeptogetherContext getInstance() { - if (instance == null) { - instance = new ParagraphKeeptogetherContext(); - } - return instance; - } - - /** * @return the level of current "keep whith next" paragraph */ public static int getKeepTogetherOpenValue() { Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java Fri Nov 19 18:52:09 2010 @@ -39,14 +39,12 @@ public class RtfJforCmd extends RtfConta private static final String PARA_KEEP_OFF = "para-keep:off"; private final RtfAttributes attrib; - private ParagraphKeeptogetherContext paragraphKeeptogetherContext; RtfJforCmd(RtfContainer parent, Writer w, RtfAttributes attrs) throws IOException { super((RtfContainer)parent, w); attrib = attrs; - paragraphKeeptogetherContext = ParagraphKeeptogetherContext.getInstance(); } Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTextrun.java Fri Nov 19 18:52:09 2010 @@ -25,9 +25,10 @@ import java.io.Writer; import java.util.Iterator; import java.util.List; import java.util.ListIterator; +import java.util.Stack; -// FOP -import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfExternalGraphic; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** * Class which contains a linear text run. It has methods to add attributes, @@ -35,9 +36,26 @@ import org.apache.fop.render.rtf.rtflib. * @author Peter Herweg, [email protected] */ public class RtfTextrun extends RtfContainer { + + /** Constant for no page break */ + public static final int BREAK_NONE = 0; + /** Constant for a normal page break */ + public static final int BREAK_PAGE = 1; + /** Constant for a column break */ + public static final int BREAK_COLUMN = 2; + /** Constant for a even page break */ + public static final int BREAK_EVEN_PAGE = 3; + /** Constant for a odd page break */ + public static final int BREAK_ODD_PAGE = 4; + private boolean bSuppressLastPar = false; private RtfListItem rtfListItem; + /** + * logging instance + */ + protected static final Log log = LogFactory.getLog(RtfTextrun.class); + /** Manager for handling space-* property. */ private RtfSpaceManager rtfSpaceManager = new RtfSpaceManager(); @@ -68,10 +86,12 @@ public class RtfTextrun extends RtfConta /** Class which represents the closing of a RTF group mark.*/ private class RtfCloseGroupMark extends RtfElement { + private int breakType = BREAK_NONE; - RtfCloseGroupMark(RtfContainer parent, Writer w) - throws IOException { + RtfCloseGroupMark(RtfContainer parent, Writer w, int breakType) + throws IOException { super(parent, w); + this.breakType = breakType; } /** @@ -82,11 +102,44 @@ public class RtfTextrun extends RtfConta } /** - * write RTF code of all our children + * Returns the break type. + * @return the break type (BREAK_* constants) + */ + public int getBreakType() { + return breakType; + } + + /** + * Write RTF code of all our children. * @throws IOException for I/O problems */ protected void writeRtfContent() throws IOException { writeGroupMark(false); + boolean bHasTableCellParent = this.getParentOfClass(RtfTableCell.class) != null; + + //Unknown behavior when a table starts a new section, + //Word may crash + if (breakType != BREAK_NONE) { + if (!bHasTableCellParent) { + writeControlWord("sect"); + /* The following modifiers don't seem to appear in the right place */ + switch (breakType) { + case BREAK_EVEN_PAGE: + writeControlWord("sbkeven"); + break; + case BREAK_ODD_PAGE: + writeControlWord("sbkodd"); + break; + case BREAK_COLUMN: + writeControlWord("sbkcol"); + break; + default: + writeControlWord("sbkpage"); + } + } else { + log.warn("Cannot create break-after for a paragraph inside a table."); + } + } } } @@ -135,8 +188,18 @@ public class RtfTextrun extends RtfConta * * @throws IOException for I/O problems */ + private void addCloseGroupMark(int breakType) throws IOException { + RtfCloseGroupMark r = new RtfCloseGroupMark(this, writer, breakType); + } + + /** + * Adds instance of <code>CloseGroupMark</code> as a child, but without a break option. + * Inline attributes do not need that for example + * + * @throws IOException for I/O problems + */ private void addCloseGroupMark() throws IOException { - RtfCloseGroupMark r = new RtfCloseGroupMark(this, writer); + RtfCloseGroupMark r = new RtfCloseGroupMark(this, writer, BREAK_NONE); } /** @@ -155,14 +218,14 @@ public class RtfTextrun extends RtfConta /** * Pops block attributes, notifies all opened blocks about pushing block * attributes, adds <code>CloseGroupMark</code> as a child. - * + * @param breakType the break type * @throws IOException for I/O problems */ - public void popBlockAttributes() throws IOException { - rtfSpaceManager.popRtfSpaceSplitter(); - rtfSpaceManager.stopUpdatingSpaceBefore(); - addCloseGroupMark(); - } + public void popBlockAttributes(int breakType) throws IOException { + rtfSpaceManager.popRtfSpaceSplitter(); + rtfSpaceManager.stopUpdatingSpaceBefore(); + addCloseGroupMark(breakType); + } /** * Pushes inline attributes. @@ -208,7 +271,6 @@ public class RtfTextrun extends RtfConta //add RtfSpaceSplitter to inherit accumulated space rtfSpaceManager.pushRtfSpaceSplitter(attrs); rtfSpaceManager.setCandidate(attrs); - RtfString r = new RtfString(this, writer, s); rtfSpaceManager.popRtfSpaceSplitter(); } @@ -228,28 +290,30 @@ public class RtfTextrun extends RtfConta * @throws IOException for I/O problems */ public void addParagraphBreak() throws IOException { - // get copy of children list - List children = getChildren(); - - // delete all previous CloseGroupMark - int deletedCloseGroupCount = 0; - - ListIterator lit = children.listIterator(children.size()); - while (lit.hasPrevious() - && (lit.previous() instanceof RtfCloseGroupMark)) { - lit.remove(); - deletedCloseGroupCount++; - } - - if (children.size() != 0) { - // add paragraph break and restore all deleted close group marks - setChildren(children); - new RtfParagraphBreak(this, writer); - for (int i = 0; i < deletedCloseGroupCount; i++) { - addCloseGroupMark(); - } - } - } + // get copy of children list + List children = getChildren(); + Stack tmp = new Stack(); + + // delete all previous CloseGroupMark + int deletedCloseGroupCount = 0; + + ListIterator lit = children.listIterator(children.size()); + while (lit.hasPrevious() + && (lit.previous() instanceof RtfCloseGroupMark)) { + tmp.push(Integer.valueOf(((RtfCloseGroupMark)lit.next()).getBreakType())); + lit.remove(); + deletedCloseGroupCount++; + } + + if (children.size() != 0) { + // add paragraph break and restore all deleted close group marks + setChildren(children); + new RtfParagraphBreak(this, writer); + for (int i = 0; i < deletedCloseGroupCount; i++) { + addCloseGroupMark(((Integer)tmp.pop()).intValue()); + } + } + } /** * Inserts a leader. Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopPrintServlet.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopPrintServlet.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopPrintServlet.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopPrintServlet.java Fri Nov 19 18:52:09 2010 @@ -61,6 +61,8 @@ import org.apache.fop.apps.MimeConstants */ public class FopPrintServlet extends FopServlet { + private static final long serialVersionUID = 1645706757391617935L; + /** * {...@inheritdoc} */ Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopServlet.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopServlet.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopServlet.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/servlet/FopServlet.java Fri Nov 19 18:52:09 2010 @@ -70,6 +70,8 @@ import org.apache.fop.apps.MimeConstants */ public class FopServlet extends HttpServlet { + private static final long serialVersionUID = -908918093488215264L; + /** Name of the parameter used for the XSL-FO file */ protected static final String FO_REQUEST_PARAM = "fo"; /** Name of the parameter used for the XML file */ Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java Fri Nov 19 18:52:09 2010 @@ -256,6 +256,7 @@ public class PDFDocumentGraphics2D exten if (!pdfContext.isPagePending()) { return; //ignore } + currentStream.write("Q\n"); //Finish page PDFStream pdfStream = this.pdfDoc.getFactory().makeStream( PDFFilterList.CONTENT_FILTER, false); @@ -321,6 +322,7 @@ public class PDFDocumentGraphics2D exten pdfContext.setCurrentPage(page); pageRef = page.referencePDF(); + currentStream.write("q\n"); AffineTransform at = new AffineTransform(1.0, 0.0, 0.0, -1.0, 0.0, height); currentStream.write("1 0 0 -1 0 " + height + " cm\n"); Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/traits/BorderProps.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/traits/BorderProps.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/traits/BorderProps.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/traits/BorderProps.java Fri Nov 19 18:52:09 2010 @@ -34,6 +34,8 @@ import org.apache.fop.util.ColorUtil; */ public class BorderProps implements Serializable { + private static final long serialVersionUID = -886871454032189183L; + /** Separate border model */ public static final int SEPARATE = 0; /** Collapsing border model, for borders inside a table */ Propchange: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorExt.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Nov 19 18:52:09 2010 @@ -2,4 +2,4 @@ /xmlgraphics/fop/branches/Temp_Accessibility/src/java/org/apache/fop/util/ColorExt.java:745924-830281 /xmlgraphics/fop/branches/Temp_AreaTreeNewDesign/src/java/org/apache/fop/util/ColorExt.java:603620-746655 /xmlgraphics/fop/branches/fop-0_95/src/java/org/apache/fop/util/ColorExt.java:684572,688085,688696 -/xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorExt.java:981451-1004917 +/xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorExt.java:981451-1036883 Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorUtil.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorUtil.java?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorUtil.java (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/src/java/org/apache/fop/util/ColorUtil.java Fri Nov 19 18:52:09 2010 @@ -53,7 +53,7 @@ public final class ColorUtil { private static Map colorMap = null; /** Logger instance */ - protected static Log log = LogFactory.getLog(ColorUtil.class); + protected static final Log log = LogFactory.getLog(ColorUtil.class); static { initializeColorMap(); Modified: xmlgraphics/fop/branches/Temp_ComplexScripts/status.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ComplexScripts/status.xml?rev=1036979&r1=1036978&r2=1036979&view=diff ============================================================================== --- xmlgraphics/fop/branches/Temp_ComplexScripts/status.xml (original) +++ xmlgraphics/fop/branches/Temp_ComplexScripts/status.xml Fri Nov 19 18:52:09 2010 @@ -58,6 +58,12 @@ documents. Example: the fix of marks layering will be such a case when it's done. --> <release version="FOP Trunk" date="TBD"> + <action context="Renderers" dev="JM" type="add" fixes-bug="42600" due-to="Maximilian Aster"> + Added some support for break-before/-after for RTF output. + </action> + <action context="Renderers" dev="JM" type="add" fixes-bug="49379" due-to="Peter Hancock"> + Added ability to embed an external AFP page segment resource file (AFP output only). + </action> <action context="Renderers" dev="JM" type="fix" fixes-bug="46360" due-to="Alexis Giotis"> Fixed a multi-threading issue when rendering SVG. </action> @@ -401,6 +407,9 @@ Fixed a problem where the BPD or a block area could be wrong if there is a nested, absolutely positioned area (for example a block-container). </action> + <action context="Code" dev="VH" type="fix" fixes-bug="45971" due-to="Tow Browder"> + Improved the behaviour of the command line interface. + </action> <action context="Layout" dev="AD" type="fix" fixes-bug="40798"> Bugzilla 40798: A conditional-page-master-reference with page-position="last" qualifies for a first page, if it is also the last. Additionally: also added support for --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
