| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "../../../include/fpdfapi/fpdf_module.h" | 7 #include "../../../include/fpdfapi/fpdf_module.h" |
| 8 #include "../../../include/fpdfapi/fpdf_page.h" | 8 #include "../../../include/fpdfapi/fpdf_page.h" |
| 9 #include "../../../include/fpdfapi/fpdf_pageobj.h" | 9 #include "../../../include/fpdfapi/fpdf_pageobj.h" |
| 10 #include "../../../include/fpdfapi/fpdf_resource.h" | 10 #include "../../../include/fpdfapi/fpdf_resource.h" |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 int CPDF_Font::GetCharTypeWidth(FX_DWORD charcode) { | 363 int CPDF_Font::GetCharTypeWidth(FX_DWORD charcode) { |
| 364 if (!m_Font.GetFace()) | 364 if (!m_Font.GetFace()) |
| 365 return 0; | 365 return 0; |
| 366 | 366 |
| 367 int glyph_index = GlyphFromCharCode(charcode); | 367 int glyph_index = GlyphFromCharCode(charcode); |
| 368 if (glyph_index == 0xffff) { | 368 if (glyph_index == 0xffff) { |
| 369 return 0; | 369 return 0; |
| 370 } | 370 } |
| 371 return m_Font.GetGlyphWidth(glyph_index); | 371 return m_Font.GetGlyphWidth(glyph_index); |
| 372 } | 372 } |
| 373 int _PDF_GetStandardFontName(CFX_ByteString& name); | 373 |
| 374 CPDF_Font* CPDF_Font::GetStockFont(CPDF_Document* pDoc, | 374 CPDF_Font* CPDF_Font::GetStockFont(CPDF_Document* pDoc, |
| 375 const CFX_ByteStringC& name) { | 375 const CFX_ByteStringC& name) { |
| 376 CFX_ByteString fontname(name); | 376 CFX_ByteString fontname(name); |
| 377 int font_id = _PDF_GetStandardFontName(fontname); | 377 int font_id = PDF_GetStandardFontName(&fontname); |
| 378 if (font_id < 0) { | 378 if (font_id < 0) { |
| 379 return NULL; | 379 return nullptr; |
| 380 } | 380 } |
| 381 CPDF_FontGlobals* pFontGlobals = | 381 CPDF_FontGlobals* pFontGlobals = |
| 382 CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals(); | 382 CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals(); |
| 383 CPDF_Font* pFont = pFontGlobals->Find(pDoc, font_id); | 383 CPDF_Font* pFont = pFontGlobals->Find(pDoc, font_id); |
| 384 if (pFont) { | 384 if (pFont) { |
| 385 return pFont; | 385 return pFont; |
| 386 } | 386 } |
| 387 CPDF_Dictionary* pDict = CPDF_Dictionary::Create(); | 387 CPDF_Dictionary* pDict = CPDF_Dictionary::Create(); |
| 388 pDict->SetAtName(FX_BSTRC("Type"), FX_BSTRC("Font")); | 388 pDict->SetAtName(FX_BSTRC("Type"), FX_BSTRC("Font")); |
| 389 pDict->SetAtName(FX_BSTRC("Subtype"), FX_BSTRC("Type1")); | 389 pDict->SetAtName(FX_BSTRC("Subtype"), FX_BSTRC("Type1")); |
| (...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 994 } | 994 } |
| 995 FX_BOOL CPDF_SimpleFont::IsUnicodeCompatible() const { | 995 FX_BOOL CPDF_SimpleFont::IsUnicodeCompatible() const { |
| 996 return m_BaseEncoding != PDFFONT_ENCODING_BUILTIN && | 996 return m_BaseEncoding != PDFFONT_ENCODING_BUILTIN && |
| 997 m_BaseEncoding != PDFFONT_ENCODING_ADOBE_SYMBOL && | 997 m_BaseEncoding != PDFFONT_ENCODING_ADOBE_SYMBOL && |
| 998 m_BaseEncoding != PDFFONT_ENCODING_ZAPFDINGBATS; | 998 m_BaseEncoding != PDFFONT_ENCODING_ZAPFDINGBATS; |
| 999 } | 999 } |
| 1000 CPDF_Type1Font::CPDF_Type1Font() : CPDF_SimpleFont(PDFFONT_TYPE1) { | 1000 CPDF_Type1Font::CPDF_Type1Font() : CPDF_SimpleFont(PDFFONT_TYPE1) { |
| 1001 m_Base14Font = -1; | 1001 m_Base14Font = -1; |
| 1002 } | 1002 } |
| 1003 FX_BOOL CPDF_Type1Font::_Load() { | 1003 FX_BOOL CPDF_Type1Font::_Load() { |
| 1004 m_Base14Font = _PDF_GetStandardFontName(m_BaseFont); | 1004 m_Base14Font = PDF_GetStandardFontName(&m_BaseFont); |
| 1005 if (m_Base14Font >= 0) { | 1005 if (m_Base14Font >= 0) { |
| 1006 CPDF_Dictionary* pFontDesc = | 1006 CPDF_Dictionary* pFontDesc = |
| 1007 m_pFontDict->GetDict(FX_BSTRC("FontDescriptor")); | 1007 m_pFontDict->GetDict(FX_BSTRC("FontDescriptor")); |
| 1008 if (pFontDesc && pFontDesc->KeyExist(FX_BSTRC("Flags"))) { | 1008 if (pFontDesc && pFontDesc->KeyExist(FX_BSTRC("Flags"))) { |
| 1009 m_Flags = pFontDesc->GetInteger(FX_BSTRC("Flags")); | 1009 m_Flags = pFontDesc->GetInteger(FX_BSTRC("Flags")); |
| 1010 } else { | 1010 } else { |
| 1011 m_Flags = m_Base14Font >= 12 ? PDFFONT_SYMBOLIC : PDFFONT_NONSYMBOLIC; | 1011 m_Flags = m_Base14Font >= 12 ? PDFFONT_SYMBOLIC : PDFFONT_NONSYMBOLIC; |
| 1012 } | 1012 } |
| 1013 if (m_Base14Font < 4) | 1013 if (m_Base14Font < 4) |
| 1014 for (int i = 0; i < 256; i++) { | 1014 for (int i = 0; i < 256; i++) { |
| (...skipping 765 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1780 CPDF_Type3Char::CPDF_Type3Char() { | 1780 CPDF_Type3Char::CPDF_Type3Char() { |
| 1781 m_pForm = NULL; | 1781 m_pForm = NULL; |
| 1782 m_pBitmap = NULL; | 1782 m_pBitmap = NULL; |
| 1783 m_bPageRequired = FALSE; | 1783 m_bPageRequired = FALSE; |
| 1784 m_bColored = FALSE; | 1784 m_bColored = FALSE; |
| 1785 } | 1785 } |
| 1786 CPDF_Type3Char::~CPDF_Type3Char() { | 1786 CPDF_Type3Char::~CPDF_Type3Char() { |
| 1787 delete m_pForm; | 1787 delete m_pForm; |
| 1788 delete m_pBitmap; | 1788 delete m_pBitmap; |
| 1789 } | 1789 } |
| OLD | NEW |