From 306999c32539cba43c9a4080ad41484432028463 Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Mon, 23 Oct 2017 17:25:50 -0700 Subject: [PATCH] Move char codes from high surrogate pair range into private use. Fixes #2884 --- src/core/fonts.js | 2 ++ test/pdfs/.gitignore | 1 + test/pdfs/issue2884_reduced.pdf | Bin 0 -> 18416 bytes test/test_manifest.json | 8 ++++++++ test/unit/fonts_spec.js | 2 +- 5 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 test/pdfs/issue2884_reduced.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index ecd68f8f9..0f1c80501 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -467,6 +467,8 @@ var ProblematicCharRanges = new Int32Array([ 0x3164, 0x3165, // Chars that is used in complex-script shaping. 0xAA60, 0xAA80, + // Unicode high surrogates. + 0xD800, 0xE000, // Specials Unicode block. 0xFFF0, 0x10000 ]); diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 07539309b..2e28097f1 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -216,6 +216,7 @@ !bug1175962.pdf !bug1020226.pdf !basicapi.pdf +!issue2884_reduced.pdf !mixedfonts.pdf !shading_extend.pdf !noembed-identity.pdf diff --git a/test/pdfs/issue2884_reduced.pdf b/test/pdfs/issue2884_reduced.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f546f3d3afa53b36430710ac02d4f953dc22c084 GIT binary patch literal 18416 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 BSFr#9 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 41947059e..3b8f5818a 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -1317,6 +1317,14 @@ "lastPage": 1, "type": "eq" }, + { "id": "issue2884_reduced", + "file": "pdfs/issue2884_reduced.pdf", + "md5": "18386542fc82affa2a5d3722549f8211", + "rounds": 1, + "link": false, + "lastPage": 1, + "type": "eq" + }, { "id": "bug956965", "file": "pdfs/bug956965.pdf", "md5": "9b2f1176c797ee84e989a507e745f89d", diff --git a/test/unit/fonts_spec.js b/test/unit/fonts_spec.js index 483921a37..04623e3ef 100644 --- a/test/unit/fonts_spec.js +++ b/test/unit/fonts_spec.js @@ -83,7 +83,7 @@ var checkProblematicCharRanges = function checkProblematicCharRanges() { describe('Fonts', function() { it('checkProblematicCharRanges', function() { - var EXPECTED_PERCENTAGE = 45; + var EXPECTED_PERCENTAGE = 100; var result = checkProblematicCharRanges(); expect(result.percentage).toBeLessThan(EXPECTED_PERCENTAGE);