You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ss...@apache.org on 2020/01/15 12:01:31 UTC
svn commit: r1872811 - in /xmlgraphics/fop-pdf-images/trunk:
src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java
test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java
Author: ssteiner
Date: Wed Jan 15 12:01:31 2020
New Revision: 1872811
URL: http://svn.apache.org/viewvc?rev=1872811&view=rev
Log:
FOP-2904: Handle object for boundingbox
Modified:
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java
Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java?rev=1872811&r1=1872810&r2=1872811&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java Wed Jan 15 12:01:31 2020
@@ -307,8 +307,11 @@ public class FOPPDFMultiByteFont extends
for (Map.Entry<COSName, COSBase> n : dict.entrySet()) {
readFontBBox(n.getValue());
if (n.getKey() == COSName.FONT_BBOX) {
- COSArray w = (COSArray)n.getValue();
- float[] bboxf = w.toFloatArray();
+ COSBase bboxArray = n.getValue();
+ if (bboxArray instanceof COSObject) {
+ bboxArray = ((COSObject) bboxArray).getObject();
+ }
+ float[] bboxf = ((COSArray)bboxArray).toFloatArray();
int[] bbox = new int[bboxf.length];
for (int i = 0; i < bbox.length; i++) {
bbox[i] = (int)bboxf[i];
Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java?rev=1872811&r1=1872810&r2=1872811&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java Wed Jan 15 12:01:31 2020
@@ -31,8 +31,11 @@ import org.apache.fontbox.cff.CFFParser;
import org.apache.fontbox.ttf.GlyphData;
import org.apache.fontbox.ttf.GlyphTable;
import org.apache.fontbox.type1.Type1Font;
+import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
+import org.apache.pdfbox.cos.COSNumber;
+import org.apache.pdfbox.cos.COSObject;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDResources;
@@ -194,4 +197,23 @@ public class FOPPDFSingleMultiByteFontTe
return getFont(fontData);
}
}
+
+ @Test
+ public void testBBox() throws IOException {
+ COSDictionary dict = new COSDictionary();
+ COSArray array = new COSArray();
+ array.add(COSNumber.get("1"));
+ dict.setItem(COSName.FONT_BBOX, new COSObject(array));
+ FOPPDFMultiByteFont multiByteFont = new NoAddFontFOPPDFMultiByteFont(dict, "");
+ Assert.assertEquals(multiByteFont.getFontBBox()[0], 1);
+ }
+
+ private static class NoAddFontFOPPDFMultiByteFont extends FOPPDFMultiByteFont {
+ NoAddFontFOPPDFMultiByteFont(COSDictionary fontData, String name) throws IOException {
+ super(fontData, name);
+ }
+ public String addFont(COSDictionary fontData) {
+ return null;
+ }
+ };
}
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org