]> git.parisson.com Git - pdf.js.git/commitdiff
Fix for issue #418
authorVivien Nicolas <21@vingtetun.org>
Wed, 31 Aug 2011 21:26:34 +0000 (23:26 +0200)
committerVivien Nicolas <21@vingtetun.org>
Wed, 31 Aug 2011 21:26:34 +0000 (23:26 +0200)
fonts.js

index 02aa52601c9a96a2199c1a960b97a0940835a868..adf0a48e3ed992077b9abb399c45249f840e9a45 100755 (executable)
--- a/fonts.js
+++ b/fonts.js
@@ -2208,21 +2208,28 @@ var Type2CFF = (function() {
 
       var charstrings = [];
       var differences = properties.differences;
-      var index = 0;
+      var index = 0, code = 0;
       var kCmapGlyphOffset = 0xE000;
       for (var i = 1; i < charsets.length; i++) {
         var glyph = charsets[i];
-        for (var j = index; j < differences.length; j++) {
-          if (differences[j]) {
-            index = j;
-            break;
+        if (differences.length) {
+          for (var j = index; j < differences.length; j++) {
+            if (differences[j]) {
+              index = j;
+              break;
+            }
           }
-        }
 
-        var code = differences.indexOf(glyph);
-        if (code == -1)
-          code = properties.glyphs[glyph] || index;
+          code = differences.indexOf(glyph);
+          if (code == -1)
+            code = properties.glyphs[glyph] || index;
+        } else {
+          code = GlyphsUnicode[glyph] || index;
+          index = code;
+        }
 
+        if (!code)
+          continue;
         var width = widths[code] || defaultWidth;
         properties.encoding[index] = index + kCmapGlyphOffset;
         charstrings.push({unicode: code + kCmapGlyphOffset, width: width, gid: i});