summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp')
-rw-r--r--core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp33
1 files changed, 16 insertions, 17 deletions
diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
index f70b9ecfc4..7a01bba97a 100644
--- a/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
+++ b/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
@@ -641,23 +641,22 @@ int CPDF_CMap::AppendChar(FX_CHAR* str, FX_DWORD charcode) const
}
str[iSize - 1] = (uint8_t)charcode;
return iSize;
- }
- if (charcode < 0x10000) {
+ } else if (charcode < 0x10000) {
str[0] = (uint8_t)(charcode >> 8);
str[1] = (uint8_t)charcode;
return 2;
- }
- if (charcode < 0x1000000) {
+ } else if (charcode < 0x1000000) {
str[0] = (uint8_t)(charcode >> 16);
str[1] = (uint8_t)(charcode >> 8);
str[2] = (uint8_t)charcode;
return 3;
+ } else {
+ str[0] = (uint8_t)(charcode >> 24);
+ str[1] = (uint8_t)(charcode >> 16);
+ str[2] = (uint8_t)(charcode >> 8);
+ str[3] = (uint8_t)charcode;
+ return 4;
}
- str[0] = (uint8_t)(charcode >> 24);
- str[1] = (uint8_t)(charcode >> 16);
- str[2] = (uint8_t)(charcode >> 8);
- str[3] = (uint8_t)charcode;
- return 4;
}
return 0;
}
@@ -795,8 +794,9 @@ FX_WCHAR CPDF_CIDFont::_UnicodeFromCharCode(FX_DWORD charcode) const
#endif
if (m_pCMap->m_pEmbedMap) {
return _EmbeddedUnicodeFromCharcode(m_pCMap->m_pEmbedMap, m_pCMap->m_Charset, charcode);
+ } else {
+ return 0;
}
- return 0;
}
return m_pCID2UnicodeMap->UnicodeFromCID(CIDFromCharCode(charcode));
}
@@ -826,8 +826,7 @@ FX_DWORD CPDF_CIDFont::_CharCodeFromUnicode(FX_WCHAR unicode) const
if (unicode < 0x80) {
return static_cast<FX_DWORD>(unicode);
- }
- if (m_pCMap->m_Coding == CIDCODING_CID) {
+ } else if (m_pCMap->m_Coding == CIDCODING_CID) {
return 0;
}
#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
@@ -835,15 +834,14 @@ FX_DWORD CPDF_CIDFont::_CharCodeFromUnicode(FX_WCHAR unicode) const
int ret = FXSYS_WideCharToMultiByte(g_CharsetCPs[m_pCMap->m_Coding], 0, &unicode, 1, (char*)buffer, 4, NULL, NULL);
if (ret == 1) {
return buffer[0];
- }
- if (ret == 2) {
+ } else if (ret == 2) {
return buffer[0] * 256 + buffer[1];
}
-#else
+ return 0;
+#endif
if (m_pCMap->m_pEmbedMap) {
return _EmbeddedCharcodeFromUnicode(m_pCMap->m_pEmbedMap, m_pCMap->m_Charset, unicode);
}
-#endif
return 0;
}
static void FT_UseCIDCharmap(FXFT_Face face, int coding)
@@ -1236,8 +1234,9 @@ int CPDF_CIDFont::GlyphFromCharCode(FX_DWORD charcode, FX_BOOL *pVertGlyph)
}
if (index == 0 || index == 0xffff) {
return charcode == 0 ? -1 : (int)charcode;
+ } else {
+ return index;
}
- return index;
}
if (m_Charset == CIDSET_JAPAN1) {
if (unicode == '\\') {