You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/12/25 15:10:05 UTC

svn commit: r1896392 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java

Author: tilman
Date: Sat Dec 25 15:10:05 2021
New Revision: 1896392

URL: http://svn.apache.org/viewvc?rev=1896392&view=rev
Log:
PDFBOX-5339: avoid ClassCastException

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java?rev=1896392&r1=1896391&r2=1896392&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java Sat Dec 25 15:10:05 2021
@@ -397,11 +397,16 @@ public abstract class PDFont implements
             {
                 for (int i = 0; i < widths.size(); i++)
                 {
-                    COSNumber fontWidth = (COSNumber) widths.getObject(i);
-                    if (fontWidth.floatValue() > 0)
+                    COSBase base = widths.getObject(i);
+                    if (base instanceof COSNumber)
                     {
-                        totalWidth += fontWidth.floatValue();
-                        characterCount += 1;
+                        COSNumber fontWidth = (COSNumber) base;
+                        float floatValue = fontWidth.floatValue();
+                        if (floatValue > 0)
+                        {
+                            totalWidth += floatValue;
+                            characterCount += 1;
+                        }
                     }
                 }
             }