Browse Source

Remove bad chars instead of replaces all.

Brendan Dahl 13 years ago
parent
commit
b9cd526a35
  1. 28
      src/fonts.js

28
src/fonts.js

@ -3699,10 +3699,30 @@ var Type2CFF = (function Type2CFFClosure() { @@ -3699,10 +3699,30 @@ var Type2CFF = (function Type2CFFClosure() {
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;
// Only certain chars are permitted in the font name.
for (var j = 0; j < length; ++j) {
var c = data[j];
if (j === 0 && c === 0)
continue;
if (c < 33 || c > 126) {
data[j] = 95;
continue;
}
switch (c) {
case 91: // [
case 93: // ]
case 40: // (
case 41: // )
case 123: // {
case 125: // }
case 60: // <
case 62: // >
case 47: // /
case 37: // %
data[j] = 95;
break;
}
}
}
},
getStrings: function cff_getStrings(stringIndex) {

Loading…
Cancel
Save