cpvt_fontmap.h revision 4d3acf4ec42bf6e838f9060103aff98fbf170794
1// Copyright 2016 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 CORE_FPDFDOC_CPVT_FONTMAP_H_ 8#define CORE_FPDFDOC_CPVT_FONTMAP_H_ 9 10#include <stdint.h> 11 12#include "core/fpdfdoc/ipvt_fontmap.h" 13#include "core/fxcrt/fx_string.h" 14 15class CPDF_Document; 16class CPDF_Dictionary; 17class CPDF_Font; 18 19class CPVT_FontMap : public IPVT_FontMap { 20 public: 21 CPVT_FontMap(CPDF_Document* pDoc, 22 CPDF_Dictionary* pResDict, 23 CPDF_Font* pDefFont, 24 const CFX_ByteString& sDefFontAlias); 25 ~CPVT_FontMap() override; 26 27 // IPVT_FontMap: 28 CPDF_Font* GetPDFFont(int32_t nFontIndex) override; 29 CFX_ByteString GetPDFFontAlias(int32_t nFontIndex) override; 30 int32_t GetWordFontIndex(uint16_t word, 31 int32_t charset, 32 int32_t nFontIndex) override; 33 int32_t CharCodeFromUnicode(int32_t nFontIndex, uint16_t word) override; 34 int32_t CharSetFromUnicode(uint16_t word, int32_t nOldCharset) override; 35 36 static void GetAnnotSysPDFFont(CPDF_Document* pDoc, 37 const CPDF_Dictionary* pResDict, 38 CPDF_Font*& pSysFont, 39 CFX_ByteString& sSysFontAlias); 40 41 private: 42 CPDF_Document* const m_pDocument; 43 const CPDF_Dictionary* const m_pResDict; 44 CPDF_Font* const m_pDefFont; 45 const CFX_ByteString m_sDefFontAlias; 46 CPDF_Font* m_pSysFont; 47 CFX_ByteString m_sSysFontAlias; 48}; 49 50#endif // CORE_FPDFDOC_CPVT_FONTMAP_H_ 51