1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 16:18:08 +02:00

Fix bad chars in Type2CFF font names.

This commit is contained in:
Brendan Dahl 2012-02-19 22:12:22 -08:00
parent e0e6209baf
commit b6e4fc771f
4 changed files with 23 additions and 0 deletions

View file

@ -3321,7 +3321,9 @@ var Type2CFF = (function Type2CFFClosure() {
parse: function cff_parse() {
var header = this.parseHeader();
var properties = this.properties;
var nameIndex = this.parseIndex(header.endPos);
this.sanitizeName(nameIndex);
var dictIndex = this.parseIndex(nameIndex.endPos);
if (dictIndex.length != 1)
@ -3690,6 +3692,19 @@ var Type2CFF = (function Type2CFFClosure() {
}
return dict;
},
sanitizeName: function cff_sanitizeName(nameIndex) {
// There should really only be one font, but loop to make sure.
for (var i = 0, ii = nameIndex.length; i < ii; ++i) {
var data = nameIndex.get(i).data;
var length = data.length;
if (length > 127)
warn('Font had name longer than 127 chars, will be rejected.');
// Only certain chars are permitted in the font name. Set them all to
// 'A' to avoid being rejected.
for (var j = 0; j < length; ++j)
data[j] = 65;
}
},
getStrings: function cff_getStrings(stringIndex) {
function bytesToString(bytesArray) {
var str = '';