// Copyright 2014 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #ifndef FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_ #define FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_ #include "../pdfwindow/PWL_FontMap.h" class CPDF_Dictionary; class CPDFSDK_Annot; class CBA_FontMap : public CPWL_FontMap { public: CBA_FontMap(CPDFSDK_Annot* pAnnot, IFX_SystemHandler* pSystemHandler); CBA_FontMap(CPDF_Document* pDocument, CPDF_Dictionary* pAnnotDict, IFX_SystemHandler* pSystemHandler); ~CBA_FontMap() override; virtual void Initial(const FX_CHAR* fontname = NULL); public: void SetDefaultFont(CPDF_Font* pFont, const CFX_ByteString& sFontName); void Reset(); void SetAPType(const CFX_ByteString& sAPType); protected: virtual CPDF_Font* FindFontSameCharset(CFX_ByteString& sFontAlias, int32_t nCharset); virtual void AddedFont(CPDF_Font* pFont, const CFX_ByteString& sFontAlias); virtual CPDF_Document* GetDocument(); private: CPDF_Font* FindResFontSameCharset(CPDF_Dictionary* pResDict, CFX_ByteString& sFontAlias, int32_t nCharset); CPDF_Font* GetAnnotDefaultFont(CFX_ByteString& csNameTag); void AddFontToAnnotDict(CPDF_Font* pFont, const CFX_ByteString& sAlias); private: CPDF_Document* m_pDocument; CPDF_Dictionary* m_pAnnotDict; CPDF_Font* m_pDefaultFont; CFX_ByteString m_sDefaultFontName; CFX_ByteString m_sAPType; }; #endif // FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_