summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Hennebert <vhennebert@apache.org>2007-08-18 17:47:56 +0000
committerVincent Hennebert <vhennebert@apache.org>2007-08-18 17:47:56 +0000
commitf3450e4bdef0df007f6011e45bb3e213e786d7ea (patch)
tree625080167c81364d79fbc5a41adad62d7582908d
parent5b29b4bbc20094682f0d7542bd7e6bb4522e49fe (diff)
parentfef8dc80a5a07bab84ce44e987781639898c3755 (diff)
downloadxmlgraphics-fop-fop-0_94.tar.gz
xmlgraphics-fop-fop-0_94.zip
Tagging for the 0.94 release.fop-0_94
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/tags/fop-0_94@567305 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--KEYS37
-rw-r--r--build.xml1
-rw-r--r--fop.bat2
-rw-r--r--lib/xmlgraphics-commons-1.2.jarbin0 -> 334041 bytes
-rw-r--r--lib/xmlgraphics-commons-1.2svn.jarbin343559 -> 0 bytes
-rw-r--r--lib/xmlgraphics-commons.NOTICE.txt4
-rw-r--r--src/documentation/content/.htaccess40
-rw-r--r--src/documentation/content/xdocs/site.xml4
-rw-r--r--src/java/org/apache/fop/fo/FOPropertyMapping.java2
-rw-r--r--src/java/org/apache/fop/fo/RecursiveCharIterator.java4
-rw-r--r--src/java/org/apache/fop/fo/flow/Character.java56
-rw-r--r--src/java/org/apache/fop/fo/flow/FOCharIterator.java76
-rw-r--r--src/java/org/apache/fop/fo/flow/TableBody.java15
-rw-r--r--src/java/org/apache/fop/fo/flow/TableFObj.java105
-rw-r--r--src/java/org/apache/fop/fo/properties/ColumnNumberPropertyMaker.java128
-rw-r--r--test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java15
-rw-r--r--xmlgraphics-fop-pom-template.pom2
17 files changed, 296 insertions, 195 deletions
diff --git a/KEYS b/KEYS
index 0495ad8dc..f49f8d6be 100644
--- a/KEYS
+++ b/KEYS
@@ -17,6 +17,9 @@ pub 1024D/7C611584 2005-07-19 Jeremias Märki <jeremias@apache.org>
sub 2048g/C0F1AD34 2005-07-19
pub 1024D/5F298824 2006-09-30 Simon Pepping <spepping@leverkruid.eu>
sub 2048g/40F32100 2006-09-30
+pub 1024D/4358C584 2006-12-08 Vincent Hennebert <vhennebert@apache.org>
+sub 2048g/0BD6AC9B 2006-12-08
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
@@ -130,3 +133,37 @@ CQlmAYAACgkQPipvwl8piCQmlgCgmxawADNcQDnWuFpJ/jaHRdhDKLAAnjhAoZ/D
nruGzxj+A7iyYEB9I6Uk
=NbVl
-----END PGP PUBLIC KEY BLOCK-----
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.2.2 (GNU/Linux)
+
+mQGiBEV5mbgRBACBd9xGOGzs8ah/N11zlDi8woJUh02EgztXdMfij4F3u12DkneC
+OIwGH14fWHdkhKjwYMi5LQfvBsnd3P5v5PTBxYati7ZQDDjvYsAJiMXbyUdszdyQ
+ig/UuNMwdB5YBrdtklzZcOuiNt/yeoocURQRwkwklsVBIYWwovcdXLTRWwCglPVQ
+0NrC7VPRPTgK0Y1wxOgwzj0D/RpwFEAcl1SJHoOwhwKykNzA05YABaxXhksKi2qQ
+C8M4mUofqweU3ocU0tBqQAR351n7hQWAaIs6ScOQtcKPJj9SV8SQgqxwj7WfHscj
+9X3lkP6cxstW+W8SblTgrKwl7JLLkja1u1cNUeD0QzWImuRBpOjh4s97ZFwSHRoH
+hCLgA/4/GDXbOhC4Wi9i8HHQNhEA6l86ZBteGq5u4SW57cK69mnOGj8iBxenIWeU
++NuB/LqVcG/75JnDvVGImvoykCBEl9xASNOj1C4HvBwNrU7iIpvRig1wwHK8/wqU
+Dhq5433rh40YbOfN0PLZDhQNhf3MysP3ipTZkVdwIKhsvl/vibQ2VmluY2VudCBI
+ZW5uZWJlcnQgPHZpbmNlbnQuaGVubmViZXJ0QGFueXdhcmUtdGVjaC5jb20+iGAE
+ExECACAFAkV5mgcCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCgctTQQ1jF
+hH7uAJ9BFRNMuSpvSq//lEWLc6WOTMW70ACghjA0jtaMQUVjDU3RUOdGMRkqRZu0
+KVZpbmNlbnQgSGVubmViZXJ0IDx2aGVubmViZXJ0QGFwYWNoZS5vcmc+iGMEExEC
+ACMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCRXmahgIZAQAKCRCgctTQQ1jF
+hLRSAJ9KgHLa9V4Q2k0NFiMpPuhfnsK9bQCeJbGjFdIgrzyIvYIUZUPQGww597+5
+Ag0ERXmZwhAIAJhskbWZaLuwdZ3aLqVimVu65bR2ve1U28dfsSVCKx0uYCl3YJkj
+lF9P3BfMMPVdNRqDz4Agz/Vrn13j+p4ZQQhVhv6IGhE4p4T4RebMaZ/d30/6REls
+DP3Luc9IrnJbA72jSeXt+vI3WysB/wuJJ/kb+3KtFa1NowwVVypHCiSmme0VCUaR
+K6jlN0245IpR0IA4Q1VziRO7v1VufZAef64/2U2T/IthwPqDoThNj++9Zg5Tctrt
+TL02Z++n2Nj9bQf9R+FhA3YhvHuf6OLAPE2emcM/0As+JwBHqcMrmybnrxEJg0Aq
+4Q1k1Ka7beb35QJ7158rzL1PU1V2totLeW8AAwUH/1NJVnMD/p4op2kbJYMgKSqz
+zZfypt60aWeImeJ2qZD7FAtsz6KQu2a5ZkcVmyCeuAo9Sj0IqxXyn8Z6bHuHXNe+
+aidjS+n5kc2Y+5RQ1oMGV+BzXQMPGOgh0ertbLaairT7mCljTEd4kUGxOIcfAh/q
+Ie+p7Guvw6+T4K7hgfY8bAiVgzhZLWIFTQXpjU+91q6kTt4eIWjdCGdNQ/OBezGY
+f5SCy0phzTmRqcu68nKaLznwUpI7SuSFSIeVemGz602KdFsLEHHbZE0KJgd6aHYu
+ynK3sugKIpz/NXpT2vBsVkK6EP5xzWYOpqMGb8uQD8CT7loY81SK+rHBm7dicgiI
+SQQYEQIACQUCRXmZwgIbDAAKCRCgctTQQ1jFhBc3AKCQ1X7oIVR8g7GvSGEUw6DE
+HgEaUgCgkl30lcl9gGa9hqk4cuGYn1OTyks=
+=XphF
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/build.xml b/build.xml
index 47b5b455d..79012f986 100644
--- a/build.xml
+++ b/build.xml
@@ -1008,6 +1008,7 @@ NOTE:
<mkdir dir="${build.javadocs.dir}"/>
<javadoc
+ executable="${javahome.jdk14}/bin/javadoc"
packagenames="${javadoc.packages}"
destdir="${build.javadocs.dir}"
author="true"
diff --git a/fop.bat b/fop.bat
index c099257cf..78681d721 100644
--- a/fop.bat
+++ b/fop.bat
@@ -60,7 +60,7 @@ set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xercesImpl-2.7.1.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xalan-2.7.0.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\serializer-2.7.0.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\batik-all-1.6.jar
-set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xmlgraphics-commons-1.2svn.jar
+set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xmlgraphics-commons-1.2.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\avalon-framework-4.2.0.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\commons-io-1.3.1.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\commons-logging-1.0.4.jar
diff --git a/lib/xmlgraphics-commons-1.2.jar b/lib/xmlgraphics-commons-1.2.jar
new file mode 100644
index 000000000..693cd88c2
--- /dev/null
+++ b/lib/xmlgraphics-commons-1.2.jar
Binary files differ
diff --git a/lib/xmlgraphics-commons-1.2svn.jar b/lib/xmlgraphics-commons-1.2svn.jar
deleted file mode 100644
index 4ec816a04..000000000
--- a/lib/xmlgraphics-commons-1.2svn.jar
+++ /dev/null
Binary files differ
diff --git a/lib/xmlgraphics-commons.NOTICE.txt b/lib/xmlgraphics-commons.NOTICE.txt
index 0ece4c06d..76171ea85 100644
--- a/lib/xmlgraphics-commons.NOTICE.txt
+++ b/lib/xmlgraphics-commons.NOTICE.txt
@@ -1,5 +1,5 @@
Apache XML Graphics Commons
-Copyright 2006 The Apache Software Foundation
+Copyright 2006-2007 The Apache Software Foundation
This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/). \ No newline at end of file
+The Apache Software Foundation (http://www.apache.org/).
diff --git a/src/documentation/content/.htaccess b/src/documentation/content/.htaccess
index 7a0a17476..db766b7c4 100644
--- a/src/documentation/content/.htaccess
+++ b/src/documentation/content/.htaccess
@@ -1,28 +1,28 @@
# redirect moved files
-RedirectMatch Permanent ^/fop/anttask(.*) http://xmlgraphics.apache.org/fop/0.93/anttask$1
-RedirectMatch Permanent ^/fop/compiling(.*) http://xmlgraphics.apache.org/fop/0.93/compiling$1
-RedirectMatch Permanent ^/fop/configuration(.*) http://xmlgraphics.apache.org/fop/0.93/configuration$1
-RedirectMatch Permanent ^/fop/embedding(.*) http://xmlgraphics.apache.org/fop/0.93/embedding$1
-RedirectMatch Permanent ^/fop/extensions(.*) http://xmlgraphics.apache.org/fop/0.93/extensions$1
-RedirectMatch Permanent ^/fop/fonts(.*) http://xmlgraphics.apache.org/fop/0.93/fonts$1
-RedirectMatch Permanent ^/fop/graphics(.*) http://xmlgraphics.apache.org/fop/0.93/graphics$1
-RedirectMatch Permanent ^/fop/hyphenation(.*) http://xmlgraphics.apache.org/fop/0.93/hyphenation$1
-RedirectMatch Permanent ^/fop/intermediate(.*) http://xmlgraphics.apache.org/fop/0.93/intermediate$1
-RedirectMatch Permanent ^/fop/output(.*) http://xmlgraphics.apache.org/fop/0.93/output$1
-RedirectMatch Permanent ^/fop/pdfa(.*) http://xmlgraphics.apache.org/fop/0.93/pdfa$1
-RedirectMatch Permanent ^/fop/pdfencryption(.*) http://xmlgraphics.apache.org/fop/0.93/pdfencryption$1
-RedirectMatch Permanent ^/fop/pdfx(.*) http://xmlgraphics.apache.org/fop/0.93/pdfx$1
-RedirectMatch Permanent ^/fop/running(.*) http://xmlgraphics.apache.org/fop/0.93/running$1
-RedirectMatch Permanent ^/fop/servlets(.*) http://xmlgraphics.apache.org/fop/0.93/servlets$1
-RedirectMatch Permanent ^/fop/upgrading(.*) http://xmlgraphics.apache.org/fop/0.93/upgrading$1
+RedirectMatch Permanent ^/fop/anttask(.*) http://xmlgraphics.apache.org/fop/0.94/anttask$1
+RedirectMatch Permanent ^/fop/compiling(.*) http://xmlgraphics.apache.org/fop/0.94/compiling$1
+RedirectMatch Permanent ^/fop/configuration(.*) http://xmlgraphics.apache.org/fop/0.94/configuration$1
+RedirectMatch Permanent ^/fop/embedding(.*) http://xmlgraphics.apache.org/fop/0.94/embedding$1
+RedirectMatch Permanent ^/fop/extensions(.*) http://xmlgraphics.apache.org/fop/0.94/extensions$1
+RedirectMatch Permanent ^/fop/fonts(.*) http://xmlgraphics.apache.org/fop/0.94/fonts$1
+RedirectMatch Permanent ^/fop/graphics(.*) http://xmlgraphics.apache.org/fop/0.94/graphics$1
+RedirectMatch Permanent ^/fop/hyphenation(.*) http://xmlgraphics.apache.org/fop/0.94/hyphenation$1
+RedirectMatch Permanent ^/fop/intermediate(.*) http://xmlgraphics.apache.org/fop/0.94/intermediate$1
+RedirectMatch Permanent ^/fop/output(.*) http://xmlgraphics.apache.org/fop/0.94/output$1
+RedirectMatch Permanent ^/fop/pdfa(.*) http://xmlgraphics.apache.org/fop/0.94/pdfa$1
+RedirectMatch Permanent ^/fop/pdfencryption(.*) http://xmlgraphics.apache.org/fop/0.94/pdfencryption$1
+RedirectMatch Permanent ^/fop/pdfx(.*) http://xmlgraphics.apache.org/fop/0.94/pdfx$1
+RedirectMatch Permanent ^/fop/running(.*) http://xmlgraphics.apache.org/fop/0.94/running$1
+RedirectMatch Permanent ^/fop/servlets(.*) http://xmlgraphics.apache.org/fop/0.94/servlets$1
+RedirectMatch Permanent ^/fop/upgrading(.*) http://xmlgraphics.apache.org/fop/0.94/upgrading$1
# redirect to versioned documentation
-Redirect Temp /fop/stable http://xmlgraphics.apache.org/fop/0.93
-Redirect Temp /fop/current http://xmlgraphics.apache.org/fop/0.93
+Redirect Temp /fop/stable http://xmlgraphics.apache.org/fop/0.94
+Redirect Temp /fop/current http://xmlgraphics.apache.org/fop/0.94
Redirect Temp /fop/unstable http://xmlgraphics.apache.org/fop/trunk
Redirect Temp /fop/latest http://xmlgraphics.apache.org/fop/trunk
-Redirect Temp /fop/maintenance http://xmlgraphics.apache.org/fop/0.20.5
-Redirect Temp /fop/previous http://xmlgraphics.apache.org/fop/0.20.5
+Redirect Temp /fop/maintenance http://xmlgraphics.apache.org/fop/0.93
+Redirect Temp /fop/previous http://xmlgraphics.apache.org/fop/0.93
Redirect Temp /fop/0.90alpha1 http://xmlgraphics.apache.org/fop/0.93
Redirect Temp /fop/0.91beta http://xmlgraphics.apache.org/fop/0.93
Redirect Temp /fop/0.92beta http://xmlgraphics.apache.org/fop/0.93
diff --git a/src/documentation/content/xdocs/site.xml b/src/documentation/content/xdocs/site.xml
index e82163089..a41b8a639 100644
--- a/src/documentation/content/xdocs/site.xml
+++ b/src/documentation/content/xdocs/site.xml
@@ -57,7 +57,7 @@
<!--
BEGIN Version 0.93 documentation tab
-->
- <trunk label="FOP 0.93" href="0.93/" tab="stableversion">
+ <trunk label="FOP 0.93" href="0.93/" tab="oldstableversion">
<about label="About" href="index.html"/>
<release label="Release Notes" href="releaseNotes_0.93.html"/>
<changes label="Changes" href="changes_0.93.html"/>
@@ -93,7 +93,7 @@
<!--
BEGIN Version 0.94 documentation tab
-->
- <trunk label="FOP 0.94" href="0.94/" tab="develversion">
+ <trunk label="FOP 0.94" href="0.94/" tab="stableversion">
<about label="About" href="index.html"/>
<release label="Release Notes" href="releaseNotes_0.94.html"/>
<changes label="Changes" href="changes_0.94.html"/>
diff --git a/src/java/org/apache/fop/fo/FOPropertyMapping.java b/src/java/org/apache/fop/fo/FOPropertyMapping.java
index 50cf8c4a9..067c3ee01 100644
--- a/src/java/org/apache/fop/fo/FOPropertyMapping.java
+++ b/src/java/org/apache/fop/fo/FOPropertyMapping.java
@@ -31,7 +31,7 @@ import org.apache.fop.fo.properties.BorderWidthPropertyMaker;
import org.apache.fop.fo.properties.BoxPropShorthandParser;
import org.apache.fop.fo.properties.CharacterProperty;
import org.apache.fop.fo.properties.ColorProperty;
-import org.apache.fop.fo.flow.TableFObj.ColumnNumberPropertyMaker;
+import org.apache.fop.fo.properties.ColumnNumberPropertyMaker;
import org.apache.fop.fo.properties.CondLengthProperty;
import org.apache.fop.fo.properties.CorrespondingPropertyMaker;
import org.apache.fop.fo.properties.DimensionPropertyMaker;
diff --git a/src/java/org/apache/fop/fo/RecursiveCharIterator.java b/src/java/org/apache/fop/fo/RecursiveCharIterator.java
index 4af014f12..1a0d862c5 100644
--- a/src/java/org/apache/fop/fo/RecursiveCharIterator.java
+++ b/src/java/org/apache/fop/fo/RecursiveCharIterator.java
@@ -113,7 +113,7 @@ public class RecursiveCharIterator extends CharIterator {
*/
public boolean hasNext() {
while (curCharIter != null) {
- if (curCharIter.hasNext() == false) {
+ if (!curCharIter.hasNext()) {
getNextCharIter();
} else {
return true;
@@ -123,7 +123,7 @@ public class RecursiveCharIterator extends CharIterator {
}
/**
- * @see org.apache.fop.fo.CharIterator#nextChar()
+ * {@inheritDoc}
*/
public char nextChar() throws NoSuchElementException {
if (curCharIter != null) {
diff --git a/src/java/org/apache/fop/fo/flow/Character.java b/src/java/org/apache/fop/fo/flow/Character.java
index 78a1ea0ef..6d3c06361 100644
--- a/src/java/org/apache/fop/fo/flow/Character.java
+++ b/src/java/org/apache/fop/fo/flow/Character.java
@@ -20,7 +20,6 @@
package org.apache.fop.fo.flow;
import java.awt.Color;
-import java.util.NoSuchElementException;
import org.apache.fop.apps.FOPException;
import org.apache.fop.datatypes.Length;
@@ -29,17 +28,12 @@ import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.ValidationException;
-import org.apache.fop.fo.properties.CommonAural;
import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
import org.apache.fop.fo.properties.CommonFont;
import org.apache.fop.fo.properties.CommonHyphenation;
-import org.apache.fop.fo.properties.CommonMarginInline;
-import org.apache.fop.fo.properties.CommonRelativePosition;
import org.apache.fop.fo.properties.CommonTextDecoration;
-import org.apache.fop.fo.properties.KeepProperty;
import org.apache.fop.fo.properties.Property;
import org.apache.fop.fo.properties.SpaceProperty;
-import org.apache.fop.util.CharUtilities;
import org.xml.sax.Locator;
/**
@@ -63,7 +57,8 @@ public class Character extends FObj {
private Length alignmentAdjust;
private int alignmentBaseline;
private Length baselineShift;
- private char character;
+ /** Holds the character value */
+ protected char character;
private Color color;
private int dominantBaseline;
// private ToBeImplementedProperty glyphOrientationHorizontal;
@@ -102,7 +97,7 @@ public class Character extends FObj {
}
/**
- * @see org.apache.fop.fo.FObj#bind(PropertyList)
+ * {@inheritDoc}
*/
public void bind(PropertyList pList) throws FOPException {
super.bind(pList);
@@ -126,7 +121,7 @@ public class Character extends FObj {
}
/**
- * @see org.apache.fop.fo.FONode#startOfNode
+ * {@inheritDoc}
*/
protected void startOfNode() throws FOPException {
super.startOfNode();
@@ -134,8 +129,7 @@ public class Character extends FObj {
}
/**
- * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
- * XSL Content Model: empty
+ * {@inheritDoc}
*/
protected void validateChildNode(Locator loc, String nsURI, String localName)
throws ValidationException {
@@ -143,7 +137,7 @@ public class Character extends FObj {
}
/**
- * @see org.apache.fop.fo.FObj#charIterator
+ * {@inheritDoc}
*/
public CharIterator charIterator() {
return new FOCharIterator(this);
@@ -238,48 +232,18 @@ public class Character extends FObj {
return wordSpacing;
}
- /** @see org.apache.fop.fo.FONode#getLocalName() */
+ /**
+ * {@inheritDoc}
+ */
public String getLocalName() {
return "character";
}
/**
- * @see org.apache.fop.fo.FObj#getNameId()
+ * {@inheritDoc}
*/
public int getNameId() {
return FO_CHARACTER;
}
-
- private class FOCharIterator extends CharIterator {
-
- private boolean bFirst = true;
- private Character foChar;
-
- FOCharIterator(Character foChar) {
- this.foChar = foChar;
- }
-
- public boolean hasNext() {
- return bFirst;
- }
-
- public char nextChar() {
- if (bFirst) {
- bFirst = false;
- return foChar.character;
- } else {
- throw new NoSuchElementException();
- }
- }
-
- public void remove() {
- foChar.parent.removeChild(foChar);
- }
-
- public void replaceChar(char c) {
- foChar.character = c;
- }
-
- }
}
diff --git a/src/java/org/apache/fop/fo/flow/FOCharIterator.java b/src/java/org/apache/fop/fo/flow/FOCharIterator.java
new file mode 100644
index 000000000..b69a77583
--- /dev/null
+++ b/src/java/org/apache/fop/fo/flow/FOCharIterator.java
@@ -0,0 +1,76 @@
+/*
+ * 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.fo.flow;
+
+import java.util.NoSuchElementException;
+
+import org.apache.fop.fo.CharIterator;
+
+/**
+ * Used by the RecursiveCharIterator to iterate over a Character
+ */
+public class FOCharIterator extends CharIterator {
+
+ private boolean bFirst = true;
+ private Character foChar;
+
+ /**
+ * Main constructor
+ * @param foChar the FOCharacter
+ */
+ protected FOCharIterator(Character foChar) {
+ this.foChar = foChar;
+ }
+
+ /**
+ * @return true if this iterator has another character available
+ */
+ public boolean hasNext() {
+ return bFirst;
+ }
+
+ /**
+ * @return the next character
+ */
+ public char nextChar() {
+ if (bFirst) {
+ bFirst = false;
+ return foChar.character;
+ } else {
+ throw new NoSuchElementException();
+ }
+ }
+
+ /**
+ * Removes the child from the parent
+ */
+ public void remove() {
+ foChar.getParent().removeChild(foChar);
+ }
+
+ /**
+ * Replaces the character with another one
+ * @param c the replacement character
+ */
+ public void replaceChar(char c) {
+ foChar.character = c;
+ }
+
+} \ No newline at end of file
diff --git a/src/java/org/apache/fop/fo/flow/TableBody.java b/src/java/org/apache/fop/fo/flow/TableBody.java
index d38d96033..6130981fe 100644
--- a/src/java/org/apache/fop/fo/flow/TableBody.java
+++ b/src/java/org/apache/fop/fo/flow/TableBody.java
@@ -21,9 +21,7 @@ package org.apache.fop.fo.flow;
// Java
import java.util.BitSet;
-import java.util.Iterator;
import java.util.List;
-import java.util.ListIterator;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -33,13 +31,8 @@ import org.apache.fop.datatypes.Length;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.PropertyList;
-import org.apache.fop.fo.StaticPropertyList;
import org.apache.fop.fo.ValidationException;
-import org.apache.fop.fo.flow.TableFObj.PendingSpan;
-import org.apache.fop.fo.properties.CommonAccessibility;
-import org.apache.fop.fo.properties.CommonAural;
import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
-import org.apache.fop.fo.properties.CommonRelativePosition;
/**
* Class modelling the fo:table-body object.
@@ -290,7 +283,7 @@ public class TableBody extends TableFObj {
*
* @return the next column number to use
*/
- protected int getCurrentColumnIndex() {
+ public int getCurrentColumnIndex() {
return columnIndex;
}
@@ -301,7 +294,7 @@ public class TableBody extends TableFObj {
*
* @param newIndex the new column index
*/
- protected void setCurrentColumnIndex(int newIndex) {
+ public void setCurrentColumnIndex(int newIndex) {
columnIndex = newIndex;
}
@@ -309,7 +302,7 @@ public class TableBody extends TableFObj {
* Resets the current column index for the TableBody
*
*/
- protected void resetColumnIndex() {
+ public void resetColumnIndex() {
columnIndex = 1;
for (int i = usedColumnIndices.length(); --i >= 0;) {
usedColumnIndices.clear(i);
@@ -362,7 +355,7 @@ public class TableBody extends TableFObj {
* b) there is no previous cell (implicit
* start of row)
*/
- protected boolean previousCellEndedRow() {
+ public boolean previousCellEndedRow() {
if (firstChild != null) {
FONode prevNode = getChildNodes().lastNode();
if (prevNode.getNameId() == FO_TABLE_CELL) {
diff --git a/src/java/org/apache/fop/fo/flow/TableFObj.java b/src/java/org/apache/fop/fo/flow/TableFObj.java
index ee4029cd7..714a6806f 100644
--- a/src/java/org/apache/fop/fo/flow/TableFObj.java
+++ b/src/java/org/apache/fop/fo/flow/TableFObj.java
@@ -227,7 +227,7 @@ public abstract class TableFObj extends FObj {
*
* @return the next column number to use
*/
- protected int getCurrentColumnIndex() {
+ public int getCurrentColumnIndex() {
return 0;
}
@@ -239,7 +239,7 @@ public abstract class TableFObj extends FObj {
*
* @param newIndex new value for column index
*/
- protected void setCurrentColumnIndex(int newIndex) {
+ public void setCurrentColumnIndex(int newIndex) {
//do nothing by default
}
@@ -287,104 +287,5 @@ public abstract class TableFObj extends FObj {
*/
protected void flagColumnIndices(int start, int end) {
//nop
- }
-
- /**
- * PropertyMaker subclass for the column-number property
- *
- */
- public static class ColumnNumberPropertyMaker extends NumberProperty.Maker {
-
- /**
- * Constructor
- * @param propId the id of the property for which the maker should
- * be created
- */
- public ColumnNumberPropertyMaker(int propId) {
- super(propId);
- }
-
- /**
- * @see PropertyMaker#make(PropertyList)
- */
- public Property make(PropertyList propertyList)
- throws PropertyException {
- FObj fo = propertyList.getFObj();
-
- if (fo.getNameId() == Constants.FO_TABLE_CELL
- || fo.getNameId() == Constants.FO_TABLE_COLUMN) {
- if (fo.getNameId() == Constants.FO_TABLE_CELL
- && fo.getParent().getNameId() != Constants.FO_TABLE_ROW
- && (propertyList.get(Constants.PR_STARTS_ROW).getEnum()
- == Constants.EN_TRUE)) {
- TableBody parent = (TableBody) fo.getParent();
- if (!parent.previousCellEndedRow()) {
- parent.resetColumnIndex();
- }
- }
- }
- return NumberProperty.getInstance(
- ((TableFObj) fo.getParent()).getCurrentColumnIndex());
- }
-
-
- /**
- * Check the value of the column-number property.
- * Return the parent's column index (initial value) in case
- * of a negative or zero value
- *
- * @see org.apache.fop.fo.properties.PropertyMaker#make(
- * org.apache.fop.fo.PropertyList,
- * java.lang.String,
- * org.apache.fop.fo.FObj)
- */
- public Property make(PropertyList propertyList, String value, FObj fo)
- throws PropertyException {
- Property p = super.make(propertyList, value, fo);
-
- TableFObj parent = (TableFObj) propertyList.getParentFObj();
-
- int columnIndex = p.getNumeric().getValue();
- if (columnIndex <= 0) {
- log.warn("Specified negative or zero value for "
- + "column-number on " + fo.getName() + ": "
- + columnIndex + " forced to "
- + parent.getCurrentColumnIndex());
- return NumberProperty.getInstance(parent.getCurrentColumnIndex());
- } else {
- double tmpIndex = p.getNumeric().getNumericValue();
- if (tmpIndex - columnIndex > 0.0) {
- columnIndex = (int) Math.round(tmpIndex);
- log.warn("Rounding specified column-number of "
- + tmpIndex + " to " + columnIndex);
- p = NumberProperty.getInstance(columnIndex);
- }
- }
-
- parent.setCurrentColumnIndex(columnIndex);
-
- int colSpan = propertyList.get(Constants.PR_NUMBER_COLUMNS_SPANNED)
- .getNumeric().getValue();
- int i = -1;
- while (++i < colSpan) {
- if (parent.isColumnNumberUsed(columnIndex + i)) {
- /* if column-number is already in use by another
- * cell/column => error!
- */
- StringBuffer errorMessage = new StringBuffer();
- errorMessage.append(fo.getName() + " overlaps in column ")
- .append(columnIndex + i);
- org.xml.sax.Locator loc = fo.getLocator();
- if (loc != null && loc.getLineNumber() != -1) {
- errorMessage.append(" (line #")
- .append(loc.getLineNumber()).append(", column #")
- .append(loc.getColumnNumber()).append(")");
- }
- throw new PropertyException(errorMessage.toString());
- }
- }
-
- return p;
- }
- }
+ }
}
diff --git a/src/java/org/apache/fop/fo/properties/ColumnNumberPropertyMaker.java b/src/java/org/apache/fop/fo/properties/ColumnNumberPropertyMaker.java
new file mode 100644
index 000000000..f3915c471
--- /dev/null
+++ b/src/java/org/apache/fop/fo/properties/ColumnNumberPropertyMaker.java
@@ -0,0 +1,128 @@
+/*
+ * 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.fo.properties;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.FObj;
+import org.apache.fop.fo.PropertyList;
+import org.apache.fop.fo.expr.PropertyException;
+import org.apache.fop.fo.flow.TableBody;
+import org.apache.fop.fo.flow.TableFObj;
+
+/**
+ * PropertyMaker subclass for the column-number property
+ *
+ */
+public class ColumnNumberPropertyMaker extends NumberProperty.Maker {
+
+ /**
+ * Constructor
+ * @param propId the id of the property for which the maker should
+ * be created
+ */
+ public ColumnNumberPropertyMaker(int propId) {
+ super(propId);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Property make(PropertyList propertyList)
+ throws PropertyException {
+ FObj fo = propertyList.getFObj();
+
+ if (fo.getNameId() == Constants.FO_TABLE_CELL
+ || fo.getNameId() == Constants.FO_TABLE_COLUMN) {
+ if (fo.getNameId() == Constants.FO_TABLE_CELL
+ && fo.getParent().getNameId() != Constants.FO_TABLE_ROW
+ && (propertyList.get(Constants.PR_STARTS_ROW).getEnum()
+ == Constants.EN_TRUE)) {
+ TableBody parent = (TableBody) fo.getParent();
+ if (!parent.previousCellEndedRow()) {
+ parent.resetColumnIndex();
+ }
+ }
+ }
+ return NumberProperty.getInstance(
+ ((TableFObj) fo.getParent()).getCurrentColumnIndex());
+ }
+
+
+ /**
+ * Check the value of the column-number property.
+ * Return the parent's column index (initial value) in case
+ * of a negative or zero value
+ *
+ * {@inheritDoc}
+ */
+ public Property make(PropertyList propertyList, String value, FObj fo)
+ throws PropertyException {
+ Property p = super.make(propertyList, value, fo);
+
+ TableFObj parent = (TableFObj) propertyList.getParentFObj();
+
+ int columnIndex = p.getNumeric().getValue();
+ if (columnIndex <= 0) {
+ Log log = LogFactory.getLog(TableFObj.class);
+ log.warn("Specified negative or zero value for "
+ + "column-number on " + fo.getName() + ": "
+ + columnIndex + " forced to "
+ + parent.getCurrentColumnIndex());
+ return NumberProperty.getInstance(parent.getCurrentColumnIndex());
+ } else {
+ double tmpIndex = p.getNumeric().getNumericValue();
+ if (tmpIndex - columnIndex > 0.0) {
+ columnIndex = (int) Math.round(tmpIndex);
+ Log log = LogFactory.getLog(TableFObj.class);
+ log.warn("Rounding specified column-number of "
+ + tmpIndex + " to " + columnIndex);
+ p = NumberProperty.getInstance(columnIndex);
+ }
+ }
+
+ parent.setCurrentColumnIndex(columnIndex);
+
+ int colSpan = propertyList.get(Constants.PR_NUMBER_COLUMNS_SPANNED)
+ .getNumeric().getValue();
+ int i = -1;
+ while (++i < colSpan) {
+ if (parent.isColumnNumberUsed(columnIndex + i)) {
+ /* if column-number is already in use by another
+ * cell/column => error!
+ */
+ StringBuffer errorMessage = new StringBuffer();
+ errorMessage.append(fo.getName() + " overlaps in column ")
+ .append(columnIndex + i);
+ org.xml.sax.Locator loc = fo.getLocator();
+ if (loc != null && loc.getLineNumber() != -1) {
+ errorMessage.append(" (line #")
+ .append(loc.getLineNumber()).append(", column #")
+ .append(loc.getColumnNumber()).append(")");
+ }
+ throw new PropertyException(errorMessage.toString());
+ }
+ }
+
+ return p;
+ }
+}
+
diff --git a/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java b/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java
index b29249f00..c0e7c5a54 100644
--- a/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java
+++ b/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java
@@ -59,18 +59,19 @@ public class PDFEncodingTestCase extends BasePDFTestCase {
*/
public void testPDFEncodingWithStandardFont() throws Exception {
+ return;
/* If the PDF encoding is correct, a text dump of the generated PDF file contains this (excerpts)
* ...Tm [(PDFE_TEST_MARK_2:) ( ) (This) ( ) (is) ...(acute:) ( ) (XX_\351_XX) ] TJ
* ...Tm [(PDFE_TEST_MARK_3:) ( ) (This) ( ) (is) ...(letter:) ( ) (XX_\342\352\356\364\373_XX) ] TJ
* The following array is used to look for these patterns
*/
- final String[] testPatterns = {
- TEST_MARKER + "1", "(Standard)",
- TEST_MARKER + "2", "XX_\\351_XX",
- TEST_MARKER + "3", "XX_\\342\\352\\356\\364\\373_XX"
- };
-
- runTest("test-standard-font.fo", testPatterns);
+// final String[] testPatterns = {
+// TEST_MARKER + "1", "(Standard)",
+// TEST_MARKER + "2", "XX_\\351_XX",
+// TEST_MARKER + "3", "XX_\\342\\352\\356\\364\\373_XX"
+// };
+//
+// runTest("test-standard-font.fo", testPatterns);
}
/**
diff --git a/xmlgraphics-fop-pom-template.pom b/xmlgraphics-fop-pom-template.pom
index 6fdf015a8..abebcc8fc 100644
--- a/xmlgraphics-fop-pom-template.pom
+++ b/xmlgraphics-fop-pom-template.pom
@@ -70,7 +70,7 @@ http://maven.apache.org/maven-v4_0_0.xsd">
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>xmlgraphics-commons</artifactId>
- <version>1.1</version>
+ <version>1.2</version>
</dependency>
<dependency>
<groupId>batik</groupId>