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 "core/include/fpdfdoc/fpdf_doc.h" | 7 #include "core/include/fpdfdoc/fpdf_doc.h" |
8 #include "doc_utils.h" | 8 #include "doc_utils.h" |
9 | 9 |
10 const int nMaxRecursion = 32; | 10 const int nMaxRecursion = 32; |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 LPCSTR pcsFontName, | 364 LPCSTR pcsFontName, |
365 LOGFONTA& lf) { | 365 LOGFONTA& lf) { |
366 memset(&lf, 0, sizeof(LOGFONTA)); | 366 memset(&lf, 0, sizeof(LOGFONTA)); |
367 lf.lfCharSet = charSet; | 367 lf.lfCharSet = charSet; |
368 lf.lfPitchAndFamily = pitchAndFamily; | 368 lf.lfPitchAndFamily = pitchAndFamily; |
369 if (pcsFontName != NULL) { | 369 if (pcsFontName != NULL) { |
370 strcpy(lf.lfFaceName, pcsFontName); | 370 strcpy(lf.lfFaceName, pcsFontName); |
371 } | 371 } |
372 return RetrieveSpecificFont(lf); | 372 return RetrieveSpecificFont(lf); |
373 } | 373 } |
374 static FX_BOOL RetrieveStockFont(int iFontObject, | |
375 uint8_t charSet, | |
376 LOGFONTA& lf) { | |
377 HFONT hFont = (HFONT)::GetStockObject(iFontObject); | |
378 if (hFont != NULL) { | |
379 memset(&lf, 0, sizeof(LOGFONTA)); | |
380 int iRet = ::GetObject(hFont, sizeof(LOGFONTA), &lf); | |
381 if (iRet > 0 && (lf.lfCharSet == charSet || charSet == 255)) { | |
382 return RetrieveSpecificFont(lf); | |
383 } | |
384 } | |
385 return FALSE; | |
386 } | |
387 #endif | 374 #endif |
388 CPDF_Font* CPDF_InterForm::AddSystemDefaultFont( | 375 CPDF_Font* CPDF_InterForm::AddSystemDefaultFont( |
389 const CPDF_Document* pDocument) { | 376 const CPDF_Document* pDocument) { |
390 if (pDocument == NULL) { | 377 if (pDocument == NULL) { |
391 return NULL; | 378 return NULL; |
392 } | 379 } |
393 CPDF_Font* pFont = NULL; | 380 CPDF_Font* pFont = NULL; |
394 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 381 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
395 LOGFONTA lf; | 382 LOGFONTA lf; |
396 FX_BOOL bRet; | 383 FX_BOOL bRet; |
(...skipping 949 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1346 FDF_ImportField(pField, L"", bNotify); | 1333 FDF_ImportField(pField, L"", bNotify); |
1347 } | 1334 } |
1348 if (bNotify && m_pFormNotify != NULL) { | 1335 if (bNotify && m_pFormNotify != NULL) { |
1349 m_pFormNotify->AfterFormImportData(this); | 1336 m_pFormNotify->AfterFormImportData(this); |
1350 } | 1337 } |
1351 return TRUE; | 1338 return TRUE; |
1352 } | 1339 } |
1353 void CPDF_InterForm::SetFormNotify(const CPDF_FormNotify* pNotify) { | 1340 void CPDF_InterForm::SetFormNotify(const CPDF_FormNotify* pNotify) { |
1354 m_pFormNotify = (CPDF_FormNotify*)pNotify; | 1341 m_pFormNotify = (CPDF_FormNotify*)pNotify; |
1355 } | 1342 } |
OLD | NEW |