Stop using Encoding array to get unicode from charcode in Type 3 fonts
We should not fill out the m_Encoding for Type3 fonts. This way, we
stop getting garbage characters from text extraction. Guessing that
unicode == charcode (in the absence of ToUnicode) is our best bet.
BUG=pdfium:642
Review-Url: https://codereview.chromium.org/2643543002
diff --git a/core/fpdfapi/font/cpdf_type3font.cpp b/core/fpdfapi/font/cpdf_type3font.cpp
index 8a0a115..9542945 100644
--- a/core/fpdfapi/font/cpdf_type3font.cpp
+++ b/core/fpdfapi/font/cpdf_type3font.cpp
@@ -72,18 +72,8 @@
}
m_pCharProcs = m_pFontDict->GetDictFor("CharProcs");
CPDF_Object* pEncoding = m_pFontDict->GetDirectObjectFor("Encoding");
- if (pEncoding) {
+ if (pEncoding)
LoadPDFEncoding(pEncoding, m_BaseEncoding, &m_CharNames, false, false);
- if (!m_CharNames.empty()) {
- for (int i = 0; i < 256; i++) {
- m_Encoding.m_Unicodes[i] =
- PDF_UnicodeFromAdobeName(m_CharNames[i].c_str());
- if (m_Encoding.m_Unicodes[i] == 0) {
- m_Encoding.m_Unicodes[i] = i;
- }
- }
- }
- }
return true;
}