Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cpvt_fontmap.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_FPDFDOC_CPVT_FONTMAP_H_
8#define CORE_FPDFDOC_CPVT_FONTMAP_H_
9
10#include <stdint.h>
11
12#include "core/fpdfdoc/ipvt_fontmap.h"
13#include "core/fxcrt/bytestring.h"
14#include "core/fxcrt/retain_ptr.h"
15#include "core/fxcrt/unowned_ptr.h"
16
17class CPDF_Document;
18class CPDF_Dictionary;
19class CPDF_Font;
20
21class CPVT_FontMap final : public IPVT_FontMap {
22 public:
24 RetainPtr<CPDF_Dictionary> pResDict,
25 RetainPtr<CPDF_Font> pDefFont,
26 const ByteString& sDefFontAlias);
27 ~CPVT_FontMap() override;
28
29 // IPVT_FontMap:
30 RetainPtr<CPDF_Font> GetPDFFont(int32_t nFontIndex) override;
31 ByteString GetPDFFontAlias(int32_t nFontIndex) override;
32 int32_t GetWordFontIndex(uint16_t word,
33 FX_Charset charset,
34 int32_t nFontIndex) override;
35 int32_t CharCodeFromUnicode(int32_t nFontIndex, uint16_t word) override;
36 FX_Charset CharSetFromUnicode(uint16_t word, FX_Charset nOldCharset) override;
37
38 private:
39 void SetupAnnotSysPDFFont();
40
41 UnownedPtr<CPDF_Document> const m_pDocument;
42 RetainPtr<CPDF_Dictionary> const m_pResDict;
43 RetainPtr<CPDF_Font> const m_pDefFont;
44 RetainPtr<CPDF_Font> m_pSysFont;
45 const ByteString m_sDefFontAlias;
46 ByteString m_sSysFontAlias;
47};
48
49#endif // CORE_FPDFDOC_CPVT_FONTMAP_H_
BorderStyle
constexpr CFX_FloatRect(float l, float b, float r, float t)
float Width() const
bool IsEmpty() const
void Inflate(float x, float y)
CFX_FloatRect & operator=(const CFX_FloatRect &that)=default
void Deflate(float x, float y)
float Height() const
static const char kDefaultAnsiFontName[]
Definition cfx_font.h:58
CFX_Matrix & operator=(const CFX_Matrix &other)=default
CFX_Matrix(float a1, float b1, float c1, float d1, float e1, float f1)
CFX_Matrix()=default
static CFX_FloatRect BoundingRectFromQuadPoints(const CPDF_Dictionary *pAnnotDict)
CPDF_DefaultAppearance(const ByteString &csDA)
bool KeyExist(const ByteString &key) const
float GetFloatFor(const ByteString &key) const
WideString GetUnicodeTextFor(const ByteString &key) const
void SetRectFor(const ByteString &key, const CFX_FloatRect &rect)
RetainPtr< const CPDF_Array > GetArrayFor(const ByteString &key) const
CFX_FloatRect GetRectFor(const ByteString &key) const
static CPDF_DocPageData * FromDocument(const CPDF_Document *pDoc)
static constexpr uint32_t kInvalidCharCode
Definition cpdf_font.h:63
static bool GenerateAnnotAP(CPDF_Document *pDoc, CPDF_Dictionary *pAnnotDict, CPDF_Annot::Subtype subtype)
static void GenerateEmptyAP(CPDF_Document *pDoc, CPDF_Dictionary *pAnnotDict)
static void GenerateFormAP(CPDF_Document *pDoc, CPDF_Dictionary *pAnnotDict, FormType type)
ByteString GetPDFFontAlias(int32_t nFontIndex) override
RetainPtr< CPDF_Font > GetPDFFont(int32_t nFontIndex) override
int32_t CharCodeFromUnicode(int32_t nFontIndex, uint16_t word) override
CPVT_FontMap(CPDF_Document *pDoc, RetainPtr< CPDF_Dictionary > pResDict, RetainPtr< CPDF_Font > pDefFont, const ByteString &sDefFontAlias)
int32_t GetWordFontIndex(uint16_t word, FX_Charset charset, int32_t nFontIndex) override
FX_Charset CharSetFromUnicode(uint16_t word, FX_Charset nOldCharset) override
~CPVT_FontMap() override
void SetAt(int32_t nWordIndex)
bool GetWord(CPVT_Word &word) const
bool GetLine(CPVT_Line &line) const
const CPVT_WordPlace & GetWordPlace() const
void SetPlateRect(const CFX_FloatRect &rect)
void SetLimitChar(int32_t nLimitChar)
CFX_FloatRect GetContentRect() const
CPVT_VariableText(Provider *Provider)
void SetText(const WideString &text)
CPVT_VariableText::Iterator * GetIterator()
void SetCharArray(int32_t nCharArray)
void SetAlignment(int32_t nFormat)
void SetMultiLine(bool bMultiLine)
void SetAutoFontSize(bool bAuto)
void SetFontSize(float fFontSize)
void SetAutoReturn(bool bAuto)
void SetPasswordChar(uint16_t wSubWord)
uint16_t Word
Definition cpvt_word.h:19
int32_t nFontIndex
Definition cpvt_word.h:26
float fFontSize
Definition cpvt_word.h:27
virtual ByteString GetPDFFontAlias(int32_t nFontIndex)=0
static ByteString Format(const char *pFormat,...)
ByteString & operator+=(const ByteString &str)
ByteString & operator=(ByteString &&that) noexcept
bool IsEmpty() const
Definition bytestring.h:119
WideString & operator+=(const WideString &str)
WideString & operator+=(wchar_t ch)
FX_Charset
Definition fx_codepage.h:70
#define FXSYS_IsFloatBigger(fa, fb)
Definition fx_system.h:36
#define FXSYS_IsFloatZero(f)
Definition fx_system.h:35
#define FXSYS_IsFloatSmaller(fa, fb)
Definition fx_system.h:38
CFX_Color CFXColorFromArray(const CPDF_Array &array)
CFX_Color CFXColorFromString(const ByteString &str)
const char kBG[]
const char kR[]
float fColor4
Definition cfx_color.h:58
float fColor3
Definition cfx_color.h:57
Type nColorType
Definition cfx_color.h:54
CFX_Color & operator=(const CFX_Color &that)=default
constexpr CFX_Color(Type type=CFX_Color::Type::kTransparent, float color1=0.0f, float color2=0.0f, float color3=0.0f, float color4=0.0f)
Definition cfx_color.h:27
float fColor2
Definition cfx_color.h:56
float fColor1
Definition cfx_color.h:55
int32_t LineCmp(const CPVT_WordPlace &wp) const