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"); }