1e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved.
2e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Use of this source code is governed by a BSD-style license that can be
3e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// found in the LICENSE file.
4ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
5e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
7e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_
8e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#define FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_
9e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#include "fpdfsdk/include/pdfwindow/PWL_FontMap.h"
11e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
12e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovclass CPDF_Dictionary;
13e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovclass CPDFSDK_Annot;
14e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass CBA_FontMap : public CPWL_FontMap {
16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann public:
17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CBA_FontMap(CPDFSDK_Annot* pAnnot, IFX_SystemHandler* pSystemHandler);
18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  ~CBA_FontMap() override;
19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void SetDefaultFont(CPDF_Font* pFont, const CFX_ByteString& sFontName);
21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
22ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void Reset();
23ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void SetAPType(const CFX_ByteString& sAPType);
24ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
25ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann private:
26ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  // CPWL_FontMap:
27ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void Initialize() override;
28ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CPDF_Document* GetDocument() override;
29ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CPDF_Font* FindFontSameCharset(CFX_ByteString& sFontAlias,
30ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                 int32_t nCharset) override;
31ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void AddedFont(CPDF_Font* pFont, const CFX_ByteString& sFontAlias) override;
32ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
33ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CPDF_Font* FindResFontSameCharset(CPDF_Dictionary* pResDict,
34ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    CFX_ByteString& sFontAlias,
35ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                                    int32_t nCharset);
36ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CPDF_Font* GetAnnotDefaultFont(CFX_ByteString& csNameTag);
37ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  void AddFontToAnnotDict(CPDF_Font* pFont, const CFX_ByteString& sAlias);
38ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
39ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CPDF_Document* m_pDocument;
40ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CPDF_Dictionary* m_pAnnotDict;
41ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CPDF_Font* m_pDefaultFont;
42ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CFX_ByteString m_sDefaultFontName;
43ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  CFX_ByteString m_sAPType;
44e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov};
45e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
46e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif  // FPDFSDK_INCLUDE_FORMFILLER_FFL_CBA_FONTMAP_H_
47