Author: tilman
Date: Tue Oct  9 19:22:33 2018
New Revision: 1843332

URL: http://svn.apache.org/viewvc?rev=1843332&view=rev
Log:
PDFBOX-4336: be lenient ob incorrect character code sequences

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java?rev=1843332&r1=1843331&r2=1843332&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java 
(original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMap.java Tue 
Oct  9 19:22:33 2018
@@ -22,6 +22,8 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * This class represents a CMap file.
@@ -30,6 +32,8 @@ import java.util.Map;
  */
 public class CMap
 {
+    private static final Log LOG = LogFactory.getLog(CMap.class);
+
     private int wmode = 0;
     private String cmapName = null;
     private String cmapVersion = null;
@@ -120,7 +124,13 @@ public class CMap
                 bytes[byteCount] = (byte)in.read();
             }
         }
-        throw new IOException("CMap is invalid");
+        String seq = "";
+        for (int i = 0; i < maxCodeLength; ++i)
+        {
+            seq += String.format("0x%02X (%04o) ", bytes[i], bytes[i]);
+        }
+        LOG.warn("Invalid character code sequence " + seq + "in CMap " + 
cmapName);
+        return 0;
     }
 
     /**


Reply via email to