vmote 2003/06/17 19:10:32
Modified: src/java/org/apache/fop/rtf/renderer RTFHandler.java
Log:
Add support for text-align in paragraphs.
Revision Changes Path
1.5 +34 -2 xml-fop/src/java/org/apache/fop/rtf/renderer/RTFHandler.java
Index: RTFHandler.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/rtf/renderer/RTFHandler.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- RTFHandler.java 6 May 2003 07:46:05 -0000 1.4
+++ RTFHandler.java 18 Jun 2003 02:10:32 -0000 1.5
@@ -63,7 +63,9 @@
import org.apache.fop.layout.FontInfo;
import org.apache.fop.apps.FOPException;
+import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.pagination.PageSequence;
+import org.apache.fop.fo.properties.Constants;
import org.apache.fop.fo.flow.Block;
import org.apache.fop.fo.flow.Flow;
import org.apache.fop.fo.flow.ExternalGraphic;
@@ -77,8 +79,10 @@
import org.apache.fop.fo.flow.TableRow;
// JFOR
+import org.jfor.jfor.rtflib.rtfdoc.RtfAttributes;
import org.jfor.jfor.rtflib.rtfdoc.RtfFile;
import org.jfor.jfor.rtflib.rtfdoc.RtfSection;
+import org.jfor.jfor.rtflib.rtfdoc.RtfText;
import org.jfor.jfor.rtflib.rtfdoc.RtfParagraph;
import org.jfor.jfor.rtflib.rtfdoc.RtfDocumentArea;
@@ -184,13 +188,16 @@
*/
public void startBlock(Block bl) {
try {
- para = sect.newParagraph();
+ RtfAttributes rtfAttr = new RtfAttributes();
+ rtfAttr.set(mapBlockTextAlign(bl));
+ para = sect.newParagraph(rtfAttr);
} catch (IOException ioe) {
// FIXME could we throw Exception in all StructureHandler events?
throw new Error("IOException: " + ioe);
}
}
+
/**
* @see org.apache.fop.apps.StructureHandler#endBlock(Block)
*/
@@ -395,5 +402,30 @@
// FIXME could we throw Exception in all StructureHandler events?
throw new Error("IOException: " + ioe);
}
- }
+ }
+
+ private static String mapBlockTextAlign(Block bl) {
+ int fopValue = bl.properties.get("text-align").getEnum();
+ String rtfValue = null;
+ switch (fopValue) {
+ case Constants.CENTER: {
+ rtfValue = RtfText.ALIGN_CENTER;
+ break;
+ }
+ case Constants.END: {
+ rtfValue = RtfText.ALIGN_RIGHT;
+ break;
+ }
+ case Constants.JUSTIFY: {
+ rtfValue = RtfText.ALIGN_JUSTIFIED;
+ break;
+ }
+ default: {
+ rtfValue = RtfText.ALIGN_LEFT;
+ break;
+ }
+ }
+ return rtfValue;
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]