Chromium Code Reviews| Index: fpdfsdk/fpdf_sysfontinfo.cpp |
| diff --git a/fpdfsdk/fpdf_sysfontinfo.cpp b/fpdfsdk/fpdf_sysfontinfo.cpp |
| index 2a309d97851c1b7b0f44e5f534489e3a02bb9484..b149726839d65cb1a9f1dea7cfd9eb378e7efe8b 100644 |
| --- a/fpdfsdk/fpdf_sysfontinfo.cpp |
| +++ b/fpdfsdk/fpdf_sysfontinfo.cpp |
| @@ -33,25 +33,25 @@ class CFX_ExternalFontInfo final : public IFX_SystemFontInfo { |
| int pitch_family, |
| const FX_CHAR* family, |
| int& iExact) override { |
| - if (m_pInfo->MapFont) |
| - return m_pInfo->MapFont(m_pInfo, weight, bItalic, charset, pitch_family, |
| - family, &iExact); |
| - return nullptr; |
| + if (!m_pInfo->MapFont) |
| + return nullptr; |
| + return m_pInfo->MapFont(m_pInfo, weight, bItalic, charset, pitch_family, |
| + family, &iExact); |
| } |
| void* GetFont(const FX_CHAR* family) override { |
| - if (m_pInfo->GetFont) |
| - return m_pInfo->GetFont(m_pInfo, family); |
| - return nullptr; |
| + if (!m_pInfo->GetFont) |
| + return nullptr; |
| + return m_pInfo->GetFont(m_pInfo, family); |
| } |
| uint32_t GetFontData(void* hFont, |
| uint32_t table, |
| uint8_t* buffer, |
| uint32_t size) override { |
| - if (m_pInfo->GetFontData) |
| - return m_pInfo->GetFontData(m_pInfo, hFont, table, buffer, size); |
| - return 0; |
| + if (!m_pInfo->GetFontData) |
| + return 0; |
| + return m_pInfo->GetFontData(m_pInfo, hFont, table, buffer, size); |
| } |
| FX_BOOL GetFaceName(void* hFont, CFX_ByteString& name) override { |
| @@ -68,11 +68,11 @@ class CFX_ExternalFontInfo final : public IFX_SystemFontInfo { |
| } |
| FX_BOOL GetFontCharset(void* hFont, int& charset) override { |
| - if (m_pInfo->GetFontCharset) { |
| - charset = m_pInfo->GetFontCharset(m_pInfo, hFont); |
| - return TRUE; |
| - } |
| - return FALSE; |
| + if (!m_pInfo->GetFontCharset) |
| + return FALSE; |
| + |
| + charset = m_pInfo->GetFontCharset(m_pInfo, hFont); |
| + return TRUE; |
| } |
| void DeleteFont(void* hFont) override { |
| @@ -87,7 +87,8 @@ class CFX_ExternalFontInfo final : public IFX_SystemFontInfo { |
| DLLEXPORT void STDCALL FPDF_AddInstalledFont(void* mapper, |
|
dsinclair
2016/06/21 20:43:38
Would be be possible in a followup to change this
Lei Zhang
2016/06/21 20:46:36
No. FPDF_AddInstalledFont() is a public API, so it
|
| const char* name, |
| int charset) { |
| - ((CFX_FontMapper*)mapper)->AddInstalledFont(name, charset); |
| + CFX_FontMapper* pMapper = reinterpret_cast<CFX_FontMapper*>(mapper); |
| + pMapper->AddInstalledFont(name, charset); |
| } |
| DLLEXPORT void STDCALL FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfoExt) { |
| @@ -114,8 +115,8 @@ static void DefaultRelease(struct _FPDF_SYSFONTINFO* pThis) { |
| } |
| static void DefaultEnumFonts(struct _FPDF_SYSFONTINFO* pThis, void* pMapper) { |
| - ((FPDF_SYSFONTINFO_DEFAULT*)pThis) |
| - ->m_pFontInfo->EnumFontList((CFX_FontMapper*)pMapper); |
| + auto* pDefault = static_cast<FPDF_SYSFONTINFO_DEFAULT*>(pThis); |
| + pDefault->m_pFontInfo->EnumFontList((CFX_FontMapper*)pMapper); |
| } |
| static void* DefaultMapFont(struct _FPDF_SYSFONTINFO* pThis, |
| @@ -125,13 +126,14 @@ static void* DefaultMapFont(struct _FPDF_SYSFONTINFO* pThis, |
| int pitch_family, |
| const char* family, |
| int* bExact) { |
| - return ((FPDF_SYSFONTINFO_DEFAULT*)pThis) |
| - ->m_pFontInfo->MapFont(weight, bItalic, charset, pitch_family, family, |
| - *bExact); |
| + auto* pDefault = static_cast<FPDF_SYSFONTINFO_DEFAULT*>(pThis); |
| + return pDefault->m_pFontInfo->MapFont(weight, bItalic, charset, pitch_family, |
| + family, *bExact); |
| } |
| void* DefaultGetFont(struct _FPDF_SYSFONTINFO* pThis, const char* family) { |
| - return ((FPDF_SYSFONTINFO_DEFAULT*)pThis)->m_pFontInfo->GetFont(family); |
| + auto* pDefault = static_cast<FPDF_SYSFONTINFO_DEFAULT*>(pThis); |
| + return pDefault->m_pFontInfo->GetFont(family); |
| } |
| static unsigned long DefaultGetFontData(struct _FPDF_SYSFONTINFO* pThis, |
| @@ -139,8 +141,8 @@ static unsigned long DefaultGetFontData(struct _FPDF_SYSFONTINFO* pThis, |
| unsigned int table, |
| unsigned char* buffer, |
| unsigned long buf_size) { |
| - return ((FPDF_SYSFONTINFO_DEFAULT*)pThis) |
| - ->m_pFontInfo->GetFontData(hFont, table, buffer, buf_size); |
| + auto* pDefault = static_cast<FPDF_SYSFONTINFO_DEFAULT*>(pThis); |
| + return pDefault->m_pFontInfo->GetFontData(hFont, table, buffer, buf_size); |
| } |
| static unsigned long DefaultGetFaceName(struct _FPDF_SYSFONTINFO* pThis, |
| @@ -148,8 +150,8 @@ static unsigned long DefaultGetFaceName(struct _FPDF_SYSFONTINFO* pThis, |
| char* buffer, |
| unsigned long buf_size) { |
| CFX_ByteString name; |
| - if (!((FPDF_SYSFONTINFO_DEFAULT*)pThis) |
| - ->m_pFontInfo->GetFaceName(hFont, name)) |
| + auto* pDefault = static_cast<FPDF_SYSFONTINFO_DEFAULT*>(pThis); |
| + if (!pDefault->m_pFontInfo->GetFaceName(hFont, name)) |
| return 0; |
| if (name.GetLength() >= (long)buf_size) |
| return name.GetLength() + 1; |
| @@ -159,14 +161,15 @@ static unsigned long DefaultGetFaceName(struct _FPDF_SYSFONTINFO* pThis, |
| static int DefaultGetFontCharset(struct _FPDF_SYSFONTINFO* pThis, void* hFont) { |
| int charset; |
| - if (!((FPDF_SYSFONTINFO_DEFAULT*)pThis) |
| - ->m_pFontInfo->GetFontCharset(hFont, charset)) |
| + auto* pDefault = static_cast<FPDF_SYSFONTINFO_DEFAULT*>(pThis); |
| + if (!pDefault->m_pFontInfo->GetFontCharset(hFont, charset)) |
| return 0; |
| return charset; |
| } |
| static void DefaultDeleteFont(struct _FPDF_SYSFONTINFO* pThis, void* hFont) { |
| - ((FPDF_SYSFONTINFO_DEFAULT*)pThis)->m_pFontInfo->DeleteFont(hFont); |
| + auto* pDefault = static_cast<FPDF_SYSFONTINFO_DEFAULT*>(pThis); |
| + pDefault->m_pFontInfo->DeleteFont(hFont); |
| } |
| DLLEXPORT FPDF_SYSFONTINFO* STDCALL FPDF_GetDefaultSystemFontInfo() { |