diff options
author | npm <npm@chromium.org> | 2016-09-15 13:27:21 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-09-15 13:27:21 -0700 |
commit | 84be3a3cfec5107aac9a58ea00b58b733d393c7d (patch) | |
tree | e70d04e86ec278f98abe09d3655f9e63154d6a83 /fpdfsdk | |
parent | 163a9a6ded2ef483cb81435fc6aefbf6a45a4cb5 (diff) | |
download | pdfium-84be3a3cfec5107aac9a58ea00b58b733d393c7d.tar.xz |
Use ToUnicode mapping even when unicode is 0.
CPDF_Font::UnicodeFromCharcode returns 0 only if ToUnicode map maps the
charcode to 0. CPDF_SimpleFont::UnicodeFromCharcode and CPDF_CID_Font::
UnicodeFromCharCode return 0 only if the call to CPDF_Font returns 0.
In other cases, these methods return an empty string. So when
processing text, a 0 return from the method should not be replaced
with the charcode.
BUG=pdfium:583
Review-Url: https://codereview.chromium.org/2342073002
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/fpdftext_embeddertest.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/fpdfsdk/fpdftext_embeddertest.cpp b/fpdfsdk/fpdftext_embeddertest.cpp index 3070c30771..957e813f64 100644 --- a/fpdfsdk/fpdftext_embeddertest.cpp +++ b/fpdfsdk/fpdftext_embeddertest.cpp @@ -388,3 +388,18 @@ TEST_F(FPDFTextEmbeddertest, GetFontSize) { FPDFText_ClosePage(textpage); UnloadPage(page); } + +TEST_F(FPDFTextEmbeddertest, ToUnicode) { + EXPECT_TRUE(OpenDocument("bug_583.pdf")); + FPDF_PAGE page = LoadPage(0); + EXPECT_TRUE(page); + + FPDF_TEXTPAGE textpage = FPDFText_LoadPage(page); + EXPECT_TRUE(textpage); + + ASSERT_EQ(1, FPDFText_CountChars(textpage)); + EXPECT_EQ(static_cast<unsigned int>(0), FPDFText_GetUnicode(textpage, 0)); + + FPDFText_ClosePage(textpage); + UnloadPage(page); +} |