diff options
-rw-r--r-- | fop-core/src/main/java/org/apache/fop/area/MainReference.java | 5 | ||||
-rw-r--r-- | fop/test/layoutengine/standard-testcases/region-body_column-count_span_writing-mode_rl.xml | 47 |
2 files changed, 52 insertions, 0 deletions
diff --git a/fop-core/src/main/java/org/apache/fop/area/MainReference.java b/fop-core/src/main/java/org/apache/fop/area/MainReference.java index 9778db87f..c3d553429 100644 --- a/fop-core/src/main/java/org/apache/fop/area/MainReference.java +++ b/fop-core/src/main/java/org/apache/fop/area/MainReference.java @@ -37,6 +37,7 @@ public class MainReference extends Area { private BodyRegion parent; private List<Span> spanAreas = new java.util.ArrayList<Span>(); private boolean isEmpty = true; + private WritingModeTraitsGetter wmtg; /** * Constructor @@ -62,6 +63,9 @@ public class MainReference extends Area { Span newSpan = new Span(((spanAll) ? 1 : getColumnCount()), getColumnGap(), parent.getContentIPD()); spanAreas.add(newSpan); + if (wmtg != null) { + newSpan.setWritingModeTraits(wmtg); + } return getCurrentSpan(); } @@ -127,6 +131,7 @@ public class MainReference extends Area { * @param wmtg a WM traits getter */ public void setWritingModeTraits(WritingModeTraitsGetter wmtg) { + this.wmtg = wmtg; for (Span s : getSpans()) { s.setWritingModeTraits(wmtg); } diff --git a/fop/test/layoutengine/standard-testcases/region-body_column-count_span_writing-mode_rl.xml b/fop/test/layoutengine/standard-testcases/region-body_column-count_span_writing-mode_rl.xml new file mode 100644 index 000000000..4b9f0cda7 --- /dev/null +++ b/fop/test/layoutengine/standard-testcases/region-body_column-count_span_writing-mode_rl.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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$ --> +<testcase> + <info> + <p> + This test checks multi-column documents with right-to-left writing mode. Normal multi-column document breaking over more than one page. + </p> + </info> + <fo> + <fo:root + xmlns:fo="http://www.w3.org/1999/XSL/Format" writing-mode="rl-tb"> + <fo:layout-master-set> + <fo:simple-page-master margin="20mm" master-name="odd" page-height="148mm" page-width="210mm"> + <fo:region-body column-count="3"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="odd" writing-mode="rl-tb"> + <fo:flow flow-name="xsl-region-body"> + <fo:block span="all">Spanned Block</fo:block> + <fo:block>Col1</fo:block> + <fo:block break-before="column">Col2</fo:block> + <fo:block break-before="column">Col3</fo:block> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <eval expected="1" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span[1]/@level"/> + <eval expected="1" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span[2]/@level"/> + </checks> +</testcase> |