Prevent CMapFactory.create from failing by passing the necessary parameters from PartialEvaluator_readToUnicode (issue 5010)

This commit is contained in:
Jonas Jenwald 2014-06-27 00:41:44 +02:00
parent 2e98f9095e
commit 04975acceb
5 changed files with 16 additions and 4 deletions

View File

@ -815,7 +815,7 @@ var CMapFactory = (function CMapFactoryClosure() {
if (BUILT_IN_CMAPS.indexOf(name) === -1) {
error('Unknown cMap name: ' + name);
}
assert (builtInCMapParams, 'buildin cmap parameters are not provided');
assert(builtInCMapParams, 'built-in cMap parameters are not provided');
if (builtInCMapParams.packed) {
return parseBinaryCMap(name, builtInCMapParams);

View File

@ -1224,7 +1224,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
// 9.10.2
var toUnicode = (dict.get('ToUnicode') || baseDict.get('ToUnicode'));
if (toUnicode) {
properties.toUnicode = this.readToUnicode(toUnicode, xref, properties);
properties.toUnicode = this.readToUnicode(toUnicode);
}
if (properties.composite) {
// CIDSystemInfo helps to match CID to glyphs
@ -1308,9 +1308,11 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {
var cmapObj = toUnicode;
if (isName(cmapObj)) {
return CMapFactory.create(cmapObj).map;
return CMapFactory.create(cmapObj,
{ url: PDFJS.cMapUrl, packed: PDFJS.cMapPacked }, null).map;
} else if (isStream(cmapObj)) {
var cmap = CMapFactory.create(cmapObj).map;
var cmap = CMapFactory.create(cmapObj,
{ url: PDFJS.cMapUrl, packed: PDFJS.cMapPacked }, null).map;
// Convert UTF-16BE
// NOTE: cmap can be a sparse array, so use forEach instead of for(;;)
// to iterate over all keys.

View File

@ -66,6 +66,7 @@
!noembed-sjis.pdf
!vertical.pdf
!bug878026.pdf
!issue5010.pdf
!issue4934.pdf
!issue4650.pdf
!issue3025.pdf

BIN
test/pdfs/issue5010.pdf Normal file

Binary file not shown.

View File

@ -436,6 +436,15 @@
"lastPage": 1,
"type": "eq"
},
{ "id": "issue5010",
"file": "pdfs/issue5010.pdf",
"md5": "419f4b13403a0871c463ec69d96e342c",
"rounds": 1,
"link": false,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
{ "id": "issue4934",
"file": "pdfs/issue4934.pdf",
"md5": "6099da44f677702ae65a648b51a2226d",