summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdftext_embeddertest.cpp
diff options
context:
space:
mode:
authornpm <npm@chromium.org>2016-09-15 13:27:21 -0700
committerCommit bot <commit-bot@chromium.org>2016-09-15 13:27:21 -0700
commit84be3a3cfec5107aac9a58ea00b58b733d393c7d (patch)
treee70d04e86ec278f98abe09d3655f9e63154d6a83 /fpdfsdk/fpdftext_embeddertest.cpp
parent163a9a6ded2ef483cb81435fc6aefbf6a45a4cb5 (diff)
downloadpdfium-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/fpdftext_embeddertest.cpp')
-rw-r--r--fpdfsdk/fpdftext_embeddertest.cpp15
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);
+}