summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
index cbfa19d084..1ce91f9ed6 100644
--- a/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
+++ b/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
@@ -830,6 +830,12 @@ FX_DWORD CPDF_CIDFont::_CharCodeFromUnicode(FX_WCHAR unicode) const
break;
}
}
+
+ if (unicode < 0x80) {
+ return static_cast<FX_DWORD>(unicode);
+ } else if (m_pCMap->m_Coding == CIDCODING_CID) {
+ return 0;
+ }
#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
FX_BYTE buffer[32];
int ret = FXSYS_WideCharToMultiByte(g_CharsetCPs[m_pCMap->m_Coding], 0, &unicode, 1, (char*)buffer, 4, NULL, NULL);
@@ -840,15 +846,10 @@ FX_DWORD CPDF_CIDFont::_CharCodeFromUnicode(FX_WCHAR unicode) const
}
return 0;
#endif
- if (unicode < 0x80) {
- return (FX_DWORD)unicode;
- } else {
- if (m_pCMap->m_pEmbedMap) {
- return _EmbeddedCharcodeFromUnicode(m_pCMap->m_pEmbedMap, m_pCMap->m_Charset, unicode);
- } else {
- return 0;
- }
+ if (m_pCMap->m_pEmbedMap) {
+ return _EmbeddedCharcodeFromUnicode(m_pCMap->m_pEmbedMap, m_pCMap->m_Charset, unicode);
}
+ return 0;
}
static void FT_UseCIDCharmap(FXFT_Face face, int coding)
{