Author: tilman
Date: Wed Jun 19 15:35:58 2024
New Revision: 1918450

URL: http://svn.apache.org/viewvc?rev=1918450&view=rev
Log:
PDFBOX-5843: fix last commit, check that at least one private dict contains 
something

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=1918450&r1=1918449&r2=1918450&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 Jun 19 15:35:58 2024
@@ -692,6 +692,7 @@ public class CFFParser
         List<Map<String, Object>> privateDictionaries = new LinkedList<>();
         List<Map<String, Object>> fontDictionaries = new LinkedList<>();
 
+        boolean privateDictPopulated = false;
         for (byte[] bytes : fdIndex)
         {
             DataInputByteArray fontDictInput = new DataInputByteArray(bytes);
@@ -721,6 +722,7 @@ public class CFFParser
             DictData privateDict = readDictData(input, privateOffset, 
privateSize);
 
             // populate private dict
+            privateDictPopulated = true;
             Map<String, Object> privDict = readPrivateDict(privateDict);
             privateDictionaries.add(privDict);
 
@@ -732,8 +734,8 @@ public class CFFParser
                 privDict.put("Subrs", readIndexData(input));
             }
         }
-        
-        if (privateDictionaries.isEmpty())
+
+        if (!privateDictPopulated)
         {
             throw new IOException("Font DICT invalid without \"Private\" 
entry");
         }


Reply via email to