7#ifndef CORE_FXCRT_FX_BIDI_H_
8#define CORE_FXCRT_FX_BIDI_H_
14#include "core/fxcrt/widestring.h"
67 std::vector<CFX_BidiChar::Segment> m_Order;
fxcrt::ByteString ByteString
const Segment & GetSegmentInfo() const
bool AppendChar(wchar_t wch)
const_iterator begin() const
void SetOverallDirectionRight()
const_iterator end() const
CFX_BidiString(const WideString &str)
CFX_BidiChar::Direction OverallDirection() const
bool Contains(const CFX_PointF &point) const
CFX_FloatRect(const CFX_FloatRect &that)=default
constexpr CFX_FloatRect(float l, float b, float r, float t)
void Intersect(const CFX_FloatRect &other_rect)
CFX_FloatRect & operator=(const CFX_FloatRect &that)=default
void Translate(float e, float f)
void Union(const CFX_FloatRect &other_rect)
constexpr CFX_Matrix()=default
CFX_Matrix & operator=(const CFX_Matrix &other)=default
CFX_FloatRect TransformRect(const CFX_FloatRect &rect) const
float TransformDistance(float distance) const
CFX_Matrix operator*(const CFX_Matrix &right) const
CFX_PointF Transform(const CFX_PointF &point) const
CFX_Matrix GetInverse() const
float TransformXDistance(float dx) const
uint16_t CIDFromCharCode(uint32_t charcode) const
int16_t GetVertWidth(uint16_t cid) const
RetainPtr< const CPDF_Dictionary > GetParam() const
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
virtual FX_RECT GetCharBBox(uint32_t charcode)=0
virtual int GetCharWidthF(uint32_t charcode)=0
virtual void AppendChar(ByteString *buf, uint32_t charcode) const
static constexpr uint32_t kInvalidCharCode
virtual WideString UnicodeFromCharCode(uint32_t charcode) const
int GetStringWidth(ByteStringView pString)
virtual bool IsText() const
const CFX_FloatRect & GetRect() const
virtual CPDF_FormObject * AsForm()
virtual CPDF_TextObject * AsText()
const CPDF_TextState & text_state() const
virtual bool IsForm() const
float GetPageHeight() const override
float GetPageWidth() const override
CFX_Matrix GetDisplayMatrix(const FX_RECT &rect, int iRotate) const override
RetainPtr< CPDF_Font > GetFont() const
CFX_Matrix GetTextMatrix() const
float GetCharWidth(uint32_t charcode) const
float GetFontSize() const
CharInfo(const CharInfo &)
int CharIndexFromTextIndex(int text_index) const
bool GetRect(int rectIndex, CFX_FloatRect *pRect) const
WideString GetTextByRect(const CFX_FloatRect &rect) const
const CharInfo & GetCharInfo(size_t index) const
CFX_FloatRect GetCharLooseBounds(size_t index) const
CharInfo & GetCharInfo(size_t index)
CPDF_TextPage(const CPDF_Page *pPage, bool rtl)
WideString GetTextByObject(const CPDF_TextObject *pTextObj) const
int GetIndexAtPos(const CFX_PointF &point, const CFX_SizeF &tolerance) const
float GetCharFontSize(size_t index) const
int CountRects(int start, int nCount)
int TextIndexFromCharIndex(int char_index) const
std::vector< CFX_FloatRect > GetRectArray(int start, int count) const
WideString GetPageText(int start, int count) const
WideString & operator+=(wchar_t ch)
CFX_VTemplate< float > CFX_VectorF
CFX_PTemplate< int16_t > CFX_Point16
CFX_PTemplate< float > CFX_PointF
CFX_STemplate< float > CFX_SizeF
bool FXSYS_iswalnum(wchar_t c)
#define FXSYS_IsFloatZero(f)
wchar_t GetMirrorChar(wchar_t wch)
fxcrt::WideStringView WideStringView
constexpr FX_RECT(int l, int t, int r, int b)
const std::array< uint16_t, 1724 > kUnicodeDataNormalizationMap2
const std::array< uint16_t, 65536 > kUnicodeDataNormalization
const std::array< uint16_t, 1164 > kUnicodeDataNormalizationMap3
const std::array< uint16_t, 5376 > kUnicodeDataNormalizationMap1
const std::array< uint16_t, 488 > kUnicodeDataNormalizationMap4
fxcrt::WideString WideString