| Index: fpdfsdk/include/pdfwindow/PWL_FontMap.h
|
| diff --git a/fpdfsdk/include/pdfwindow/PWL_FontMap.h b/fpdfsdk/include/pdfwindow/PWL_FontMap.h
|
| index b3da533b3e889986a513568be9732d8b78891666..09d5e233ea32075ae987d63c1658acdcf681d00d 100644
|
| --- a/fpdfsdk/include/pdfwindow/PWL_FontMap.h
|
| +++ b/fpdfsdk/include/pdfwindow/PWL_FontMap.h
|
| @@ -1,137 +1,146 @@
|
| // 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_Data {
|
| + CPDF_Font* pFont;
|
| + FX_INT32 nCharset;
|
| + CFX_ByteString sFontName;
|
| };
|
|
|
| -struct CPWL_FontMap_Native
|
| -{
|
| - 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
|
| +#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
|
| +#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_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();
|
| +class PWL_CLASS CPWL_DocFontMap : public CPWL_FontMap {
|
| + public:
|
| + CPWL_DocFontMap(IFX_SystemHandler* pSystemHandler,
|
| + CPDF_Document* pAttachedDoc);
|
| + virtual ~CPWL_DocFontMap();
|
|
|
| - virtual CPDF_Document* GetDocument();
|
| + virtual CPDF_Document* GetDocument();
|
|
|
| -private:
|
| - CPDF_Document* m_pAttachedDoc;
|
| + private:
|
| + CPDF_Document* m_pAttachedDoc;
|
| };
|
|
|
| #endif
|
|
|