| 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 typedef void* FXFT_Library; | 7 typedef void* FXFT_Library; |
| 8 class CPDF_CMapManager : public CFX_Object | 8 class CPDF_CMapManager |
| 9 { | 9 { |
| 10 public: | 10 public: |
| 11 CPDF_CMapManager(); | 11 CPDF_CMapManager(); |
| 12 ~CPDF_CMapManager(); | 12 ~CPDF_CMapManager(); |
| 13 FX_LPVOID GetPackage(FX_BOOL bPrompt); | 13 FX_LPVOID GetPackage(FX_BOOL bPrompt); |
| 14 CPDF_CMap* GetPredefinedCMap(const CFX_ByteString&
name, FX_BOOL bPrompt); | 14 CPDF_CMap* GetPredefinedCMap(const CFX_ByteString&
name, FX_BOOL bPrompt); |
| 15 CPDF_CID2UnicodeMap* GetCID2UnicodeMap(int charset, FX_BOOL bPrompt); | 15 CPDF_CID2UnicodeMap* GetCID2UnicodeMap(int charset, FX_BOOL bPrompt); |
| 16 void ReloadAll(); | 16 void ReloadAll(); |
| 17 private: | 17 private: |
| 18 CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString&
name, FX_BOOL bPrompt); | 18 CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString&
name, FX_BOOL bPrompt); |
| 19 CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(int charset, FX_BOOL bPrompt)
; | 19 CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(int charset, FX_BOOL bPrompt)
; |
| 20 void DropAll(FX_BOOL bReload); | 20 void DropAll(FX_BOOL bReload); |
| 21 FX_BOOL m_bPrompted; | 21 FX_BOOL m_bPrompted; |
| 22 CFX_MapByteStringToPtr m_CMaps; | 22 CFX_MapByteStringToPtr m_CMaps; |
| 23 CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6]; | 23 CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6]; |
| 24 }; | 24 }; |
| 25 class CPDF_FontGlobals : public CFX_Object | 25 class CPDF_FontGlobals |
| 26 { | 26 { |
| 27 public: | 27 public: |
| 28 CPDF_FontGlobals(); | 28 CPDF_FontGlobals(); |
| 29 ~CPDF_FontGlobals(); | 29 ~CPDF_FontGlobals(); |
| 30 void ClearAll(); | 30 void ClearAll(); |
| 31 void Clear(void* key); | 31 void Clear(void* key); |
| 32 CPDF_Font* Find(void* key, int index); | 32 CPDF_Font* Find(void* key, int index); |
| 33 void Set(void* key, int index, CPDF_Font* pFo
nt); | 33 void Set(void* key, int index, CPDF_Font* pFo
nt); |
| 34 CFX_MapPtrToPtr m_pStockMap; | 34 CFX_MapPtrToPtr m_pStockMap; |
| 35 CPDF_CMapManager m_CMapManager; | 35 CPDF_CMapManager m_CMapManager; |
| 36 struct { | 36 struct { |
| 37 const struct FXCMAP_CMap* m_pMapList; | 37 const struct FXCMAP_CMap* m_pMapList; |
| 38 int m_Count; | 38 int m_Count; |
| 39 } m_EmbeddedCharsets[NUMBER_OF_CIDSETS]; | 39 } m_EmbeddedCharsets[NUMBER_OF_CIDSETS]; |
| 40 struct { | 40 struct { |
| 41 const FX_WORD* m_pMap; | 41 const FX_WORD* m_pMap; |
| 42 int m_Count; | 42 int m_Count; |
| 43 } m_EmbeddedToUnicodes[NUMBER_OF_CIDSETS]; | 43 } m_EmbeddedToUnicodes[NUMBER_OF_CIDSETS]; |
| 44 FX_LPBYTE m_pContrastRamps; | 44 FX_LPBYTE m_pContrastRamps; |
| 45 }; | 45 }; |
| 46 struct _CMap_CodeRange { | 46 struct _CMap_CodeRange { |
| 47 int m_CharSize; | 47 int m_CharSize; |
| 48 FX_BYTE m_Lower[4]; | 48 FX_BYTE m_Lower[4]; |
| 49 FX_BYTE m_Upper[4]; | 49 FX_BYTE m_Upper[4]; |
| 50 }; | 50 }; |
| 51 class CPDF_CMapParser : public CFX_Object | 51 class CPDF_CMapParser |
| 52 { | 52 { |
| 53 public: | 53 public: |
| 54 CPDF_CMapParser(); | 54 CPDF_CMapParser(); |
| 55 ~CPDF_CMapParser() {} | 55 ~CPDF_CMapParser() {} |
| 56 FX_BOOL Initialize(CPDF_CMap*); | 56 FX_BOOL Initialize(CPDF_CMap*); |
| 57 void ParseWord(FX_BSTR str); | 57 void ParseWord(FX_BSTR str); |
| 58 CFX_BinaryBuf m_AddMaps; | 58 CFX_BinaryBuf m_AddMaps; |
| 59 private: | 59 private: |
| 60 CPDF_CMap* m_pCMap; | 60 CPDF_CMap* m_pCMap; |
| 61 int m_Status; | 61 int m_Status; |
| 62 int m_CodeSeq; | 62 int m_CodeSeq; |
| 63 FX_DWORD m_CodePoints[4]; | 63 FX_DWORD m_CodePoints[4]; |
| 64 CFX_ArrayTemplate<_CMap_CodeRange> m_CodeRanges; | 64 CFX_ArrayTemplate<_CMap_CodeRange> m_CodeRanges; |
| 65 CFX_ByteString m_Registry, m_Ordering, m_Supplement; | 65 CFX_ByteString m_Registry, m_Ordering, m_Supplement; |
| 66 CFX_ByteString m_LastWord; | 66 CFX_ByteString m_LastWord; |
| 67 }; | 67 }; |
| 68 #define CIDCODING_UNKNOWN 0 | 68 #define CIDCODING_UNKNOWN 0 |
| 69 #define CIDCODING_GB 1 | 69 #define CIDCODING_GB 1 |
| 70 #define CIDCODING_BIG5 2 | 70 #define CIDCODING_BIG5 2 |
| 71 #define CIDCODING_JIS 3 | 71 #define CIDCODING_JIS 3 |
| 72 #define CIDCODING_KOREA 4 | 72 #define CIDCODING_KOREA 4 |
| 73 #define CIDCODING_UCS2 5 | 73 #define CIDCODING_UCS2 5 |
| 74 #define CIDCODING_CID 6 | 74 #define CIDCODING_CID 6 |
| 75 #define CIDCODING_UTF16 7 | 75 #define CIDCODING_UTF16 7 |
| 76 class CPDF_CMap : public CFX_Object | 76 class CPDF_CMap |
| 77 { | 77 { |
| 78 public: | 78 public: |
| 79 CPDF_CMap(); | 79 CPDF_CMap(); |
| 80 FX_BOOL LoadPredefined(CPDF_CMapManager*
pMgr, const FX_CHAR* name, FX_BOOL bPromptCJK); | 80 FX_BOOL LoadPredefined(CPDF_CMapManager*
pMgr, const FX_CHAR* name, FX_BOOL bPromptCJK); |
| 81 FX_BOOL LoadEmbedded(FX_LPCBYTE pData, F
X_DWORD dwSize); | 81 FX_BOOL LoadEmbedded(FX_LPCBYTE pData, F
X_DWORD dwSize); |
| 82 void Release(); | 82 void Release(); |
| 83 FX_BOOL IsLoaded() const | 83 FX_BOOL IsLoaded() const |
| 84 { | 84 { |
| 85 return m_bLoaded; | 85 return m_bLoaded; |
| 86 } | 86 } |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 FX_BYTE btTag[4]; | 131 FX_BYTE btTag[4]; |
| 132 FX_BYTE btVersion; | 132 FX_BYTE btVersion; |
| 133 FX_BYTE btFormat; | 133 FX_BYTE btFormat; |
| 134 FX_BYTE btReserved1[2]; | 134 FX_BYTE btReserved1[2]; |
| 135 FX_DWORD dwStartIndex; | 135 FX_DWORD dwStartIndex; |
| 136 FX_DWORD dwEndIndex; | 136 FX_DWORD dwEndIndex; |
| 137 FX_DWORD dwDataSize; | 137 FX_DWORD dwDataSize; |
| 138 FX_DWORD dwDataOffset; | 138 FX_DWORD dwDataOffset; |
| 139 FX_DWORD dwRecordSize; | 139 FX_DWORD dwRecordSize; |
| 140 } FXMP_FILEHEADER; | 140 } FXMP_FILEHEADER; |
| 141 class CPDF_CID2UnicodeMap : public CFX_Object | 141 class CPDF_CID2UnicodeMap |
| 142 { | 142 { |
| 143 public: | 143 public: |
| 144 CPDF_CID2UnicodeMap(); | 144 CPDF_CID2UnicodeMap(); |
| 145 ~CPDF_CID2UnicodeMap(); | 145 ~CPDF_CID2UnicodeMap(); |
| 146 FX_BOOL Initialize(); | 146 FX_BOOL Initialize(); |
| 147 FX_BOOL IsLoaded(); | 147 FX_BOOL IsLoaded(); |
| 148 void Load(CPDF_CMapManager* pMgr, int charset, FX_BOOL bPromp
tCJK); | 148 void Load(CPDF_CMapManager* pMgr, int charset, FX_BOOL bPromp
tCJK); |
| 149 FX_WCHAR UnicodeFromCID(FX_WORD CID); | 149 FX_WCHAR UnicodeFromCID(FX_WORD CID); |
| 150 protected: | 150 protected: |
| 151 int m_Charset; | 151 int m_Charset; |
| 152 const FX_WORD* m_pEmbeddedMap; | 152 const FX_WORD* m_pEmbeddedMap; |
| 153 FX_DWORD m_EmbeddedCount; | 153 FX_DWORD m_EmbeddedCount; |
| 154 }; | 154 }; |
| 155 class CPDF_ToUnicodeMap : public CFX_Object | 155 class CPDF_ToUnicodeMap |
| 156 { | 156 { |
| 157 public: | 157 public: |
| 158 void Load(CPDF_Stream* pStream); | 158 void Load(CPDF_Stream* pStream); |
| 159 CFX_WideString Lookup(FX_DWORD charcode); | 159 CFX_WideString Lookup(FX_DWORD charcode); |
| 160 FX_DWORD ReverseLookup(FX_WCHAR unicode); | 160 FX_DWORD ReverseLookup(FX_WCHAR unicode); |
| 161 protected: | 161 protected: |
| 162 CFX_CMapDWordToDWord m_Map; | 162 CFX_CMapDWordToDWord m_Map; |
| 163 CPDF_CID2UnicodeMap* m_pBaseMap; | 163 CPDF_CID2UnicodeMap* m_pBaseMap; |
| 164 CFX_WideTextBuf m_MultiCharBuf; | 164 CFX_WideTextBuf m_MultiCharBuf; |
| 165 }; | 165 }; |
| 166 class CPDF_FontCharMap : public CFX_CharMap, public CFX_Object | 166 class CPDF_FontCharMap : public CFX_CharMap |
| 167 { | 167 { |
| 168 public: | 168 public: |
| 169 CPDF_FontCharMap(CPDF_Font* pFont); | 169 CPDF_FontCharMap(CPDF_Font* pFont); |
| 170 CPDF_Font* m_pFont; | 170 CPDF_Font* m_pFont; |
| 171 }; | 171 }; |
| OLD | NEW |