| 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_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_ | 7 #ifndef CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_ |
| 8 #define CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_ | 8 #define CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_ |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| 11 #include <memory> |
| 11 | 12 |
| 12 #include "core/include/fpdfapi/fpdf_resource.h" | 13 #include "core/include/fpdfapi/fpdf_resource.h" |
| 13 #include "core/include/fxcrt/fx_basic.h" | 14 #include "core/include/fxcrt/fx_basic.h" |
| 14 | 15 |
| 15 class CPDF_CID2UnicodeMap; | 16 class CPDF_CID2UnicodeMap; |
| 16 class CPDF_CMap; | 17 class CPDF_CMap; |
| 17 class CPDF_Font; | 18 class CPDF_Font; |
| 18 class CPDF_Stream; | 19 class CPDF_Stream; |
| 19 | 20 |
| 20 typedef void* FXFT_Library; | 21 typedef void* FXFT_Library; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 32 void ReloadAll(); | 33 void ReloadAll(); |
| 33 | 34 |
| 34 private: | 35 private: |
| 35 CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK); | 36 CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK); |
| 36 CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK); | 37 CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK); |
| 37 | 38 |
| 38 FX_BOOL m_bPrompted; | 39 FX_BOOL m_bPrompted; |
| 39 std::map<CFX_ByteString, CPDF_CMap*> m_CMaps; | 40 std::map<CFX_ByteString, CPDF_CMap*> m_CMaps; |
| 40 CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6]; | 41 CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6]; |
| 41 }; | 42 }; |
| 43 |
| 44 class CFX_StockFontArray { |
| 45 public: |
| 46 CFX_StockFontArray(); |
| 47 ~CFX_StockFontArray(); |
| 48 |
| 49 // Takes ownership of |pFont|. |
| 50 void SetFont(int index, CPDF_Font* pFont); |
| 51 CPDF_Font* GetFont(int index) const; |
| 52 |
| 53 private: |
| 54 std::unique_ptr<CPDF_Font> m_StockFonts[14]; |
| 55 }; |
| 56 |
| 42 class CPDF_FontGlobals { | 57 class CPDF_FontGlobals { |
| 43 public: | 58 public: |
| 44 CPDF_FontGlobals(); | 59 CPDF_FontGlobals(); |
| 45 ~CPDF_FontGlobals(); | 60 ~CPDF_FontGlobals(); |
| 46 void ClearAll(); | 61 |
| 47 void Clear(void* key); | 62 void Clear(CPDF_Document* pDoc); |
| 48 CPDF_Font* Find(void* key, int index); | 63 CPDF_Font* Find(CPDF_Document* pDoc, int index); |
| 49 void Set(void* key, int index, CPDF_Font* pFont); | 64 |
| 65 // Takes ownership of |pFont|. |
| 66 void Set(CPDF_Document* key, int index, CPDF_Font* pFont); |
| 67 |
| 50 CPDF_CMapManager m_CMapManager; | 68 CPDF_CMapManager m_CMapManager; |
| 51 struct { | 69 struct { |
| 52 const struct FXCMAP_CMap* m_pMapList; | 70 const struct FXCMAP_CMap* m_pMapList; |
| 53 int m_Count; | 71 int m_Count; |
| 54 } m_EmbeddedCharsets[CIDSET_NUM_SETS]; | 72 } m_EmbeddedCharsets[CIDSET_NUM_SETS]; |
| 55 struct { | 73 struct { |
| 56 const FX_WORD* m_pMap; | 74 const FX_WORD* m_pMap; |
| 57 int m_Count; | 75 int m_Count; |
| 58 } m_EmbeddedToUnicodes[CIDSET_NUM_SETS]; | 76 } m_EmbeddedToUnicodes[CIDSET_NUM_SETS]; |
| 59 | 77 |
| 60 private: | 78 private: |
| 61 CFX_MapPtrToPtr m_pStockMap; | 79 std::map<CPDF_Document*, std::unique_ptr<CFX_StockFontArray>> m_StockMap; |
| 62 uint8_t* m_pContrastRamps; | |
| 63 }; | 80 }; |
| 64 | 81 |
| 65 struct CMap_CodeRange { | 82 struct CMap_CodeRange { |
| 66 int m_CharSize; | 83 int m_CharSize; |
| 67 uint8_t m_Lower[4]; | 84 uint8_t m_Lower[4]; |
| 68 uint8_t m_Upper[4]; | 85 uint8_t m_Upper[4]; |
| 69 }; | 86 }; |
| 70 | 87 |
| 71 class CPDF_CMapParser { | 88 class CPDF_CMapParser { |
| 72 public: | 89 public: |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 public: | 211 public: |
| 195 CPDF_FontCharMap(CPDF_Font* pFont); | 212 CPDF_FontCharMap(CPDF_Font* pFont); |
| 196 CPDF_Font* m_pFont; | 213 CPDF_Font* m_pFont; |
| 197 }; | 214 }; |
| 198 | 215 |
| 199 void FPDFAPI_LoadCID2UnicodeMap(CIDSet charset, | 216 void FPDFAPI_LoadCID2UnicodeMap(CIDSet charset, |
| 200 const FX_WORD*& pMap, | 217 const FX_WORD*& pMap, |
| 201 FX_DWORD& count); | 218 FX_DWORD& count); |
| 202 | 219 |
| 203 #endif // CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_ | 220 #endif // CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_ |
| OLD | NEW |