| 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/fxge/include/fx_font.h" | 7 #include "core/fxge/include/fx_font.h" |
| 8 | 8 |
| 9 #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" | 9 #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" |
| 10 #include "core/fxge/ge/fx_text_int.h" | 10 #include "core/fxge/ge/fx_text_int.h" |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 m_pOwnedStream(nullptr), | 226 m_pOwnedStream(nullptr), |
| 227 #endif // PDF_ENABLE_XFA | 227 #endif // PDF_ENABLE_XFA |
| 228 m_Face(nullptr), | 228 m_Face(nullptr), |
| 229 m_FaceCache(nullptr), | 229 m_FaceCache(nullptr), |
| 230 m_pFontData(nullptr), | 230 m_pFontData(nullptr), |
| 231 m_pGsubData(nullptr), | 231 m_pGsubData(nullptr), |
| 232 m_dwSize(0), | 232 m_dwSize(0), |
| 233 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ | 233 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ |
| 234 m_pPlatformFont(nullptr), | 234 m_pPlatformFont(nullptr), |
| 235 #endif | 235 #endif |
| 236 m_bEmbedded(FALSE), | 236 m_bEmbedded(false), |
| 237 m_bVertical(FALSE) { | 237 m_bVertical(false) { |
| 238 } | 238 } |
| 239 | 239 |
| 240 #ifdef PDF_ENABLE_XFA | 240 #ifdef PDF_ENABLE_XFA |
| 241 FX_BOOL CFX_Font::LoadClone(const CFX_Font* pFont) { | 241 FX_BOOL CFX_Font::LoadClone(const CFX_Font* pFont) { |
| 242 if (!pFont) | 242 if (!pFont) |
| 243 return FALSE; | 243 return FALSE; |
| 244 | 244 |
| 245 m_bShallowCopy = true; | 245 m_bShallowCopy = true; |
| 246 if (pFont->m_pSubstFont) { | 246 if (pFont->m_pSubstFont) { |
| 247 m_pSubstFont.reset(new CFX_SubstFont); | 247 m_pSubstFont.reset(new CFX_SubstFont); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 } | 309 } |
| 310 m_Face = nullptr; | 310 m_Face = nullptr; |
| 311 } | 311 } |
| 312 | 312 |
| 313 void CFX_Font::LoadSubst(const CFX_ByteString& face_name, | 313 void CFX_Font::LoadSubst(const CFX_ByteString& face_name, |
| 314 FX_BOOL bTrueType, | 314 FX_BOOL bTrueType, |
| 315 uint32_t flags, | 315 uint32_t flags, |
| 316 int weight, | 316 int weight, |
| 317 int italic_angle, | 317 int italic_angle, |
| 318 int CharsetCP, | 318 int CharsetCP, |
| 319 FX_BOOL bVertical) { | 319 bool bVertical) { |
| 320 m_bEmbedded = FALSE; | 320 m_bEmbedded = false; |
| 321 m_bVertical = bVertical; | 321 m_bVertical = bVertical; |
| 322 m_pSubstFont.reset(new CFX_SubstFont); | 322 m_pSubstFont.reset(new CFX_SubstFont); |
| 323 m_Face = CFX_GEModule::Get()->GetFontMgr()->FindSubstFont( | 323 m_Face = CFX_GEModule::Get()->GetFontMgr()->FindSubstFont( |
| 324 face_name, bTrueType, flags, weight, italic_angle, CharsetCP, | 324 face_name, bTrueType, flags, weight, italic_angle, CharsetCP, |
| 325 m_pSubstFont.get()); | 325 m_pSubstFont.get()); |
| 326 if (m_Face) { | 326 if (m_Face) { |
| 327 m_pFontData = FXFT_Get_Face_Stream_Base(m_Face); | 327 m_pFontData = FXFT_Get_Face_Stream_Base(m_Face); |
| 328 m_dwSize = FXFT_Get_Face_Stream_Size(m_Face); | 328 m_dwSize = FXFT_Get_Face_Stream_Size(m_Face); |
| 329 } | 329 } |
| 330 } | 330 } |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 int width = EM_ADJUST(FXFT_Get_Face_UnitsPerEM(m_Face), | 364 int width = EM_ADJUST(FXFT_Get_Face_UnitsPerEM(m_Face), |
| 365 FXFT_Get_Glyph_HoriAdvance(m_Face)); | 365 FXFT_Get_Glyph_HoriAdvance(m_Face)); |
| 366 return width; | 366 return width; |
| 367 } | 367 } |
| 368 | 368 |
| 369 FX_BOOL CFX_Font::LoadEmbedded(const uint8_t* data, uint32_t size) { | 369 FX_BOOL CFX_Font::LoadEmbedded(const uint8_t* data, uint32_t size) { |
| 370 std::vector<uint8_t> temp(data, data + size); | 370 std::vector<uint8_t> temp(data, data + size); |
| 371 m_pFontDataAllocation.swap(temp); | 371 m_pFontDataAllocation.swap(temp); |
| 372 m_Face = FT_LoadFont(m_pFontDataAllocation.data(), size); | 372 m_Face = FT_LoadFont(m_pFontDataAllocation.data(), size); |
| 373 m_pFontData = m_pFontDataAllocation.data(); | 373 m_pFontData = m_pFontDataAllocation.data(); |
| 374 m_bEmbedded = TRUE; | 374 m_bEmbedded = true; |
| 375 m_dwSize = size; | 375 m_dwSize = size; |
| 376 return !!m_Face; | 376 return !!m_Face; |
| 377 } | 377 } |
| 378 | 378 |
| 379 FX_BOOL CFX_Font::IsTTFont() const { | 379 bool CFX_Font::IsTTFont() const { |
| 380 if (!m_Face) | 380 if (!m_Face) |
| 381 return FALSE; | 381 return false; |
| 382 return FXFT_Is_Face_TT_OT(m_Face) == FXFT_FACE_FLAG_SFNT; | 382 return FXFT_Is_Face_TT_OT(m_Face) == FXFT_FACE_FLAG_SFNT; |
| 383 } | 383 } |
| 384 | 384 |
| 385 int CFX_Font::GetAscent() const { | 385 int CFX_Font::GetAscent() const { |
| 386 if (!m_Face) | 386 if (!m_Face) |
| 387 return 0; | 387 return 0; |
| 388 return EM_ADJUST(FXFT_Get_Face_UnitsPerEM(m_Face), | 388 return EM_ADJUST(FXFT_Get_Face_UnitsPerEM(m_Face), |
| 389 FXFT_Get_Face_Ascender(m_Face)); | 389 FXFT_Get_Face_Ascender(m_Face)); |
| 390 } | 390 } |
| 391 | 391 |
| (...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 705 const CFX_PathData* CFX_Font::LoadGlyphPath(uint32_t glyph_index, | 705 const CFX_PathData* CFX_Font::LoadGlyphPath(uint32_t glyph_index, |
| 706 int dest_width) const { | 706 int dest_width) const { |
| 707 return GetFaceCache()->LoadGlyphPath(this, glyph_index, dest_width); | 707 return GetFaceCache()->LoadGlyphPath(this, glyph_index, dest_width); |
| 708 } | 708 } |
| 709 | 709 |
| 710 #ifdef _SKIA_SUPPORT_ | 710 #ifdef _SKIA_SUPPORT_ |
| 711 CFX_TypeFace* CFX_Font::GetDeviceCache() const { | 711 CFX_TypeFace* CFX_Font::GetDeviceCache() const { |
| 712 return GetFaceCache()->GetDeviceCache(this); | 712 return GetFaceCache()->GetDeviceCache(this); |
| 713 } | 713 } |
| 714 #endif | 714 #endif |
| OLD | NEW |