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 79c25219a05965d7d3fbc3cfc67aa5dfb8d48f27..48e58d6345279040634338ed063fb976acd50ebc 100644 |
--- a/core/src/fpdfapi/fpdf_font/font_int.h |
+++ b/core/src/fpdfapi/fpdf_font/font_int.h |
@@ -27,13 +27,13 @@ class CPDF_CMapManager { |
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); |
+ CPDF_CMap* GetPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK); |
+ CPDF_CID2UnicodeMap* GetCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK); |
void ReloadAll(); |
private: |
- CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPrompt); |
- CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(int charset, FX_BOOL bPrompt); |
+ CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, FX_BOOL bPromptCJK); |
+ CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(CIDSet charset, FX_BOOL bPromptCJK); |
FX_BOOL m_bPrompted; |
std::map<CFX_ByteString, CPDF_CMap*> m_CMaps; |
@@ -51,21 +51,23 @@ class CPDF_FontGlobals { |
struct { |
const struct FXCMAP_CMap* m_pMapList; |
int m_Count; |
- } m_EmbeddedCharsets[NUMBER_OF_CIDSETS]; |
+ } m_EmbeddedCharsets[CIDSET_NUM_SETS]; |
struct { |
const FX_WORD* m_pMap; |
int m_Count; |
- } m_EmbeddedToUnicodes[NUMBER_OF_CIDSETS]; |
+ } m_EmbeddedToUnicodes[CIDSET_NUM_SETS]; |
private: |
CFX_MapPtrToPtr m_pStockMap; |
uint8_t* m_pContrastRamps; |
}; |
-struct _CMap_CodeRange { |
+ |
+struct CMap_CodeRange { |
int m_CharSize; |
uint8_t m_Lower[4]; |
uint8_t m_Upper[4]; |
}; |
+ |
class CPDF_CMapParser { |
public: |
CPDF_CMapParser(); |
@@ -79,7 +81,7 @@ class CPDF_CMapParser { |
int m_Status; |
int m_CodeSeq; |
FX_DWORD m_CodePoints[4]; |
- CFX_ArrayTemplate<_CMap_CodeRange> m_CodeRanges; |
+ CFX_ArrayTemplate<CMap_CodeRange> m_CodeRanges; |
CFX_ByteString m_Registry, m_Ordering, m_Supplement; |
CFX_ByteString m_LastWord; |
}; |
@@ -100,7 +102,6 @@ class CPDF_CMap { |
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; |
@@ -124,7 +125,8 @@ class CPDF_CMap { |
protected: |
CFX_ByteString m_PredefinedCMap; |
FX_BOOL m_bVertical; |
- int m_Charset, m_Coding; |
+ CIDSet m_Charset; |
+ int m_Coding; |
CodingScheme m_CodingScheme; |
int m_nCodeRanges; |
uint8_t* m_pLeadingBytes; |
@@ -134,15 +136,7 @@ class CPDF_CMap { |
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]; |
-}; |
+ |
typedef struct _FileHeader { |
uint8_t btTag[4]; |
uint8_t btVersion; |
@@ -154,20 +148,22 @@ typedef struct _FileHeader { |
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); |
+ void Load(CPDF_CMapManager* pMgr, CIDSet charset, FX_BOOL bPromptCJK); |
FX_WCHAR UnicodeFromCID(FX_WORD CID); |
protected: |
- int m_Charset; |
+ CIDSet m_Charset; |
const FX_WORD* m_pEmbeddedMap; |
FX_DWORD m_EmbeddedCount; |
}; |
+ |
class CPDF_ToUnicodeMap { |
public: |
void Load(CPDF_Stream* pStream); |
@@ -185,4 +181,8 @@ class CPDF_FontCharMap : public CFX_CharMap { |
CPDF_Font* m_pFont; |
}; |
+void FPDFAPI_LoadCID2UnicodeMap(CIDSet charset, |
+ const FX_WORD*& pMap, |
+ FX_DWORD& count); |
+ |
#endif // CORE_SRC_FPDFAPI_FPDF_FONT_FONT_INT_H_ |