diff options
Diffstat (limited to 'fpdfsdk/include/pdfwindow/PWL_FontMap.h')
-rw-r--r-- | fpdfsdk/include/pdfwindow/PWL_FontMap.h | 274 |
1 files changed, 137 insertions, 137 deletions
diff --git a/fpdfsdk/include/pdfwindow/PWL_FontMap.h b/fpdfsdk/include/pdfwindow/PWL_FontMap.h index 858bb2a398..b3da533b3e 100644 --- a/fpdfsdk/include/pdfwindow/PWL_FontMap.h +++ b/fpdfsdk/include/pdfwindow/PWL_FontMap.h @@ -1,137 +1,137 @@ -// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef _PWL_FONTMAP_H_
-#define _PWL_FONTMAP_H_
-
-struct CPWL_FontMap_Data
-{
- CPDF_Font* pFont;
- FX_INT32 nCharset;
- CFX_ByteString sFontName;
-};
-
-struct CPWL_FontMap_Native
-{
- FX_INT32 nCharset;
- CFX_ByteString sFontName;
-};
-
-#ifndef ANSI_CHARSET
-
-#define ANSI_CHARSET 0
-#define DEFAULT_CHARSET 1
-#define SYMBOL_CHARSET 2
-#define SHIFTJIS_CHARSET 128
-#define HANGEUL_CHARSET 129
-#define HANGUL_CHARSET 129
-#define GB2312_CHARSET 134
-#define CHINESEBIG5_CHARSET 136
-#define OEM_CHARSET 255
-#define JOHAB_CHARSET 130
-#define HEBREW_CHARSET 177
-#define ARABIC_CHARSET 178
-#define GREEK_CHARSET 161
-#define TURKISH_CHARSET 162
-#define VIETNAMESE_CHARSET 163
-#define THAI_CHARSET 222
-#define EASTEUROPE_CHARSET 238
-#define RUSSIAN_CHARSET 204
-#define BALTIC_CHARSET 186
-
-#endif
-
-#ifndef PWL_CLASS
-
- #ifdef FX_READER_DLL
- #define PWL_CLASS __declspec(dllexport)
- #else
- #define PWL_CLASS
- #endif
-#endif
-
-class IFX_SystemHandler;
-class PWL_CLASS CPWL_FontMap : public IFX_Edit_FontMap
-{
-public:
- CPWL_FontMap(IFX_SystemHandler* pSystemHandler);
- virtual ~CPWL_FontMap();
-
- virtual CPDF_Font* GetPDFFont(FX_INT32 nFontIndex);
- virtual CFX_ByteString GetPDFFontAlias(FX_INT32 nFontIndex);
- virtual FX_INT32 GetWordFontIndex(FX_WORD word, FX_INT32 nCharset, FX_INT32 nFontIndex);
- virtual FX_INT32 CharCodeFromUnicode(FX_INT32 nFontIndex, FX_WORD word);
- virtual FX_INT32 CharSetFromUnicode(FX_WORD word, FX_INT32 nOldCharset);
-
-public:
- virtual void Initial(FX_LPCSTR fontname = NULL);
- void SetSystemHandler(IFX_SystemHandler* pSystemHandler);
-
- FX_INT32 GetFontMapCount() const;
- const CPWL_FontMap_Data* GetFontMapData(FX_INT32 nIndex) const;
-
-public:
- static FX_INT32 GetNativeCharset();
- CFX_ByteString GetNativeFontName(FX_INT32 nCharset);
-
- static CFX_ByteString GetDefaultFontByCharset(FX_INT32 nCharset);
-
- CPDF_Font* AddFontToDocument(CPDF_Document* pDoc, CFX_ByteString& sFontName, FX_BYTE nCharset);
- static FX_BOOL IsStandardFont(const CFX_ByteString& sFontName);
- CPDF_Font* AddStandardFont(CPDF_Document* pDoc, CFX_ByteString& sFontName);
- CPDF_Font* AddSystemFont(CPDF_Document* pDoc, CFX_ByteString& sFontName,
- FX_BYTE nCharset);
-
-protected:
- virtual CPDF_Font* FindFontSameCharset(CFX_ByteString& sFontAlias, FX_INT32 nCharset);
- virtual void AddedFont(CPDF_Font* pFont, const CFX_ByteString& sFontAlias);
- FX_BOOL KnowWord(FX_INT32 nFontIndex, FX_WORD word);
-
- virtual CPDF_Document* GetDocument();
-
- void Empty();
- FX_INT32 GetFontIndex(const CFX_ByteString& sFontName, FX_INT32 nCharset, FX_BOOL bFind);
- FX_INT32 GetPWLFontIndex(FX_WORD word, FX_INT32 nCharset);
- FX_INT32 AddFontData(CPDF_Font* pFont, const CFX_ByteString& sFontAlias, FX_INT32 nCharset = DEFAULT_CHARSET);
-
- CFX_ByteString EncodeFontAlias(const CFX_ByteString& sFontName, FX_INT32 nCharset);
- CFX_ByteString EncodeFontAlias(const CFX_ByteString& sFontName);
-
-private:
- CFX_ByteString GetFontName(FX_INT32 nFontIndex);
- FX_INT32 FindFont(const CFX_ByteString& sFontName, FX_INT32 nCharset = DEFAULT_CHARSET);
-
- CFX_ByteString GetNativeFont(FX_INT32 nCharset);
-
-public:
- struct CharsetFontMap {
- FX_INT32 charset;
- const char* fontname;
- };
- static const CharsetFontMap defaultTTFMap[];
-
-protected:
- CFX_ArrayTemplate<CPWL_FontMap_Data*> m_aData;
- CFX_ArrayTemplate<CPWL_FontMap_Native*> m_aNativeFont;
-
-private:
- CPDF_Document* m_pPDFDoc;
- IFX_SystemHandler* m_pSystemHandler;
-};
-
-class PWL_CLASS CPWL_DocFontMap : public CPWL_FontMap
-{
-public:
- CPWL_DocFontMap(IFX_SystemHandler* pSystemHandler, CPDF_Document* pAttachedDoc);
- virtual ~CPWL_DocFontMap();
-
- virtual CPDF_Document* GetDocument();
-
-private:
- CPDF_Document* m_pAttachedDoc;
-};
-
-#endif
+// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef _PWL_FONTMAP_H_ +#define _PWL_FONTMAP_H_ + +struct CPWL_FontMap_Data +{ + CPDF_Font* pFont; + FX_INT32 nCharset; + CFX_ByteString sFontName; +}; + +struct CPWL_FontMap_Native +{ + FX_INT32 nCharset; + CFX_ByteString sFontName; +}; + +#ifndef ANSI_CHARSET + +#define ANSI_CHARSET 0 +#define DEFAULT_CHARSET 1 +#define SYMBOL_CHARSET 2 +#define SHIFTJIS_CHARSET 128 +#define HANGEUL_CHARSET 129 +#define HANGUL_CHARSET 129 +#define GB2312_CHARSET 134 +#define CHINESEBIG5_CHARSET 136 +#define OEM_CHARSET 255 +#define JOHAB_CHARSET 130 +#define HEBREW_CHARSET 177 +#define ARABIC_CHARSET 178 +#define GREEK_CHARSET 161 +#define TURKISH_CHARSET 162 +#define VIETNAMESE_CHARSET 163 +#define THAI_CHARSET 222 +#define EASTEUROPE_CHARSET 238 +#define RUSSIAN_CHARSET 204 +#define BALTIC_CHARSET 186 + +#endif + +#ifndef PWL_CLASS + + #ifdef FX_READER_DLL + #define PWL_CLASS __declspec(dllexport) + #else + #define PWL_CLASS + #endif +#endif + +class IFX_SystemHandler; +class PWL_CLASS CPWL_FontMap : public IFX_Edit_FontMap +{ +public: + CPWL_FontMap(IFX_SystemHandler* pSystemHandler); + virtual ~CPWL_FontMap(); + + virtual CPDF_Font* GetPDFFont(FX_INT32 nFontIndex); + virtual CFX_ByteString GetPDFFontAlias(FX_INT32 nFontIndex); + virtual FX_INT32 GetWordFontIndex(FX_WORD word, FX_INT32 nCharset, FX_INT32 nFontIndex); + virtual FX_INT32 CharCodeFromUnicode(FX_INT32 nFontIndex, FX_WORD word); + virtual FX_INT32 CharSetFromUnicode(FX_WORD word, FX_INT32 nOldCharset); + +public: + virtual void Initial(FX_LPCSTR fontname = NULL); + void SetSystemHandler(IFX_SystemHandler* pSystemHandler); + + FX_INT32 GetFontMapCount() const; + const CPWL_FontMap_Data* GetFontMapData(FX_INT32 nIndex) const; + +public: + static FX_INT32 GetNativeCharset(); + CFX_ByteString GetNativeFontName(FX_INT32 nCharset); + + static CFX_ByteString GetDefaultFontByCharset(FX_INT32 nCharset); + + CPDF_Font* AddFontToDocument(CPDF_Document* pDoc, CFX_ByteString& sFontName, FX_BYTE nCharset); + static FX_BOOL IsStandardFont(const CFX_ByteString& sFontName); + CPDF_Font* AddStandardFont(CPDF_Document* pDoc, CFX_ByteString& sFontName); + CPDF_Font* AddSystemFont(CPDF_Document* pDoc, CFX_ByteString& sFontName, + FX_BYTE nCharset); + +protected: + virtual CPDF_Font* FindFontSameCharset(CFX_ByteString& sFontAlias, FX_INT32 nCharset); + virtual void AddedFont(CPDF_Font* pFont, const CFX_ByteString& sFontAlias); + FX_BOOL KnowWord(FX_INT32 nFontIndex, FX_WORD word); + + virtual CPDF_Document* GetDocument(); + + void Empty(); + FX_INT32 GetFontIndex(const CFX_ByteString& sFontName, FX_INT32 nCharset, FX_BOOL bFind); + FX_INT32 GetPWLFontIndex(FX_WORD word, FX_INT32 nCharset); + FX_INT32 AddFontData(CPDF_Font* pFont, const CFX_ByteString& sFontAlias, FX_INT32 nCharset = DEFAULT_CHARSET); + + CFX_ByteString EncodeFontAlias(const CFX_ByteString& sFontName, FX_INT32 nCharset); + CFX_ByteString EncodeFontAlias(const CFX_ByteString& sFontName); + +private: + CFX_ByteString GetFontName(FX_INT32 nFontIndex); + FX_INT32 FindFont(const CFX_ByteString& sFontName, FX_INT32 nCharset = DEFAULT_CHARSET); + + CFX_ByteString GetNativeFont(FX_INT32 nCharset); + +public: + struct CharsetFontMap { + FX_INT32 charset; + const char* fontname; + }; + static const CharsetFontMap defaultTTFMap[]; + +protected: + CFX_ArrayTemplate<CPWL_FontMap_Data*> m_aData; + CFX_ArrayTemplate<CPWL_FontMap_Native*> m_aNativeFont; + +private: + CPDF_Document* m_pPDFDoc; + IFX_SystemHandler* m_pSystemHandler; +}; + +class PWL_CLASS CPWL_DocFontMap : public CPWL_FontMap +{ +public: + CPWL_DocFontMap(IFX_SystemHandler* pSystemHandler, CPDF_Document* pAttachedDoc); + virtual ~CPWL_DocFontMap(); + + virtual CPDF_Document* GetDocument(); + +private: + CPDF_Document* m_pAttachedDoc; +}; + +#endif |