Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(239)

Side by Side Diff: core/src/fpdfapi/fpdf_font/fpdf_font.cpp

Issue 1415453002: Merge to XFA: Declare PDF_GetStandardFontName() in the header. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: rebase Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp ('k') | core/src/fxge/ge/fx_ge_fontmap.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 int CPDF_Font::GetCharTypeWidth(FX_DWORD charcode) { 362 int CPDF_Font::GetCharTypeWidth(FX_DWORD charcode) {
363 if (m_Font.m_Face == NULL) { 363 if (m_Font.m_Face == NULL) {
364 return 0; 364 return 0;
365 } 365 }
366 int glyph_index = GlyphFromCharCode(charcode); 366 int glyph_index = GlyphFromCharCode(charcode);
367 if (glyph_index == 0xffff) { 367 if (glyph_index == 0xffff) {
368 return 0; 368 return 0;
369 } 369 }
370 return m_Font.GetGlyphWidth(glyph_index); 370 return m_Font.GetGlyphWidth(glyph_index);
371 } 371 }
372 int _PDF_GetStandardFontName(CFX_ByteString& name); 372
373 CPDF_Font* CPDF_Font::GetStockFont(CPDF_Document* pDoc, 373 CPDF_Font* CPDF_Font::GetStockFont(CPDF_Document* pDoc,
374 const CFX_ByteStringC& name) { 374 const CFX_ByteStringC& name) {
375 CFX_ByteString fontname(name); 375 CFX_ByteString fontname(name);
376 int font_id = _PDF_GetStandardFontName(fontname); 376 int font_id = PDF_GetStandardFontName(&fontname);
377 if (font_id < 0) { 377 if (font_id < 0) {
378 return NULL; 378 return nullptr;
379 } 379 }
380 CPDF_FontGlobals* pFontGlobals = 380 CPDF_FontGlobals* pFontGlobals =
381 CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals(); 381 CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals();
382 CPDF_Font* pFont = pFontGlobals->Find(pDoc, font_id); 382 CPDF_Font* pFont = pFontGlobals->Find(pDoc, font_id);
383 if (pFont) { 383 if (pFont) {
384 return pFont; 384 return pFont;
385 } 385 }
386 CPDF_Dictionary* pDict = CPDF_Dictionary::Create(); 386 CPDF_Dictionary* pDict = CPDF_Dictionary::Create();
387 pDict->SetAtName(FX_BSTRC("Type"), FX_BSTRC("Font")); 387 pDict->SetAtName(FX_BSTRC("Type"), FX_BSTRC("Font"));
388 pDict->SetAtName(FX_BSTRC("Subtype"), FX_BSTRC("Type1")); 388 pDict->SetAtName(FX_BSTRC("Subtype"), FX_BSTRC("Type1"));
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after
1002 } 1002 }
1003 FX_BOOL CPDF_SimpleFont::IsUnicodeCompatible() const { 1003 FX_BOOL CPDF_SimpleFont::IsUnicodeCompatible() const {
1004 return m_BaseEncoding != PDFFONT_ENCODING_BUILTIN && 1004 return m_BaseEncoding != PDFFONT_ENCODING_BUILTIN &&
1005 m_BaseEncoding != PDFFONT_ENCODING_ADOBE_SYMBOL && 1005 m_BaseEncoding != PDFFONT_ENCODING_ADOBE_SYMBOL &&
1006 m_BaseEncoding != PDFFONT_ENCODING_ZAPFDINGBATS; 1006 m_BaseEncoding != PDFFONT_ENCODING_ZAPFDINGBATS;
1007 } 1007 }
1008 CPDF_Type1Font::CPDF_Type1Font() : CPDF_SimpleFont(PDFFONT_TYPE1) { 1008 CPDF_Type1Font::CPDF_Type1Font() : CPDF_SimpleFont(PDFFONT_TYPE1) {
1009 m_Base14Font = -1; 1009 m_Base14Font = -1;
1010 } 1010 }
1011 FX_BOOL CPDF_Type1Font::_Load() { 1011 FX_BOOL CPDF_Type1Font::_Load() {
1012 m_Base14Font = _PDF_GetStandardFontName(m_BaseFont); 1012 m_Base14Font = PDF_GetStandardFontName(&m_BaseFont);
1013 if (m_Base14Font >= 0) { 1013 if (m_Base14Font >= 0) {
1014 CPDF_Dictionary* pFontDesc = 1014 CPDF_Dictionary* pFontDesc =
1015 m_pFontDict->GetDict(FX_BSTRC("FontDescriptor")); 1015 m_pFontDict->GetDict(FX_BSTRC("FontDescriptor"));
1016 if (pFontDesc && pFontDesc->KeyExist(FX_BSTRC("Flags"))) { 1016 if (pFontDesc && pFontDesc->KeyExist(FX_BSTRC("Flags"))) {
1017 m_Flags = pFontDesc->GetInteger(FX_BSTRC("Flags")); 1017 m_Flags = pFontDesc->GetInteger(FX_BSTRC("Flags"));
1018 } else { 1018 } else {
1019 m_Flags = m_Base14Font >= 12 ? PDFFONT_SYMBOLIC : PDFFONT_NONSYMBOLIC; 1019 m_Flags = m_Base14Font >= 12 ? PDFFONT_SYMBOLIC : PDFFONT_NONSYMBOLIC;
1020 } 1020 }
1021 if (m_Base14Font < 4) 1021 if (m_Base14Font < 4)
1022 for (int i = 0; i < 256; i++) { 1022 for (int i = 0; i < 256; i++) {
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after
1781 CPDF_Type3Char::CPDF_Type3Char() { 1781 CPDF_Type3Char::CPDF_Type3Char() {
1782 m_pForm = NULL; 1782 m_pForm = NULL;
1783 m_pBitmap = NULL; 1783 m_pBitmap = NULL;
1784 m_bPageRequired = FALSE; 1784 m_bPageRequired = FALSE;
1785 m_bColored = FALSE; 1785 m_bColored = FALSE;
1786 } 1786 }
1787 CPDF_Type3Char::~CPDF_Type3Char() { 1787 CPDF_Type3Char::~CPDF_Type3Char() {
1788 delete m_pForm; 1788 delete m_pForm;
1789 delete m_pBitmap; 1789 delete m_pBitmap;
1790 } 1790 }
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp ('k') | core/src/fxge/ge/fx_ge_fontmap.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698