Merge pull request #5012 from Snuffleupagus/issue-5010
Prevent CMapFactory.create from failing by passing the necessary parameters from PartialEvaluator_readToUnicode (issue 5010)
This commit is contained in:
commit
53320ce734
@ -815,7 +815,7 @@ var CMapFactory = (function CMapFactoryClosure() {
|
|||||||
if (BUILT_IN_CMAPS.indexOf(name) === -1) {
|
if (BUILT_IN_CMAPS.indexOf(name) === -1) {
|
||||||
error('Unknown cMap name: ' + name);
|
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) {
|
if (builtInCMapParams.packed) {
|
||||||
return parseBinaryCMap(name, builtInCMapParams);
|
return parseBinaryCMap(name, builtInCMapParams);
|
||||||
|
@ -1224,7 +1224,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
// 9.10.2
|
// 9.10.2
|
||||||
var toUnicode = (dict.get('ToUnicode') || baseDict.get('ToUnicode'));
|
var toUnicode = (dict.get('ToUnicode') || baseDict.get('ToUnicode'));
|
||||||
if (toUnicode) {
|
if (toUnicode) {
|
||||||
properties.toUnicode = this.readToUnicode(toUnicode, xref, properties);
|
properties.toUnicode = this.readToUnicode(toUnicode);
|
||||||
}
|
}
|
||||||
if (properties.composite) {
|
if (properties.composite) {
|
||||||
// CIDSystemInfo helps to match CID to glyphs
|
// CIDSystemInfo helps to match CID to glyphs
|
||||||
@ -1308,9 +1308,11 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {
|
readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {
|
||||||
var cmapObj = toUnicode;
|
var cmapObj = toUnicode;
|
||||||
if (isName(cmapObj)) {
|
if (isName(cmapObj)) {
|
||||||
return CMapFactory.create(cmapObj).map;
|
return CMapFactory.create(cmapObj,
|
||||||
|
{ url: PDFJS.cMapUrl, packed: PDFJS.cMapPacked }, null).map;
|
||||||
} else if (isStream(cmapObj)) {
|
} 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
|
// Convert UTF-16BE
|
||||||
// NOTE: cmap can be a sparse array, so use forEach instead of for(;;)
|
// NOTE: cmap can be a sparse array, so use forEach instead of for(;;)
|
||||||
// to iterate over all keys.
|
// to iterate over all keys.
|
||||||
|
1
test/pdfs/.gitignore
vendored
1
test/pdfs/.gitignore
vendored
@ -67,6 +67,7 @@
|
|||||||
!noembed-sjis.pdf
|
!noembed-sjis.pdf
|
||||||
!vertical.pdf
|
!vertical.pdf
|
||||||
!bug878026.pdf
|
!bug878026.pdf
|
||||||
|
!issue5010.pdf
|
||||||
!issue4934.pdf
|
!issue4934.pdf
|
||||||
!issue4650.pdf
|
!issue4650.pdf
|
||||||
!issue3025.pdf
|
!issue3025.pdf
|
||||||
|
BIN
test/pdfs/issue5010.pdf
Normal file
BIN
test/pdfs/issue5010.pdf
Normal file
Binary file not shown.
@ -445,6 +445,15 @@
|
|||||||
"lastPage": 1,
|
"lastPage": 1,
|
||||||
"type": "eq"
|
"type": "eq"
|
||||||
},
|
},
|
||||||
|
{ "id": "issue5010",
|
||||||
|
"file": "pdfs/issue5010.pdf",
|
||||||
|
"md5": "419f4b13403a0871c463ec69d96e342c",
|
||||||
|
"rounds": 1,
|
||||||
|
"link": false,
|
||||||
|
"firstPage": 1,
|
||||||
|
"lastPage": 1,
|
||||||
|
"type": "eq"
|
||||||
|
},
|
||||||
{ "id": "issue4934",
|
{ "id": "issue4934",
|
||||||
"file": "pdfs/issue4934.pdf",
|
"file": "pdfs/issue4934.pdf",
|
||||||
"md5": "6099da44f677702ae65a648b51a2226d",
|
"md5": "6099da44f677702ae65a648b51a2226d",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user