You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2015/12/01 18:20:44 UTC
svn commit: r1717472 -
/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java
Author: lehmi
Date: Tue Dec 1 17:20:44 2015
New Revision: 1717472
URL: http://svn.apache.org/viewvc?rev=1717472&view=rev
Log:
PDFBOX-3131: don't copy data
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=1717472&r1=1717471&r2=1717472&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 Tue Dec 1 17:20:44 2015
@@ -529,6 +529,13 @@ public class CFFParser
CFFDataInput fontDictInput = new CFFDataInput(bytes);
DictData fontDict = readDictData(fontDictInput);
+ // read private dict
+ DictData.Entry privateEntry = fontDict.getEntry("Private");
+ if (privateEntry == null)
+ {
+ throw new IOException("Font DICT invalid without \"Private\" entry");
+ }
+
// font dict
Map<String, Object> fontDictMap = new LinkedHashMap<String, Object>(4);
fontDictMap.put("FontName", getString(fontDict, "FontName"));
@@ -538,17 +545,10 @@ public class CFFParser
// TODO OD-4 : Add here other keys
fontDictionaries.add(fontDictMap);
- // read private dict
- DictData.Entry privateEntry = fontDict.getEntry("Private");
- if (privateEntry == null)
- {
- throw new IOException("Font DICT invalid without \"Private\" entry");
- }
int privateOffset = privateEntry.getNumber(1).intValue();
input.setPosition(privateOffset);
int privateSize = privateEntry.getNumber(0).intValue();
- CFFDataInput privateDictData = new CFFDataInput(input.readBytes(privateSize));
- DictData privateDict = readDictData(privateDictData);
+ DictData privateDict = readDictData(input, privateSize);
// populate private dict
Map<String, Object> privDict = readPrivateDict(privateDict);