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 2010/03/10 18:06:27 UTC

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

Author: lehmi
Date: Wed Mar 10 17:06:27 2010
New Revision: 921454

URL: http://svn.apache.org/viewvc?rev=921454&view=rev
Log:
PDFBOX-634: using the count field to determine how many glyphs are available. Patch by Villu Ruusmann (villu dot ruusmann at gmail dot com)

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

Modified: pdfbox/fontbox/trunk/src/main/java/org/apache/fontbox/cff/CFFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/fontbox/trunk/src/main/java/org/apache/fontbox/cff/CFFParser.java?rev=921454&r1=921453&r2=921454&view=diff
==============================================================================
--- pdfbox/fontbox/trunk/src/main/java/org/apache/fontbox/cff/CFFParser.java (original)
+++ pdfbox/fontbox/trunk/src/main/java/org/apache/fontbox/cff/CFFParser.java Wed Mar 10 17:06:27 2010
@@ -323,11 +323,11 @@ public class CFFParser
         font.getCharStringsDict().put(".notdef", charStringsIndex.getBytes(0));
         int[] gids = new int[charStringsIndex.count];
         List<CFFCharset.Entry> glyphEntries = charset.getEntries();
-        for (int i = 0; i < glyphEntries.size(); i++)
+        for (int i = 1; i < charStringsIndex.count; i++)
         {
-            CFFCharset.Entry glyphEntry = glyphEntries.get(i);
-            gids[i] = glyphEntry.getSID();
-            font.getCharStringsDict().put(glyphEntry.getName(), charStringsIndex.getBytes(i + 1));
+            CFFCharset.Entry glyphEntry = glyphEntries.get(i - 1);
+            gids[i - 1] = glyphEntry.getSID();
+            font.getCharStringsDict().put(glyphEntry.getName(), charStringsIndex.getBytes(i));
         }
         DictData.Entry encodingEntry = topDict.getEntry("Encoding");
         CFFEncoding encoding;