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. |