Browse Source

Fixes glyphs with invalid flags

Yury Delendik 12 years ago
parent
commit
82a9a13e5f
  1. 4
      src/core/fonts.js
  2. 1
      test/pdfs/.gitignore
  3. BIN
      test/pdfs/bug903856.pdf
  4. 8
      test/test_manifest.json

4
src/core/fonts.js

@ -3163,8 +3163,8 @@ var Font = (function FontClosure() { @@ -3163,8 +3163,8 @@ var Font = (function FontClosure() {
for (var i = 0; i < flagsCount; i++) {
var flag = glyf[j++];
if (flag & 0xC0) {
// reserved flags must be zero, rejecting
return 0;
// reserved flags must be zero, cleaning up
glyf[j - 1] = flag & 0x3F;
}
var xyLength = ((flag & 2) ? 1 : (flag & 16) ? 0 : 2) +
((flag & 4) ? 1 : (flag & 32) ? 0 : 2);

1
test/pdfs/.gitignore vendored

@ -46,6 +46,7 @@ @@ -46,6 +46,7 @@
!issue1002.pdf
!issue925.pdf
!gradientfill.pdf
!bug903856.pdf
!basicapi.pdf
!mixedfonts.pdf
!shading_extend.pdf

BIN
test/pdfs/bug903856.pdf

Binary file not shown.

8
test/test_manifest.json

@ -1457,6 +1457,14 @@ @@ -1457,6 +1457,14 @@
"lastPage": 2,
"type": "eq"
},
{ "id": "bug903856",
"file": "pdfs/bug903856.pdf",
"md5": "286eaa9d06a5809f4f08f2093cef8f3f",
"rounds": 1,
"firstPage": 1,
"lastPage": 1,
"type": "eq"
},
{ "id": "issue3205",
"file": "pdfs/issue3205.pdf",
"md5": "e833326f69f2fdf7c1c8438fe1d3b622",

Loading…
Cancel
Save