Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(938)

Side by Side Diff: core/fpdfapi/fpdf_font/font_int.h

Issue 2060973002: Make code compile with clang_use_chrome_plugin (part I) (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_FPDFAPI_FPDF_FONT_FONT_INT_H_ 7 #ifndef CORE_FPDFAPI_FPDF_FONT_FONT_INT_H_
8 #define CORE_FPDFAPI_FPDF_FONT_FONT_INT_H_ 8 #define CORE_FPDFAPI_FPDF_FONT_FONT_INT_H_
9 9
10 #include <map> 10 #include <map>
(...skipping 10 matching lines...) Expand all
21 typedef void* FXFT_Library; 21 typedef void* FXFT_Library;
22 22
23 short TT2PDF(int m, FXFT_Face face); 23 short TT2PDF(int m, FXFT_Face face);
24 FX_BOOL FT_UseTTCharmap(FXFT_Face face, int platform_id, int encoding_id); 24 FX_BOOL FT_UseTTCharmap(FXFT_Face face, int platform_id, int encoding_id);
25 CIDSet CharsetFromOrdering(const CFX_ByteStringC& ordering); 25 CIDSet CharsetFromOrdering(const CFX_ByteStringC& ordering);
26 26
27 class CPDF_CMapManager { 27 class CPDF_CMapManager {
28 public: 28 public:
29 CPDF_CMapManager(); 29 CPDF_CMapManager();
30 ~CPDF_CMapManager(); 30 ~CPDF_CMapManager();
31
31 void* GetPackage(FX_BOOL bPrompt); 32 void* GetPackage(FX_BOOL bPrompt);
32 CPDF_CMap* GetPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK); 33 CPDF_CMap* GetPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK);
33 CPDF_CID2UnicodeMap* GetCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK); 34 CPDF_CID2UnicodeMap* GetCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK);
34 void ReloadAll(); 35 void ReloadAll();
35 36
36 private: 37 private:
37 CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK); 38 CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK);
38 CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK); 39 CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK);
39 40
40 FX_BOOL m_bPrompted; 41 FX_BOOL m_bPrompted;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 83
83 struct CMap_CodeRange { 84 struct CMap_CodeRange {
84 int m_CharSize; 85 int m_CharSize;
85 uint8_t m_Lower[4]; 86 uint8_t m_Lower[4];
86 uint8_t m_Upper[4]; 87 uint8_t m_Upper[4];
87 }; 88 };
88 89
89 class CPDF_CMapParser { 90 class CPDF_CMapParser {
90 public: 91 public:
91 CPDF_CMapParser(); 92 CPDF_CMapParser();
92 ~CPDF_CMapParser() {} 93 ~CPDF_CMapParser();
93 FX_BOOL Initialize(CPDF_CMap* pMap); 94 FX_BOOL Initialize(CPDF_CMap* pMap);
94 void ParseWord(const CFX_ByteStringC& str); 95 void ParseWord(const CFX_ByteStringC& str);
95 CFX_BinaryBuf m_AddMaps; 96 CFX_BinaryBuf m_AddMaps;
96 97
97 private: 98 private:
98 friend class fpdf_font_cid_CMap_GetCode_Test; 99 friend class fpdf_font_cid_CMap_GetCode_Test;
99 friend class fpdf_font_cid_CMap_GetCodeRange_Test; 100 friend class fpdf_font_cid_CMap_GetCodeRange_Test;
100 101
101 static uint32_t CMap_GetCode(const CFX_ByteStringC& word); 102 static uint32_t CMap_GetCode(const CFX_ByteStringC& word);
102 static bool CMap_GetCodeRange(CMap_CodeRange& range, 103 static bool CMap_GetCodeRange(CMap_CodeRange& range,
103 const CFX_ByteStringC& first, 104 const CFX_ByteStringC& first,
104 const CFX_ByteStringC& second); 105 const CFX_ByteStringC& second);
105 106
106 CPDF_CMap* m_pCMap; 107 CPDF_CMap* m_pCMap;
107 int m_Status; 108 int m_Status;
108 int m_CodeSeq; 109 int m_CodeSeq;
109 uint32_t m_CodePoints[4]; 110 uint32_t m_CodePoints[4];
110 CFX_ArrayTemplate<CMap_CodeRange> m_CodeRanges; 111 CFX_ArrayTemplate<CMap_CodeRange> m_CodeRanges;
111 CFX_ByteString m_Registry, m_Ordering, m_Supplement; 112 CFX_ByteString m_Registry;
113 CFX_ByteString m_Ordering;
114 CFX_ByteString m_Supplement;
112 CFX_ByteString m_LastWord; 115 CFX_ByteString m_LastWord;
113 }; 116 };
114 117
115 enum CIDCoding : uint8_t { 118 enum CIDCoding : uint8_t {
116 CIDCODING_UNKNOWN = 0, 119 CIDCODING_UNKNOWN = 0,
117 CIDCODING_GB, 120 CIDCODING_GB,
118 CIDCODING_BIG5, 121 CIDCODING_BIG5,
119 CIDCODING_JIS, 122 CIDCODING_JIS,
120 CIDCODING_KOREA, 123 CIDCODING_KOREA,
121 CIDCODING_UCS2, 124 CIDCODING_UCS2,
(...skipping 11 matching lines...) Expand all
133 }; 136 };
134 137
135 CPDF_CMap(); 138 CPDF_CMap();
136 ~CPDF_CMap(); 139 ~CPDF_CMap();
137 140
138 FX_BOOL LoadPredefined(CPDF_CMapManager* pMgr, 141 FX_BOOL LoadPredefined(CPDF_CMapManager* pMgr,
139 const FX_CHAR* name, 142 const FX_CHAR* name,
140 FX_BOOL bPromptCJK); 143 FX_BOOL bPromptCJK);
141 FX_BOOL LoadEmbedded(const uint8_t* pData, uint32_t dwSize); 144 FX_BOOL LoadEmbedded(const uint8_t* pData, uint32_t dwSize);
142 void Release(); 145 void Release();
143 FX_BOOL IsLoaded() const { return m_bLoaded; } 146
Lei Zhang 2016/06/13 20:44:28 Curious why these simple getters can't be inlined.
Wei Li 2016/06/13 21:38:03 These are not needed by clang plugins, but to make
144 FX_BOOL IsVertWriting() const { return m_bVertical; } 147 FX_BOOL IsLoaded() const;
148 FX_BOOL IsVertWriting() const;
145 uint16_t CIDFromCharCode(uint32_t charcode) const; 149 uint16_t CIDFromCharCode(uint32_t charcode) const;
146 uint32_t CharCodeFromCID(uint16_t CID) const; 150 uint32_t CharCodeFromCID(uint16_t CID) const;
147 int GetCharSize(uint32_t charcode) const; 151 int GetCharSize(uint32_t charcode) const;
148 uint32_t GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const; 152 uint32_t GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const;
149 int CountChar(const FX_CHAR* pString, int size) const; 153 int CountChar(const FX_CHAR* pString, int size) const;
150 int AppendChar(FX_CHAR* str, uint32_t charcode) const; 154 int AppendChar(FX_CHAR* str, uint32_t charcode) const;
151 155
152 protected: 156 protected:
153 friend class CPDF_CMapParser; 157 friend class CPDF_CMapParser;
154 friend class CPDF_CMapManager; 158 friend class CPDF_CMapManager;
(...skipping 10 matching lines...) Expand all
165 uint8_t* m_pAddMapping; 169 uint8_t* m_pAddMapping;
166 FX_BOOL m_bLoaded; 170 FX_BOOL m_bLoaded;
167 const FXCMAP_CMap* m_pEmbedMap; 171 const FXCMAP_CMap* m_pEmbedMap;
168 CPDF_CMap* m_pUseMap; 172 CPDF_CMap* m_pUseMap;
169 }; 173 };
170 174
171 class CPDF_CID2UnicodeMap { 175 class CPDF_CID2UnicodeMap {
172 public: 176 public:
173 CPDF_CID2UnicodeMap(); 177 CPDF_CID2UnicodeMap();
174 ~CPDF_CID2UnicodeMap(); 178 ~CPDF_CID2UnicodeMap();
179
175 FX_BOOL Initialize(); 180 FX_BOOL Initialize();
176 FX_BOOL IsLoaded(); 181 FX_BOOL IsLoaded();
177 void Load(CPDF_CMapManager* pMgr, CIDSet charset, FX_BOOL bPromptCJK); 182 void Load(CPDF_CMapManager* pMgr, CIDSet charset, FX_BOOL bPromptCJK);
178 FX_WCHAR UnicodeFromCID(uint16_t CID); 183 FX_WCHAR UnicodeFromCID(uint16_t CID);
179 184
180 protected: 185 protected:
181 CIDSet m_Charset; 186 CIDSet m_Charset;
182 const uint16_t* m_pEmbeddedMap; 187 const uint16_t* m_pEmbeddedMap;
183 uint32_t m_EmbeddedCount; 188 uint32_t m_EmbeddedCount;
184 }; 189 };
185 190
186 class CPDF_ToUnicodeMap { 191 class CPDF_ToUnicodeMap {
187 public: 192 public:
193 CPDF_ToUnicodeMap();
194 ~CPDF_ToUnicodeMap();
195
188 void Load(CPDF_Stream* pStream); 196 void Load(CPDF_Stream* pStream);
189 CFX_WideString Lookup(uint32_t charcode); 197
190 uint32_t ReverseLookup(FX_WCHAR unicode); 198 CFX_WideString Lookup(uint32_t charcode) const;
199 uint32_t ReverseLookup(FX_WCHAR unicode) const;
191 200
192 protected: 201 protected:
193 std::map<uint32_t, uint32_t> m_Map; 202 std::map<uint32_t, uint32_t> m_Map;
194 CPDF_CID2UnicodeMap* m_pBaseMap; 203 CPDF_CID2UnicodeMap* m_pBaseMap;
195 CFX_WideTextBuf m_MultiCharBuf; 204 CFX_WideTextBuf m_MultiCharBuf;
196 205
197 private: 206 private:
198 friend class fpdf_font_StringToCode_Test; 207 friend class fpdf_font_StringToCode_Test;
199 friend class fpdf_font_StringToWideString_Test; 208 friend class fpdf_font_StringToWideString_Test;
200 209
201 static uint32_t StringToCode(const CFX_ByteStringC& str); 210 static uint32_t StringToCode(const CFX_ByteStringC& str);
202 static CFX_WideString StringToWideString(const CFX_ByteStringC& str); 211 static CFX_WideString StringToWideString(const CFX_ByteStringC& str);
203 }; 212 };
204 213
205 void FPDFAPI_LoadCID2UnicodeMap(CIDSet charset, 214 void FPDFAPI_LoadCID2UnicodeMap(CIDSet charset,
206 const uint16_t*& pMap, 215 const uint16_t*& pMap,
207 uint32_t& count); 216 uint32_t& count);
208 217
209 #endif // CORE_FPDFAPI_FPDF_FONT_FONT_INT_H_ 218 #endif // CORE_FPDFAPI_FPDF_FONT_FONT_INT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698