diff --git a/src/core/evaluator.js b/src/core/evaluator.js index df5b1c1d7..2376799c3 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -2350,6 +2350,10 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { } } + const firstChar = (dict.get('FirstChar') || 0); + const lastChar = (dict.get('LastChar') || (composite ? 0xFFFF : 0xFF)); + hash.update(`${firstChar}-${lastChar}`); + var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode'); if (isStream(toUnicode)) { var stream = toUnicode.str || toUnicode; diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 259a95710..de9e5edcc 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -76,6 +76,7 @@ !issue10388_reduced.pdf !issue10438_reduced.pdf !issue10529.pdf +!issue10665_reduced.pdf !bad-PageLabels.pdf !decodeACSuccessive.pdf !filled-background.pdf diff --git a/test/pdfs/issue10665_reduced.pdf b/test/pdfs/issue10665_reduced.pdf new file mode 100644 index 000000000..49d96ec4b Binary files /dev/null and b/test/pdfs/issue10665_reduced.pdf differ diff --git a/test/test_manifest.json b/test/test_manifest.json index c188d388e..884d50fc3 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -2564,6 +2564,13 @@ "link": false, "type": "eq" }, + { "id": "issue10665", + "file": "pdfs/issue10665_reduced.pdf", + "md5": "4c8938c808153f6b3840e8a5eb68b804", + "rounds": 1, + "link": false, + "type": "eq" + }, { "id": "issue1466", "file": "pdfs/issue1466.pdf", "md5": "8a8877432e5bb10cfd50d60488d947bb",