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; } /**