From 31b5f566d6696f2984ae0b0a744e26e1e50aa500 Mon Sep 17 00:00:00 2001
From: Yury Delendik <ydelendik@mozilla.com>
Date: Sat, 13 Oct 2012 15:35:23 -0500
Subject: [PATCH] Fixes reading CFF with two .notdef in charset

---
 src/fonts.js                 | 5 ++---
 test/pdfs/issue1912.pdf.link | 1 +
 test/test_manifest.json      | 7 +++++++
 3 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100644 test/pdfs/issue1912.pdf.link

diff --git a/src/fonts.js b/src/fonts.js
index 17d847a8d..baa0068e0 100644
--- a/src/fonts.js
+++ b/src/fonts.js
@@ -5099,10 +5099,9 @@ var CFFFont = (function CFFFontClosure() {
           inverseEncoding[encoding[charcode]] = charcode | 0;
       else
         inverseEncoding = charsets;
-      for (var i = 0, ii = charsets.length; i < ii; i++) {
+      var i = charsets[0] == '.notdef' ? 1 : 0;
+      for (var ii = charsets.length; i < ii; i++) {
         var glyph = charsets[i];
-        if (glyph == '.notdef')
-          continue;
 
         var code = inverseEncoding[i];
         if (!code || isSpecialUnicode(code)) {
diff --git a/test/pdfs/issue1912.pdf.link b/test/pdfs/issue1912.pdf.link
new file mode 100644
index 000000000..3eade450a
--- /dev/null
+++ b/test/pdfs/issue1912.pdf.link
@@ -0,0 +1 @@
+http://rua.ua.es/dspace/bitstream/10045/23475/1/OBETS_07_01_03.pdf
diff --git a/test/test_manifest.json b/test/test_manifest.json
index e8cac9a20..a99538011 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -656,6 +656,13 @@
       "link": true,
       "type": "eq"
     },
+    {  "id": "issue1912",
+      "file": "pdfs/issue1912.pdf",
+      "md5": "15305b7c2cba971e7423de3f6ad38fef",
+      "rounds": 1,
+      "link": true,
+      "type": "eq"
+    },
     {  "id": "gradientfill",
       "file": "pdfs/gradientfill.pdf",
       "md5": "cbc1988e4803f647fa83467a85f0e231",