Attempt to improve non-embedded Wingdings font support (bug 1652224)
Now that font-substitution has been implemented, we should be able to do much a better job at supporting non-embedded Wingdings fonts. Given that this is a Windows-specific font, see https://en.wikipedia.org/wiki/Wingdings, this is however not guaranteed to work (well) on other platforms.
This commit is contained in:
parent
daa48e5305
commit
5a7beb9f30
@ -3517,8 +3517,10 @@ class PartialEvaluator {
|
||||
if (nonEmbeddedFont) {
|
||||
if (/Symbol/i.test(properties.name)) {
|
||||
encoding = SymbolSetEncoding;
|
||||
} else if (/Dingbats|Wingdings/i.test(properties.name)) {
|
||||
} else if (/Dingbats/i.test(properties.name)) {
|
||||
encoding = ZapfDingbatsEncoding;
|
||||
} else if (/Wingdings/i.test(properties.name)) {
|
||||
encoding = WinAnsiEncoding;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -281,6 +281,25 @@ const substitutionMap = new Map([
|
||||
fallback: "Helvetica-BoldOblique",
|
||||
},
|
||||
],
|
||||
[
|
||||
"Wingdings",
|
||||
{
|
||||
local: ["Wingdings", "URW Dingbats"],
|
||||
style: NORMAL,
|
||||
},
|
||||
],
|
||||
[
|
||||
"Wingdings-Regular",
|
||||
{
|
||||
alias: "Wingdings",
|
||||
},
|
||||
],
|
||||
[
|
||||
"Wingdings-Bold",
|
||||
{
|
||||
alias: "Wingdings",
|
||||
},
|
||||
],
|
||||
]);
|
||||
|
||||
const fontAliases = new Map([["Arial-Black", "ArialBlack"]]);
|
||||
|
@ -1238,9 +1238,6 @@ class Font {
|
||||
this.differences
|
||||
);
|
||||
} else if (/Dingbats/i.test(fontName)) {
|
||||
if (/Wingdings/i.test(name)) {
|
||||
warn("Non-embedded Wingdings font, falling back to ZapfDingbats.");
|
||||
}
|
||||
this.toFontChar = buildToFontChar(
|
||||
ZapfDingbatsEncoding,
|
||||
getDingbatsGlyphsUnicode(),
|
||||
|
@ -166,8 +166,6 @@ const getNonStdFontMap = getLookupTableFactory(function (t) {
|
||||
t["MS-PMincho-Italic"] = "MS PMincho-Italic";
|
||||
t.NuptialScript = "Times-Italic";
|
||||
t.SegoeUISymbol = "Helvetica";
|
||||
t.Wingdings = "ZapfDingbats";
|
||||
t["Wingdings-Regular"] = "ZapfDingbats";
|
||||
});
|
||||
|
||||
const getSerifFonts = getLookupTableFactory(function (t) {
|
||||
|
1
test/pdfs/bug1652224.pdf.link
Normal file
1
test/pdfs/bug1652224.pdf.link
Normal file
@ -0,0 +1 @@
|
||||
https://bugzilla.mozilla.org/attachment.cgi?id=9167775
|
1
test/pdfs/issue11451.pdf.link
Normal file
1
test/pdfs/issue11451.pdf.link
Normal file
@ -0,0 +1 @@
|
||||
https://github.com/mozilla/pdf.js/files/4003700/error2.pdf
|
@ -3442,6 +3442,23 @@
|
||||
"rounds": 1,
|
||||
"type": "text"
|
||||
},
|
||||
{ "id": "issue11451",
|
||||
"file": "pdfs/issue11451.pdf",
|
||||
"md5": "a2fd3c4596ad75562df83a2494263802",
|
||||
"rounds": 1,
|
||||
"link": true,
|
||||
"lastPage": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "bug1652224",
|
||||
"file": "pdfs/bug1652224.pdf",
|
||||
"md5": "0e1bb427f32e83dc8f091842f7a11ac4",
|
||||
"rounds": 1,
|
||||
"link": true,
|
||||
"firstPage": 5,
|
||||
"lastPage": 5,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue8586",
|
||||
"file": "pdfs/issue8586.pdf",
|
||||
"md5": "16b5230364017d3b0d2d65978eb35816",
|
||||
|
Loading…
Reference in New Issue
Block a user