Class TUnicodeAnalysis

Unit

Declaration

type TUnicodeAnalysis = class(TObject)

Description

Analyze Unicode text to build a tree

Hierarchy

Overview

Fields

Protected FBidi: TBidiUTF8Array;
Protected FBidiMode: TFontBidiMode;
Protected FCharCount: integer;
Protected FParagraph: array of record firstUnbrokenLineIndex: integer; end;
Protected FParagraphCount: integer;
Protected FText: string;
Protected FUnbrokenLine: array of record startIndex: integer; paragraphIndex: integer; end;
Protected FUnbrokenLineCount: integer;

Methods

Public constructor Create(ATextUTF8: string; ABidiMode: TFontBidiMode);
Public function CopyTextUTF8(AStartIndex, ACount: integer): string;
Public function CopyTextUTF8DiscardChars(AStartIndex,AEndIndex: integer; out ANonDiscardedCount: integer): string;
Public function CreateBidiTree(ABidiTreeFactory: TBidiTreeAny; AData: pointer; AStartIndex, AEndIndex: integer; AEmbeddingBidiLevel: integer): TBidiTree;
Public function DeleteText(APosition, ACount: integer): integer;
Public function DeleteTextBefore(APosition, ACount: integer): integer;
Public function GetParagraphAt(ACharIndex: integer): integer;
Public function IncludeNonSpacingChars(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer;
Public function IncludeNonSpacingCharsBefore(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer;
Public function InsertText(ATextUTF8: string; APosition: integer): integer;
Protected function GetBidiInfo(APosition0: integer): TUnicodeBidiInfo;
Protected function GetParagraphEndIndex(AIndex: integer): integer;
Protected function GetParagraphEndIndexBeforeParagraphSeparator(AIndex: integer): integer;
Protected function GetParagraphFirstUnbrokenLine(AIndex: integer): integer;
Protected function GetParagraphLastUnbrokenLinePlusOne(AIndex: integer): integer;
Protected function GetParagraphStartIndex(AIndex: integer): integer;
Protected function GetUnbrokenLineEndIndex(AIndex: integer): integer;
Protected function GetUnbrokenLineParagraphIndex(AIndex: integer): integer;
Protected function GetUnbrokenLineStartIndex(AIndex: integer): integer;
Protected function GetUnicodeChar(APosition0: integer): LongWord;
Protected function GetUTF8Char(APosition0: integer): string4;
Protected function InternalInsertText(APosition: integer; const ANewBidi: TBidiUTF8Array; ANewTextUTF8: string): integer;
Protected procedure Analyze;
Protected procedure CheckCharRange(AStartIndex, AEndIndex: integer; AMinIndex, AMaxIndex: integer);
Protected procedure CheckTextAnalysis;
Protected procedure CreateBidiTreeRec(ABidiTreeFactory: TBidiTreeAny; AData: pointer; ABidiTree: TBidiTree);
Protected procedure InternalDeleteBidiAndUTF8(ABidiStart, ABidiCount: integer);
Protected procedure InternalDeleteParagraph(AParagraphIndex: integer);
Protected procedure InternalDeleteText(APosition, ACount: integer);
Protected procedure InternalDeleteWithinParagraph(AParagraphIndex: integer; APosition, ACount: integer; AUpdateBidi: boolean);
Protected procedure InternalMergeParagraphWithNext(AParagraphIndex: integer);
Protected procedure InternalSplitParagraph(AParagraphIndex: integer);
Protected procedure InternalUpdateBidiIsolate(AParagraphIndex: integer; ABidiStart, ABidiCount: integer);
Protected procedure InternalUpdateUnbrokenLines(AParagraphIndex: integer);
Protected procedure SetBidiMode(AValue: TFontBidiMode);

Properties

Public property BidiInfo[APosition0: integer]: TUnicodeBidiInfo read GetBidiInfo;
Public property BidiMode: TFontBidiMode read FBidiMode write SetBidiMode;
Public property CharCount: integer read FCharCount;
Public property OnAnalysisChanged: TAnalysisChangedEvent read FOnAnalysisChanged write FOnAnalysisChanged;
Public property OnBidiModeChanged: TNotifyEvent read FOnBidiModeChanged write FOnBidiModeChanged;
Public property OnCharDeleted: TDeleteCharEvent read FOnCharDeleted write FOnCharDeleted;
Public property OnCharInserted: TInsertCharEvent read FOnCharInserted write FOnCharInserted;
Public property OnParagraphDeleted: TParagraphEvent read FOnParagraphDeleted write FOnParagraphDeleted;
Public property OnParagraphMergedWithNext: TParagraphEvent read FOnParagraphMergedWithNext write FOnParagraphMergedWithNext;
Public property OnParagraphSplit: TParagraphSplitEvent read FOnParagraphSplit write FOnParagraphSplit;
Public property ParagraphCount: integer read FParagraphCount;
Public property ParagraphEndIndex[AIndex: integer]: integer read GetParagraphEndIndex;
Public property ParagraphEndIndexBeforeParagraphSeparator[AIndex: integer]: integer read GetParagraphEndIndexBeforeParagraphSeparator;
Public property ParagraphFirstUnbrokenLine[AIndex: integer]: integer read GetParagraphFirstUnbrokenLine;
Public property ParagraphLastUnbrokenLinePlusOne[AIndex: integer]: integer read GetParagraphLastUnbrokenLinePlusOne;
Public property ParagraphRightToLeft[AIndex: integer]: boolean read GetParagraphRightToLeft;
Public property ParagraphStartIndex[AIndex: integer]: integer read GetParagraphStartIndex;
Public property TextUTF8: string read FText;
Public property UnbrokenLineCount: integer read FUnbrokenLineCount;
Public property UnbrokenLineEndIndex[AIndex: integer]: integer read GetUnbrokenLineEndIndex;
Public property UnbrokenLineParagraphIndex[AIndex: integer]: integer read GetUnbrokenLineParagraphIndex;
Public property UnbrokenLineStartIndex[AIndex: integer]: integer read GetUnbrokenLineStartIndex;
Public property UnicodeChar[APosition0: integer]: LongWord read GetUnicodeChar;
Public property UTF8Char[APosition0: integer]: string4 read GetUTF8Char;

Description

Fields

Protected FBidi: TBidiUTF8Array;

This item has no description.

Protected FBidiMode: TFontBidiMode;

This item has no description.

Protected FCharCount: integer;

This item has no description.

Protected FParagraph: array of record firstUnbrokenLineIndex: integer; end;

This item has no description.

Protected FParagraphCount: integer;

This item has no description.

Protected FText: string;

This item has no description.

Protected FUnbrokenLine: array of record startIndex: integer; paragraphIndex: integer; end;

This item has no description.

Protected FUnbrokenLineCount: integer;

This item has no description.

Methods

Public constructor Create(ATextUTF8: string; ABidiMode: TFontBidiMode);

This item has no description.

Public function CopyTextUTF8(AStartIndex, ACount: integer): string;

This item has no description.

Public function CopyTextUTF8DiscardChars(AStartIndex,AEndIndex: integer; out ANonDiscardedCount: integer): string;

This item has no description.

Public function CreateBidiTree(ABidiTreeFactory: TBidiTreeAny; AData: pointer; AStartIndex, AEndIndex: integer; AEmbeddingBidiLevel: integer): TBidiTree;

This item has no description.

Public function DeleteText(APosition, ACount: integer): integer;

This item has no description.

Public function DeleteTextBefore(APosition, ACount: integer): integer;

This item has no description.

Public function GetParagraphAt(ACharIndex: integer): integer;

This item has no description.

Public function IncludeNonSpacingChars(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer;

This item has no description.

Public function IncludeNonSpacingCharsBefore(APosition, ACount: integer; AIncludeCombiningMarks: boolean = true): integer;

This item has no description.

Public function InsertText(ATextUTF8: string; APosition: integer): integer;

This item has no description.

Protected function GetBidiInfo(APosition0: integer): TUnicodeBidiInfo;

This item has no description.

Protected function GetParagraphEndIndex(AIndex: integer): integer;

This item has no description.

Protected function GetParagraphEndIndexBeforeParagraphSeparator(AIndex: integer): integer;

This item has no description.

Protected function GetParagraphFirstUnbrokenLine(AIndex: integer): integer;

This item has no description.

Protected function GetParagraphLastUnbrokenLinePlusOne(AIndex: integer): integer;

This item has no description.

Protected function GetParagraphStartIndex(AIndex: integer): integer;

This item has no description.

Protected function GetUnbrokenLineEndIndex(AIndex: integer): integer;

This item has no description.

Protected function GetUnbrokenLineParagraphIndex(AIndex: integer): integer;

This item has no description.

Protected function GetUnbrokenLineStartIndex(AIndex: integer): integer;

This item has no description.

Protected function GetUnicodeChar(APosition0: integer): LongWord;

This item has no description.

Protected function GetUTF8Char(APosition0: integer): string4;

This item has no description.

Protected function InternalInsertText(APosition: integer; const ANewBidi: TBidiUTF8Array; ANewTextUTF8: string): integer;

This item has no description.

Protected procedure Analyze;

This item has no description.

Protected procedure CheckCharRange(AStartIndex, AEndIndex: integer; AMinIndex, AMaxIndex: integer);

This item has no description.

Protected procedure CheckTextAnalysis;

This item has no description.

Protected procedure CreateBidiTreeRec(ABidiTreeFactory: TBidiTreeAny; AData: pointer; ABidiTree: TBidiTree);

This item has no description.

Protected procedure InternalDeleteBidiAndUTF8(ABidiStart, ABidiCount: integer);

This item has no description.

Protected procedure InternalDeleteParagraph(AParagraphIndex: integer);

This item has no description.

Protected procedure InternalDeleteText(APosition, ACount: integer);

This item has no description.

Protected procedure InternalDeleteWithinParagraph(AParagraphIndex: integer; APosition, ACount: integer; AUpdateBidi: boolean);

This item has no description.

Protected procedure InternalMergeParagraphWithNext(AParagraphIndex: integer);

This item has no description.

Protected procedure InternalSplitParagraph(AParagraphIndex: integer);

This item has no description.

Protected procedure InternalUpdateBidiIsolate(AParagraphIndex: integer; ABidiStart, ABidiCount: integer);

This item has no description.

Protected procedure InternalUpdateUnbrokenLines(AParagraphIndex: integer);

This item has no description.

Protected procedure SetBidiMode(AValue: TFontBidiMode);

This item has no description.

Properties

Public property BidiInfo[APosition0: integer]: TUnicodeBidiInfo read GetBidiInfo;

This item has no description.

Public property BidiMode: TFontBidiMode read FBidiMode write SetBidiMode;

This item has no description.

Public property CharCount: integer read FCharCount;

This item has no description.

Public property OnAnalysisChanged: TAnalysisChangedEvent read FOnAnalysisChanged write FOnAnalysisChanged;

This item has no description.

Public property OnBidiModeChanged: TNotifyEvent read FOnBidiModeChanged write FOnBidiModeChanged;

This item has no description.

Public property OnCharDeleted: TDeleteCharEvent read FOnCharDeleted write FOnCharDeleted;

This item has no description.

Public property OnCharInserted: TInsertCharEvent read FOnCharInserted write FOnCharInserted;

This item has no description.

Public property OnParagraphDeleted: TParagraphEvent read FOnParagraphDeleted write FOnParagraphDeleted;

This item has no description.

Public property OnParagraphMergedWithNext: TParagraphEvent read FOnParagraphMergedWithNext write FOnParagraphMergedWithNext;

This item has no description.

Public property OnParagraphSplit: TParagraphSplitEvent read FOnParagraphSplit write FOnParagraphSplit;

This item has no description.

Public property ParagraphCount: integer read FParagraphCount;

This item has no description.

Public property ParagraphEndIndex[AIndex: integer]: integer read GetParagraphEndIndex;

This item has no description.

Public property ParagraphEndIndexBeforeParagraphSeparator[AIndex: integer]: integer read GetParagraphEndIndexBeforeParagraphSeparator;

This item has no description.

Public property ParagraphFirstUnbrokenLine[AIndex: integer]: integer read GetParagraphFirstUnbrokenLine;

This item has no description.

Public property ParagraphLastUnbrokenLinePlusOne[AIndex: integer]: integer read GetParagraphLastUnbrokenLinePlusOne;

This item has no description.

Public property ParagraphRightToLeft[AIndex: integer]: boolean read GetParagraphRightToLeft;

This item has no description.

Public property ParagraphStartIndex[AIndex: integer]: integer read GetParagraphStartIndex;

This item has no description.

Public property TextUTF8: string read FText;

This item has no description.

Public property UnbrokenLineCount: integer read FUnbrokenLineCount;

This item has no description.

Public property UnbrokenLineEndIndex[AIndex: integer]: integer read GetUnbrokenLineEndIndex;

This item has no description.

Public property UnbrokenLineParagraphIndex[AIndex: integer]: integer read GetUnbrokenLineParagraphIndex;

This item has no description.

Public property UnbrokenLineStartIndex[AIndex: integer]: integer read GetUnbrokenLineStartIndex;

This item has no description.

Public property UnicodeChar[APosition0: integer]: LongWord read GetUnicodeChar;

This item has no description.

Public property UTF8Char[APosition0: integer]: string4 read GetUTF8Char;

This item has no description.