| 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/fxge/fx_freetype.h" | 7 #include "core/include/fxge/fx_freetype.h" |
| 8 #include "core/include/fxge/fx_ge.h" | 8 #include "core/include/fxge/fx_ge.h" |
| 9 #include "text_int.h" | 9 #include "text_int.h" |
| 10 | 10 |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 return FXFT_Is_Face_Bold(m_Face) == FXFT_STYLE_FLAG_BOLD; | 366 return FXFT_Is_Face_Bold(m_Face) == FXFT_STYLE_FLAG_BOLD; |
| 367 } | 367 } |
| 368 | 368 |
| 369 FX_BOOL CFX_Font::IsFixedWidth() const { | 369 FX_BOOL CFX_Font::IsFixedWidth() const { |
| 370 if (!m_Face) | 370 if (!m_Face) |
| 371 return FALSE; | 371 return FALSE; |
| 372 return FXFT_Is_Face_fixedwidth(m_Face); | 372 return FXFT_Is_Face_fixedwidth(m_Face); |
| 373 } | 373 } |
| 374 | 374 |
| 375 CFX_WideString CFX_Font::GetPsName() const { | 375 CFX_WideString CFX_Font::GetPsName() const { |
| 376 if (m_Face == NULL) { | 376 if (!m_Face) { |
| 377 return CFX_WideString(); | 377 return CFX_WideString(); |
| 378 } | 378 } |
| 379 CFX_WideString psName = | 379 CFX_WideString psName = |
| 380 CFX_WideString::FromLocal(FXFT_Get_Postscript_Name(m_Face)); | 380 CFX_WideString::FromLocal(FXFT_Get_Postscript_Name(m_Face)); |
| 381 if (psName.IsEmpty()) { | 381 if (psName.IsEmpty()) { |
| 382 psName = CFX_WideString::FromLocal("Untitled"); | 382 psName = CFX_WideString::FromLocal("Untitled"); |
| 383 } | 383 } |
| 384 return psName; | 384 return psName; |
| 385 } | 385 } |
| 386 CFX_ByteString CFX_Font::GetFamilyName() const { | 386 CFX_ByteString CFX_Font::GetFamilyName() const { |
| 387 if (m_Face == NULL && m_pSubstFont == NULL) { | 387 if (!m_Face && !m_pSubstFont) { |
| 388 return CFX_ByteString(); | 388 return CFX_ByteString(); |
| 389 } | 389 } |
| 390 if (m_Face) { | 390 if (m_Face) { |
| 391 return CFX_ByteString(FXFT_Get_Face_Family_Name(m_Face)); | 391 return CFX_ByteString(FXFT_Get_Face_Family_Name(m_Face)); |
| 392 } | 392 } |
| 393 return m_pSubstFont->m_Family; | 393 return m_pSubstFont->m_Family; |
| 394 } | 394 } |
| 395 CFX_ByteString CFX_Font::GetFaceName() const { | 395 CFX_ByteString CFX_Font::GetFaceName() const { |
| 396 if (m_Face == NULL && m_pSubstFont == NULL) { | 396 if (!m_Face && !m_pSubstFont) { |
| 397 return CFX_ByteString(); | 397 return CFX_ByteString(); |
| 398 } | 398 } |
| 399 if (m_Face) { | 399 if (m_Face) { |
| 400 CFX_ByteString facename; | 400 CFX_ByteString facename; |
| 401 CFX_ByteString style = CFX_ByteString(FXFT_Get_Face_Style_Name(m_Face)); | 401 CFX_ByteString style = CFX_ByteString(FXFT_Get_Face_Style_Name(m_Face)); |
| 402 facename = GetFamilyName(); | 402 facename = GetFamilyName(); |
| 403 if (facename.IsEmpty()) { | 403 if (facename.IsEmpty()) { |
| 404 facename = "Untitled"; | 404 facename = "Untitled"; |
| 405 } | 405 } |
| 406 if (!style.IsEmpty() && style != "Regular") { | 406 if (!style.IsEmpty() && style != "Regular") { |
| 407 facename += " " + style; | 407 facename += " " + style; |
| 408 } | 408 } |
| 409 return facename; | 409 return facename; |
| 410 } | 410 } |
| 411 return m_pSubstFont->m_Family; | 411 return m_pSubstFont->m_Family; |
| 412 } | 412 } |
| 413 FX_BOOL CFX_Font::GetBBox(FX_RECT& bbox) { | 413 FX_BOOL CFX_Font::GetBBox(FX_RECT& bbox) { |
| 414 if (m_Face == NULL) { | 414 if (!m_Face) { |
| 415 return FALSE; | 415 return FALSE; |
| 416 } | 416 } |
| 417 int em = FXFT_Get_Face_UnitsPerEM(m_Face); | 417 int em = FXFT_Get_Face_UnitsPerEM(m_Face); |
| 418 if (em == 0) { | 418 if (em == 0) { |
| 419 bbox.left = FXFT_Get_Face_xMin(m_Face); | 419 bbox.left = FXFT_Get_Face_xMin(m_Face); |
| 420 bbox.bottom = FXFT_Get_Face_yMax(m_Face); | 420 bbox.bottom = FXFT_Get_Face_yMax(m_Face); |
| 421 bbox.top = FXFT_Get_Face_yMin(m_Face); | 421 bbox.top = FXFT_Get_Face_yMin(m_Face); |
| 422 bbox.right = FXFT_Get_Face_xMax(m_Face); | 422 bbox.right = FXFT_Get_Face_xMax(m_Face); |
| 423 } else { | 423 } else { |
| 424 bbox.left = FXFT_Get_Face_xMin(m_Face) * 1000 / em; | 424 bbox.left = FXFT_Get_Face_xMin(m_Face) * 1000 / em; |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 551 for (size_t i = 0; i < FX_ArraySize(g_EncodingID); ++i) { | 551 for (size_t i = 0; i < FX_ArraySize(g_EncodingID); ++i) { |
| 552 CFX_UnicodeEncodingEx* pFontEncoding = | 552 CFX_UnicodeEncodingEx* pFontEncoding = |
| 553 _FXFM_CreateFontEncoding(pFont, g_EncodingID[i]); | 553 _FXFM_CreateFontEncoding(pFont, g_EncodingID[i]); |
| 554 if (pFontEncoding) { | 554 if (pFontEncoding) { |
| 555 return pFontEncoding; | 555 return pFontEncoding; |
| 556 } | 556 } |
| 557 } | 557 } |
| 558 return NULL; | 558 return NULL; |
| 559 } | 559 } |
| 560 #endif // PDF_ENABLE_XFA | 560 #endif // PDF_ENABLE_XFA |
| OLD | NEW |