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 CORE_INCLUDE_FXGE_FX_FONT_H_ | 7 #ifndef CORE_INCLUDE_FXGE_FX_FONT_H_ |
8 #define CORE_INCLUDE_FXGE_FX_FONT_H_ | 8 #define CORE_INCLUDE_FXGE_FX_FONT_H_ |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 virtual void Finish() = 0; | 237 virtual void Finish() = 0; |
238 }; | 238 }; |
239 class IFX_AdditionalFontEnum { | 239 class IFX_AdditionalFontEnum { |
240 public: | 240 public: |
241 virtual ~IFX_AdditionalFontEnum() {} | 241 virtual ~IFX_AdditionalFontEnum() {} |
242 virtual int CountFiles() = 0; | 242 virtual int CountFiles() = 0; |
243 virtual IFX_FileStream* GetFontFile(int index) = 0; | 243 virtual IFX_FileStream* GetFontFile(int index) = 0; |
244 }; | 244 }; |
245 class CFX_FontMapper { | 245 class CFX_FontMapper { |
246 public: | 246 public: |
247 CFX_FontMapper(CFX_FontMgr* mgr); | 247 explicit CFX_FontMapper(CFX_FontMgr* mgr); |
248 ~CFX_FontMapper(); | 248 ~CFX_FontMapper(); |
249 | 249 |
250 void SetSystemFontInfo(IFX_SystemFontInfo* pFontInfo); | 250 void SetSystemFontInfo(IFX_SystemFontInfo* pFontInfo); |
251 IFX_SystemFontInfo* GetSystemFontInfo() { return m_pFontInfo; } | 251 IFX_SystemFontInfo* GetSystemFontInfo() { return m_pFontInfo; } |
252 void AddInstalledFont(const CFX_ByteString& name, int charset); | 252 void AddInstalledFont(const CFX_ByteString& name, int charset); |
253 void LoadInstalledFonts(); | 253 void LoadInstalledFonts(); |
254 CFX_ByteStringArray m_InstalledTTFonts; | 254 CFX_ByteStringArray m_InstalledTTFonts; |
255 void SetFontEnumerator(IFX_FontEnumerator* pFontEnumerator) { | 255 void SetFontEnumerator(IFX_FontEnumerator* pFontEnumerator) { |
256 m_pFontEnumerator = pFontEnumerator; | 256 m_pFontEnumerator = pFontEnumerator; |
257 } | 257 } |
(...skipping 18 matching lines...) Expand all Loading... |
276 FX_BOOL m_bListLoaded; | 276 FX_BOOL m_bListLoaded; |
277 FXFT_Face m_MMFaces[2]; | 277 FXFT_Face m_MMFaces[2]; |
278 CFX_ByteString m_LastFamily; | 278 CFX_ByteString m_LastFamily; |
279 CFX_DWordArray m_CharsetArray; | 279 CFX_DWordArray m_CharsetArray; |
280 CFX_ByteStringArray m_FaceArray; | 280 CFX_ByteStringArray m_FaceArray; |
281 IFX_SystemFontInfo* m_pFontInfo; | 281 IFX_SystemFontInfo* m_pFontInfo; |
282 FXFT_Face m_FoxitFaces[14]; | 282 FXFT_Face m_FoxitFaces[14]; |
283 IFX_FontEnumerator* m_pFontEnumerator; | 283 IFX_FontEnumerator* m_pFontEnumerator; |
284 CFX_FontMgr* const m_pFontMgr; | 284 CFX_FontMgr* const m_pFontMgr; |
285 }; | 285 }; |
| 286 |
286 class IFX_SystemFontInfo { | 287 class IFX_SystemFontInfo { |
287 public: | 288 public: |
288 static IFX_SystemFontInfo* CreateDefault(const char** pUserPaths); | 289 static IFX_SystemFontInfo* CreateDefault(const char** pUserPaths); |
289 virtual void Release() = 0; | 290 virtual void Release() = 0; |
290 | 291 |
291 virtual FX_BOOL EnumFontList(CFX_FontMapper* pMapper) = 0; | 292 virtual FX_BOOL EnumFontList(CFX_FontMapper* pMapper) = 0; |
292 virtual void* MapFont(int weight, | 293 virtual void* MapFont(int weight, |
293 FX_BOOL bItalic, | 294 FX_BOOL bItalic, |
294 int charset, | 295 int charset, |
295 int pitch_family, | 296 int pitch_family, |
296 const FX_CHAR* face, | 297 const FX_CHAR* face, |
297 int& iExact) = 0; | 298 int& iExact) = 0; |
298 virtual void* GetFont(const FX_CHAR* face) = 0; | 299 virtual void* GetFont(const FX_CHAR* face) = 0; |
299 virtual FX_DWORD GetFontData(void* hFont, | 300 virtual FX_DWORD GetFontData(void* hFont, |
300 FX_DWORD table, | 301 FX_DWORD table, |
301 uint8_t* buffer, | 302 uint8_t* buffer, |
302 FX_DWORD size) = 0; | 303 FX_DWORD size) = 0; |
303 virtual FX_BOOL GetFaceName(void* hFont, CFX_ByteString& name) = 0; | 304 virtual FX_BOOL GetFaceName(void* hFont, CFX_ByteString& name) = 0; |
304 virtual FX_BOOL GetFontCharset(void* hFont, int& charset) = 0; | 305 virtual FX_BOOL GetFontCharset(void* hFont, int& charset) = 0; |
305 virtual int GetFaceIndex(void* hFont) { return 0; } | 306 virtual int GetFaceIndex(void* hFont) { return 0; } |
306 virtual void DeleteFont(void* hFont) = 0; | 307 virtual void DeleteFont(void* hFont) = 0; |
307 virtual void* RetainFont(void* hFont) { return NULL; } | 308 virtual void* RetainFont(void* hFont) { return NULL; } |
308 | 309 |
309 protected: | 310 protected: |
310 ~IFX_SystemFontInfo() {} | 311 virtual ~IFX_SystemFontInfo() {} |
311 }; | 312 }; |
| 313 |
312 class CFX_FolderFontInfo : public IFX_SystemFontInfo { | 314 class CFX_FolderFontInfo : public IFX_SystemFontInfo { |
313 public: | 315 public: |
314 CFX_FolderFontInfo(); | 316 CFX_FolderFontInfo(); |
315 virtual ~CFX_FolderFontInfo(); | 317 ~CFX_FolderFontInfo() override; |
316 void AddPath(const CFX_ByteStringC& path); | 318 void AddPath(const CFX_ByteStringC& path); |
317 | 319 |
318 // IFX_SytemFontInfo: | 320 // IFX_SytemFontInfo: |
319 void Release() override; | 321 void Release() override; |
320 FX_BOOL EnumFontList(CFX_FontMapper* pMapper) override; | 322 FX_BOOL EnumFontList(CFX_FontMapper* pMapper) override; |
321 void* MapFont(int weight, | 323 void* MapFont(int weight, |
322 FX_BOOL bItalic, | 324 FX_BOOL bItalic, |
323 int charset, | 325 int charset, |
324 int pitch_family, | 326 int pitch_family, |
325 const FX_CHAR* face, | 327 const FX_CHAR* face, |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 FX_FLOAT retinaScaleX = 1.0f, | 434 FX_FLOAT retinaScaleX = 1.0f, |
433 FX_FLOAT retinaScaleY = 1.0f); | 435 FX_FLOAT retinaScaleY = 1.0f); |
434 class IFX_GSUBTable { | 436 class IFX_GSUBTable { |
435 public: | 437 public: |
436 static IFX_GSUBTable* Create(CFX_Font* pFont); | 438 static IFX_GSUBTable* Create(CFX_Font* pFont); |
437 virtual ~IFX_GSUBTable() {} | 439 virtual ~IFX_GSUBTable() {} |
438 virtual FX_BOOL GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vglyphnum) = 0; | 440 virtual FX_BOOL GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vglyphnum) = 0; |
439 }; | 441 }; |
440 | 442 |
441 #endif // CORE_INCLUDE_FXGE_FX_FONT_H_ | 443 #endif // CORE_INCLUDE_FXGE_FX_FONT_H_ |
OLD | NEW |