You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2015/03/24 23:53:52 UTC
svn commit: r1669018 -
/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java
Author: jahewson
Date: Tue Mar 24 22:53:51 2015
New Revision: 1669018
URL: http://svn.apache.org/r1669018
Log:
PDFBOX-2576: Read CFF private dicts in a common method
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=1669018&r1=1669017&r2=1669018&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 Mar 24 22:53:51 2015
@@ -518,24 +518,7 @@ public class CFFParser
DictData privateDict = readDictData(privateDictData);
// populate private dict
- Map<String, Object> privDict = new LinkedHashMap<String, Object>();
- privDict.put("BlueValues", getDelta(privateDict, "BlueValues", null));
- privDict.put("OtherBlues", getDelta(privateDict, "OtherBlues", null));
- privDict.put("FamilyBlues", getDelta(privateDict, "FamilyBlues", null));
- privDict.put("FamilyOtherBlues", getDelta(privateDict, "FamilyOtherBlues", null));
- privDict.put("BlueScale", getNumber(privateDict, "BlueScale", 0.039625));
- privDict.put("BlueShift", getNumber(privateDict, "BlueShift", 7));
- privDict.put("BlueFuzz", getNumber(privateDict, "BlueFuzz", 1));
- privDict.put("StdHW", getNumber(privateDict, "StdHW", null));
- privDict.put("StdVW", getNumber(privateDict, "StdVW", null));
- privDict.put("StemSnapH", getDelta(privateDict, "StemSnapH", null));
- privDict.put("StemSnapV", getDelta(privateDict, "StemSnapV", null));
- privDict.put("ForceBold", getBoolean(privateDict, "ForceBold", false));
- privDict.put("LanguageGroup", getNumber(privateDict, "LanguageGroup", 0));
- privDict.put("ExpansionFactor", getNumber(privateDict, "ExpansionFactor", 0.06));
- privDict.put("initialRandomSeed", getNumber(privateDict, "initialRandomSeed", 0));
- privDict.put("defaultWidthX", getNumber(privateDict, "defaultWidthX", 0));
- privDict.put("nominalWidthX", getNumber(privateDict, "nominalWidthX", 0));
+ Map<String, Object> privDict = readPrivateDict(privateDict);
privateDictionaries.add(privDict);
// local subrs
@@ -567,6 +550,29 @@ public class CFFParser
font.setFdSelect(fdSelect);
}
+ private Map<String, Object> readPrivateDict(DictData privateDict)
+ {
+ Map<String, Object> privDict = new LinkedHashMap<String, Object>();
+ privDict.put("BlueValues", getDelta(privateDict, "BlueValues", null));
+ privDict.put("OtherBlues", getDelta(privateDict, "OtherBlues", null));
+ privDict.put("FamilyBlues", getDelta(privateDict, "FamilyBlues", null));
+ privDict.put("FamilyOtherBlues", getDelta(privateDict, "FamilyOtherBlues", null));
+ privDict.put("BlueScale", getNumber(privateDict, "BlueScale", 0.039625));
+ privDict.put("BlueShift", getNumber(privateDict, "BlueShift", 7));
+ privDict.put("BlueFuzz", getNumber(privateDict, "BlueFuzz", 1));
+ privDict.put("StdHW", getNumber(privateDict, "StdHW", null));
+ privDict.put("StdVW", getNumber(privateDict, "StdVW", null));
+ privDict.put("StemSnapH", getDelta(privateDict, "StemSnapH", null));
+ privDict.put("StemSnapV", getDelta(privateDict, "StemSnapV", null));
+ privDict.put("ForceBold", getBoolean(privateDict, "ForceBold", false));
+ privDict.put("LanguageGroup", getNumber(privateDict, "LanguageGroup", 0));
+ privDict.put("ExpansionFactor", getNumber(privateDict, "ExpansionFactor", 0.06));
+ privDict.put("initialRandomSeed", getNumber(privateDict, "initialRandomSeed", 0));
+ privDict.put("defaultWidthX", getNumber(privateDict, "defaultWidthX", 0));
+ privDict.put("nominalWidthX", getNumber(privateDict, "nominalWidthX", 0));
+ return privDict;
+ }
+
/**
* Parse dictionaries specific to a Type 1-equivalent font.
*/
@@ -601,23 +607,11 @@ public class CFFParser
DictData privateDict = readDictData(privateDictData);
// populate private dict
- font.addToPrivateDict("BlueValues", getDelta(privateDict, "BlueValues", null));
- font.addToPrivateDict("OtherBlues", getDelta(privateDict, "OtherBlues", null));
- font.addToPrivateDict("FamilyBlues", getDelta(privateDict, "FamilyBlues", null));
- font.addToPrivateDict("FamilyOtherBlues", getDelta(privateDict, "FamilyOtherBlues", null));
- font.addToPrivateDict("BlueScale", getNumber(privateDict, "BlueScale", 0.039625));
- font.addToPrivateDict("BlueShift", getNumber(privateDict, "BlueShift", 7));
- font.addToPrivateDict("BlueFuzz", getNumber(privateDict, "BlueFuzz", 1));
- font.addToPrivateDict("StdHW", getNumber(privateDict, "StdHW", null));
- font.addToPrivateDict("StdVW", getNumber(privateDict, "StdVW", null));
- font.addToPrivateDict("StemSnapH", getDelta(privateDict, "StemSnapH", null));
- font.addToPrivateDict("StemSnapV", getDelta(privateDict, "StemSnapV", null));
- font.addToPrivateDict("ForceBold", getBoolean(privateDict, "ForceBold", false));
- font.addToPrivateDict("LanguageGroup", getNumber(privateDict, "LanguageGroup", 0));
- font.addToPrivateDict("ExpansionFactor", getNumber(privateDict, "ExpansionFactor", 0.06));
- font.addToPrivateDict("initialRandomSeed", getNumber(privateDict, "initialRandomSeed", 0));
- font.addToPrivateDict("defaultWidthX", getNumber(privateDict, "defaultWidthX", 0));
- font.addToPrivateDict("nominalWidthX", getNumber(privateDict, "nominalWidthX", 0));
+ Map<String, Object> privDict = readPrivateDict(privateDict);
+ for (Map.Entry<String, Object> entry : privDict.entrySet())
+ {
+ font.addToPrivateDict(entry.getKey(), entry.getValue());
+ }
// local subrs
int localSubrOffset = (Integer) getNumber(privateDict, "Subrs", 0);