You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by sp...@apache.org on 2010/11/19 19:52:12 UTC
svn commit: r1036979 [4/4] - in
/xmlgraphics/fop/branches/Temp_ComplexScripts: ./ lib/ lib/build/
src/documentation/content/xdocs/trunk/ src/java/org/apache/fop/afp/
src/java/org/apache/fop/afp/apps/ src/java/org/apache/fop/afp/modca/
src/java/org/apac...
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, pherweg@web.de
*/
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: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org