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

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

Issue 1356373003: Fix a bunch of sign mismatch warnings. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: fix a couple more trivial comparison warnings... maybe they got lost in the merge Created 5 years, 2 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
« no previous file with comments | « core/src/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp ('k') | core/src/fpdfapi/fpdf_font/fpdf_font.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_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 11
12 #include "../../../include/fxcrt/fx_basic.h" 12 #include "../../../include/fxcrt/fx_basic.h"
13 #include "../../../include/fpdfapi/fpdf_resource.h" 13 #include "../../../include/fpdfapi/fpdf_resource.h"
14 14
15 class CPDF_CID2UnicodeMap; 15 class CPDF_CID2UnicodeMap;
16 class CPDF_CMap; 16 class CPDF_CMap;
17 class CPDF_Font; 17 class CPDF_Font;
18 class CPDF_Stream; 18 class CPDF_Stream;
19 19
20 typedef void* FXFT_Library; 20 typedef void* FXFT_Library;
21 21
22 short TT2PDF(int m, FXFT_Face face); 22 short TT2PDF(int m, FXFT_Face face);
23 FX_BOOL FT_UseTTCharmap(FXFT_Face face, int platform_id, int encoding_id); 23 FX_BOOL FT_UseTTCharmap(FXFT_Face face, int platform_id, int encoding_id);
24 24
25 class CPDF_CMapManager { 25 class CPDF_CMapManager {
26 public: 26 public:
27 CPDF_CMapManager(); 27 CPDF_CMapManager();
28 ~CPDF_CMapManager(); 28 ~CPDF_CMapManager();
29 void* GetPackage(FX_BOOL bPrompt); 29 void* GetPackage(FX_BOOL bPrompt);
30 CPDF_CMap* GetPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPrompt); 30 CPDF_CMap* GetPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK);
31 CPDF_CID2UnicodeMap* GetCID2UnicodeMap(int charset, FX_BOOL bPrompt); 31 CPDF_CID2UnicodeMap* GetCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK);
32 void ReloadAll(); 32 void ReloadAll();
33 33
34 private: 34 private:
35 CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPrompt); 35 CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK);
36 CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(int charset, FX_BOOL bPrompt); 36 CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK);
37 37
38 FX_BOOL m_bPrompted; 38 FX_BOOL m_bPrompted;
39 std::map<CFX_ByteString, CPDF_CMap*> m_CMaps; 39 std::map<CFX_ByteString, CPDF_CMap*> m_CMaps;
40 CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6]; 40 CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6];
41 }; 41 };
42 class CPDF_FontGlobals { 42 class CPDF_FontGlobals {
43 public: 43 public:
44 CPDF_FontGlobals(); 44 CPDF_FontGlobals();
45 ~CPDF_FontGlobals(); 45 ~CPDF_FontGlobals();
46 void ClearAll(); 46 void ClearAll();
47 void Clear(void* key); 47 void Clear(void* key);
48 CPDF_Font* Find(void* key, int index); 48 CPDF_Font* Find(void* key, int index);
49 void Set(void* key, int index, CPDF_Font* pFont); 49 void Set(void* key, int index, CPDF_Font* pFont);
50 CPDF_CMapManager m_CMapManager; 50 CPDF_CMapManager m_CMapManager;
51 struct { 51 struct {
52 const struct FXCMAP_CMap* m_pMapList; 52 const struct FXCMAP_CMap* m_pMapList;
53 int m_Count; 53 int m_Count;
54 } m_EmbeddedCharsets[NUMBER_OF_CIDSETS]; 54 } m_EmbeddedCharsets[CIDSET_NUM_SETS];
55 struct { 55 struct {
56 const FX_WORD* m_pMap; 56 const FX_WORD* m_pMap;
57 int m_Count; 57 int m_Count;
58 } m_EmbeddedToUnicodes[NUMBER_OF_CIDSETS]; 58 } m_EmbeddedToUnicodes[CIDSET_NUM_SETS];
59 59
60 private: 60 private:
61 CFX_MapPtrToPtr m_pStockMap; 61 CFX_MapPtrToPtr m_pStockMap;
62 uint8_t* m_pContrastRamps; 62 uint8_t* m_pContrastRamps;
63 }; 63 };
64 struct _CMap_CodeRange { 64
65 struct CMap_CodeRange {
65 int m_CharSize; 66 int m_CharSize;
66 uint8_t m_Lower[4]; 67 uint8_t m_Lower[4];
67 uint8_t m_Upper[4]; 68 uint8_t m_Upper[4];
68 }; 69 };
70
69 class CPDF_CMapParser { 71 class CPDF_CMapParser {
70 public: 72 public:
71 CPDF_CMapParser(); 73 CPDF_CMapParser();
72 ~CPDF_CMapParser() {} 74 ~CPDF_CMapParser() {}
73 FX_BOOL Initialize(CPDF_CMap*); 75 FX_BOOL Initialize(CPDF_CMap*);
74 void ParseWord(const CFX_ByteStringC& str); 76 void ParseWord(const CFX_ByteStringC& str);
75 CFX_BinaryBuf m_AddMaps; 77 CFX_BinaryBuf m_AddMaps;
76 78
77 private: 79 private:
78 CPDF_CMap* m_pCMap; 80 CPDF_CMap* m_pCMap;
79 int m_Status; 81 int m_Status;
80 int m_CodeSeq; 82 int m_CodeSeq;
81 FX_DWORD m_CodePoints[4]; 83 FX_DWORD m_CodePoints[4];
82 CFX_ArrayTemplate<_CMap_CodeRange> m_CodeRanges; 84 CFX_ArrayTemplate<CMap_CodeRange> m_CodeRanges;
83 CFX_ByteString m_Registry, m_Ordering, m_Supplement; 85 CFX_ByteString m_Registry, m_Ordering, m_Supplement;
84 CFX_ByteString m_LastWord; 86 CFX_ByteString m_LastWord;
85 }; 87 };
86 #define CIDCODING_UNKNOWN 0 88 #define CIDCODING_UNKNOWN 0
87 #define CIDCODING_GB 1 89 #define CIDCODING_GB 1
88 #define CIDCODING_BIG5 2 90 #define CIDCODING_BIG5 2
89 #define CIDCODING_JIS 3 91 #define CIDCODING_JIS 3
90 #define CIDCODING_KOREA 4 92 #define CIDCODING_KOREA 4
91 #define CIDCODING_UCS2 5 93 #define CIDCODING_UCS2 5
92 #define CIDCODING_CID 6 94 #define CIDCODING_CID 6
93 #define CIDCODING_UTF16 7 95 #define CIDCODING_UTF16 7
94 class CPDF_CMap { 96 class CPDF_CMap {
95 public: 97 public:
96 CPDF_CMap(); 98 CPDF_CMap();
97 FX_BOOL LoadPredefined(CPDF_CMapManager* pMgr, 99 FX_BOOL LoadPredefined(CPDF_CMapManager* pMgr,
98 const FX_CHAR* name, 100 const FX_CHAR* name,
99 FX_BOOL bPromptCJK); 101 FX_BOOL bPromptCJK);
100 FX_BOOL LoadEmbedded(const uint8_t* pData, FX_DWORD dwSize); 102 FX_BOOL LoadEmbedded(const uint8_t* pData, FX_DWORD dwSize);
101 void Release(); 103 void Release();
102 FX_BOOL IsLoaded() const { return m_bLoaded; } 104 FX_BOOL IsLoaded() const { return m_bLoaded; }
103 int GetCharset() { return m_Charset; }
104 FX_BOOL IsVertWriting() const { return m_bVertical; } 105 FX_BOOL IsVertWriting() const { return m_bVertical; }
105 FX_WORD CIDFromCharCode(FX_DWORD charcode) const; 106 FX_WORD CIDFromCharCode(FX_DWORD charcode) const;
106 FX_DWORD CharCodeFromCID(FX_WORD CID) const; 107 FX_DWORD CharCodeFromCID(FX_WORD CID) const;
107 int GetCharSize(FX_DWORD charcode) const; 108 int GetCharSize(FX_DWORD charcode) const;
108 FX_DWORD GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const; 109 FX_DWORD GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const;
109 int CountChar(const FX_CHAR* pString, int size) const; 110 int CountChar(const FX_CHAR* pString, int size) const;
110 int AppendChar(FX_CHAR* str, FX_DWORD charcode) const; 111 int AppendChar(FX_CHAR* str, FX_DWORD charcode) const;
111 typedef enum { 112 typedef enum {
112 OneByte, 113 OneByte,
113 TwoBytes, 114 TwoBytes,
114 MixedTwoBytes, 115 MixedTwoBytes,
115 MixedFourBytes 116 MixedFourBytes
116 } CodingScheme; 117 } CodingScheme;
117 118
118 protected: 119 protected:
119 ~CPDF_CMap(); 120 ~CPDF_CMap();
120 friend class CPDF_CMapParser; 121 friend class CPDF_CMapParser;
121 friend class CPDF_CMapManager; 122 friend class CPDF_CMapManager;
122 friend class CPDF_CIDFont; 123 friend class CPDF_CIDFont;
123 124
124 protected: 125 protected:
125 CFX_ByteString m_PredefinedCMap; 126 CFX_ByteString m_PredefinedCMap;
126 FX_BOOL m_bVertical; 127 FX_BOOL m_bVertical;
127 int m_Charset, m_Coding; 128 CIDSet m_Charset;
129 int m_Coding;
128 CodingScheme m_CodingScheme; 130 CodingScheme m_CodingScheme;
129 int m_nCodeRanges; 131 int m_nCodeRanges;
130 uint8_t* m_pLeadingBytes; 132 uint8_t* m_pLeadingBytes;
131 FX_WORD* m_pMapping; 133 FX_WORD* m_pMapping;
132 uint8_t* m_pAddMapping; 134 uint8_t* m_pAddMapping;
133 FX_BOOL m_bLoaded; 135 FX_BOOL m_bLoaded;
134 const FXCMAP_CMap* m_pEmbedMap; 136 const FXCMAP_CMap* m_pEmbedMap;
135 CPDF_CMap* m_pUseMap; 137 CPDF_CMap* m_pUseMap;
136 }; 138 };
137 class CPDF_PredefinedCMap { 139
138 public:
139 const FX_CHAR* m_pName;
140 int m_Charset;
141 int m_Coding;
142 CPDF_CMap::CodingScheme m_CodingScheme;
143 FX_DWORD m_LeadingSegCount;
144 uint8_t m_LeadingSegs[4];
145 };
146 typedef struct _FileHeader { 140 typedef struct _FileHeader {
147 uint8_t btTag[4]; 141 uint8_t btTag[4];
148 uint8_t btVersion; 142 uint8_t btVersion;
149 uint8_t btFormat; 143 uint8_t btFormat;
150 uint8_t btReserved1[2]; 144 uint8_t btReserved1[2];
151 FX_DWORD dwStartIndex; 145 FX_DWORD dwStartIndex;
152 FX_DWORD dwEndIndex; 146 FX_DWORD dwEndIndex;
153 FX_DWORD dwDataSize; 147 FX_DWORD dwDataSize;
154 FX_DWORD dwDataOffset; 148 FX_DWORD dwDataOffset;
155 FX_DWORD dwRecordSize; 149 FX_DWORD dwRecordSize;
156 } FXMP_FILEHEADER; 150 } FXMP_FILEHEADER;
151
157 class CPDF_CID2UnicodeMap { 152 class CPDF_CID2UnicodeMap {
158 public: 153 public:
159 CPDF_CID2UnicodeMap(); 154 CPDF_CID2UnicodeMap();
160 ~CPDF_CID2UnicodeMap(); 155 ~CPDF_CID2UnicodeMap();
161 FX_BOOL Initialize(); 156 FX_BOOL Initialize();
162 FX_BOOL IsLoaded(); 157 FX_BOOL IsLoaded();
163 void Load(CPDF_CMapManager* pMgr, int charset, FX_BOOL bPromptCJK); 158 void Load(CPDF_CMapManager* pMgr, CIDSet charset, FX_BOOL bPromptCJK);
164 FX_WCHAR UnicodeFromCID(FX_WORD CID); 159 FX_WCHAR UnicodeFromCID(FX_WORD CID);
165 160
166 protected: 161 protected:
167 int m_Charset; 162 CIDSet m_Charset;
168 const FX_WORD* m_pEmbeddedMap; 163 const FX_WORD* m_pEmbeddedMap;
169 FX_DWORD m_EmbeddedCount; 164 FX_DWORD m_EmbeddedCount;
170 }; 165 };
166
171 class CPDF_ToUnicodeMap { 167 class CPDF_ToUnicodeMap {
172 public: 168 public:
173 void Load(CPDF_Stream* pStream); 169 void Load(CPDF_Stream* pStream);
174 CFX_WideString Lookup(FX_DWORD charcode); 170 CFX_WideString Lookup(FX_DWORD charcode);
175 FX_DWORD ReverseLookup(FX_WCHAR unicode); 171 FX_DWORD ReverseLookup(FX_WCHAR unicode);
176 172
177 protected: 173 protected:
178 std::map<FX_DWORD, FX_DWORD> m_Map; 174 std::map<FX_DWORD, FX_DWORD> m_Map;
179 CPDF_CID2UnicodeMap* m_pBaseMap; 175 CPDF_CID2UnicodeMap* m_pBaseMap;
180 CFX_WideTextBuf m_MultiCharBuf; 176 CFX_WideTextBuf m_MultiCharBuf;
181 }; 177 };
182 class CPDF_FontCharMap : public CFX_CharMap { 178 class CPDF_FontCharMap : public CFX_CharMap {
183 public: 179 public:
184 CPDF_FontCharMap(CPDF_Font* pFont); 180 CPDF_FontCharMap(CPDF_Font* pFont);
185 CPDF_Font* m_pFont; 181 CPDF_Font* m_pFont;
186 }; 182 };
187 183
184 void FPDFAPI_LoadCID2UnicodeMap(CIDSet charset,
185 const FX_WORD*& pMap,
186 FX_DWORD& count);
187
188 #endif // CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_ 188 #endif // CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp ('k') | core/src/fpdfapi/fpdf_font/fpdf_font.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698