From b6d772d71dcdf9620fd398f7a5a9bc7446346e6d Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Sun, 14 Sep 2025 14:46:00 +0200 Subject: [PATCH] Consider a ttf font with both Symbolic and Nonsymbolic flags set with a Differences array in the encoding dict as non-symbolic It fixes #20232. --- src/core/evaluator.js | 18 +++++++++++++++++- test/pdfs/.gitignore | 1 + test/pdfs/issue20232.pdf | Bin 0 -> 38452 bytes test/test_manifest.json | 7 +++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 test/pdfs/issue20232.pdf diff --git a/src/core/evaluator.js b/src/core/evaluator.js index 474f29788..58580855e 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -3661,8 +3661,24 @@ class PartialEvaluator { if (baseEncodingName) { properties.defaultEncoding = getEncoding(baseEncodingName); } else { - const isSymbolicFont = !!(properties.flags & FontFlags.Symbolic); + let isSymbolicFont = !!(properties.flags & FontFlags.Symbolic); const isNonsymbolicFont = !!(properties.flags & FontFlags.Nonsymbolic); + + // The PDF specs state that the flags Symbolic and Nonsymbolic must be + // mutually exclusive. However, some fonts are marked as both. + // In that case we ignore the Symbolic flag when there is a Differences + // entry (which indicates that the font is used as a non-symbolic + // font). + if ( + properties.type === "TrueType" && + isSymbolicFont && + isNonsymbolicFont && + differences.length !== 0 + ) { + properties.flags &= ~FontFlags.Symbolic; + isSymbolicFont = false; + } + // According to "Table 114" in section "9.6.6.1 General" (under // "9.6.6 Character Encoding") of the PDF specification, a Nonsymbolic // font should use the `StandardEncoding` if no encoding is specified. diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 4ba07c109..781516bde 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -743,3 +743,4 @@ !tracemonkey_with_editable_annotations.pdf !bug1980958.pdf !tracemonkey_annotation_on_page_8.pdf +!issue20232.pdf diff --git a/test/pdfs/issue20232.pdf b/test/pdfs/issue20232.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b3af724a91d2e5f3d7801d6f22416944146480db GIT binary patch literal 38452 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 Ya?-=$@PfH`yy}9vQc}7`I~L6SA3!c&SpWb4 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index b83b54648..383956215 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -13028,5 +13028,12 @@ "md5": "ae4f643ee9bb0fd725277a9d1e0fb1df", "rounds": 1, "type": "load" + }, + { + "id": "issue20232", + "file": "pdfs/issue20232.pdf", + "md5": "cc53e96a8fd9eafbfbb74de564f37047", + "rounds": 1, + "type": "eq" } ]