Browse Source

Bugfix: Integers were not correctly formatted in PDF. This fixes a problem with embedded fonts.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@537129 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-0_94
Jeremias Maerki 17 years ago
parent
commit
0266898d95

+ 1
- 5
src/java/org/apache/fop/pdf/PDFArray.java View File

@@ -127,11 +127,7 @@ public class PDFArray extends PDFObject {
p.append(" ");
}
Object obj = this.values.get(i);
if (obj instanceof PDFWritable) {
p.append(((PDFWritable)obj).toInlinePDFString());
} else {
p.append("(").append(obj).append(")");
}
formatObject(obj, p);
}
p.append("]");
if (hasObjectNumber()) {

+ 1
- 5
src/java/org/apache/fop/pdf/PDFDictionary.java View File

@@ -84,11 +84,7 @@ public class PDFDictionary extends PDFObject {
p.append(key);
p.append(" ");
Object obj = this.entries.get(key);
if (obj instanceof PDFWritable) {
p.append(((PDFWritable)obj).toInlinePDFString());
} else {
p.append("(").append(obj).append(")");
}
formatObject(obj, p);
}
p.append("\n>>\n");
if (hasObjectNumber()) {

+ 15
- 0
src/java/org/apache/fop/pdf/PDFObject.java View File

@@ -245,6 +245,21 @@ public abstract class PDFObject implements PDFWritable {
}*/
}
/**
* Formats an object for serialization to PDF.
* @param obj the object
* @param sb the StringBuffer to write to
*/
protected void formatObject(Object obj, StringBuffer sb) {
if (obj instanceof PDFWritable) {
sb.append(((PDFWritable)obj).toInlinePDFString());
} else if (obj instanceof Number) {
sb.append(obj);
} else {
sb.append("(").append(obj).append(")");
}
}
/** Formatting pattern for PDF date */
protected static final SimpleDateFormat DATE_FORMAT
= new SimpleDateFormat("'D:'yyyyMMddHHmmss");

Loading…
Cancel
Save