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 2014/09/18 22:54:47 UTC

svn commit: r1626085 - in /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff: CFFCIDFont.java CFFParser.java

Author: jahewson
Date: Thu Sep 18 20:54:47 2014
New Revision: 1626085

URL: http://svn.apache.org/r1626085
Log:
PDFBOX-2177: Fix bug with Format3FDSelect, thanks to simon steiner

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFCIDFont.java
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFCIDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFCIDFont.java?rev=1626085&r1=1626084&r2=1626085&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFCIDFont.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFCIDFont.java Thu Sep 18 20:54:47 2014
@@ -199,9 +199,9 @@ public class CFFCIDFont extends CFFFont
         return privDict.containsKey("nominalWidthX") ? ((Number)privDict.get("nominalWidthX")).intValue() : 0;
     }
 
-    private IndexData getLocalSubrIndex(int cid)
+    private IndexData getLocalSubrIndex(int gid)
     {
-        int fdArrayIndex = this.fdSelect.getFDIndex(cid);
+        int fdArrayIndex = this.fdSelect.getFDIndex(gid);
         if (fdArrayIndex == -1)
         {
             return new IndexData(0);
@@ -229,7 +229,7 @@ public class CFFCIDFont extends CFFFont
                 bytes = charStrings.get(0); // .notdef
             }
             Type2CharStringParser parser = new Type2CharStringParser(fontName, cid);
-            List<Object> type2seq = parser.parse(bytes, globalSubrIndex, getLocalSubrIndex(cid));
+            List<Object> type2seq = parser.parse(bytes, globalSubrIndex, getLocalSubrIndex(gid));
             type2 = new CIDKeyedType2CharString(reader, fontName, cid, gid, type2seq, getDefaultWidthX(cid), getNominalWidthX(cid));
             charStringCache.put(cid, type2);
         }

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=1626085&r1=1626084&r2=1626085&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 Thu Sep 18 20:54:47 2014
@@ -819,7 +819,7 @@ public class CFFParser
         {
             for (int i = 0; i < nbRanges; ++i)
             {
-                if (range3[i].first >= gid)
+                if (range3[i].first <= gid)
                 {
                     if (i + 1 < nbRanges)
                     {