From 83e8398ff266223a79eb30cb6d380b50258c0110 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Tue, 31 Oct 2017 13:01:29 +0100 Subject: [PATCH] For non-embedded fonts, map softhyphen (0x00AD) to regular hyphen (0x002D) (issue 9084) In the PDF file, the `ToUnicode` data first maps the hyphen correctly, and then *overwrites* it to point to the softhyphen instead. That one cannot be rendered in browsers, and an empty space thus appear instead. Fixes 9084. --- src/core/unicode.js | 2 ++ test/pdfs/.gitignore | 1 + test/pdfs/issue9084.pdf | Bin 0 -> 25823 bytes test/test_manifest.json | 7 +++++++ 4 files changed, 10 insertions(+) create mode 100644 test/pdfs/issue9084.pdf diff --git a/src/core/unicode.js b/src/core/unicode.js index 26328c8de..b84b134f9 100644 --- a/src/core/unicode.js +++ b/src/core/unicode.js @@ -51,6 +51,8 @@ function mapSpecialUnicodeValues(code) { return 0; } else if (code >= 0xF600 && code <= 0xF8FF) { return (getSpecialPUASymbols()[code] || code); + } else if (code === 0x00AD) { // softhyphen + return 0x002D; // hyphen } return code; } diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 983bc2136..bed1b9c37 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -62,6 +62,7 @@ !issue8707.pdf !issue8798r.pdf !issue8823.pdf +!issue9084.pdf !bad-PageLabels.pdf !filled-background.pdf !ArabicCIDTrueType.pdf diff --git a/test/pdfs/issue9084.pdf b/test/pdfs/issue9084.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e91f366691e6872b954a9e85712fe34967c58658 GIT binary patch literal 25823 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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index dfbcabf0f..63abe91e8 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -711,6 +711,13 @@ "link": false, "type": "eq" }, + { "id": "issue9084", + "file": "pdfs/issue9084.pdf", + "md5": "5570ec01cc869d299fec1b2f68926a08", + "rounds": 1, + "link": false, + "type": "eq" + }, { "id": "issue8707", "file": "pdfs/issue8707.pdf", "md5": "d3dc670adde9ec9fb82c974027033029",