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_cidfont.h
Go to the documentation of this file.
1
// Copyright 2016 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_CIDFONT_H_
8
#
define
CORE_FPDFAPI_FONT_CPDF_CIDFONT_H_
9
10
#
include
<
stdint
.
h
>
11
12
#
include
<
array
>
13
#
include
<
memory
>
14
#
include
<
vector
>
15
16
#
include
"core/fpdfapi/font/cpdf_font.h"
17
#
include
"core/fxcrt/fx_coordinates.h"
18
#
include
"core/fxcrt/fx_string.h"
19
#
include
"core/fxcrt/retain_ptr.h"
20
#
include
"core/fxcrt/unowned_ptr.h"
21
22
enum
CIDSet
:
uint8_t
{
23
CIDSET_UNKNOWN
,
24
CIDSET_GB1
,
25
CIDSET_CNS1
,
26
CIDSET_JAPAN1
,
27
CIDSET_KOREA1
,
28
CIDSET_UNICODE
,
29
CIDSET_NUM_SETS
30
};
31
32
struct
CIDTransform
{
33
uint16_t
cid
;
34
uint8_t
a
;
35
uint8_t
b
;
36
uint8_t
c
;
37
uint8_t
d
;
38
uint8_t
e
;
39
uint8_t
f
;
40
};
41
42
class
CFX_CTTGSUBTable
;
43
class
CPDF_CID2UnicodeMap
;
44
class
CPDF_CMap;
45
class
CPDF_StreamAcc;
46
47
class
CPDF_CIDFont
final
:
public
CPDF_Font
{
48
public
:
49
CONSTRUCT_VIA_MAKE_RETAIN
;
50
~
CPDF_CIDFont
()
override
;
51
52
static
float
CIDTransformToFloat
(uint8_t ch);
53
54
// CPDF_Font:
55
bool
IsCIDFont
()
const
override
;
56
const
CPDF_CIDFont*
AsCIDFont
()
const
override
;
57
CPDF_CIDFont*
AsCIDFont
()
override
;
58
int
GlyphFromCharCode
(uint32_t charcode,
bool
* pVertGlyph)
override
;
59
int
GetCharWidthF
(uint32_t charcode)
override
;
60
FX_RECT
GetCharBBox
(uint32_t charcode)
override
;
61
uint32_t
GetNextChar
(
ByteStringView
pString, size_t* pOffset)
const
override
;
62
size_t
CountChar
(
ByteStringView
pString)
const
override
;
63
void
AppendChar
(
ByteString
* str, uint32_t charcode)
const
override
;
64
bool
IsVertWriting
()
const
override
;
65
bool
IsUnicodeCompatible
()
const
override
;
66
bool
Load
()
override
;
67
WideString
UnicodeFromCharCode
(uint32_t charcode)
const
override
;
68
uint32_t
CharCodeFromUnicode
(
wchar_t
Unicode)
const
override
;
69
70
uint16_t
CIDFromCharCode
(uint32_t charcode)
const
;
71
const
CIDTransform
*
GetCIDTransform
(uint16_t cid)
const
;
72
int16_t
GetVertWidth
(uint16_t cid)
const
;
73
CFX_Point16
GetVertOrigin
(uint16_t cid)
const
;
74
int
GetCharSize
(uint32_t charcode)
const
;
75
76
private
:
77
enum
class
CIDFontType :
bool
{
78
kType1,
// CIDFontType0
79
kTrueType
// CIDFontType2
80
};
81
82
CPDF_CIDFont(
CPDF_Document
* pDocument,
RetainPtr
<
CPDF_Dictionary
> pFontDict);
83
84
void
LoadGB2312();
85
int
GetGlyphIndex(uint32_t unicodeb,
bool
* pVertGlyph);
86
int
GetVerticalGlyph(
int
index,
bool
* pVertGlyph);
87
void
LoadSubstFont();
88
wchar_t
GetUnicodeFromCharCode(uint32_t charcode)
const
;
89
90
RetainPtr
<
const
CPDF_CMap> m_pCMap;
91
UnownedPtr
<
const
CPDF_CID2UnicodeMap
> m_pCID2UnicodeMap;
92
RetainPtr
<CPDF_StreamAcc> m_pStreamAcc;
93
std::unique_ptr<CFX_CTTGSUBTable> m_pTTGSUBTable;
94
CIDFontType m_FontType = CIDFontType::kTrueType;
95
bool
m_bCIDIsGID =
false
;
96
bool
m_bAnsiWidthsFixed =
false
;
97
bool
m_bAdobeCourierStd =
false
;
98
CIDSet
m_Charset =
CIDSET_UNKNOWN
;
99
int16_t m_DefaultWidth = 1000;
100
int16_t m_DefaultVY = 880;
101
int16_t m_DefaultW1 = -1000;
102
std::vector<
int
> m_WidthList;
103
std::vector<
int
> m_VertMetrics;
104
std
::array<
FX_RECT
, 256> m_CharBBox;
105
};
106
107
#
endif
// CORE_FPDFAPI_FONT_CPDF_CIDFONT_H_
ByteString
fxcrt::ByteString ByteString
Definition
bytestring.h:180
CFX_CTTGSUBTable
Definition
cfx_cttgsubtable.h:20
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_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_cidfont.h
Generated on
for Qt by
1.18.0