Author: tilman
Date: Tue Feb 25 08:01:50 2025
New Revision: 1924036

URL: http://svn.apache.org/viewvc?rev=1924036&view=rev
Log:
PDFBOX-5963: add logging + comment

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=1924036&r1=1924035&r2=1924036&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
 Tue Feb 25 08:01:50 2025
@@ -18,6 +18,8 @@ package org.apache.pdfbox.pdmodel.font.e
 
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
@@ -31,6 +33,8 @@ import org.apache.pdfbox.cos.COSNumber;
  */
 public class DictionaryEncoding extends Encoding
 {
+    private static final Logger LOG = 
LogManager.getLogger(DictionaryEncoding.class);
+
     private final COSDictionary encoding;
     private final Encoding baseEncoding;
     private final Map<Integer, String> differences = new HashMap<>();
@@ -80,6 +84,10 @@ public class DictionaryEncoding extends
             baseEncoding = Encoding.getInstance(name); // null when the name 
is invalid
             if (baseEncoding != null)
             {
+                // PDFBOX-5963
+                // PDF Specification: "Differences array shall specify the 
complete character
+                // encoding for this font" but other viewers read it, thus we 
do too.
+                LOG.warn("/BaseEncoding in type 3 font");
                 codeToName.putAll(baseEncoding.codeToName);
                 inverted.putAll(baseEncoding.inverted);
             }


Reply via email to