| OLD | NEW |
| (Empty) |
| 1 // Copyright 2016 PDFium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
| 6 | |
| 7 #ifndef CORE_FXGE_INCLUDE_CFX_FONTMGR_H_ | |
| 8 #define CORE_FXGE_INCLUDE_CFX_FONTMGR_H_ | |
| 9 | |
| 10 #include <map> | |
| 11 #include <memory> | |
| 12 | |
| 13 #include "core/fxge/include/fx_font.h" | |
| 14 | |
| 15 class IFX_SystemFontInfo; | |
| 16 class CFX_FontMapper; | |
| 17 class CFX_SubstFont; | |
| 18 class CTTFontDesc; | |
| 19 | |
| 20 class CFX_FontMgr { | |
| 21 public: | |
| 22 CFX_FontMgr(); | |
| 23 ~CFX_FontMgr(); | |
| 24 | |
| 25 void InitFTLibrary(); | |
| 26 | |
| 27 FXFT_Face GetCachedFace(const CFX_ByteString& face_name, | |
| 28 int weight, | |
| 29 FX_BOOL bItalic, | |
| 30 uint8_t*& pFontData); | |
| 31 FXFT_Face AddCachedFace(const CFX_ByteString& face_name, | |
| 32 int weight, | |
| 33 FX_BOOL bItalic, | |
| 34 uint8_t* pData, | |
| 35 uint32_t size, | |
| 36 int face_index); | |
| 37 FXFT_Face GetCachedTTCFace(int ttc_size, | |
| 38 uint32_t checksum, | |
| 39 int font_offset, | |
| 40 uint8_t*& pFontData); | |
| 41 FXFT_Face AddCachedTTCFace(int ttc_size, | |
| 42 uint32_t checksum, | |
| 43 uint8_t* pData, | |
| 44 uint32_t size, | |
| 45 int font_offset); | |
| 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); | |
| 48 void ReleaseFace(FXFT_Face face); | |
| 49 void SetSystemFontInfo(std::unique_ptr<IFX_SystemFontInfo> pFontInfo); | |
| 50 FXFT_Face FindSubstFont(const CFX_ByteString& face_name, | |
| 51 FX_BOOL bTrueType, | |
| 52 uint32_t flags, | |
| 53 int weight, | |
| 54 int italic_angle, | |
| 55 int CharsetCP, | |
| 56 CFX_SubstFont* pSubstFont); | |
| 57 bool GetBuiltinFont(size_t index, const uint8_t** pFontData, uint32_t* size); | |
| 58 CFX_FontMapper* GetBuiltinMapper() const { return m_pBuiltinMapper.get(); } | |
| 59 FXFT_Library GetFTLibrary() const { return m_FTLibrary; } | |
| 60 bool FTLibrarySupportsHinting() const { return m_FTLibrarySupportsHinting; } | |
| 61 | |
| 62 private: | |
| 63 std::unique_ptr<CFX_FontMapper> m_pBuiltinMapper; | |
| 64 std::map<CFX_ByteString, CTTFontDesc*> m_FaceMap; | |
| 65 FXFT_Library m_FTLibrary; | |
| 66 bool m_FTLibrarySupportsHinting; | |
| 67 }; | |
| 68 | |
| 69 #endif // CORE_FXGE_INCLUDE_CFX_FONTMGR_H_ | |
| OLD | NEW |