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 2014/10/06 18:51:57 UTC

svn commit: r1629711 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/DictionaryEncoding.java

Author: tilman
Date: Mon Oct  6 16:51:56 2014
New Revision: 1629711

URL: http://svn.apache.org/r1629711
Log:
PDFBOX-2299: revert to use default encoding if base encoding is missing, as seen in Isartor test files with Type3 fonts

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/DictionaryEncoding.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/DictionaryEncoding.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/DictionaryEncoding.java?rev=1629711&r1=1629710&r2=1629711&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/DictionaryEncoding.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/DictionaryEncoding.java Mon Oct  6 16:51:56 2014
@@ -19,6 +19,8 @@ package org.apache.pdfbox.pdmodel.font.e
 
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSBase;
@@ -33,6 +35,8 @@ import org.apache.pdfbox.cos.COSNumber;
  */
 public class DictionaryEncoding extends Encoding
 {
+    private static final Log LOG = LogFactory.getLog(DictionaryEncoding.class);
+
     private final COSDictionary encoding;
     private final Encoding baseEncoding;
     private final Map<Integer, String> differences = new HashMap<Integer, String>();
@@ -93,7 +97,10 @@ public class DictionaryEncoding extends 
                 }
                 else
                 {
-                    throw new IllegalArgumentException("Built-in Encoding required for symbolic font");
+                    base = StandardEncoding.INSTANCE;
+                    LOG.warn("Built-in encoding required for symbolic font, using standard encoding");
+                    //FIXME, see PDFBOX-2299, happens with Type3 fonts of the isartor test suite
+                    // throw new IllegalArgumentException("Built-in Encoding required for symbolic font");
                 }
             }
         }