| OLD | NEW |
| 1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef CORE_FXGE_CFX_FONTMGR_H_ | 7 #ifndef CORE_FXGE_CFX_FONTMGR_H_ |
| 8 #define CORE_FXGE_CFX_FONTMGR_H_ | 8 #define CORE_FXGE_CFX_FONTMGR_H_ |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| 11 #include <memory> | 11 #include <memory> |
| 12 | 12 |
| 13 #include "core/fxge/fx_font.h" | 13 #include "core/fxge/fx_font.h" |
| 14 | 14 |
| 15 class IFX_SystemFontInfo; | 15 class IFX_SystemFontInfo; |
| 16 class CFX_FontMapper; | 16 class CFX_FontMapper; |
| 17 class CFX_SubstFont; | 17 class CFX_SubstFont; |
| 18 class CTTFontDesc; | 18 class CTTFontDesc; |
| 19 | 19 |
| 20 class CFX_FontMgr { | 20 class CFX_FontMgr { |
| 21 public: | 21 public: |
| 22 CFX_FontMgr(); | 22 CFX_FontMgr(); |
| 23 ~CFX_FontMgr(); | 23 ~CFX_FontMgr(); |
| 24 | 24 |
| 25 void InitFTLibrary(); | 25 void InitFTLibrary(); |
| 26 | 26 |
| 27 FXFT_Face GetCachedFace(const CFX_ByteString& face_name, | 27 FXFT_Face GetCachedFace(const CFX_ByteString& face_name, |
| 28 int weight, | 28 int weight, |
| 29 FX_BOOL bItalic, | 29 bool bItalic, |
| 30 uint8_t*& pFontData); | 30 uint8_t*& pFontData); |
| 31 FXFT_Face AddCachedFace(const CFX_ByteString& face_name, | 31 FXFT_Face AddCachedFace(const CFX_ByteString& face_name, |
| 32 int weight, | 32 int weight, |
| 33 FX_BOOL bItalic, | 33 bool bItalic, |
| 34 uint8_t* pData, | 34 uint8_t* pData, |
| 35 uint32_t size, | 35 uint32_t size, |
| 36 int face_index); | 36 int face_index); |
| 37 FXFT_Face GetCachedTTCFace(int ttc_size, | 37 FXFT_Face GetCachedTTCFace(int ttc_size, |
| 38 uint32_t checksum, | 38 uint32_t checksum, |
| 39 int font_offset, | 39 int font_offset, |
| 40 uint8_t*& pFontData); | 40 uint8_t*& pFontData); |
| 41 FXFT_Face AddCachedTTCFace(int ttc_size, | 41 FXFT_Face AddCachedTTCFace(int ttc_size, |
| 42 uint32_t checksum, | 42 uint32_t checksum, |
| 43 uint8_t* pData, | 43 uint8_t* pData, |
| 44 uint32_t size, | 44 uint32_t size, |
| 45 int font_offset); | 45 int font_offset); |
| 46 FXFT_Face GetFileFace(const FX_CHAR* filename, int face_index); | 46 FXFT_Face GetFileFace(const FX_CHAR* filename, int face_index); |
| 47 FXFT_Face GetFixedFace(const uint8_t* pData, uint32_t size, int face_index); | 47 FXFT_Face GetFixedFace(const uint8_t* pData, uint32_t size, int face_index); |
| 48 void ReleaseFace(FXFT_Face face); | 48 void ReleaseFace(FXFT_Face face); |
| 49 void SetSystemFontInfo(std::unique_ptr<IFX_SystemFontInfo> pFontInfo); | 49 void SetSystemFontInfo(std::unique_ptr<IFX_SystemFontInfo> pFontInfo); |
| 50 FXFT_Face FindSubstFont(const CFX_ByteString& face_name, | 50 FXFT_Face FindSubstFont(const CFX_ByteString& face_name, |
| 51 FX_BOOL bTrueType, | 51 bool bTrueType, |
| 52 uint32_t flags, | 52 uint32_t flags, |
| 53 int weight, | 53 int weight, |
| 54 int italic_angle, | 54 int italic_angle, |
| 55 int CharsetCP, | 55 int CharsetCP, |
| 56 CFX_SubstFont* pSubstFont); | 56 CFX_SubstFont* pSubstFont); |
| 57 bool GetBuiltinFont(size_t index, const uint8_t** pFontData, uint32_t* size); | 57 bool GetBuiltinFont(size_t index, const uint8_t** pFontData, uint32_t* size); |
| 58 CFX_FontMapper* GetBuiltinMapper() const { return m_pBuiltinMapper.get(); } | 58 CFX_FontMapper* GetBuiltinMapper() const { return m_pBuiltinMapper.get(); } |
| 59 FXFT_Library GetFTLibrary() const { return m_FTLibrary; } | 59 FXFT_Library GetFTLibrary() const { return m_FTLibrary; } |
| 60 bool FTLibrarySupportsHinting() const { return m_FTLibrarySupportsHinting; } | 60 bool FTLibrarySupportsHinting() const { return m_FTLibrarySupportsHinting; } |
| 61 | 61 |
| 62 private: | 62 private: |
| 63 std::unique_ptr<CFX_FontMapper> m_pBuiltinMapper; | 63 std::unique_ptr<CFX_FontMapper> m_pBuiltinMapper; |
| 64 std::map<CFX_ByteString, CTTFontDesc*> m_FaceMap; | 64 std::map<CFX_ByteString, CTTFontDesc*> m_FaceMap; |
| 65 FXFT_Library m_FTLibrary; | 65 FXFT_Library m_FTLibrary; |
| 66 bool m_FTLibrarySupportsHinting; | 66 bool m_FTLibrarySupportsHinting; |
| 67 }; | 67 }; |
| 68 | 68 |
| 69 #endif // CORE_FXGE_CFX_FONTMGR_H_ | 69 #endif // CORE_FXGE_CFX_FONTMGR_H_ |
| OLD | NEW |