| 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 CORE_INCLUDE_FPDFAPI_FPDF_RESOURCE_H_ | 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_RESOURCE_H_ | 
| 8 #define CORE_INCLUDE_FPDFAPI_FPDF_RESOURCE_H_ | 8 #define CORE_INCLUDE_FPDFAPI_FPDF_RESOURCE_H_ | 
| 9 | 9 | 
|  | 10 #include <map> | 
|  | 11 | 
| 10 #include "../fxcrt/fx_system.h" | 12 #include "../fxcrt/fx_system.h" | 
| 11 #include "../fxge/fx_font.h" | 13 #include "../fxge/fx_font.h" | 
| 12 #include "fpdf_parser.h" | 14 #include "fpdf_parser.h" | 
| 13 | 15 | 
| 14 class CFX_CTTGSUBTable; | 16 class CFX_CTTGSUBTable; | 
| 15 class CFX_DIBitmap; | 17 class CFX_DIBitmap; | 
| 16 class CFX_Font; | 18 class CFX_Font; | 
| 17 class CFX_SubstFont; | 19 class CFX_SubstFont; | 
| 18 class CPDF_CID2UnicodeMap; | 20 class CPDF_CID2UnicodeMap; | 
| 19 class CPDF_CIDFont; | 21 class CPDF_CIDFont; | 
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 353   virtual void LoadGlyphMap(); | 355   virtual void LoadGlyphMap(); | 
| 354 }; | 356 }; | 
| 355 class CPDF_TrueTypeFont : public CPDF_SimpleFont { | 357 class CPDF_TrueTypeFont : public CPDF_SimpleFont { | 
| 356  public: | 358  public: | 
| 357   CPDF_TrueTypeFont(); | 359   CPDF_TrueTypeFont(); | 
| 358 | 360 | 
| 359  protected: | 361  protected: | 
| 360   virtual FX_BOOL _Load(); | 362   virtual FX_BOOL _Load(); | 
| 361   virtual void LoadGlyphMap(); | 363   virtual void LoadGlyphMap(); | 
| 362 }; | 364 }; | 
|  | 365 | 
| 363 class CPDF_Type3Char { | 366 class CPDF_Type3Char { | 
| 364  public: | 367  public: | 
| 365   CPDF_Type3Char(); | 368   // Takes ownership of |pForm|. | 
| 366 | 369   explicit CPDF_Type3Char(CPDF_Form* pForm); | 
| 367   ~CPDF_Type3Char(); | 370   ~CPDF_Type3Char(); | 
| 368 | 371 | 
| 369   FX_BOOL LoadBitmap(CPDF_RenderContext* pContext); | 372   FX_BOOL LoadBitmap(CPDF_RenderContext* pContext); | 
| 370 | 373 | 
|  | 374   CPDF_Form* m_pForm; | 
|  | 375   CFX_DIBitmap* m_pBitmap; | 
| 371   FX_BOOL m_bColored; | 376   FX_BOOL m_bColored; | 
| 372 | 377   int m_Width; | 
| 373   FX_BOOL m_bPageRequired; |  | 
| 374 |  | 
| 375   CPDF_Form* m_pForm; |  | 
| 376 |  | 
| 377   CFX_AffineMatrix m_ImageMatrix; | 378   CFX_AffineMatrix m_ImageMatrix; | 
| 378 |  | 
| 379   CFX_DIBitmap* m_pBitmap; |  | 
| 380 |  | 
| 381   int m_Width; |  | 
| 382 |  | 
| 383   FX_RECT m_BBox; | 379   FX_RECT m_BBox; | 
| 384 }; | 380 }; | 
|  | 381 | 
| 385 class CPDF_Type3Font : public CPDF_SimpleFont { | 382 class CPDF_Type3Font : public CPDF_SimpleFont { | 
| 386  public: | 383  public: | 
| 387   CPDF_Type3Font(); | 384   CPDF_Type3Font(); | 
| 388   ~CPDF_Type3Font() override; | 385   ~CPDF_Type3Font() override; | 
| 389 | 386 | 
| 390   void SetPageResources(CPDF_Dictionary* pResources) { | 387   void SetPageResources(CPDF_Dictionary* pResources) { | 
| 391     m_pPageResources = pResources; | 388     m_pPageResources = pResources; | 
| 392   } | 389   } | 
| 393   CPDF_Type3Char* LoadChar(FX_DWORD charcode, int level = 0); | 390   CPDF_Type3Char* LoadChar(FX_DWORD charcode, int level = 0); | 
| 394   int GetCharWidthF(FX_DWORD charcode, int level = 0) override; | 391   int GetCharWidthF(FX_DWORD charcode, int level = 0) override; | 
| 395   int GetCharTypeWidth(FX_DWORD charcode) override { | 392   int GetCharTypeWidth(FX_DWORD charcode) override { | 
| 396     return GetCharWidthF(charcode); | 393     return GetCharWidthF(charcode); | 
| 397   } | 394   } | 
| 398   void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) override; | 395   void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) override; | 
| 399   CFX_AffineMatrix& GetFontMatrix() { return m_FontMatrix; } | 396   CFX_AffineMatrix& GetFontMatrix() { return m_FontMatrix; } | 
| 400   void CheckType3FontMetrics(); | 397   void CheckType3FontMetrics(); | 
| 401 | 398 | 
| 402  protected: | 399  protected: | 
| 403   CFX_AffineMatrix m_FontMatrix; | 400   CFX_AffineMatrix m_FontMatrix; | 
| 404 | 401 | 
| 405  private: | 402  private: | 
| 406   FX_BOOL _Load() override; | 403   FX_BOOL _Load() override; | 
| 407   void LoadGlyphMap() override {} | 404   void LoadGlyphMap() override {} | 
| 408 | 405 | 
| 409   int m_CharWidthL[256]; | 406   int m_CharWidthL[256]; | 
| 410   CPDF_Dictionary* m_pCharProcs; | 407   CPDF_Dictionary* m_pCharProcs; | 
| 411   CPDF_Dictionary* m_pPageResources; | 408   CPDF_Dictionary* m_pPageResources; | 
| 412   CPDF_Dictionary* m_pFontResources; | 409   CPDF_Dictionary* m_pFontResources; | 
| 413   CFX_MapPtrToPtr m_CacheMap; | 410   std::map<FX_DWORD, CPDF_Type3Char*> m_CacheMap; | 
| 414   CFX_MapPtrToPtr m_DeletedMap; |  | 
| 415 }; | 411 }; | 
| 416 | 412 | 
| 417 enum CIDSet { | 413 enum CIDSet { | 
| 418   CIDSET_UNKNOWN, | 414   CIDSET_UNKNOWN, | 
| 419   CIDSET_GB1, | 415   CIDSET_GB1, | 
| 420   CIDSET_CNS1, | 416   CIDSET_CNS1, | 
| 421   CIDSET_JAPAN1, | 417   CIDSET_JAPAN1, | 
| 422   CIDSET_KOREA1, | 418   CIDSET_KOREA1, | 
| 423   CIDSET_UNICODE, | 419   CIDSET_UNICODE, | 
| 424   CIDSET_NUM_SETS | 420   CIDSET_NUM_SETS | 
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 854 | 850 | 
| 855   FX_BOOL m_bInterpolate; | 851   FX_BOOL m_bInterpolate; | 
| 856 | 852 | 
| 857   CPDF_Document* m_pDocument; | 853   CPDF_Document* m_pDocument; | 
| 858 | 854 | 
| 859   CPDF_Dictionary* m_pOC; | 855   CPDF_Dictionary* m_pOC; | 
| 860   CPDF_Dictionary* InitJPEG(uint8_t* pData, FX_DWORD size); | 856   CPDF_Dictionary* InitJPEG(uint8_t* pData, FX_DWORD size); | 
| 861 }; | 857 }; | 
| 862 | 858 | 
| 863 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_RESOURCE_H_ | 859 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_RESOURCE_H_ | 
| OLD | NEW | 
|---|