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 #ifndef XFA_FGAS_FONT_FGAS_STDFONTMGR_H_ | 7 #ifndef XFA_FGAS_FONT_FGAS_STDFONTMGR_H_ |
8 #define XFA_FGAS_FONT_FGAS_STDFONTMGR_H_ | 8 #define XFA_FGAS_FONT_FGAS_STDFONTMGR_H_ |
9 | 9 |
10 #include "core/fxcrt/include/fx_ext.h" | 10 #include "core/fxcrt/include/fx_ext.h" |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 IFX_FileAccess* GetNext(FX_POSITION& pos); | 135 IFX_FileAccess* GetNext(FX_POSITION& pos); |
136 | 136 |
137 private: | 137 private: |
138 CFX_ByteString GetNextFile(); | 138 CFX_ByteString GetNextFile(); |
139 | 139 |
140 CFX_WideString m_wsNext; | 140 CFX_WideString m_wsNext; |
141 CFX_ObjectArray<FX_HandleParentPath> m_FolderQueue; | 141 CFX_ObjectArray<FX_HandleParentPath> m_FolderQueue; |
142 CFX_ByteStringArray m_FolderPaths; | 142 CFX_ByteStringArray m_FolderPaths; |
143 }; | 143 }; |
144 | 144 |
145 typedef CFX_MapPtrTemplate<uint32_t, IFX_FileAccess*> CFX_HashFileMap; | |
146 typedef CFX_MapPtrTemplate<uint32_t, IFX_Font*> CFX_HashFontMap; | |
147 typedef CFX_MapPtrTemplate<uint32_t, CFX_FontDescriptorInfos*> | |
148 CFX_HashFontDescsMap; | |
149 typedef CFX_MapPtrTemplate<uint32_t, CFX_ArrayTemplate<IFX_Font*>*> | |
150 CFX_HashFontsMap; | |
151 typedef CFX_MapPtrTemplate<FX_WCHAR, IFX_Font*> CFX_UnicodeFontMap; | |
152 typedef CFX_MapPtrTemplate<IFX_Font*, IFX_FileRead*> CFX_FonStreamtMap; | |
153 | |
154 class CFX_FontMgrImp : public IFX_FontMgr { | 145 class CFX_FontMgrImp : public IFX_FontMgr { |
155 public: | 146 public: |
156 CFX_FontMgrImp(CFX_FontSourceEnum_File* pFontEnum); | 147 CFX_FontMgrImp(CFX_FontSourceEnum_File* pFontEnum); |
157 | 148 |
158 virtual void Release(); | 149 virtual void Release(); |
159 virtual IFX_Font* GetDefFontByCodePage(uint16_t wCodePage, | 150 virtual IFX_Font* GetDefFontByCodePage(uint16_t wCodePage, |
160 uint32_t dwFontStyles, | 151 uint32_t dwFontStyles, |
161 const FX_WCHAR* pszFontFamily = NULL); | 152 const FX_WCHAR* pszFontFamily = NULL); |
162 virtual IFX_Font* GetDefFontByCharset(uint8_t nCharset, | 153 virtual IFX_Font* GetDefFontByCharset(uint8_t nCharset, |
163 uint32_t dwFontStyles, | 154 uint32_t dwFontStyles, |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 IFX_Font* LoadFont(IFX_FileAccess* pFontAccess, | 219 IFX_Font* LoadFont(IFX_FileAccess* pFontAccess, |
229 int32_t iFaceIndex, | 220 int32_t iFaceIndex, |
230 int32_t* pFaceCount, | 221 int32_t* pFaceCount, |
231 FX_BOOL bWantCache = FALSE); | 222 FX_BOOL bWantCache = FALSE); |
232 FXFT_Face LoadFace(IFX_FileRead* pFontStream, int32_t iFaceIndex); | 223 FXFT_Face LoadFace(IFX_FileRead* pFontStream, int32_t iFaceIndex); |
233 IFX_FileRead* CreateFontStream(CFX_FontMapper* pFontMapper, | 224 IFX_FileRead* CreateFontStream(CFX_FontMapper* pFontMapper, |
234 IFX_SystemFontInfo* pSystemFontInfo, | 225 IFX_SystemFontInfo* pSystemFontInfo, |
235 uint32_t index); | 226 uint32_t index); |
236 IFX_FileRead* CreateFontStream(const CFX_ByteString& bsFaceName); | 227 IFX_FileRead* CreateFontStream(const CFX_ByteString& bsFaceName); |
237 | 228 |
238 CFX_HashFontDescsMap m_Hash2CandidateList; | 229 CFX_MapPtrTemplate<uint32_t, CFX_FontDescriptorInfos*> m_Hash2CandidateList; |
239 CFX_HashFontsMap m_Hash2Fonts; | 230 CFX_MapPtrTemplate<uint32_t, CFX_ArrayTemplate<IFX_Font*>*> m_Hash2Fonts; |
240 CFX_HashFileMap m_Hash2FileAccess; | 231 CFX_MapPtrTemplate<uint32_t, IFX_FileAccess*> m_Hash2FileAccess; |
241 CFX_HashFontMap m_FileAccess2IFXFont; | 232 CFX_MapPtrTemplate<uint32_t, IFX_Font*> m_FileAccess2IFXFont; |
242 CFX_FonStreamtMap m_IFXFont2FileRead; | 233 CFX_MapPtrTemplate<IFX_Font*, IFX_FileRead*> m_IFXFont2FileRead; |
243 CFX_UnicodeFontMap m_FailedUnicodes2NULL; | 234 CFX_MapPtrTemplate<FX_WCHAR, IFX_Font*> m_FailedUnicodes2NULL; |
244 CFX_FontSourceEnum_File* m_pFontSource; | 235 CFX_FontSourceEnum_File* m_pFontSource; |
245 }; | 236 }; |
246 #endif | 237 #endif |
247 | 238 |
248 #endif // XFA_FGAS_FONT_FGAS_STDFONTMGR_H_ | 239 #endif // XFA_FGAS_FONT_FGAS_STDFONTMGR_H_ |
OLD | NEW |