Browse Source

Font ascent descent calculation fix

pmysore1 8 years ago
parent
commit
af8292058f
  1. 4
      src/core/cff_parser.js
  2. 4
      src/core/type1_parser.js
  3. 1
      test/pdfs/.gitignore
  4. BIN
      test/pdfs/font_ascent_descent.pdf
  5. 6
      test/test_manifest.json

4
src/core/cff_parser.js

@ -257,8 +257,8 @@ var CFFParser = (function CFFParserClosure() {
var fontBBox = topDict.getByName('FontBBox'); var fontBBox = topDict.getByName('FontBBox');
if (fontBBox) { if (fontBBox) {
// adjusting ascent/descent // adjusting ascent/descent
properties.ascent = fontBBox[3]; properties.ascent = Math.max(fontBBox[3], fontBBox[1]);
properties.descent = fontBBox[1]; properties.descent = Math.min(fontBBox[1], fontBBox[3]);
properties.ascentScaled = true; properties.ascentScaled = true;
} }

4
src/core/type1_parser.js

@ -705,8 +705,8 @@ var Type1Parser = (function Type1ParserClosure() {
case 'FontBBox': case 'FontBBox':
var fontBBox = this.readNumberArray(); var fontBBox = this.readNumberArray();
// adjusting ascent/descent // adjusting ascent/descent
properties.ascent = fontBBox[3]; properties.ascent = Math.max(fontBBox[3], fontBBox[1]);
properties.descent = fontBBox[1]; properties.descent = Math.min(fontBBox[1], fontBBox[3]);
properties.ascentScaled = true; properties.ascentScaled = true;
break; break;
} }

1
test/pdfs/.gitignore vendored

@ -271,3 +271,4 @@
!zero_descent.pdf !zero_descent.pdf
!operator-in-TJ-array.pdf !operator-in-TJ-array.pdf
!issue7878.pdf !issue7878.pdf
!font_ascent_descent.pdf

BIN
test/pdfs/font_ascent_descent.pdf

Binary file not shown.

6
test/test_manifest.json

@ -3367,5 +3367,11 @@
"link": false, "link": false,
"rounds": 1, "rounds": 1,
"type": "text" "type": "text"
},
{ "id": "font_ascent_descent",
"file": "pdfs/font_ascent_descent.pdf",
"md5": "c0048a7735010002b998c112335e47bf",
"rounds": 1,
"type": "eq"
} }
] ]

Loading…
Cancel
Save