Index: src/java/org/apache/fop/render/afp/AFPDocumentHandler.java =================================================================== --- src/java/org/apache/fop/render/afp/AFPDocumentHandler.java (revision 993857) +++ src/java/org/apache/fop/render/afp/AFPDocumentHandler.java (working copy) @@ -382,6 +382,16 @@ } /** {@inheritDoc} */ + public void setF11PSeg(boolean f11PSeg) { + paintingState.setF11PSeg(f11PSeg); + } + + /** {@inheritDoc} */ + public boolean getF11PSeg() { + return paintingState.getF11PSeg(); + } + + /** {@inheritDoc} */ public void setDefaultResourceGroupFilePath(String filePath) { resourceManager.setDefaultResourceGroupFilePath(filePath); } Index: src/java/org/apache/fop/render/afp/AFPRendererConfigurator.java =================================================================== --- src/java/org/apache/fop/render/afp/AFPRendererConfigurator.java (revision 993857) +++ src/java/org/apache/fop/render/afp/AFPRendererConfigurator.java (working copy) @@ -394,6 +394,10 @@ boolean nativeImageSupport = imagesCfg.getAttributeAsBoolean("native", false); customizable.setNativeImagesSupported(nativeImageSupport); + //F11 page segment wrapping + boolean f11PSeg = imagesCfg.getAttributeAsBoolean("f11-pseg", false); + customizable.setF11PSeg(f11PSeg); + // shading (filled rectangles) Configuration shadingCfg = cfg.getChild("shading"); AFPShadingMode shadingMode = AFPShadingMode.valueOf( Index: src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java =================================================================== --- src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java (revision 993857) +++ src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java (working copy) @@ -207,6 +207,11 @@ } } + //Wrapping 300+ resolution F11 IOCA in a page segment is apparently necessary(?) + if (functionSet == 11 && paintingState.getF11PSeg()) { + imageObjectInfo.setCreatePageSegment(true); + } + switch (functionSet) { case 10: imageObjectInfo.setMimeType(MimeConstants.MIME_AFP_IOCA_FS10); Index: src/java/org/apache/fop/render/afp/AFPCustomizable.java =================================================================== --- src/java/org/apache/fop/render/afp/AFPCustomizable.java (revision 993857) +++ src/java/org/apache/fop/render/afp/AFPCustomizable.java (working copy) @@ -80,6 +80,18 @@ void setResolution(int resolution); /** + * Sets whether F11 non-inline images should be wrapped in a page segment + * @param f11PSeg + */ + void setF11PSeg(boolean f11PSeg); + + /** + * gets whether F11 non-inline images should be wrapped in a page segment + * @param f11PSeg + */ + boolean getF11PSeg(); + + /** * Returns the output/device resolution. * * @return the resolution in dpi Index: src/java/org/apache/fop/afp/AFPPaintingState.java =================================================================== --- src/java/org/apache/fop/afp/AFPPaintingState.java (revision 993857) +++ src/java/org/apache/fop/afp/AFPPaintingState.java (working copy) @@ -73,6 +73,10 @@ /** the output resolution */ private int resolution = 240; // 240 dpi + + /** use page segment with F11 images*/ + private boolean f11PSeg; + /** the current page */ private transient AFPPagePaintingState pagePaintingState = new AFPPagePaintingState(); @@ -276,6 +280,22 @@ return this.resolution; } + /** + * gets whether F11 non-inline images should be wrapped in a page segment + * @param f11PSeg + */ + public boolean getF11PSeg() { + return f11PSeg; + } + + /** + * Sets whether F11 non-inline images should be wrapped in a page segment + * @param f11PSeg + */ + public void setF11PSeg(boolean f11PSeg) { + this.f11PSeg = f11PSeg; + } + /** {@inheritDoc} */ protected AbstractData instantiateData() { return new AFPData(); Index: src/documentation/content/xdocs/trunk/output.xml =================================================================== --- src/documentation/content/xdocs/trunk/output.xml (revision 993857) +++ src/documentation/content/xdocs/trunk/output.xml (working copy) @@ -783,6 +783,11 @@
++ When the boolean attribute f11-pseg (default false) is set to true, non-inline F11 IOCA images are wrapped in page segment. This option is provided to support printers/print servers that require this MO:DCA structure. +
+