1 // Copyright 2014 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 FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_ 8 #define FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_ 9 10 #include "fpdfsdk/include/pdfwindow/PWL_FontMap.h" 11 12 class CPDF_Dictionary; 13 class CPDFSDK_Annot; 14 15 class CBA_FontMap : public CPWL_FontMap { 16 public: 17 CBA_FontMap(CPDFSDK_Annot* pAnnot, IFX_SystemHandler* pSystemHandler); 18 ~CBA_FontMap() override; 19 20 void SetDefaultFont(CPDF_Font* pFont, const CFX_ByteString& sFontName); 21 22 void Reset(); 23 void SetAPType(const CFX_ByteString& sAPType); 24 25 private: 26 // CPWL_FontMap: 27 void Initialize() override; 28 CPDF_Document* GetDocument() override; 29 CPDF_Font* FindFontSameCharset(CFX_ByteString& sFontAlias, 30 int32_t nCharset) override; 31 void AddedFont(CPDF_Font* pFont, const CFX_ByteString& sFontAlias) override; 32 33 CPDF_Font* FindResFontSameCharset(CPDF_Dictionary* pResDict, 34 CFX_ByteString& sFontAlias, 35 int32_t nCharset); 36 CPDF_Font* GetAnnotDefaultFont(CFX_ByteString& csNameTag); 37 void AddFontToAnnotDict(CPDF_Font* pFont, const CFX_ByteString& sAlias); 38 39 CPDF_Document* m_pDocument; 40 CPDF_Dictionary* m_pAnnotDict; 41 CPDF_Font* m_pDefaultFont; 42 CFX_ByteString m_sDefaultFontName; 43 CFX_ByteString m_sAPType; 44 }; 45 46 #endif // FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_ 47