| Index: core/src/fpdfapi/fpdf_font/font_int.h
|
| diff --git a/core/src/fpdfapi/fpdf_font/font_int.h b/core/src/fpdfapi/fpdf_font/font_int.h
|
| index f57e52758adbef50d7c4110ba4cdf2e95793e6e4..d7cbe1b0b59007ef96993cd751ca408dce1a5852 100644
|
| --- a/core/src/fpdfapi/fpdf_font/font_int.h
|
| +++ b/core/src/fpdfapi/fpdf_font/font_int.h
|
| @@ -7,170 +7,167 @@
|
| #define CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_
|
|
|
| typedef void* FXFT_Library;
|
| -class CPDF_CMapManager
|
| -{
|
| -public:
|
| - CPDF_CMapManager();
|
| - ~CPDF_CMapManager();
|
| - void* GetPackage(FX_BOOL bPrompt);
|
| - CPDF_CMap* GetPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPrompt);
|
| - CPDF_CID2UnicodeMap* GetCID2UnicodeMap(int charset, FX_BOOL bPrompt);
|
| - void ReloadAll();
|
| -private:
|
| - CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPrompt);
|
| - CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(int charset, FX_BOOL bPrompt);
|
| - void DropAll(FX_BOOL bReload);
|
| - FX_BOOL m_bPrompted;
|
| - CFX_MapByteStringToPtr m_CMaps;
|
| - CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6];
|
| +class CPDF_CMapManager {
|
| + public:
|
| + CPDF_CMapManager();
|
| + ~CPDF_CMapManager();
|
| + void* GetPackage(FX_BOOL bPrompt);
|
| + CPDF_CMap* GetPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPrompt);
|
| + CPDF_CID2UnicodeMap* GetCID2UnicodeMap(int charset, FX_BOOL bPrompt);
|
| + void ReloadAll();
|
| +
|
| + private:
|
| + CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPrompt);
|
| + CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(int charset, FX_BOOL bPrompt);
|
| + void DropAll(FX_BOOL bReload);
|
| + FX_BOOL m_bPrompted;
|
| + CFX_MapByteStringToPtr m_CMaps;
|
| + CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6];
|
| };
|
| -class CPDF_FontGlobals
|
| -{
|
| -public:
|
| - CPDF_FontGlobals();
|
| - ~CPDF_FontGlobals();
|
| - void ClearAll();
|
| - void Clear(void* key);
|
| - CPDF_Font* Find(void* key, int index);
|
| - void Set(void* key, int index, CPDF_Font* pFont);
|
| - CPDF_CMapManager m_CMapManager;
|
| - struct {
|
| - const struct FXCMAP_CMap* m_pMapList;
|
| - int m_Count;
|
| - } m_EmbeddedCharsets[NUMBER_OF_CIDSETS];
|
| - struct {
|
| - const FX_WORD* m_pMap;
|
| - int m_Count;
|
| - } m_EmbeddedToUnicodes[NUMBER_OF_CIDSETS];
|
| -private:
|
| - CFX_MapPtrToPtr m_pStockMap;
|
| - uint8_t* m_pContrastRamps;
|
| +class CPDF_FontGlobals {
|
| + public:
|
| + CPDF_FontGlobals();
|
| + ~CPDF_FontGlobals();
|
| + void ClearAll();
|
| + void Clear(void* key);
|
| + CPDF_Font* Find(void* key, int index);
|
| + void Set(void* key, int index, CPDF_Font* pFont);
|
| + CPDF_CMapManager m_CMapManager;
|
| + struct {
|
| + const struct FXCMAP_CMap* m_pMapList;
|
| + int m_Count;
|
| + } m_EmbeddedCharsets[NUMBER_OF_CIDSETS];
|
| + struct {
|
| + const FX_WORD* m_pMap;
|
| + int m_Count;
|
| + } m_EmbeddedToUnicodes[NUMBER_OF_CIDSETS];
|
| +
|
| + private:
|
| + CFX_MapPtrToPtr m_pStockMap;
|
| + uint8_t* m_pContrastRamps;
|
| };
|
| struct _CMap_CodeRange {
|
| - int m_CharSize;
|
| - uint8_t m_Lower[4];
|
| - uint8_t m_Upper[4];
|
| + int m_CharSize;
|
| + uint8_t m_Lower[4];
|
| + uint8_t m_Upper[4];
|
| };
|
| -class CPDF_CMapParser
|
| -{
|
| -public:
|
| - CPDF_CMapParser();
|
| - ~CPDF_CMapParser() {}
|
| - FX_BOOL Initialize(CPDF_CMap*);
|
| - void ParseWord(const CFX_ByteStringC& str);
|
| - CFX_BinaryBuf m_AddMaps;
|
| -private:
|
| - CPDF_CMap* m_pCMap;
|
| - int m_Status;
|
| - int m_CodeSeq;
|
| - FX_DWORD m_CodePoints[4];
|
| - CFX_ArrayTemplate<_CMap_CodeRange> m_CodeRanges;
|
| - CFX_ByteString m_Registry, m_Ordering, m_Supplement;
|
| - CFX_ByteString m_LastWord;
|
| +class CPDF_CMapParser {
|
| + public:
|
| + CPDF_CMapParser();
|
| + ~CPDF_CMapParser() {}
|
| + FX_BOOL Initialize(CPDF_CMap*);
|
| + void ParseWord(const CFX_ByteStringC& str);
|
| + CFX_BinaryBuf m_AddMaps;
|
| +
|
| + private:
|
| + CPDF_CMap* m_pCMap;
|
| + int m_Status;
|
| + int m_CodeSeq;
|
| + FX_DWORD m_CodePoints[4];
|
| + CFX_ArrayTemplate<_CMap_CodeRange> m_CodeRanges;
|
| + CFX_ByteString m_Registry, m_Ordering, m_Supplement;
|
| + CFX_ByteString m_LastWord;
|
| };
|
| -#define CIDCODING_UNKNOWN 0
|
| -#define CIDCODING_GB 1
|
| -#define CIDCODING_BIG5 2
|
| -#define CIDCODING_JIS 3
|
| -#define CIDCODING_KOREA 4
|
| -#define CIDCODING_UCS2 5
|
| -#define CIDCODING_CID 6
|
| -#define CIDCODING_UTF16 7
|
| -class CPDF_CMap
|
| -{
|
| -public:
|
| - CPDF_CMap();
|
| - FX_BOOL LoadPredefined(CPDF_CMapManager* pMgr, const FX_CHAR* name, FX_BOOL bPromptCJK);
|
| - FX_BOOL LoadEmbedded(const uint8_t* pData, FX_DWORD dwSize);
|
| - void Release();
|
| - FX_BOOL IsLoaded() const
|
| - {
|
| - return m_bLoaded;
|
| - }
|
| - int GetCharset()
|
| - {
|
| - return m_Charset;
|
| - }
|
| - FX_BOOL IsVertWriting() const
|
| - {
|
| - return m_bVertical;
|
| - }
|
| - FX_WORD CIDFromCharCode(FX_DWORD charcode) const;
|
| - FX_DWORD CharCodeFromCID(FX_WORD CID) const;
|
| - int GetCharSize(FX_DWORD charcode) const;
|
| - FX_DWORD GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const;
|
| - int CountChar(const FX_CHAR* pString, int size) const;
|
| - int AppendChar(FX_CHAR* str, FX_DWORD charcode) const;
|
| - typedef enum {OneByte, TwoBytes, MixedTwoBytes, MixedFourBytes} CodingScheme;
|
| -protected:
|
| - ~CPDF_CMap();
|
| - friend class CPDF_CMapParser;
|
| - friend class CPDF_CMapManager;
|
| - friend class CPDF_CIDFont;
|
| -protected:
|
| - CFX_ByteString m_PredefinedCMap;
|
| - FX_BOOL m_bVertical;
|
| - int m_Charset, m_Coding;
|
| - CodingScheme m_CodingScheme;
|
| - int m_nCodeRanges;
|
| - uint8_t* m_pLeadingBytes;
|
| - FX_WORD* m_pMapping;
|
| - uint8_t* m_pAddMapping;
|
| - FX_BOOL m_bLoaded;
|
| - const FXCMAP_CMap* m_pEmbedMap;
|
| - CPDF_CMap* m_pUseMap;
|
| +#define CIDCODING_UNKNOWN 0
|
| +#define CIDCODING_GB 1
|
| +#define CIDCODING_BIG5 2
|
| +#define CIDCODING_JIS 3
|
| +#define CIDCODING_KOREA 4
|
| +#define CIDCODING_UCS2 5
|
| +#define CIDCODING_CID 6
|
| +#define CIDCODING_UTF16 7
|
| +class CPDF_CMap {
|
| + public:
|
| + CPDF_CMap();
|
| + FX_BOOL LoadPredefined(CPDF_CMapManager* pMgr,
|
| + const FX_CHAR* name,
|
| + FX_BOOL bPromptCJK);
|
| + FX_BOOL LoadEmbedded(const uint8_t* pData, FX_DWORD dwSize);
|
| + void Release();
|
| + FX_BOOL IsLoaded() const { return m_bLoaded; }
|
| + int GetCharset() { return m_Charset; }
|
| + FX_BOOL IsVertWriting() const { return m_bVertical; }
|
| + FX_WORD CIDFromCharCode(FX_DWORD charcode) const;
|
| + FX_DWORD CharCodeFromCID(FX_WORD CID) const;
|
| + int GetCharSize(FX_DWORD charcode) const;
|
| + FX_DWORD GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const;
|
| + int CountChar(const FX_CHAR* pString, int size) const;
|
| + int AppendChar(FX_CHAR* str, FX_DWORD charcode) const;
|
| + typedef enum {
|
| + OneByte,
|
| + TwoBytes,
|
| + MixedTwoBytes,
|
| + MixedFourBytes
|
| + } CodingScheme;
|
| +
|
| + protected:
|
| + ~CPDF_CMap();
|
| + friend class CPDF_CMapParser;
|
| + friend class CPDF_CMapManager;
|
| + friend class CPDF_CIDFont;
|
| +
|
| + protected:
|
| + CFX_ByteString m_PredefinedCMap;
|
| + FX_BOOL m_bVertical;
|
| + int m_Charset, m_Coding;
|
| + CodingScheme m_CodingScheme;
|
| + int m_nCodeRanges;
|
| + uint8_t* m_pLeadingBytes;
|
| + FX_WORD* m_pMapping;
|
| + uint8_t* m_pAddMapping;
|
| + FX_BOOL m_bLoaded;
|
| + const FXCMAP_CMap* m_pEmbedMap;
|
| + CPDF_CMap* m_pUseMap;
|
| };
|
| -class CPDF_PredefinedCMap
|
| -{
|
| -public:
|
| - const FX_CHAR* m_pName;
|
| - int m_Charset;
|
| - int m_Coding;
|
| - CPDF_CMap::CodingScheme m_CodingScheme;
|
| - FX_DWORD m_LeadingSegCount;
|
| - uint8_t m_LeadingSegs[4];
|
| +class CPDF_PredefinedCMap {
|
| + public:
|
| + const FX_CHAR* m_pName;
|
| + int m_Charset;
|
| + int m_Coding;
|
| + CPDF_CMap::CodingScheme m_CodingScheme;
|
| + FX_DWORD m_LeadingSegCount;
|
| + uint8_t m_LeadingSegs[4];
|
| };
|
| typedef struct _FileHeader {
|
| - uint8_t btTag[4];
|
| - uint8_t btVersion;
|
| - uint8_t btFormat;
|
| - uint8_t btReserved1[2];
|
| - FX_DWORD dwStartIndex;
|
| - FX_DWORD dwEndIndex;
|
| - FX_DWORD dwDataSize;
|
| - FX_DWORD dwDataOffset;
|
| - FX_DWORD dwRecordSize;
|
| + uint8_t btTag[4];
|
| + uint8_t btVersion;
|
| + uint8_t btFormat;
|
| + uint8_t btReserved1[2];
|
| + FX_DWORD dwStartIndex;
|
| + FX_DWORD dwEndIndex;
|
| + FX_DWORD dwDataSize;
|
| + FX_DWORD dwDataOffset;
|
| + FX_DWORD dwRecordSize;
|
| } FXMP_FILEHEADER;
|
| -class CPDF_CID2UnicodeMap
|
| -{
|
| -public:
|
| - CPDF_CID2UnicodeMap();
|
| - ~CPDF_CID2UnicodeMap();
|
| - FX_BOOL Initialize();
|
| - FX_BOOL IsLoaded();
|
| - void Load(CPDF_CMapManager* pMgr, int charset, FX_BOOL bPromptCJK);
|
| - FX_WCHAR UnicodeFromCID(FX_WORD CID);
|
| -protected:
|
| - int m_Charset;
|
| - const FX_WORD* m_pEmbeddedMap;
|
| - FX_DWORD m_EmbeddedCount;
|
| +class CPDF_CID2UnicodeMap {
|
| + public:
|
| + CPDF_CID2UnicodeMap();
|
| + ~CPDF_CID2UnicodeMap();
|
| + FX_BOOL Initialize();
|
| + FX_BOOL IsLoaded();
|
| + void Load(CPDF_CMapManager* pMgr, int charset, FX_BOOL bPromptCJK);
|
| + FX_WCHAR UnicodeFromCID(FX_WORD CID);
|
| +
|
| + protected:
|
| + int m_Charset;
|
| + const FX_WORD* m_pEmbeddedMap;
|
| + FX_DWORD m_EmbeddedCount;
|
| };
|
| -class CPDF_ToUnicodeMap
|
| -{
|
| -public:
|
| - void Load(CPDF_Stream* pStream);
|
| - CFX_WideString Lookup(FX_DWORD charcode);
|
| - FX_DWORD ReverseLookup(FX_WCHAR unicode);
|
| -protected:
|
| - CFX_CMapDWordToDWord m_Map;
|
| - CPDF_CID2UnicodeMap* m_pBaseMap;
|
| - CFX_WideTextBuf m_MultiCharBuf;
|
| +class CPDF_ToUnicodeMap {
|
| + public:
|
| + void Load(CPDF_Stream* pStream);
|
| + CFX_WideString Lookup(FX_DWORD charcode);
|
| + FX_DWORD ReverseLookup(FX_WCHAR unicode);
|
| +
|
| + protected:
|
| + CFX_CMapDWordToDWord m_Map;
|
| + CPDF_CID2UnicodeMap* m_pBaseMap;
|
| + CFX_WideTextBuf m_MultiCharBuf;
|
| };
|
| -class CPDF_FontCharMap : public CFX_CharMap
|
| -{
|
| -public:
|
| - CPDF_FontCharMap(CPDF_Font* pFont);
|
| - CPDF_Font* m_pFont;
|
| +class CPDF_FontCharMap : public CFX_CharMap {
|
| + public:
|
| + CPDF_FontCharMap(CPDF_Font* pFont);
|
| + CPDF_Font* m_pFont;
|
| };
|
|
|
| #endif // CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_
|
|
|