Merge pull request #12725 from brendandahl/remeasure-std

Use widths defined by font for standard fonts.
This commit is contained in:
Tim van der Meij 2020-12-11 20:36:19 +01:00 committed by GitHub
commit d1848f5022
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 6 deletions

View File

@ -1319,11 +1319,12 @@ var Font = (function FontClosure() {
let fontName = name.replace(/[,_]/g, "-").replace(/\s/g, "");
var stdFontMap = getStdFontMap(),
nonStdFontMap = getNonStdFontMap();
var isStandardFont =
!!stdFontMap[fontName] ||
!!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);
fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;
const isStandardFont = !!stdFontMap[fontName];
const isMappedToStandardFont = !!(
nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]
);
fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;
this.bold = fontName.search(/bold/gi) !== -1;
this.italic =
fontName.search(/oblique/gi) !== -1 ||
@ -1334,9 +1335,9 @@ var Font = (function FontClosure() {
this.black = name.search(/Black/g) !== -1;
// if at least one width is present, remeasure all chars when exists
this.remeasure = Object.keys(this.widths).length > 0;
this.remeasure = !isStandardFont && Object.keys(this.widths).length > 0;
if (
isStandardFont &&
(isStandardFont || isMappedToStandardFont) &&
type === "CIDFontType2" &&
this.cidEncoding.startsWith("Identity-")
) {

View File

@ -358,6 +358,7 @@
!issue6298.pdf
!issue6889.pdf
!bug1001080.pdf
!bug1671312_reduced.pdf
!issue6108.pdf
!issue6113.pdf
!openoffice.pdf

Binary file not shown.

View File

@ -2259,6 +2259,12 @@
"link": false,
"type": "text"
},
{ "id": "bug1671312_reduced",
"file": "pdfs/bug1671312_reduced.pdf",
"md5": "db13fe3f03a7d0bd0e248f5c2bcb2a5d",
"rounds": 1,
"type": "eq"
},
{ "id": "issue7020",
"file": "pdfs/issue7020.pdf",
"md5": "93b464e21c649e64ae92eeafe99fc31b",