7#ifndef CORE_FPDFAPI_FONT_CPDF_FONTGLOBALS_H_
8#define CORE_FPDFAPI_FONT_CPDF_FONTGLOBALS_H_
15#include "core/fpdfapi/cmaps/fpdf_cmaps.h"
16#include "core/fpdfapi/font/cpdf_cidfont.h"
17#include "core/fxcrt/raw_span.h"
18#include "core/fxcrt/retain_ptr.h"
19#include "core/fxcrt/span.h"
20#include "core/fxge/cfx_fontmapper.h"
43 m_EmbeddedCharsets[idx] = map;
46 return m_EmbeddedCharsets[idx];
49 m_EmbeddedToUnicodes[idx] = map;
52 return m_EmbeddedToUnicodes[idx];
62 void LoadEmbeddedGB1CMaps();
63 void LoadEmbeddedCNS1CMaps();
64 void LoadEmbeddedJapan1CMaps();
65 void LoadEmbeddedKorea1CMaps();
67 std::map<ByteString, RetainPtr<
const CPDF_CMap>> m_CMaps;
68 std::array<std::unique_ptr<CPDF_CID2UnicodeMap>, CIDSET_NUM_SETS>
fxcrt::ByteString ByteString
wchar_t UnicodeFromCID(uint16_t cid) const
CPDF_CID2UnicodeMap(CIDSet charset)
size_t CountChar(ByteStringView pString) const override
uint32_t GetNextChar(ByteStringView pString, size_t *pOffset) const override
bool IsCIDFont() const override
bool IsUnicodeCompatible() const override
CFX_Point16 GetVertOrigin(uint16_t cid) const
int GetCharWidthF(uint32_t charcode) override
const CPDF_CIDFont * AsCIDFont() const override
uint16_t CIDFromCharCode(uint32_t charcode) const
const CIDTransform * GetCIDTransform(uint16_t cid) const
int GlyphFromCharCode(uint32_t charcode, bool *pVertGlyph) override
int16_t GetVertWidth(uint16_t cid) const
FX_RECT GetCharBBox(uint32_t charcode) override
static float CIDTransformToFloat(uint8_t ch)
void AppendChar(ByteString *str, uint32_t charcode) const override
bool IsVertWriting() const override
uint32_t CharCodeFromUnicode(wchar_t Unicode) const override
int GetCharSize(uint32_t charcode) const
WideString UnicodeFromCharCode(uint32_t charcode) const override
CPDF_CIDFont * AsCIDFont() override
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
void Set(CPDF_Document *pDoc, CFX_FontMapper::StandardFont index, RetainPtr< CPDF_Font > pFont)
RetainPtr< CPDF_Font > Find(CPDF_Document *pDoc, CFX_FontMapper::StandardFont index)
static CPDF_FontGlobals * GetInstance()
pdfium::span< const fxcmap::CMap > GetEmbeddedCharset(CIDSet idx) const
pdfium::span< const uint16_t > GetEmbeddedToUnicode(CIDSet idx)
RetainPtr< const CPDF_CMap > GetPredefinedCMap(const ByteString &name)
void Clear(CPDF_Document *pDoc)
void SetEmbeddedCharset(CIDSet idx, pdfium::span< const fxcmap::CMap > map)
CPDF_CID2UnicodeMap * GetCID2UnicodeMap(CIDSet charset)
void SetEmbeddedToUnicode(CIDSet idx, pdfium::span< const uint16_t > map)
CFX_PTemplate< int16_t > CFX_Point16
#define CONSTRUCT_VIA_MAKE_RETAIN
fxcrt::ByteStringView ByteStringView
fxcrt::WideString WideString