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