Merge pull request #1892 from brendandahl/seac
Add support for type 1 seac charstring command.
This commit is contained in:
commit
7fff630e87
17
src/fonts.js
17
src/fonts.js
@ -3391,8 +3391,8 @@ var Type1Parser = function type1Parser() {
|
||||
'1': 'vstem',
|
||||
'2': 'hstem',
|
||||
|
||||
'6': 'endchar', // seac
|
||||
// Type1 only command with command not (yet) built-in ,throw an error
|
||||
'6': -1, // seac
|
||||
'7': -1, // sbw
|
||||
|
||||
'11': 'sub',
|
||||
@ -3429,7 +3429,8 @@ var Type1Parser = function type1Parser() {
|
||||
for (var i = 0; i < numArgs; i++) {
|
||||
if (index < 0) {
|
||||
args.unshift({ arg: [0],
|
||||
value: 0 });
|
||||
value: 0,
|
||||
offset: 0 });
|
||||
warn('Malformed charstring stack: not enough values on stack.');
|
||||
continue;
|
||||
}
|
||||
@ -3443,11 +3444,13 @@ var Type1Parser = function type1Parser() {
|
||||
b = 1;
|
||||
}
|
||||
args.unshift({ arg: [a, b, 'div'],
|
||||
value: a / b });
|
||||
value: a / b,
|
||||
offset: index - 2 });
|
||||
index -= 3;
|
||||
} else if (isInt(token)) {
|
||||
args.unshift({ arg: stack.slice(index, index + 1),
|
||||
value: token });
|
||||
value: token,
|
||||
offset: index });
|
||||
index--;
|
||||
} else {
|
||||
warn('Malformed charsting stack: found bad token ' + token + '.');
|
||||
@ -3498,6 +3501,12 @@ var Type1Parser = function type1Parser() {
|
||||
// pop or setcurrentpoint commands can be ignored
|
||||
// since we are not doing callothersubr
|
||||
continue;
|
||||
} else if (escape == 6) {
|
||||
// seac is like type 2's special endchar but it doesn't use the
|
||||
// first argument asb, so remove it.
|
||||
var args = breakUpArgs(charstring, 5);
|
||||
var arg0 = args[0];
|
||||
charstring.splice(arg0.offset, arg0.arg.length);
|
||||
} else if (!kHintingEnabled && (escape == 1 || escape == 2)) {
|
||||
charstring.push('drop', 'drop', 'drop', 'drop', 'drop', 'drop');
|
||||
continue;
|
||||
|
1
test/pdfs/issue818.pdf.link
Normal file
1
test/pdfs/issue818.pdf.link
Normal file
@ -0,0 +1 @@
|
||||
http://www.effi.org/system/files?file=effi-siv-251110.pdf
|
@ -633,5 +633,13 @@
|
||||
"pageLimit": 2,
|
||||
"link": true,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue818",
|
||||
"file": "pdfs/issue818.pdf",
|
||||
"md5": "dd2f8a5bd65164ad74da2b45a6ca90cc",
|
||||
"rounds": 1,
|
||||
"pageLimit": 1,
|
||||
"link": true,
|
||||
"type": "eq"
|
||||
}
|
||||
]
|
||||
|
Loading…
x
Reference in New Issue
Block a user