--- CMapParser.java.org	2010-08-28 15:26:18.406250000 +0900
+++ CMapParser.java	2010-08-28 15:29:44.328125000 +0900
@@ -213,12 +213,11 @@
                         byte[] endCode = (byte[])parseNextToken( cmapStream );
                         int end = createIntFromBytes(endCode);
                         int mappedCode = (Integer)parseNextToken( cmapStream );
-                        int numberOfMappings = end-start;
+                        int numberOfMappings = end-start+1;
                         byte[] mappedBytes = createBytesFromInt(mappedCode); 
                         for (int i=0; i<numberOfMappings; i++) {
-                            String mappedStr = createStringFromBytes(startCode);
+                            String mappedStr = createStringFromBytes(mappedBytes);
                             result.addMapping(mappedBytes, mappedStr);
-                            increment(startCode);
                             increment(mappedBytes);
                         }
                     }
