Removes duplicate entries after reading cmap table

This commit is contained in:
Yury Delendik 2013-11-01 16:30:28 -05:00
parent b34c6a4e02
commit bb2570c9c1
4 changed files with 18 additions and 1 deletions

View File

@ -3077,6 +3077,17 @@ var Font = (function FontClosure() {
error('cmap table has unsupported format: ' + format);
}
// removing duplicate entries
mappings.sort(function (a, b) {
return a.charcode - b.charcode;
});
for (var i = 1; i < mappings.length; i++) {
if (mappings[i - 1].charcode === mappings[i].charcode) {
mappings.splice(i, 1);
i--;
}
}
return {
platformId: potentialTable.platformId,
encodingId: potentialTable.encodingId,
@ -3758,7 +3769,6 @@ var Font = (function FontClosure() {
if (isTrueType) {
var isGlyphLocationsLong = int16([tables.head.data[50],
tables.head.data[51]]);
sanitizeGlyphLocations(tables.loca, tables.glyf, numGlyphs,
isGlyphLocationsLong, hintsValid, dupFirstEntry);
}

View File

@ -50,6 +50,7 @@
!noembed-eucjp.pdf
!noembed-sjis.pdf
!vertical.pdf
!issue3025.pdf
!issue2099-1.pdf
!issue3371.pdf
!issue2956.pdf

BIN
test/pdfs/issue3025.pdf Normal file

Binary file not shown.

View File

@ -1363,6 +1363,12 @@
"rounds": 1,
"type": "eq"
},
{ "id": "issue3025",
"file": "pdfs/issue3025.pdf",
"md5": "8e4e8eacbd7c4c248deeca0ec49d38da",
"rounds": 1,
"type": "eq"
},
{ "id": "issue2177-eq",
"file": "pdfs/issue2177.pdf",
"md5": "48a808278bf31de8414c4e03ecd0900a",