]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
FOP-2527: RTF indent not being rendered by fo:block text-indent
authorSimon Steiner <ssteiner@apache.org>
Wed, 24 Jan 2018 11:53:32 +0000 (11:53 +0000)
committerSimon Steiner <ssteiner@apache.org>
Wed, 24 Jan 2018 11:53:32 +0000 (11:53 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1822095 13f79535-47bb-0310-9956-ffa450edef68

fop-core/src/main/java/org/apache/fop/render/rtf/TextAttributesConverter.java
fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java
fop-core/src/test/java/org/apache/fop/render/rtf/TextAttributesConverterTestCase.java [new file with mode: 0644]

index 8c0d252a5a046c58971b6f80ecc6423f5a178394..1b6d0a514b6aa9d8fca17c68666262b000e9f52b 100644 (file)
@@ -83,6 +83,7 @@ final class TextAttributesConverter {
         attrBlockTextAlign(fobj.getTextAlign(), attrib);
         attrBorder(fobj.getCommonBorderPaddingBackground(), attrib, fobj);
         attrBreak(fobj, attrib);
+        attrBlockTextIndent(fobj.getTextIndent(), attrib);
 
         return attrib;
     }
@@ -378,6 +379,10 @@ final class TextAttributesConverter {
         rtfAttr.setTwips(RtfText.RIGHT_INDENT_BODY, cmb.endIndent);
     }
 
+    private static void attrBlockTextIndent(Length textIndent, FOPRtfAttributes rtfAttr) {
+        rtfAttr.setTwips(RtfText.LEFT_INDENT_FIRST, textIndent.getValue());
+    }
+
 
     /*
     private static void attrBlockDimension(FObj fobj, FOPRtfAttributes rtfAttr) {
index 5e43857b8146499e40bf0c1e58fb537dc96b16b0..9f442d64fa622a57856995411a529d29783ac414 100644 (file)
@@ -128,7 +128,7 @@ public class RtfText extends RtfElement {
     /** constant for left indent body */
     public static final String LEFT_INDENT_BODY = "li";
     /** constant for left indent first */
-    public static final String LEFT_INDENT_FIRST = "fi-";
+    public static final String LEFT_INDENT_FIRST = "fi";
     /** constant for right indent body */
     public static final String RIGHT_INDENT_BODY = "ri";
 
diff --git a/fop-core/src/test/java/org/apache/fop/render/rtf/TextAttributesConverterTestCase.java b/fop-core/src/test/java/org/apache/fop/render/rtf/TextAttributesConverterTestCase.java
new file mode 100644 (file)
index 0000000..c57ad2b
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+package org.apache.fop.render.rtf;
+
+import java.io.File;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.apps.FopFactory;
+import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.StaticPropertyList;
+import org.apache.fop.fo.flow.Block;
+import org.apache.fop.fo.pagination.Root;
+import org.apache.fop.fo.properties.FixedLength;
+import org.apache.fop.fotreetest.DummyFOEventHandler;
+import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfAttributes;
+import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfText;
+
+public class TextAttributesConverterTestCase {
+    @Test
+    public void test() throws FOPException {
+        FOUserAgent ua = FopFactory.newInstance(new File(".").toURI()).newFOUserAgent();
+        Root root = new Root(null);
+        root.setFOEventHandler(new DummyFOEventHandler(ua));
+        Block block = new Block(root);
+        StaticPropertyList propertyList = new StaticPropertyList(block, null);
+        propertyList.putExplicit(Constants.PR_TEXT_INDENT, FixedLength.getInstance(1000));
+        block.bind(propertyList);
+        RtfAttributes attributes = TextAttributesConverter.convertAttributes(block);
+        Assert.assertEquals(attributes.getValue(RtfText.LEFT_INDENT_FIRST), 20);
+    }
+}