diff options
-rw-r--r-- | core/fpdfapi/font/cpdf_font.cpp | 4 | ||||
-rw-r--r-- | core/fpdfapi/font/cpdf_type1font.cpp | 36 | ||||
-rw-r--r-- | 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: |