1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 14:48:08 +02:00

Merge pull request #18324 from calixteman/bug1539074_1

Fix the computation of unitsPerEm when the fontMatrix has some negative coefficients
This commit is contained in:
calixteman 2024-06-25 11:12:32 +02:00 committed by GitHub
commit 4899b2ea07
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 10 additions and 2 deletions

View file

@ -799,7 +799,7 @@ function createOS2Table(properties, charstrings, override) {
const unitsPerEm =
override.unitsPerEm ||
(properties.fontMatrix
? 1 / Math.max(...properties.fontMatrix.slice(0, 4))
? 1 / Math.max(...properties.fontMatrix.slice(0, 4).map(Math.abs))
: 1000);
// if the font units differ to the PDF glyph space units
@ -3199,7 +3199,7 @@ class Font {
}
const unitsPerEm = properties.fontMatrix
? 1 / Math.max(...properties.fontMatrix.slice(0, 4))
? 1 / Math.max(...properties.fontMatrix.slice(0, 4).map(Math.abs))
: 1000;
const builder = new OpenTypeFileBuilder("\x4F\x54\x54\x4F");

View file

@ -650,3 +650,4 @@
!issue17998.pdf
!pdfjs_wikipedia.pdf
!bug1539074.pdf
!bug1539074.1.pdf

BIN
test/pdfs/bug1539074.1.pdf Executable file

Binary file not shown.

View file

@ -10098,6 +10098,13 @@
"rounds": 1,
"type": "eq"
},
{
"id": "bug1539074_1",
"file": "pdfs/bug1539074.1.pdf",
"md5": "d15c49142fda433323d3d35f2762cd33",
"rounds": 1,
"type": "eq"
},
{
"id": "bug1903731",
"file": "pdfs/bug1903731.pdf",