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 TTGSUBTable_H | 7 #ifndef TTGSUBTable_H |
8 #define TTGSUBTable_H | 8 #define TTGSUBTable_H |
9 #include "../../fx_freetype.h" | 9 #include "../../fx_freetype.h" |
10 #include "../../../include/fxcrt/fx_basic.h" | 10 #include "../../../include/fxcrt/fx_basic.h" |
11 #include "common.h" | 11 #include "common.h" |
12 class CFX_GlyphMap | 12 class CFX_GlyphMap |
13 { | 13 { |
14 public: | 14 public: |
15 CFX_GlyphMap(); | 15 CFX_GlyphMap(); |
16 ~CFX_GlyphMap(); | 16 ~CFX_GlyphMap(); |
17 void SetAt(int key, int value); | 17 void SetAt(int key, int value); |
18 FX_BOOL Lookup(int key, int &value); | 18 FX_BOOL Lookup(int key, int &value); |
19 protected: | 19 protected: |
20 CFX_BinaryBuf m_Buffer; | 20 CFX_BinaryBuf m_Buffer; |
21 }; | 21 }; |
22 class CFX_CTTGSUBTable : public CFX_Object | 22 class CFX_CTTGSUBTable : public CFX_Object |
23 { | 23 { |
24 public: | 24 public: |
25 CFX_CTTGSUBTable(void): loaded(false), m_bFeautureMapLoad(FALSE) {}; | 25 CFX_CTTGSUBTable(void): m_bFeautureMapLoad(FALSE), loaded(false) {}; |
26 CFX_CTTGSUBTable(FT_Bytes gsub): loaded(false), m_bFeautureMapLoad(FALSE) | 26 CFX_CTTGSUBTable(FT_Bytes gsub): m_bFeautureMapLoad(FALSE), loaded(false) |
27 { | 27 { |
28 LoadGSUBTable(gsub); | 28 LoadGSUBTable(gsub); |
29 } | 29 } |
30 virtual ~CFX_CTTGSUBTable() {} | 30 virtual ~CFX_CTTGSUBTable() {} |
31 bool IsOk(void) const | 31 bool IsOk(void) const |
32 { | 32 { |
33 return loaded; | 33 return loaded; |
34 } | 34 } |
35 bool LoadGSUBTable(FT_Bytes gsub); | 35 bool LoadGSUBTable(FT_Bytes gsub); |
36 bool GetVerticalGlyph(TT_uint32_t glyphnum, TT_uint32_t *vglyphnum); | 36 bool GetVerticalGlyph(TT_uint32_t glyphnum, TT_uint32_t *vglyphnum); |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 TT_uint16_t SubstFormat; | 267 TT_uint16_t SubstFormat; |
268 TSubTableBase(): SubstFormat(0) {} | 268 TSubTableBase(): SubstFormat(0) {} |
269 virtual ~TSubTableBase() {} | 269 virtual ~TSubTableBase() {} |
270 private: | 270 private: |
271 TSubTableBase(const TSubTableBase&); | 271 TSubTableBase(const TSubTableBase&); |
272 TSubTableBase& operator=(const TSubTableBase&); | 272 TSubTableBase& operator=(const TSubTableBase&); |
273 }; | 273 }; |
274 struct TSingleSubstFormat1: public TSubTableBase { | 274 struct TSingleSubstFormat1: public TSubTableBase { |
275 TCoverageFormatBase *Coverage; | 275 TCoverageFormatBase *Coverage; |
276 TT_int16_t DeltaGlyphID; | 276 TT_int16_t DeltaGlyphID; |
277 TSingleSubstFormat1(): DeltaGlyphID(0), Coverage(NULL) | 277 TSingleSubstFormat1(): Coverage(NULL), DeltaGlyphID(0) |
278 { | 278 { |
279 SubstFormat = 1; | 279 SubstFormat = 1; |
280 } | 280 } |
281 ~TSingleSubstFormat1() | 281 ~TSingleSubstFormat1() |
282 { | 282 { |
283 if(Coverage) { | 283 if(Coverage) { |
284 delete Coverage; | 284 delete Coverage; |
285 } | 285 } |
286 } | 286 } |
287 private: | 287 private: |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 { | 410 { |
411 public: | 411 public: |
412 virtual void Release() | 412 virtual void Release() |
413 { | 413 { |
414 delete this; | 414 delete this; |
415 } | 415 } |
416 virtual FX_BOOL GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vglyphnum); | 416 virtual FX_BOOL GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vglyphnum); |
417 CFX_CTTGSUBTable m_GsubImp; | 417 CFX_CTTGSUBTable m_GsubImp; |
418 }; | 418 }; |
419 #endif | 419 #endif |
OLD | NEW |