summaryrefslogtreecommitdiff
path: root/core/fpdftext/cpdf_textpage.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 /core/fpdftext/cpdf_textpage.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 'core/fpdftext/cpdf_textpage.cpp')
-rw-r--r--core/fpdftext/cpdf_textpage.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/core/fpdftext/cpdf_textpage.cpp b/core/fpdftext/cpdf_textpage.cpp
index c691d4b3a0..1056943292 100644
--- a/core/fpdftext/cpdf_textpage.cpp
+++ b/core/fpdftext/cpdf_textpage.cpp
@@ -1131,12 +1131,8 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) {
spacing = 0;
CFX_WideString wstrItem = pFont->UnicodeFromCharCode(item.m_CharCode);
bool bNoUnicode = false;
- FX_WCHAR wChar = wstrItem.GetAt(0);
- if ((wstrItem.IsEmpty() || wChar == 0) && item.m_CharCode) {
- if (wstrItem.IsEmpty())
- wstrItem += (FX_WCHAR)item.m_CharCode;
- else
- wstrItem.SetAt(0, (FX_WCHAR)item.m_CharCode);
+ if (wstrItem.IsEmpty() && item.m_CharCode) {
+ wstrItem += static_cast<FX_WCHAR>(item.m_CharCode);
bNoUnicode = true;
}
charinfo.m_Index = -1;