Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
cpdf_fontglobals.h
Go to the documentation of this file.
1
// Copyright 2017 The PDFium Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7
#
ifndef
CORE_FPDFAPI_FONT_CPDF_FONTGLOBALS_H_
8
#
define
CORE_FPDFAPI_FONT_CPDF_FONTGLOBALS_H_
9
10
#
include
<
array
>
11
#
include
<
functional
>
12
#
include
<
map
>
13
#
include
<
memory
>
14
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"
21
22
class
CFX_StockFontArray
;
23
class
CPDF_Font
;
24
25
class
CPDF_FontGlobals
{
26
public
:
27
// Per-process singleton which must be managed by callers.
28
static
void
Create
();
29
static
void
Destroy
();
30
static
CPDF_FontGlobals
*
GetInstance
();
31
32
// Caller must load the maps before using font globals.
33
void
LoadEmbeddedMaps
();
34
35
void
Clear
(
CPDF_Document
* pDoc);
36
RetainPtr
<
CPDF_Font
>
Find
(
CPDF_Document
* pDoc,
37
CFX_FontMapper
::
StandardFont
index);
38
void
Set
(
CPDF_Document
* pDoc,
39
CFX_FontMapper
::
StandardFont
index,
40
RetainPtr
<
CPDF_Font
> pFont);
41
42
void
SetEmbeddedCharset
(
CIDSet
idx, pdfium::span<
const
fxcmap::CMap> map) {
43
m_EmbeddedCharsets[idx] = map;
44
}
45
pdfium
::
span
<
const
fxcmap
::
CMap
>
GetEmbeddedCharset
(
CIDSet
idx)
const
{
46
return
m_EmbeddedCharsets[idx];
47
}
48
void
SetEmbeddedToUnicode
(
CIDSet
idx, pdfium::span<
const
uint16_t> map) {
49
m_EmbeddedToUnicodes[idx] = map;
50
}
51
pdfium
::
span
<
const
uint16_t
>
GetEmbeddedToUnicode
(
CIDSet
idx) {
52
return
m_EmbeddedToUnicodes[idx];
53
}
54
55
RetainPtr
<
const
CPDF_CMap>
GetPredefinedCMap
(
const
ByteString
& name);
56
CPDF_CID2UnicodeMap
*
GetCID2UnicodeMap
(
CIDSet
charset);
57
58
private
:
59
CPDF_FontGlobals();
60
~CPDF_FontGlobals();
61
62
void
LoadEmbeddedGB1CMaps();
63
void
LoadEmbeddedCNS1CMaps();
64
void
LoadEmbeddedJapan1CMaps();
65
void
LoadEmbeddedKorea1CMaps();
66
67
std::map<ByteString, RetainPtr<
const
CPDF_CMap>> m_CMaps;
68
std::array<std::unique_ptr<CPDF_CID2UnicodeMap>, CIDSET_NUM_SETS>
69
m_CID2UnicodeMaps;
70
std
::
array
<
pdfium
::
raw_span
<
const
fxcmap
::
CMap
>,
CIDSET_NUM_SETS
>
71
m_EmbeddedCharsets
;
72
std
::
array
<
pdfium
::
raw_span
<
const
uint16_t
>,
CIDSET_NUM_SETS
>
73
m_EmbeddedToUnicodes
;
74
std
::
map
<
UnownedPtr
<
CPDF_Document
>,
75
std
::
unique_ptr
<
CFX_StockFontArray
>,
76
std
::
less
<>>
77
m_StockMap
;
78
};
79
80
#
endif
// CORE_FPDFAPI_FONT_CPDF_FONTGLOBALS_H_
ByteString
fxcrt::ByteString ByteString
Definition
bytestring.h:180
CFX_CTTGSUBTable
Definition
cfx_cttgsubtable.h:20
CFX_FontMapper
Definition
cfx_fontmapper.h:31
CFX_FontMapper::StandardFont
StandardFont
Definition
cfx_fontmapper.h:33
CFX_StockFontArray
Definition
cfx_stockfontarray.h:17
CPDF_CID2UnicodeMap
Definition
cpdf_cid2unicodemap.h:13
CPDF_CID2UnicodeMap::UnicodeFromCID
wchar_t UnicodeFromCID(uint16_t cid) const
Definition
cpdf_cid2unicodemap.cpp:22
CPDF_CID2UnicodeMap::CPDF_CID2UnicodeMap
CPDF_CID2UnicodeMap(CIDSet charset)
Definition
cpdf_cid2unicodemap.cpp:11
CPDF_CID2UnicodeMap::IsLoaded
bool IsLoaded() const
Definition
cpdf_cid2unicodemap.cpp:18
CPDF_CID2UnicodeMap::~CPDF_CID2UnicodeMap
~CPDF_CID2UnicodeMap()
CPDF_CIDFont::~CPDF_CIDFont
~CPDF_CIDFont() override
CPDF_CIDFont::CountChar
size_t CountChar(ByteStringView pString) const override
Definition
cpdf_cidfont.cpp:799
CPDF_CIDFont::GetNextChar
uint32_t GetNextChar(ByteStringView pString, size_t *pOffset) const override
Definition
cpdf_cidfont.cpp:790
CPDF_CIDFont::IsCIDFont
bool IsCIDFont() const override
Definition
cpdf_cidfont.cpp:285
CPDF_CIDFont::IsUnicodeCompatible
bool IsUnicodeCompatible() const override
Definition
cpdf_cidfont.cpp:807
CPDF_CIDFont::GetVertOrigin
CFX_Point16 GetVertOrigin(uint16_t cid) const
Definition
cpdf_cidfont.cpp:575
CPDF_CIDFont::GetCharWidthF
int GetCharWidthF(uint32_t charcode) override
Definition
cpdf_cidfont.cpp:549
CPDF_CIDFont::AsCIDFont
const CPDF_CIDFont * AsCIDFont() const override
Definition
cpdf_cidfont.cpp:289
CPDF_CIDFont::CIDFromCharCode
uint16_t CIDFromCharCode(uint32_t charcode) const
Definition
cpdf_cidfont.cpp:297
CPDF_CIDFont::Load
bool Load() override
Definition
cpdf_cidfont.cpp:403
CPDF_CIDFont::GetCIDTransform
const CIDTransform * GetCIDTransform(uint16_t cid) const
Definition
cpdf_cidfont.cpp:845
CPDF_CIDFont::GlyphFromCharCode
int GlyphFromCharCode(uint32_t charcode, bool *pVertGlyph) override
Definition
cpdf_cidfont.cpp:639
CPDF_CIDFont::GetVertWidth
int16_t GetVertWidth(uint16_t cid) const
Definition
cpdf_cidfont.cpp:564
CPDF_CIDFont::GetCharBBox
FX_RECT GetCharBBox(uint32_t charcode) override
Definition
cpdf_cidfont.cpp:519
CPDF_CIDFont::CIDTransformToFloat
static float CIDTransformToFloat(uint8_t ch)
Definition
cpdf_cidfont.cpp:823
CPDF_CIDFont::AppendChar
void AppendChar(ByteString *str, uint32_t charcode) const override
Definition
cpdf_cidfont.cpp:803
CPDF_CIDFont::IsVertWriting
bool IsVertWriting() const override
Definition
cpdf_cidfont.cpp:302
CPDF_CIDFont::CharCodeFromUnicode
uint32_t CharCodeFromUnicode(wchar_t Unicode) const override
Definition
cpdf_cidfont.cpp:352
CPDF_CIDFont::GetCharSize
int GetCharSize(uint32_t charcode) const
Definition
cpdf_cidfont.cpp:795
CPDF_CIDFont::UnicodeFromCharCode
WideString UnicodeFromCharCode(uint32_t charcode) const override
Definition
cpdf_cidfont.cpp:306
CPDF_CIDFont::AsCIDFont
CPDF_CIDFont * AsCIDFont() override
Definition
cpdf_cidfont.cpp:293
CPDF_Dictionary::DictMap
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
Definition
cpdf_dictionary.h:31
CPDF_Document
Definition
cpdf_document.h:29
CPDF_FontGlobals
Definition
cpdf_fontglobals.h:25
CPDF_FontGlobals::Set
void Set(CPDF_Document *pDoc, CFX_FontMapper::StandardFont index, RetainPtr< CPDF_Font > pFont)
Definition
cpdf_fontglobals.cpp:74
CPDF_FontGlobals::Destroy
static void Destroy()
Definition
cpdf_fontglobals.cpp:41
CPDF_FontGlobals::Find
RetainPtr< CPDF_Font > Find(CPDF_Document *pDoc, CFX_FontMapper::StandardFont index)
Definition
cpdf_fontglobals.cpp:64
CPDF_FontGlobals::LoadEmbeddedMaps
void LoadEmbeddedMaps()
Definition
cpdf_fontglobals.cpp:57
CPDF_FontGlobals::GetInstance
static CPDF_FontGlobals * GetInstance()
Definition
cpdf_fontglobals.cpp:48
CPDF_FontGlobals::GetEmbeddedCharset
pdfium::span< const fxcmap::CMap > GetEmbeddedCharset(CIDSet idx) const
Definition
cpdf_fontglobals.h:45
CPDF_FontGlobals::GetEmbeddedToUnicode
pdfium::span< const uint16_t > GetEmbeddedToUnicode(CIDSet idx)
Definition
cpdf_fontglobals.h:51
CPDF_FontGlobals::GetPredefinedCMap
RetainPtr< const CPDF_CMap > GetPredefinedCMap(const ByteString &name)
Definition
cpdf_fontglobals.cpp:111
CPDF_FontGlobals::Clear
void Clear(CPDF_Document *pDoc)
Definition
cpdf_fontglobals.cpp:83
CPDF_FontGlobals::SetEmbeddedCharset
void SetEmbeddedCharset(CIDSet idx, pdfium::span< const fxcmap::CMap > map)
Definition
cpdf_fontglobals.h:42
CPDF_FontGlobals::GetCID2UnicodeMap
CPDF_CID2UnicodeMap * GetCID2UnicodeMap(CIDSet charset)
Definition
cpdf_fontglobals.cpp:124
CPDF_FontGlobals::SetEmbeddedToUnicode
void SetEmbeddedToUnicode(CIDSet idx, pdfium::span< const uint16_t > map)
Definition
cpdf_fontglobals.h:48
CPDF_FontGlobals::Create
static void Create()
Definition
cpdf_fontglobals.cpp:35
CPDF_Font
Definition
cpdf_font.h:37
fxcrt::RetainPtr
Definition
retain_ptr.h:28
fxcrt::UnownedPtr
Definition
unowned_ptr.h:76
CIDSet
CIDSet
Definition
cpdf_cidfont.h:22
CIDSET_KOREA1
@ CIDSET_KOREA1
Definition
cpdf_cidfont.h:27
CIDSET_UNICODE
@ CIDSET_UNICODE
Definition
cpdf_cidfont.h:28
CIDSET_JAPAN1
@ CIDSET_JAPAN1
Definition
cpdf_cidfont.h:26
CIDSET_UNKNOWN
@ CIDSET_UNKNOWN
Definition
cpdf_cidfont.h:23
CIDSET_GB1
@ CIDSET_GB1
Definition
cpdf_cidfont.h:24
CIDSET_NUM_SETS
@ CIDSET_NUM_SETS
Definition
cpdf_cidfont.h:29
CIDSET_CNS1
@ CIDSET_CNS1
Definition
cpdf_cidfont.h:25
CFX_Point16
CFX_PTemplate< int16_t > CFX_Point16
Definition
fx_coordinates.h:49
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
CONSTRUCT_VIA_MAKE_RETAIN
#define CONSTRUCT_VIA_MAKE_RETAIN
Definition
retain_ptr.h:222
ByteStringView
fxcrt::ByteStringView ByteStringView
Definition
string_view_template.h:325
CIDTransform
Definition
cpdf_cidfont.h:32
CIDTransform::f
uint8_t f
Definition
cpdf_cidfont.h:39
CIDTransform::cid
uint16_t cid
Definition
cpdf_cidfont.h:33
CIDTransform::e
uint8_t e
Definition
cpdf_cidfont.h:38
CIDTransform::b
uint8_t b
Definition
cpdf_cidfont.h:35
CIDTransform::a
uint8_t a
Definition
cpdf_cidfont.h:34
CIDTransform::c
uint8_t c
Definition
cpdf_cidfont.h:36
CIDTransform::d
uint8_t d
Definition
cpdf_cidfont.h:37
FX_RECT
Definition
fx_coordinates.h:144
WideString
fxcrt::WideString WideString
Definition
widestring.h:207
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fpdfapi
font
cpdf_fontglobals.h
Generated on
for Qt by
1.18.0