| Index: core/src/fpdfapi/fpdf_font/fpdf_font.cpp
|
| diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
|
| index eee2a12bb3ab5eceb8b191d6ea3d29513550b1a2..66d7d4f0268418cbef3c8f5642cb152c637bba4e 100644
|
| --- a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
|
| +++ b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
|
| @@ -113,21 +113,15 @@ void CPDF_FontGlobals::ClearAll()
|
| m_pStockMap.RemoveKey(key);
|
| }
|
| }
|
| -CPDF_Font::CPDF_Font()
|
| +CPDF_Font::CPDF_Font(int fonttype) : m_FontType(fonttype)
|
| {
|
| - m_FontType = 0;
|
| m_FontBBox.left = m_FontBBox.right = m_FontBBox.top = m_FontBBox.bottom = 0;
|
| m_StemV = m_Ascent = m_Descent = m_ItalicAngle = 0;
|
| m_pFontFile = NULL;
|
| m_Flags = 0;
|
| m_pToUnicodeMap = NULL;
|
| m_bToUnicodeLoaded = FALSE;
|
| - m_pCharMap = NULL;
|
| -}
|
| -FX_BOOL CPDF_Font::Initialize()
|
| -{
|
| m_pCharMap = new CPDF_FontCharMap(this);
|
| - return TRUE;
|
| }
|
| CPDF_Font::~CPDF_Font()
|
| {
|
| @@ -445,8 +439,6 @@ CPDF_Font* CPDF_Font::CreateFontF(CPDF_Document* pDoc, CPDF_Dictionary* pFontDic
|
| CPDF_Dictionary* pFontDesc = pFontDict->GetDict(FX_BSTRC("FontDescriptor"));
|
| if (pFontDesc == NULL || !pFontDesc->KeyExist(FX_BSTRC("FontFile2"))) {
|
| pFont = new CPDF_CIDFont;
|
| - pFont->Initialize();
|
| - pFont->m_FontType = PDFFONT_CIDFONT;
|
| pFont->m_pFontDict = pFontDict;
|
| pFont->m_pDocument = pDoc;
|
| if (!pFont->Load()) {
|
| @@ -459,20 +451,12 @@ CPDF_Font* CPDF_Font::CreateFontF(CPDF_Document* pDoc, CPDF_Dictionary* pFontDic
|
| #endif
|
| }
|
| pFont = new CPDF_TrueTypeFont;
|
| - pFont->Initialize();
|
| - pFont->m_FontType = PDFFONT_TRUETYPE;
|
| } else if (type == FX_BSTRC("Type3")) {
|
| pFont = new CPDF_Type3Font;
|
| - pFont->Initialize();
|
| - pFont->m_FontType = PDFFONT_TYPE3;
|
| } else if (type == FX_BSTRC("Type0")) {
|
| pFont = new CPDF_CIDFont;
|
| - pFont->Initialize();
|
| - pFont->m_FontType = PDFFONT_CIDFONT;
|
| } else {
|
| pFont = new CPDF_Type1Font;
|
| - pFont->Initialize();
|
| - pFont->m_FontType = PDFFONT_TYPE1;
|
| }
|
| pFont->m_pFontDict = pFontDict;
|
| pFont->m_pDocument = pDoc;
|
| @@ -833,7 +817,7 @@ FX_BOOL CPDF_Font::IsStandardFont() const
|
| return TRUE;
|
| }
|
| extern FX_LPCSTR PDF_CharNameFromPredefinedCharSet(int encoding, FX_BYTE charcode);
|
| -CPDF_SimpleFont::CPDF_SimpleFont()
|
| +CPDF_SimpleFont::CPDF_SimpleFont(int fonttype) : CPDF_Font(fonttype)
|
| {
|
| FXSYS_memset8(m_CharBBox, 0xff, sizeof m_CharBBox);
|
| FXSYS_memset8(m_CharWidth, 0xff, sizeof m_CharWidth);
|
| @@ -1031,7 +1015,7 @@ void CPDF_SimpleFont::LoadSubstFont()
|
| }
|
| }
|
| int weight = m_StemV < 140 ? m_StemV * 5 : (m_StemV * 4 + 140);
|
| - m_Font.LoadSubst(m_BaseFont, m_FontType == PDFFONT_TRUETYPE, m_Flags, weight, m_ItalicAngle, 0);
|
| + m_Font.LoadSubst(m_BaseFont, IsFontType(PDFFONT_TRUETYPE), m_Flags, weight, m_ItalicAngle, 0);
|
| if (m_Font.m_pSubstFont->m_SubstFlags & FXFONT_SUBST_NONSYMBOL) {
|
| }
|
| }
|
| @@ -1040,7 +1024,7 @@ FX_BOOL CPDF_SimpleFont::IsUnicodeCompatible() const
|
| return m_BaseEncoding != PDFFONT_ENCODING_BUILTIN && m_BaseEncoding != PDFFONT_ENCODING_ADOBE_SYMBOL &&
|
| m_BaseEncoding != PDFFONT_ENCODING_ZAPFDINGBATS;
|
| }
|
| -CPDF_Type1Font::CPDF_Type1Font()
|
| +CPDF_Type1Font::CPDF_Type1Font() : CPDF_SimpleFont(PDFFONT_TYPE1)
|
| {
|
| m_Base14Font = -1;
|
| }
|
| @@ -1432,7 +1416,7 @@ CPDF_Object* CPDF_FontEncoding::Realize()
|
| pDict->SetAt(FX_BSTRC("Differences"), pDiff);
|
| return pDict;
|
| }
|
| -CPDF_TrueTypeFont::CPDF_TrueTypeFont()
|
| +CPDF_TrueTypeFont::CPDF_TrueTypeFont() : CPDF_SimpleFont(PDFFONT_TRUETYPE)
|
| {
|
| }
|
| FX_BOOL CPDF_TrueTypeFont::_Load()
|
| @@ -1614,7 +1598,7 @@ void CPDF_TrueTypeFont::LoadGlyphMap()
|
| m_GlyphIndex[charcode] = charcode;
|
| }
|
| }
|
| -CPDF_Type3Font::CPDF_Type3Font()
|
| +CPDF_Type3Font::CPDF_Type3Font() : CPDF_SimpleFont(PDFFONT_TYPE3)
|
| {
|
| m_pPageResources = NULL;
|
| FXSYS_memset32(m_CharWidthL, 0, sizeof m_CharWidthL);
|
|
|