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

Side by Side Diff: core/include/fxge/fx_font.h

Issue 1288393004: Merge to XFA: Use override in more classes in fpdfsdk/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: self review Created 5 years, 4 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 | « no previous file | fpdfsdk/include/formfiller/FFL_CBA_Fontmap.h » ('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_INCLUDE_FXGE_FX_FONT_H_ 7 #ifndef CORE_INCLUDE_FXGE_FX_FONT_H_
8 #define CORE_INCLUDE_FXGE_FX_FONT_H_ 8 #define CORE_INCLUDE_FXGE_FX_FONT_H_
9 9
10 #include <map> 10 #include <map>
11 11
12 #include "../fxcrt/fx_system.h" 12 #include "../fxcrt/fx_system.h"
13 #include "fx_dib.h" 13 #include "fx_dib.h"
14 14
15 typedef struct FT_FaceRec_* FXFT_Face; 15 typedef struct FT_FaceRec_* FXFT_Face;
16 typedef void* FXFT_Library; 16 typedef void* FXFT_Library;
17 class IFX_FontEncoding; 17 class CFontFileFaceInfo;
18 class CFX_FaceCache;
19 class CFX_FontMapper;
18 class CFX_PathData; 20 class CFX_PathData;
19 class CFX_SubstFont; 21 class CFX_SubstFont;
20 class CFX_FaceCache;
21 class CFX_FontMapper;
22 class IFX_SystemFontInfo; 22 class IFX_SystemFontInfo;
23 class CFontFileFaceInfo; 23
24 #define FXFONT_FIXED_PITCH 0x01 24 #define FXFONT_FIXED_PITCH 0x01
25 #define FXFONT_SERIF 0x02 25 #define FXFONT_SERIF 0x02
26 #define FXFONT_SYMBOLIC 0x04 26 #define FXFONT_SYMBOLIC 0x04
27 #define FXFONT_SCRIPT 0x08 27 #define FXFONT_SCRIPT 0x08
28 #define FXFONT_ITALIC 0x40 28 #define FXFONT_ITALIC 0x40
29 #define FXFONT_BOLD 0x40000 29 #define FXFONT_BOLD 0x40000
30 #define FXFONT_USEEXTERNATTR 0x80000 30 #define FXFONT_USEEXTERNATTR 0x80000
31 #define FXFONT_EXACTMATCH 0x80000000 31 #define FXFONT_EXACTMATCH 0x80000000
32 #define FXFONT_CIDFONT 0x100000 32 #define FXFONT_CIDFONT 0x100000
33 #define FXFONT_ANSI_CHARSET 0 33 #define FXFONT_ANSI_CHARSET 0
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 void DeleteFace(); 132 void DeleteFace();
133 133
134 protected: 134 protected:
135 FX_BOOL m_bEmbedded; 135 FX_BOOL m_bEmbedded;
136 FX_BOOL m_bVertical; 136 FX_BOOL m_bVertical;
137 FX_BOOL m_bLogic; 137 FX_BOOL m_bLogic;
138 void* m_pOwnedStream; 138 void* m_pOwnedStream;
139 }; 139 };
140 #define ENCODING_INTERNAL 0 140 #define ENCODING_INTERNAL 0
141 #define ENCODING_UNICODE 1 141 #define ENCODING_UNICODE 1
142
142 class IFX_FontEncoding { 143 class IFX_FontEncoding {
143 public: 144 public:
144 virtual ~IFX_FontEncoding() {} 145 virtual ~IFX_FontEncoding() {}
145 146
146 virtual FX_DWORD GlyphFromCharCode(FX_DWORD charcode) = 0; 147 virtual FX_DWORD GlyphFromCharCode(FX_DWORD charcode) = 0;
147 148
148 virtual CFX_WideString UnicodeFromCharCode(FX_DWORD charcode) const = 0; 149 virtual CFX_WideString UnicodeFromCharCode(FX_DWORD charcode) const = 0;
149 150
150 virtual FX_DWORD CharCodeFromUnicode(FX_WCHAR Unicode) const = 0; 151 virtual FX_DWORD CharCodeFromUnicode(FX_WCHAR Unicode) const = 0;
151 }; 152 };
153
152 IFX_FontEncoding* FXGE_CreateUnicodeEncoding(CFX_Font* pFont); 154 IFX_FontEncoding* FXGE_CreateUnicodeEncoding(CFX_Font* pFont);
153 #define FXFM_ENC_TAG(a, b, c, d) \ 155 #define FXFM_ENC_TAG(a, b, c, d) \
154 (((FX_DWORD)(a) << 24) | ((FX_DWORD)(b) << 16) | ((FX_DWORD)(c) << 8) | \ 156 (((FX_DWORD)(a) << 24) | ((FX_DWORD)(b) << 16) | ((FX_DWORD)(c) << 8) | \
155 (FX_DWORD)(d)) 157 (FX_DWORD)(d))
156 #define FXFM_ENCODING_NONE FXFM_ENC_TAG(0, 0, 0, 0) 158 #define FXFM_ENCODING_NONE FXFM_ENC_TAG(0, 0, 0, 0)
157 #define FXFM_ENCODING_MS_SYMBOL FXFM_ENC_TAG('s', 'y', 'm', 'b') 159 #define FXFM_ENCODING_MS_SYMBOL FXFM_ENC_TAG('s', 'y', 'm', 'b')
158 #define FXFM_ENCODING_UNICODE FXFM_ENC_TAG('u', 'n', 'i', 'c') 160 #define FXFM_ENCODING_UNICODE FXFM_ENC_TAG('u', 'n', 'i', 'c')
159 #define FXFM_ENCODING_MS_SJIS FXFM_ENC_TAG('s', 'j', 'i', 's') 161 #define FXFM_ENCODING_MS_SJIS FXFM_ENC_TAG('s', 'j', 'i', 's')
160 #define FXFM_ENCODING_MS_GB2312 FXFM_ENC_TAG('g', 'b', ' ', ' ') 162 #define FXFM_ENCODING_MS_GB2312 FXFM_ENC_TAG('g', 'b', ' ', ' ')
161 #define FXFM_ENCODING_MS_BIG5 FXFM_ENC_TAG('b', 'i', 'g', '5') 163 #define FXFM_ENCODING_MS_BIG5 FXFM_ENC_TAG('b', 'i', 'g', '5')
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 CFX_SubstFont* pSubstFont); 257 CFX_SubstFont* pSubstFont);
256 258
257 void FreeCache(); 259 void FreeCache();
258 260
259 FX_BOOL GetStandardFont(const uint8_t*& pFontData, FX_DWORD& size, int index); 261 FX_BOOL GetStandardFont(const uint8_t*& pFontData, FX_DWORD& size, int index);
260 CFX_FontMapper* m_pBuiltinMapper; 262 CFX_FontMapper* m_pBuiltinMapper;
261 CFX_MapByteStringToPtr m_FaceMap; 263 CFX_MapByteStringToPtr m_FaceMap;
262 FXFT_Library m_FTLibrary; 264 FXFT_Library m_FTLibrary;
263 FoxitFonts m_ExternalFonts[16]; 265 FoxitFonts m_ExternalFonts[16];
264 }; 266 };
267
265 class IFX_FontEnumerator { 268 class IFX_FontEnumerator {
266 public: 269 public:
267 virtual ~IFX_FontEnumerator() {}
268
269 virtual void HitFont() = 0; 270 virtual void HitFont() = 0;
270 271
271 virtual void Finish() = 0; 272 virtual void Finish() = 0;
273
274 protected:
275 virtual ~IFX_FontEnumerator() {}
272 }; 276 };
277
273 class IFX_AdditionalFontEnum { 278 class IFX_AdditionalFontEnum {
274 public: 279 public:
275 virtual ~IFX_AdditionalFontEnum() {}
276 virtual int CountFiles() = 0; 280 virtual int CountFiles() = 0;
277 virtual IFX_FileStream* GetFontFile(int index) = 0; 281 virtual IFX_FileStream* GetFontFile(int index) = 0;
282
283 protected:
284 virtual ~IFX_AdditionalFontEnum() {}
278 }; 285 };
286
279 class CFX_FontMapper { 287 class CFX_FontMapper {
280 public: 288 public:
281 explicit CFX_FontMapper(CFX_FontMgr* mgr); 289 explicit CFX_FontMapper(CFX_FontMgr* mgr);
282 ~CFX_FontMapper(); 290 ~CFX_FontMapper();
283 291
284 void SetSystemFontInfo(IFX_SystemFontInfo* pFontInfo); 292 void SetSystemFontInfo(IFX_SystemFontInfo* pFontInfo);
285 IFX_SystemFontInfo* GetSystemFontInfo() { return m_pFontInfo; } 293 IFX_SystemFontInfo* GetSystemFontInfo() { return m_pFontInfo; }
286 void AddInstalledFont(const CFX_ByteString& name, int charset); 294 void AddInstalledFont(const CFX_ByteString& name, int charset);
287 void LoadInstalledFonts(); 295 void LoadInstalledFonts();
288 CFX_ByteStringArray m_InstalledTTFonts; 296 CFX_ByteStringArray m_InstalledTTFonts;
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 typedef struct { 488 typedef struct {
481 const CFX_GlyphBitmap* m_pGlyph; 489 const CFX_GlyphBitmap* m_pGlyph;
482 int m_OriginX, m_OriginY; 490 int m_OriginX, m_OriginY;
483 FX_FLOAT m_fOriginX, m_fOriginY; 491 FX_FLOAT m_fOriginX, m_fOriginY;
484 } FXTEXT_GLYPHPOS; 492 } FXTEXT_GLYPHPOS;
485 FX_RECT FXGE_GetGlyphsBBox(FXTEXT_GLYPHPOS* pGlyphAndPos, 493 FX_RECT FXGE_GetGlyphsBBox(FXTEXT_GLYPHPOS* pGlyphAndPos,
486 int nChars, 494 int nChars,
487 int anti_alias, 495 int anti_alias,
488 FX_FLOAT retinaScaleX = 1.0f, 496 FX_FLOAT retinaScaleX = 1.0f,
489 FX_FLOAT retinaScaleY = 1.0f); 497 FX_FLOAT retinaScaleY = 1.0f);
498
490 class IFX_GSUBTable { 499 class IFX_GSUBTable {
491 public: 500 public:
492 static IFX_GSUBTable* Create(CFX_Font* pFont); 501 static IFX_GSUBTable* Create(CFX_Font* pFont);
502 virtual FX_BOOL GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vglyphnum) = 0;
503
504 protected:
493 virtual ~IFX_GSUBTable() {} 505 virtual ~IFX_GSUBTable() {}
494 virtual FX_BOOL GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vglyphnum) = 0;
495 }; 506 };
496 507
497 #endif // CORE_INCLUDE_FXGE_FX_FONT_H_ 508 #endif // CORE_INCLUDE_FXGE_FX_FONT_H_
OLDNEW
« no previous file with comments | « no previous file | fpdfsdk/include/formfiller/FFL_CBA_Fontmap.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698