Fallback to a standard font if a font-file entry doesn't contain a Stream (issue 18941)
The PDF document is clearly corrupt, since it has /FontFile2 entries that are Dictionaries which obviously isn't correct. While there's obviously no guarantee that things will look perfect this way, actually rendering the text at all should be an improvement in general.
This commit is contained in:
parent
d37e4b08e4
commit
63b34114b1
@ -4436,6 +4436,16 @@ class PartialEvaluator {
|
||||
let glyphScaleFactors = null;
|
||||
let systemFontInfo = null;
|
||||
if (fontFile) {
|
||||
if (!(fontFile instanceof BaseStream)) {
|
||||
const msg = `Font file should be a Stream in "${fontName.name}".`;
|
||||
|
||||
if (!this.options.ignoreErrors) {
|
||||
throw new FormatError(msg);
|
||||
}
|
||||
warn(msg);
|
||||
fontFile = new NullStream();
|
||||
}
|
||||
|
||||
if (fontFile.dict) {
|
||||
const subtypeEntry = fontFile.dict.get("Subtype");
|
||||
if (subtypeEntry instanceof Name) {
|
||||
|
||||
1
test/pdfs/issue18941.pdf.link
Normal file
1
test/pdfs/issue18941.pdf.link
Normal file
@ -0,0 +1 @@
|
||||
https://github.com/user-attachments/files/17473385/21_10_2024_FAMI.INVERSION.SAS_901060703_inicial.pdf
|
||||
@ -2352,6 +2352,15 @@
|
||||
"lastPage": 3,
|
||||
"type": "eq"
|
||||
},
|
||||
{
|
||||
"id": "issue18941",
|
||||
"file": "pdfs/issue18941.pdf",
|
||||
"md5": "6288e69c1dd240859c1d49c22a53a5c7",
|
||||
"rounds": 1,
|
||||
"link": true,
|
||||
"lastPage": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{
|
||||
"id": "f1040",
|
||||
"file": "pdfs/f1040.pdf",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user