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
fpdf_edittext.cpp File Reference

(9c1f44f67466fea2fb20bb6f31fea388d8c65961)

#include <map>
#include <memory>
#include <sstream>
#include <utility>
#include <vector>
#include "core/fpdfapi/font/cpdf_cidfont.h"
#include "core/fpdfapi/font/cpdf_font.h"
#include "core/fpdfapi/page/cpdf_docpagedata.h"
#include "core/fpdfapi/page/cpdf_textobject.h"
#include "core/fpdfapi/page/cpdf_textstate.h"
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fpdfapi/parser/cpdf_name.h"
#include "core/fpdfapi/parser/cpdf_number.h"
#include "core/fpdfapi/parser/cpdf_reference.h"
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fpdfapi/parser/cpdf_string.h"
#include "core/fpdfapi/render/charposlist.h"
#include "core/fpdfapi/render/cpdf_pagerendercontext.h"
#include "core/fpdfapi/render/cpdf_rendercontext.h"
#include "core/fpdfapi/render/cpdf_renderstatus.h"
#include "core/fpdfapi/render/cpdf_textrenderer.h"
#include "core/fpdftext/cpdf_textpage.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/fx_string_wrappers.h"
#include "core/fxcrt/span_util.h"
#include "core/fxcrt/stl_util.h"
#include "core/fxcrt/utf16.h"
#include "core/fxge/cfx_defaultrenderdevice.h"
#include "core/fxge/cfx_fontmgr.h"
#include "core/fxge/dib/cfx_dibitmap.h"
#include "core/fxge/fx_font.h"
#include "core/fxge/text_char_pos.h"
#include "fpdfsdk/cpdfsdk_helpers.h"
#include "public/fpdf_edit.h"
#include "third_party/base/check.h"
#include "third_party/base/check_op.h"
#include "third_party/base/containers/contains.h"
#include "third_party/base/numerics/safe_conversions.h"
+ Include dependency graph for fpdf_edittext.cpp:

Go to the source code of this file.

Functions

FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_NewTextObj (FPDF_DOCUMENT document, FPDF_BYTESTRING font, float font_size)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_SetText (FPDF_PAGEOBJECT text_object, FPDF_WIDESTRING text)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_SetCharcodes (FPDF_PAGEOBJECT text_object, const uint32_t *charcodes, size_t count)
 
FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadFont (FPDF_DOCUMENT document, const uint8_t *data, uint32_t size, int font_type, FPDF_BOOL cid)
 
FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadStandardFont (FPDF_DOCUMENT document, FPDF_BYTESTRING font)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFTextObj_GetFontSize (FPDF_PAGEOBJECT text, float *size)
 
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFTextObj_GetText (FPDF_PAGEOBJECT text_object, FPDF_TEXTPAGE text_page, FPDF_WCHAR *buffer, unsigned long length)
 
FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFTextObj_GetRenderedBitmap (FPDF_DOCUMENT document, FPDF_PAGE page, FPDF_PAGEOBJECT text_object, float scale)
 
FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close (FPDF_FONT font)
 
FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_CreateTextObj (FPDF_DOCUMENT document, FPDF_FONT font, float font_size)
 
FPDF_EXPORT FPDF_TEXT_RENDERMODE FPDF_CALLCONV FPDFTextObj_GetTextRenderMode (FPDF_PAGEOBJECT text)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFTextObj_SetTextRenderMode (FPDF_PAGEOBJECT text, FPDF_TEXT_RENDERMODE render_mode)
 
FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFTextObj_GetFont (FPDF_PAGEOBJECT text)
 
FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFFont_GetFontName (FPDF_FONT font, char *buffer, unsigned long length)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetFontData (FPDF_FONT font, uint8_t *buffer, size_t buflen, size_t *out_buflen)
 
FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetIsEmbedded (FPDF_FONT font)
 
FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetFlags (FPDF_FONT font)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetWeight (FPDF_FONT font)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetItalicAngle (FPDF_FONT font, int *angle)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetAscent (FPDF_FONT font, float font_size, float *ascent)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetDescent (FPDF_FONT font, float font_size, float *descent)
 
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetGlyphWidth (FPDF_FONT font, uint32_t glyph, float font_size, float *width)
 
FPDF_EXPORT FPDF_GLYPHPATH FPDF_CALLCONV FPDFFont_GetGlyphPath (FPDF_FONT font, uint32_t glyph, float font_size)
 
FPDF_EXPORT int FPDF_CALLCONV FPDFGlyphPath_CountGlyphSegments (FPDF_GLYPHPATH glyphpath)
 
FPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV FPDFGlyphPath_GetGlyphPathSegment (FPDF_GLYPHPATH glyphpath, int index)
 

Function Documentation

◆ FPDFFont_Close()

FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close ( FPDF_FONT font)

Definition at line 667 of file fpdf_edittext.cpp.

References CPDFFontFromFPDFFont().

Referenced by CheckPDFiumCApi(), and FPDFFontDeleter::operator()().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetAscent()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetAscent ( FPDF_FONT font,
float font_size,
float * ascent )

Definition at line 785 of file fpdf_edittext.cpp.

References CPDFFontFromFPDFFont(), and CPDF_Font::GetTypeAscent().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetDescent()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetDescent ( FPDF_FONT font,
float font_size,
float * descent )

Definition at line 796 of file fpdf_edittext.cpp.

References CPDFFontFromFPDFFont(), and CPDF_Font::GetTypeDescent().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetFlags()

FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetFlags ( FPDF_FONT font)

Definition at line 761 of file fpdf_edittext.cpp.

References CPDFFontFromFPDFFont(), and CPDF_Font::GetFontFlags().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetFontData()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetFontData ( FPDF_FONT font,
uint8_t * buffer,
size_t buflen,
size_t * out_buflen )

Definition at line 739 of file fpdf_edittext.cpp.

References CPDFFontFromFPDFFont().

Referenced by CheckPDFiumCApi().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetFontName()

FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFFont_GetFontName ( FPDF_FONT font,
char * buffer,
unsigned long length )

Definition at line 724 of file fpdf_edittext.cpp.

References fxcrt::ByteString::c_str(), CPDFFontFromFPDFFont(), CFX_Font::GetFamilyName(), and CPDF_Font::GetFont().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetGlyphPath()

FPDF_EXPORT FPDF_GLYPHPATH FPDF_CALLCONV FPDFFont_GetGlyphPath ( FPDF_FONT font,
uint32_t glyph,
float font_size )

Definition at line 829 of file fpdf_edittext.cpp.

References CPDF_Font::CharCodeFromUnicode(), CPDFFontFromFPDFFont(), CPDF_Font::GetFont(), CPDF_Font::GetFontFallback(), and CFX_Font::LoadGlyphPath().

Referenced by CheckPDFiumCApi(), TEST_F(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetGlyphWidth()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetGlyphWidth ( FPDF_FONT font,
uint32_t glyph,
float font_size,
float * width )

Definition at line 807 of file fpdf_edittext.cpp.

References CPDF_Font::AsCIDFont(), CPDF_Font::CharCodeFromUnicode(), CPDF_CIDFont::CIDFromCharCode(), CPDFFontFromFPDFFont(), CPDF_Font::GetCharWidthF(), CPDF_CIDFont::GetVertWidth(), and CPDF_CIDFont::IsVertWriting().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetIsEmbedded()

FPDF_EXPORT int FPDF_CALLCONV FPDFFont_GetIsEmbedded ( FPDF_FONT font)

Definition at line 754 of file fpdf_edittext.cpp.

References CPDFFontFromFPDFFont(), and CPDF_Font::IsEmbedded().

Referenced by CheckPDFiumCApi(), TEST_F(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetItalicAngle()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetItalicAngle ( FPDF_FONT font,
int * angle )

Definition at line 775 of file fpdf_edittext.cpp.

References CPDFFontFromFPDFFont(), and CPDF_Font::GetItalicAngle().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFFont_GetWeight()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFFont_GetWeight ( FPDF_FONT font)

Definition at line 770 of file fpdf_edittext.cpp.

References CPDFFontFromFPDFFont(), and CPDF_Font::GetFontWeight().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFGlyphPath_CountGlyphSegments()

FPDF_EXPORT int FPDF_CALLCONV FPDFGlyphPath_CountGlyphSegments ( FPDF_GLYPHPATH glyphpath)

Definition at line 861 of file fpdf_edittext.cpp.

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the caller graph for this function:

◆ FPDFGlyphPath_GetGlyphPathSegment()

FPDF_EXPORT FPDF_PATHSEGMENT FPDF_CALLCONV FPDFGlyphPath_GetGlyphPathSegment ( FPDF_GLYPHPATH glyphpath,
int index )

Definition at line 870 of file fpdf_edittext.cpp.

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the caller graph for this function:

◆ FPDFPageObj_CreateTextObj()

FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_CreateTextObj ( FPDF_DOCUMENT document,
FPDF_FONT font,
float font_size )

Definition at line 673 of file fpdf_edittext.cpp.

References CPDFDocumentFromFPDFDocument(), CPDFFontFromFPDFFont(), CPDF_DocPageData::FromDocument(), and CPDF_DocPageData::GetFont().

Referenced by CheckPDFiumCApi().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFPageObj_NewTextObj()

FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_NewTextObj ( FPDF_DOCUMENT document,
FPDF_BYTESTRING font,
float font_size )

Definition at line 478 of file fpdf_edittext.cpp.

References CPDFDocumentFromFPDFDocument().

Referenced by CheckPDFiumCApi().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFText_LoadFont()

FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadFont ( FPDF_DOCUMENT document,
const uint8_t * data,
uint32_t size,
int font_type,
FPDF_BOOL cid )

Definition at line 536 of file fpdf_edittext.cpp.

References CPDFDocumentFromFPDFDocument().

Referenced by CheckPDFiumCApi().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFText_LoadStandardFont()

FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFText_LoadStandardFont ( FPDF_DOCUMENT document,
FPDF_BYTESTRING font )

Definition at line 563 of file fpdf_edittext.cpp.

References CPDFDocumentFromFPDFDocument(), and CPDF_Font::GetStockFont().

Referenced by CheckPDFiumCApi().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFText_SetCharcodes()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_SetCharcodes ( FPDF_PAGEOBJECT text_object,
const uint32_t * charcodes,
size_t count )

Definition at line 516 of file fpdf_edittext.cpp.

References CPDF_TextObject::SetText().

Referenced by CheckPDFiumCApi().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFText_SetText()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_SetText ( FPDF_PAGEOBJECT text_object,
FPDF_WIDESTRING text )

Definition at line 500 of file fpdf_edittext.cpp.

References CPDF_TextObject::SetText(), and WideStringFromFPDFWideString().

Referenced by CheckPDFiumCApi().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFTextObj_GetFont()

FPDF_EXPORT FPDF_FONT FPDF_CALLCONV FPDFTextObj_GetFont ( FPDF_PAGEOBJECT text)

Definition at line 714 of file fpdf_edittext.cpp.

References CPDF_TextObject::GetFont().

Referenced by CheckPDFiumCApi(), TEST_F(), TEST_F(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFTextObj_GetFontSize()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFTextObj_GetFontSize ( FPDF_PAGEOBJECT text,
float * size )

Definition at line 574 of file fpdf_edittext.cpp.

References CPDF_TextObject::GetFontSize().

Referenced by CheckPDFiumCApi(), TEST_F(), TEST_F(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFTextObj_GetRenderedBitmap()

FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV FPDFTextObj_GetRenderedBitmap ( FPDF_DOCUMENT document,
FPDF_PAGE page,
FPDF_PAGEOBJECT text_object,
float scale )

Definition at line 604 of file fpdf_edittext.cpp.

References CFX_Matrix::CFX_Matrix(), CPDF_Page::RenderContextClearer::RenderContextClearer(), CFX_DefaultRenderDevice::Attach(), CPDFDocumentFromFPDFDocument(), CPDFPageFromFPDFPage(), CPDF_Page::GetDocument(), CFX_FloatRect::GetOuterRect(), CPDF_PageObject::GetRect(), FX_RECT::Height(), CPDF_RenderStatus::Initialize(), FX_RECT::IsEmpty(), kArgb, CFX_FloatRect::left, CFX_Matrix::operator*=(), CPDF_RenderStatus::RenderSingleObject(), CPDF_RenderStatus::SetDeviceMatrix(), CFX_FloatRect::top, CFX_Matrix::TransformRect(), and FX_RECT::Width().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFTextObj_GetText()

FPDF_EXPORT unsigned long FPDF_CALLCONV FPDFTextObj_GetText ( FPDF_PAGEOBJECT text_object,
FPDF_TEXTPAGE text_page,
FPDF_WCHAR * buffer,
unsigned long length )

Definition at line 587 of file fpdf_edittext.cpp.

References CPDFTextPageFromFPDFTextPage(), CPDF_TextPage::GetTextByObject(), and Utf16EncodeMaybeCopyAndReturnLength().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFTextObj_GetTextRenderMode()

FPDF_EXPORT FPDF_TEXT_RENDERMODE FPDF_CALLCONV FPDFTextObj_GetTextRenderMode ( FPDF_PAGEOBJECT text)

Definition at line 691 of file fpdf_edittext.cpp.

References CPDF_TextObject::GetTextRenderMode().

Referenced by CheckPDFiumCApi(), TEST_F(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FPDFTextObj_SetTextRenderMode()

FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFTextObj_SetTextRenderMode ( FPDF_PAGEOBJECT text,
FPDF_TEXT_RENDERMODE render_mode )

Definition at line 699 of file fpdf_edittext.cpp.

References CPDF_TextObject::SetTextRenderMode().

Referenced by CheckPDFiumCApi(), and TEST_F().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: