From 87fdbc371e023be8aa996e5aa5485524818c8a07 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 14 Aug 2018 18:34:26 +0000 Subject: Add CPDF_Type1Font::IsBase14Font() to replace GetBase14Font(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IsBase14Font() is what its only caller really needs. Also use it in Load() which does the same check, and restructure Load() to have an early return. Change-Id: I1d051d10b80aa82bcf590c79169ffe29607b3c13 Reviewed-on: https://pdfium-review.googlesource.com/39970 Commit-Queue: Lei Zhang Reviewed-by: Nicolás Peña Moreno --- core/fpdfapi/font/cpdf_font.cpp | 4 +--- core/fpdfapi/font/cpdf_type1font.cpp | 36 ++++++++++++++++++------------------ core/fpdfapi/font/cpdf_type1font.h | 2 +- 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/core/fpdfapi/font/cpdf_font.cpp b/core/fpdfapi/font/cpdf_font.cpp index f2aa4da052..9b83733eea 100644 --- a/core/fpdfapi/font/cpdf_font.cpp +++ b/core/fpdfapi/font/cpdf_font.cpp @@ -346,9 +346,7 @@ bool CPDF_Font::IsStandardFont() const { return false; if (m_pFontFile) return false; - if (AsType1Font()->GetBase14Font() < 0) - return false; - return true; + return AsType1Font()->IsBase14Font(); } const char* CPDF_Font::GetAdobeCharName( diff --git a/core/fpdfapi/font/cpdf_type1font.cpp b/core/fpdfapi/font/cpdf_type1font.cpp index 9e2f4eff58..44e6b3e23c 100644 --- a/core/fpdfapi/font/cpdf_type1font.cpp +++ b/core/fpdfapi/font/cpdf_type1font.cpp @@ -84,25 +84,25 @@ CPDF_Type1Font* CPDF_Type1Font::AsType1Font() { bool CPDF_Type1Font::Load() { m_Base14Font = PDF_GetStandardFontName(&m_BaseFont); - if (m_Base14Font >= 0) { - const CPDF_Dictionary* pFontDesc = - m_pFontDict->GetDictFor("FontDescriptor"); - if (pFontDesc && pFontDesc->KeyExist("Flags")) - m_Flags = pFontDesc->GetIntegerFor("Flags"); - else - m_Flags = m_Base14Font >= 12 ? FXFONT_SYMBOLIC : FXFONT_NONSYMBOLIC; - - if (m_Base14Font < 4) { - for (int i = 0; i < 256; i++) - m_CharWidth[i] = 600; - } - if (m_Base14Font == 12) - m_BaseEncoding = PDFFONT_ENCODING_ADOBE_SYMBOL; - else if (m_Base14Font == 13) - m_BaseEncoding = PDFFONT_ENCODING_ZAPFDINGBATS; - else if (FontStyleIsNonSymbolic(m_Flags)) - m_BaseEncoding = PDFFONT_ENCODING_STANDARD; + if (!IsBase14Font()) + return LoadCommon(); + + const CPDF_Dictionary* pFontDesc = m_pFontDict->GetDictFor("FontDescriptor"); + if (pFontDesc && pFontDesc->KeyExist("Flags")) + m_Flags = pFontDesc->GetIntegerFor("Flags"); + else + m_Flags = m_Base14Font >= 12 ? FXFONT_SYMBOLIC : FXFONT_NONSYMBOLIC; + + if (m_Base14Font < 4) { + for (int i = 0; i < 256; i++) + m_CharWidth[i] = 600; } + if (m_Base14Font == 12) + m_BaseEncoding = PDFFONT_ENCODING_ADOBE_SYMBOL; + else if (m_Base14Font == 13) + m_BaseEncoding = PDFFONT_ENCODING_ZAPFDINGBATS; + else if (FontStyleIsNonSymbolic(m_Flags)) + m_BaseEncoding = PDFFONT_ENCODING_STANDARD; return LoadCommon(); } diff --git a/core/fpdfapi/font/cpdf_type1font.h b/core/fpdfapi/font/cpdf_type1font.h index eaabaaeb88..cbcb9af3b1 100644 --- a/core/fpdfapi/font/cpdf_type1font.h +++ b/core/fpdfapi/font/cpdf_type1font.h @@ -23,7 +23,7 @@ class CPDF_Type1Font : public CPDF_SimpleFont { int GlyphFromCharCodeExt(uint32_t charcode) override; #endif - int GetBase14Font() const { return m_Base14Font; } + bool IsBase14Font() const { return m_Base14Font >= 0; } private: // CPDF_Font: -- cgit v1.2.3