Home | History | Annotate | Download | only in ge
      1 // Copyright 2014 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 struct _CFX_UniqueKeyGen {
      8     void		Generate(int count, ...);
      9     FX_CHAR		m_Key[128];
     10     int			m_KeyLen;
     11 };
     12 class CFX_SizeGlyphCache : public CFX_Object
     13 {
     14 public:
     15     CFX_SizeGlyphCache()
     16     {
     17         m_GlyphMap.InitHashTable(253);
     18     }
     19     ~CFX_SizeGlyphCache();
     20     CFX_MapPtrToPtr			m_GlyphMap;
     21 };
     22 class CTTFontDesc : public CFX_Object
     23 {
     24 public:
     25     CTTFontDesc()
     26     {
     27         m_Type = 0;
     28         m_pFontData = NULL;
     29         m_RefCount = 0;
     30     }
     31     ~CTTFontDesc();
     32     FX_BOOL			ReleaseFace(FXFT_Face face);
     33     int				m_Type;
     34     union {
     35         struct {
     36             FX_BOOL		m_bItalic;
     37             FX_BOOL		m_bBold;
     38             FXFT_Face	m_pFace;
     39         } m_SingleFace;
     40         struct {
     41             FXFT_Face	m_pFaces[16];
     42         } m_TTCFace;
     43     };
     44     FX_BYTE*		m_pFontData;
     45     int				m_RefCount;
     46 };
     47 class CFX_UnicodeEncoding : public IFX_FontEncoding
     48 {
     49 public:
     50     CFX_UnicodeEncoding(CFX_Font* pFont);
     51     virtual FX_DWORD		GlyphFromCharCodeEx(FX_DWORD charcode, int encoding = ENCODING_UNICODE);
     52 private:
     53     CFX_Font*			m_pFont;
     54     virtual FX_DWORD		GlyphFromCharCode(FX_DWORD charcode);
     55     virtual CFX_WideString	UnicodeFromCharCode(FX_DWORD charcode) const
     56     {
     57         return CFX_WideString((FX_WCHAR)charcode);
     58     }
     59     virtual FX_DWORD		CharCodeFromUnicode(FX_WCHAR Unicode) const
     60     {
     61         return Unicode;
     62     }
     63     virtual FX_BOOL			IsUnicodeCompatible() const
     64     {
     65         return TRUE;
     66     }
     67 };
     68 #define CHARSET_FLAG_ANSI		1
     69 #define CHARSET_FLAG_SYMBOL		2
     70 #define CHARSET_FLAG_SHIFTJIS	4
     71 #define CHARSET_FLAG_BIG5		8
     72 #define CHARSET_FLAG_GB			16
     73 #define CHARSET_FLAG_KOREAN		32
     74 class CFontFaceInfo : public CFX_Object
     75 {
     76 public:
     77     CFX_ByteString		m_FilePath;
     78     CFX_ByteString		m_FaceName;
     79     FX_DWORD			m_Styles;
     80     FX_DWORD			m_Charsets;
     81     FX_DWORD			m_FontOffset;
     82     FX_DWORD			m_FileSize;
     83     CFX_ByteString		m_FontTables;
     84 };
     85 class CFontFileFaceInfo : public CFX_Object
     86 {
     87 public:
     88     CFontFileFaceInfo();
     89     ~CFontFileFaceInfo();
     90     IFX_FileStream*		m_pFile;
     91     FXFT_Face			m_Face;
     92     CFX_ByteString		m_FaceName;
     93     FX_DWORD			m_Charsets;
     94     FX_DWORD			m_FileSize;
     95     FX_DWORD			m_FontOffset;
     96     int					m_Weight;
     97     FX_BOOL				m_bItalic;
     98     int					m_PitchFamily;
     99     CFX_ByteString		m_FontTables;
    100 };
    101