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 2018/10/03 11:57:54 UTC

svn commit: r1842710 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java

Author: tilman
Date: Wed Oct  3 11:57:53 2018
New Revision: 1842710

URL: http://svn.apache.org/viewvc?rev=1842710&view=rev
Log:
PDFBOX-4330: skip double E

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java?rev=1842710&r1=1842709&r2=1842710&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java Wed Oct  3 11:57:53 2018
@@ -346,6 +346,7 @@ public class CFFParser
         StringBuilder sb = new StringBuilder();
         boolean done = false;
         boolean exponentMissing = false;
+        boolean hasExponent = false;
         while (!done)
         {
             int b = input.readUnsignedByte();
@@ -371,12 +372,24 @@ public class CFFParser
                     sb.append(".");
                     break;
                 case 0xb:
+                    if (hasExponent)
+                    {
+                        LOG.warn("duplicate 'E' ignored after " + sb);
+                        break;
+                    }
                     sb.append("E");
                     exponentMissing = true;
+                    hasExponent = true;
                     break;
                 case 0xc:
+                    if (hasExponent)
+                    {
+                        LOG.warn("duplicate 'E-' ignored after " + sb);
+                        break;
+                    }
                     sb.append("E-");
                     exponentMissing = true;
+                    hasExponent = true;
                     break;
                 case 0xd:
                     break;