Class TUnicodeAnalysis
Unit
Declaration
type TUnicodeAnalysis = class(TObject)
Description
Analyze Unicode text to build a tree
Hierarchy
- TObject
- TUnicodeAnalysis
Overview
Fields
![]() |
FBidi: TBidiUTF8Array; |
![]() |
FBidiMode: TFontBidiMode; |
![]() |
FCharCount: integer; |
![]() |
FParagraph: array of record
firstUnbrokenLineIndex: integer;
end; |
![]() |
FParagraphCount: integer; |
![]() |
FText: string; |
![]() |
FUnbrokenLine: array of record
startIndex: integer;
paragraphIndex: integer;
end; |
![]() |
FUnbrokenLineCount: integer; |
Methods
![]() |
constructor Create(ATextUTF8: string; ABidiMode: TFontBidiMode); |
![]() |
function CopyTextUTF8(AStartIndex, ACount: integer): string; |
![]() |
function CopyTextUTF8DiscardChars(AStartIndex,AEndIndex: integer; out ANonDiscardedCount: integer): string; |
![]() |
function CreateBidiTree(ABidiTreeFactory: TBidiTreeAny; AData: pointer; AStartIndex, AEndIndex: integer; AEmbeddingBidiLevel: integer): TBidiTree; |
![]() |
function DeleteText(APosition, ACount: integer): integer; |
![]() |
function DeleteTextBefore(APosition, ACount: integer): integer; |
![]() |
function GetParagraphAt(ACharIndex: integer): integer; |
![]() |
function IncludeNonSpacingChars(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer; |
![]() |
function IncludeNonSpacingCharsBefore(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer; |
![]() |
function InsertText(ATextUTF8: string; APosition: integer): integer; |
![]() |
function GetBidiInfo(APosition0: integer): TUnicodeBidiInfo; |
![]() |
function GetParagraphEndIndex(AIndex: integer): integer; |
![]() |
function GetParagraphEndIndexBeforeParagraphSeparator(AIndex: integer): integer; |
![]() |
function GetParagraphFirstUnbrokenLine(AIndex: integer): integer; |
![]() |
function GetParagraphLastUnbrokenLinePlusOne(AIndex: integer): integer; |
![]() |
function GetParagraphStartIndex(AIndex: integer): integer; |
![]() |
function GetUnbrokenLineEndIndex(AIndex: integer): integer; |
![]() |
function GetUnbrokenLineParagraphIndex(AIndex: integer): integer; |
![]() |
function GetUnbrokenLineStartIndex(AIndex: integer): integer; |
![]() |
function GetUnicodeChar(APosition0: integer): LongWord; |
![]() |
function GetUTF8Char(APosition0: integer): string4; |
![]() |
function InternalInsertText(APosition: integer; const ANewBidi: TBidiUTF8Array; ANewTextUTF8: string): integer; |
![]() |
procedure Analyze; |
![]() |
procedure CheckCharRange(AStartIndex, AEndIndex: integer; AMinIndex, AMaxIndex: integer); |
![]() |
procedure CheckTextAnalysis; |
![]() |
procedure CreateBidiTreeRec(ABidiTreeFactory: TBidiTreeAny; AData: pointer; ABidiTree: TBidiTree); |
![]() |
procedure InternalDeleteBidiAndUTF8(ABidiStart, ABidiCount: integer); |
![]() |
procedure InternalDeleteParagraph(AParagraphIndex: integer); |
![]() |
procedure InternalDeleteText(APosition, ACount: integer); |
![]() |
procedure InternalDeleteWithinParagraph(AParagraphIndex: integer; APosition, ACount: integer; AUpdateBidi: boolean); |
![]() |
procedure InternalMergeParagraphWithNext(AParagraphIndex: integer); |
![]() |
procedure InternalSplitParagraph(AParagraphIndex: integer); |
![]() |
procedure InternalUpdateBidiIsolate(AParagraphIndex: integer; ABidiStart, ABidiCount: integer); |
![]() |
procedure InternalUpdateUnbrokenLines(AParagraphIndex: integer); |
![]() |
procedure SetBidiMode(AValue: TFontBidiMode); |
Properties
![]() |
property BidiInfo[APosition0: integer]: TUnicodeBidiInfo read GetBidiInfo; |
![]() |
property BidiMode: TFontBidiMode read FBidiMode write SetBidiMode; |
![]() |
property CharCount: integer read FCharCount; |
![]() |
property OnAnalysisChanged: TAnalysisChangedEvent read FOnAnalysisChanged write FOnAnalysisChanged; |
![]() |
property OnBidiModeChanged: TNotifyEvent read FOnBidiModeChanged write FOnBidiModeChanged; |
![]() |
property OnCharDeleted: TDeleteCharEvent read FOnCharDeleted write FOnCharDeleted; |
![]() |
property OnCharInserted: TInsertCharEvent read FOnCharInserted write FOnCharInserted; |
![]() |
property OnParagraphDeleted: TParagraphEvent read FOnParagraphDeleted write FOnParagraphDeleted; |
![]() |
property OnParagraphMergedWithNext: TParagraphEvent read FOnParagraphMergedWithNext write FOnParagraphMergedWithNext; |
![]() |
property OnParagraphSplit: TParagraphSplitEvent read FOnParagraphSplit write FOnParagraphSplit; |
![]() |
property ParagraphCount: integer read FParagraphCount; |
![]() |
property ParagraphEndIndex[AIndex: integer]: integer read GetParagraphEndIndex; |
![]() |
property ParagraphEndIndexBeforeParagraphSeparator[AIndex: integer]: integer read GetParagraphEndIndexBeforeParagraphSeparator; |
![]() |
property ParagraphFirstUnbrokenLine[AIndex: integer]: integer read GetParagraphFirstUnbrokenLine; |
![]() |
property ParagraphLastUnbrokenLinePlusOne[AIndex: integer]: integer read GetParagraphLastUnbrokenLinePlusOne; |
![]() |
property ParagraphRightToLeft[AIndex: integer]: boolean read GetParagraphRightToLeft; |
![]() |
property ParagraphStartIndex[AIndex: integer]: integer read GetParagraphStartIndex; |
![]() |
property TextUTF8: string read FText; |
![]() |
property UnbrokenLineCount: integer read FUnbrokenLineCount; |
![]() |
property UnbrokenLineEndIndex[AIndex: integer]: integer read GetUnbrokenLineEndIndex; |
![]() |
property UnbrokenLineParagraphIndex[AIndex: integer]: integer read GetUnbrokenLineParagraphIndex; |
![]() |
property UnbrokenLineStartIndex[AIndex: integer]: integer read GetUnbrokenLineStartIndex; |
![]() |
property UnicodeChar[APosition0: integer]: LongWord read GetUnicodeChar; |
![]() |
property UTF8Char[APosition0: integer]: string4 read GetUTF8Char; |
Description
Fields
![]() |
FBidi: TBidiUTF8Array; |
This item has no description. |
![]() |
FBidiMode: TFontBidiMode; |
This item has no description. |
![]() |
FCharCount: integer; |
This item has no description. |
![]() |
FParagraph: array of record
firstUnbrokenLineIndex: integer;
end; |
This item has no description. |
![]() |
FParagraphCount: integer; |
This item has no description. |
![]() |
FText: string; |
This item has no description. |
![]() |
FUnbrokenLine: array of record
startIndex: integer;
paragraphIndex: integer;
end; |
This item has no description. |
![]() |
FUnbrokenLineCount: integer; |
This item has no description. |
Methods
![]() |
constructor Create(ATextUTF8: string; ABidiMode: TFontBidiMode); |
This item has no description. |
![]() |
function CopyTextUTF8(AStartIndex, ACount: integer): string; |
This item has no description. |
![]() |
function CopyTextUTF8DiscardChars(AStartIndex,AEndIndex: integer; out ANonDiscardedCount: integer): string; |
This item has no description. |
![]() |
function CreateBidiTree(ABidiTreeFactory: TBidiTreeAny; AData: pointer; AStartIndex, AEndIndex: integer; AEmbeddingBidiLevel: integer): TBidiTree; |
This item has no description. |
![]() |
function DeleteText(APosition, ACount: integer): integer; |
This item has no description. |
![]() |
function DeleteTextBefore(APosition, ACount: integer): integer; |
This item has no description. |
![]() |
function GetParagraphAt(ACharIndex: integer): integer; |
This item has no description. |
![]() |
function IncludeNonSpacingChars(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer; |
This item has no description. |
![]() |
function IncludeNonSpacingCharsBefore(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer; |
This item has no description. |
![]() |
function InsertText(ATextUTF8: string; APosition: integer): integer; |
This item has no description. |
![]() |
function GetBidiInfo(APosition0: integer): TUnicodeBidiInfo; |
This item has no description. |
![]() |
function GetParagraphEndIndex(AIndex: integer): integer; |
This item has no description. |
![]() |
function GetParagraphEndIndexBeforeParagraphSeparator(AIndex: integer): integer; |
This item has no description. |
![]() |
function GetParagraphFirstUnbrokenLine(AIndex: integer): integer; |
This item has no description. |
![]() |
function GetParagraphLastUnbrokenLinePlusOne(AIndex: integer): integer; |
This item has no description. |
![]() |
function GetParagraphStartIndex(AIndex: integer): integer; |
This item has no description. |
![]() |
function GetUnbrokenLineEndIndex(AIndex: integer): integer; |
This item has no description. |
![]() |
function GetUnbrokenLineParagraphIndex(AIndex: integer): integer; |
This item has no description. |
![]() |
function GetUnbrokenLineStartIndex(AIndex: integer): integer; |
This item has no description. |
![]() |
function GetUnicodeChar(APosition0: integer): LongWord; |
This item has no description. |
![]() |
function GetUTF8Char(APosition0: integer): string4; |
This item has no description. |
![]() |
function InternalInsertText(APosition: integer; const ANewBidi: TBidiUTF8Array; ANewTextUTF8: string): integer; |
This item has no description. |
![]() |
procedure Analyze; |
This item has no description. |
![]() |
procedure CheckCharRange(AStartIndex, AEndIndex: integer; AMinIndex, AMaxIndex: integer); |
This item has no description. |
![]() |
procedure CheckTextAnalysis; |
This item has no description. |
![]() |
procedure CreateBidiTreeRec(ABidiTreeFactory: TBidiTreeAny; AData: pointer; ABidiTree: TBidiTree); |
This item has no description. |
![]() |
procedure InternalDeleteBidiAndUTF8(ABidiStart, ABidiCount: integer); |
This item has no description. |
![]() |
procedure InternalDeleteParagraph(AParagraphIndex: integer); |
This item has no description. |
![]() |
procedure InternalDeleteText(APosition, ACount: integer); |
This item has no description. |
![]() |
procedure InternalDeleteWithinParagraph(AParagraphIndex: integer; APosition, ACount: integer; AUpdateBidi: boolean); |
This item has no description. |
![]() |
procedure InternalMergeParagraphWithNext(AParagraphIndex: integer); |
This item has no description. |
![]() |
procedure InternalSplitParagraph(AParagraphIndex: integer); |
This item has no description. |
![]() |
procedure InternalUpdateBidiIsolate(AParagraphIndex: integer; ABidiStart, ABidiCount: integer); |
This item has no description. |
![]() |
procedure InternalUpdateUnbrokenLines(AParagraphIndex: integer); |
This item has no description. |
![]() |
procedure SetBidiMode(AValue: TFontBidiMode); |
This item has no description. |
Properties
![]() |
property BidiInfo[APosition0: integer]: TUnicodeBidiInfo read GetBidiInfo; |
This item has no description. |
![]() |
property BidiMode: TFontBidiMode read FBidiMode write SetBidiMode; |
This item has no description. |
![]() |
property CharCount: integer read FCharCount; |
This item has no description. |
![]() |
property OnAnalysisChanged: TAnalysisChangedEvent read FOnAnalysisChanged write FOnAnalysisChanged; |
This item has no description. |
![]() |
property OnBidiModeChanged: TNotifyEvent read FOnBidiModeChanged write FOnBidiModeChanged; |
This item has no description. |
![]() |
property OnCharDeleted: TDeleteCharEvent read FOnCharDeleted write FOnCharDeleted; |
This item has no description. |
![]() |
property OnCharInserted: TInsertCharEvent read FOnCharInserted write FOnCharInserted; |
This item has no description. |
![]() |
property OnParagraphDeleted: TParagraphEvent read FOnParagraphDeleted write FOnParagraphDeleted; |
This item has no description. |
![]() |
property OnParagraphMergedWithNext: TParagraphEvent read FOnParagraphMergedWithNext write FOnParagraphMergedWithNext; |
This item has no description. |
![]() |
property OnParagraphSplit: TParagraphSplitEvent read FOnParagraphSplit write FOnParagraphSplit; |
This item has no description. |
![]() |
property ParagraphCount: integer read FParagraphCount; |
This item has no description. |
![]() |
property ParagraphEndIndex[AIndex: integer]: integer read GetParagraphEndIndex; |
This item has no description. |
![]() |
property ParagraphEndIndexBeforeParagraphSeparator[AIndex: integer]: integer read GetParagraphEndIndexBeforeParagraphSeparator; |
This item has no description. |
![]() |
property ParagraphFirstUnbrokenLine[AIndex: integer]: integer read GetParagraphFirstUnbrokenLine; |
This item has no description. |
![]() |
property ParagraphLastUnbrokenLinePlusOne[AIndex: integer]: integer read GetParagraphLastUnbrokenLinePlusOne; |
This item has no description. |
![]() |
property ParagraphRightToLeft[AIndex: integer]: boolean read GetParagraphRightToLeft; |
This item has no description. |
![]() |
property ParagraphStartIndex[AIndex: integer]: integer read GetParagraphStartIndex; |
This item has no description. |
![]() |
property TextUTF8: string read FText; |
This item has no description. |
![]() |
property UnbrokenLineCount: integer read FUnbrokenLineCount; |
This item has no description. |
![]() |
property UnbrokenLineEndIndex[AIndex: integer]: integer read GetUnbrokenLineEndIndex; |
This item has no description. |
![]() |
property UnbrokenLineParagraphIndex[AIndex: integer]: integer read GetUnbrokenLineParagraphIndex; |
This item has no description. |
![]() |
property UnbrokenLineStartIndex[AIndex: integer]: integer read GetUnbrokenLineStartIndex; |
This item has no description. |
![]() |
property UnicodeChar[APosition0: integer]: LongWord read GetUnicodeChar; |
This item has no description. |
![]() |
property UTF8Char[APosition0: integer]: string4 read GetUTF8Char; |
This item has no description. |