7#ifndef CORE_FXCRT_FX_BIDI_H_
8#define CORE_FXCRT_FX_BIDI_H_
14#include "core/fxcrt/widestring.h"
66 const WideString& m_Str;
67 std::vector<CFX_BidiChar::Segment> m_Order;
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)
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
virtual FX_RECT GetCharBBox(uint32_t charcode)=0
virtual int GetCharWidthF(uint32_t charcode)=0
static constexpr uint32_t kInvalidCharCode
virtual WideString UnicodeFromCharCode(uint32_t charcode) const
void AppendChar(ByteString *str, 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
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)
CharType operator[](const size_t index) const
bool FXSYS_iswalnum(wchar_t c)
#define FXSYS_IsFloatZero(f)
wchar_t GetMirrorChar(wchar_t wch)
constexpr FX_RECT(int l, int t, int r, int b)
const uint16_t kUnicodeDataNormalizationMap2[1724]
const uint16_t kUnicodeDataNormalization[65536]
const uint16_t kUnicodeDataNormalizationMap4[488]
const uint16_t kUnicodeDataNormalizationMap1[5376]
const uint16_t kUnicodeDataNormalizationMap3[1164]