summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_font/font_int.h
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-10-04 11:08:49 -0700
committerCommit bot <commit-bot@chromium.org>2016-10-04 11:08:49 -0700
commitbc5e6d289ed40efec2b0e03427e8fc2947bf53e3 (patch)
treefa1509c1fe1a46a6ebe8861768804883041973be /core/fpdfapi/fpdf_font/font_int.h
parent241543581696e996093bf0c2ae09ece6afe13ba2 (diff)
downloadpdfium-bc5e6d289ed40efec2b0e03427e8fc2947bf53e3.tar.xz
Move core/fpdfapi/fpdf_font to core/fpdfapi/font
BUG=pdfium:603 Review-Url: https://codereview.chromium.org/2392773003
Diffstat (limited to 'core/fpdfapi/fpdf_font/font_int.h')
-rw-r--r--core/fpdfapi/fpdf_font/font_int.h204
1 files changed, 0 insertions, 204 deletions
diff --git a/core/fpdfapi/fpdf_font/font_int.h b/core/fpdfapi/fpdf_font/font_int.h
deleted file mode 100644
index dce9e0c48f..0000000000
--- a/core/fpdfapi/fpdf_font/font_int.h
+++ /dev/null
@@ -1,204 +0,0 @@
-// 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 CORE_FPDFAPI_FPDF_FONT_FONT_INT_H_
-#define CORE_FPDFAPI_FPDF_FONT_FONT_INT_H_
-
-#include <map>
-#include <memory>
-
-#include "core/fpdfapi/fpdf_font/cpdf_cidfont.h"
-#include "core/fxcrt/fx_basic.h"
-
-class CPDF_CID2UnicodeMap;
-class CPDF_CMap;
-class CPDF_Font;
-class CPDF_Stream;
-
-using FXFT_Library = void*;
-
-int TT2PDF(int m, FXFT_Face face);
-bool FT_UseTTCharmap(FXFT_Face face, int platform_id, int encoding_id);
-CIDSet CharsetFromOrdering(const CFX_ByteStringC& ordering);
-
-class CPDF_CMapManager {
- public:
- CPDF_CMapManager();
- ~CPDF_CMapManager();
-
- CPDF_CMap* GetPredefinedCMap(const CFX_ByteString& name, bool bPromptCJK);
- CPDF_CID2UnicodeMap* GetCID2UnicodeMap(CIDSet charset, bool bPromptCJK);
-
- private:
- CPDF_CMap* LoadPredefinedCMap(const CFX_ByteString& name, bool bPromptCJK);
- CPDF_CID2UnicodeMap* LoadCID2UnicodeMap(CIDSet charset, bool bPromptCJK);
-
- std::map<CFX_ByteString, CPDF_CMap*> m_CMaps;
- CPDF_CID2UnicodeMap* m_CID2UnicodeMaps[6];
-};
-
-class CFX_StockFontArray {
- public:
- CFX_StockFontArray();
- ~CFX_StockFontArray();
-
- // Takes ownership of |pFont|, returns unowned pointer to it.
- CPDF_Font* SetFont(uint32_t index, std::unique_ptr<CPDF_Font> pFont);
- CPDF_Font* GetFont(uint32_t index) const;
-
- private:
- std::unique_ptr<CPDF_Font> m_StockFonts[14];
-};
-
-class CPDF_FontGlobals {
- public:
- CPDF_FontGlobals();
- ~CPDF_FontGlobals();
-
- void Clear(CPDF_Document* pDoc);
- CPDF_Font* Find(CPDF_Document* pDoc, uint32_t index);
-
- // Takes ownership of |pFont|, returns unowned pointer to it.
- CPDF_Font* Set(CPDF_Document* key,
- uint32_t index,
- std::unique_ptr<CPDF_Font> pFont);
-
- CPDF_CMapManager m_CMapManager;
- struct {
- const struct FXCMAP_CMap* m_pMapList;
- uint32_t m_Count;
- } m_EmbeddedCharsets[CIDSET_NUM_SETS];
- struct {
- const uint16_t* m_pMap;
- uint32_t m_Count;
- } m_EmbeddedToUnicodes[CIDSET_NUM_SETS];
-
- private:
- std::map<CPDF_Document*, std::unique_ptr<CFX_StockFontArray>> m_StockMap;
-};
-
-struct CMap_CodeRange {
- int m_CharSize;
- uint8_t m_Lower[4];
- uint8_t m_Upper[4];
-};
-
-class CPDF_CMapParser {
- public:
- CPDF_CMapParser();
- ~CPDF_CMapParser();
- void Initialize(CPDF_CMap* pMap);
- void ParseWord(const CFX_ByteStringC& str);
- CFX_BinaryBuf m_AddMaps;
-
- private:
- friend class fpdf_font_cid_CMap_GetCode_Test;
- friend class fpdf_font_cid_CMap_GetCodeRange_Test;
-
- static uint32_t CMap_GetCode(const CFX_ByteStringC& word);
- static bool CMap_GetCodeRange(CMap_CodeRange& range,
- const CFX_ByteStringC& first,
- const CFX_ByteStringC& second);
-
- CPDF_CMap* m_pCMap;
- int m_Status;
- int m_CodeSeq;
- uint32_t m_CodePoints[4];
- CFX_ArrayTemplate<CMap_CodeRange> m_CodeRanges;
- CFX_ByteString m_LastWord;
-};
-
-enum CIDCoding : uint8_t {
- CIDCODING_UNKNOWN = 0,
- CIDCODING_GB,
- CIDCODING_BIG5,
- CIDCODING_JIS,
- CIDCODING_KOREA,
- CIDCODING_UCS2,
- CIDCODING_CID,
- CIDCODING_UTF16,
-};
-
-class CPDF_CMap {
- public:
- enum CodingScheme : uint8_t {
- OneByte,
- TwoBytes,
- MixedTwoBytes,
- MixedFourBytes
- };
-
- CPDF_CMap();
- ~CPDF_CMap();
-
- void LoadPredefined(CPDF_CMapManager* pMgr,
- const CFX_ByteString& name,
- bool bPromptCJK);
- void LoadEmbedded(const uint8_t* pData, uint32_t dwSize);
-
- bool IsLoaded() const;
- bool IsVertWriting() const;
- uint16_t CIDFromCharCode(uint32_t charcode) const;
- int GetCharSize(uint32_t charcode) const;
- uint32_t GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const;
- int CountChar(const FX_CHAR* pString, int size) const;
- int AppendChar(FX_CHAR* str, uint32_t charcode) const;
-
- private:
- friend class CPDF_CMapParser;
- friend class CPDF_CIDFont;
-
- CFX_ByteString m_PredefinedCMap;
- bool m_bVertical;
- CIDSet m_Charset;
- int m_Coding;
- CodingScheme m_CodingScheme;
- int m_nCodeRanges;
- uint8_t* m_pLeadingBytes;
- uint16_t* m_pMapping;
- uint8_t* m_pAddMapping;
- bool m_bLoaded;
- const FXCMAP_CMap* m_pEmbedMap;
-};
-
-class CPDF_CID2UnicodeMap {
- public:
- CPDF_CID2UnicodeMap();
- ~CPDF_CID2UnicodeMap();
-
- bool IsLoaded();
- void Load(CPDF_CMapManager* pMgr, CIDSet charset, bool bPromptCJK);
- FX_WCHAR UnicodeFromCID(uint16_t CID);
-
- private:
- CIDSet m_Charset;
- const uint16_t* m_pEmbeddedMap;
- uint32_t m_EmbeddedCount;
-};
-
-class CPDF_ToUnicodeMap {
- public:
- CPDF_ToUnicodeMap();
- ~CPDF_ToUnicodeMap();
-
- void Load(CPDF_Stream* pStream);
-
- CFX_WideString Lookup(uint32_t charcode) const;
- uint32_t ReverseLookup(FX_WCHAR unicode) const;
-
- private:
- friend class fpdf_font_StringToCode_Test;
- friend class fpdf_font_StringToWideString_Test;
-
- static uint32_t StringToCode(const CFX_ByteStringC& str);
- static CFX_WideString StringToWideString(const CFX_ByteStringC& str);
-
- std::map<uint32_t, uint32_t> m_Map;
- CPDF_CID2UnicodeMap* m_pBaseMap;
- CFX_WideTextBuf m_MultiCharBuf;
-};
-
-#endif // CORE_FPDFAPI_FPDF_FONT_FONT_INT_H_