summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/fpdfapi/font/cpdf_font.cpp4
-rw-r--r--core/fpdfapi/font/cpdf_type1font.cpp36
-rw-r--r--core/fpdfapi/font/cpdf_type1font.h2
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: