summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-08-14 18:34:26 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-08-14 18:34:26 +0000
commit87fdbc371e023be8aa996e5aa5485524818c8a07 (patch)
tree2c6b0ba0096f1a8f62549129c6453fe3a1c9145f
parent88798cff29934b58e0a8d81e94005472d612b964 (diff)
downloadpdfium-87fdbc371e023be8aa996e5aa5485524818c8a07.tar.xz
Add CPDF_Type1Font::IsBase14Font() to replace GetBase14Font().
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 <thestig@chromium.org> Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
-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: