#include <bidi.h>
Public Member Functions | |
BiDi () | |
Default constructor, calls ubidi_open(). | |
BiDi (UErrorCode &rErrorCode) | |
Constructor, calls ubidi_open(). | |
BiDi (int32_t maxLength, int32_t maxRunCount, UErrorCode &rErrorCode) | |
Preallocating constructor, calls ubidi_openSized(). | |
~BiDi () | |
Destructor, calls ubidi_close(). | |
void | setInverse (UBool isInverse) |
Modify the operation of the BiDi algorithm such that it approximates an "inverse BiDi" algorithm. | |
UBool | isInverse () |
Is this BiDi object set to perform the inverse BiDi algorithm? | |
BiDi & | setPara (const UChar *text, int32_t length, UBiDiLevel paraLevel, UBiDiLevel *embeddingLevels, UErrorCode &rErrorCode) |
Set this object for one paragraph's text. | |
BiDi & | setLine (const BiDi &rParaBiDi, int32_t start, int32_t limit, UErrorCode &rErrorCode) |
Set this object for one line of the paragraph object's text. | |
UBiDiDirection | getDirection () const |
Get the directionality of the text. | |
const UChar * | getText () const |
Get the pointer to the text. | |
int32_t | getLength () const |
Get the length of the text. | |
UBiDiLevel | getParaLevel () const |
Get the paragraph level of the text. | |
UBiDiLevel | getLevelAt (int32_t charIndex) const |
Get the level for one character. | |
const UBiDiLevel * | getLevels (UErrorCode &rErrorCode) |
Get an array of levels for each character. | |
void | getLogicalRun (int32_t logicalStart, int32_t &rLogicalLimit, UBiDiLevel &rLevel) const |
Get a logical run. | |
int32_t | countRuns (UErrorCode &rErrorCode) |
Get the number of runs. | |
UBiDiDirection | getVisualRun (int32_t runIndex, int32_t &rLogicalStart, int32_t &rLength) |
Get one run's logical start, length, and directionality, which can be 0 for LTR or 1 for RTL. | |
int32_t | getVisualIndex (int32_t logicalIndex, UErrorCode &rErrorCode) |
Get the visual position from a logical text position. | |
int32_t | getLogicalIndex (int32_t visualIndex, UErrorCode &rErrorCode) |
Get the logical text position from a visual position. | |
void | getLogicalMap (int32_t *indexMap, UErrorCode &rErrorCode) |
Get a logical-to-visual index map (array) for the characters in the UBiDi (paragraph or line) object. | |
void | getVisualMap (int32_t *indexMap, UErrorCode &rErrorCode) |
Get a visual-to-logical index map (array) for the characters in the UBiDi (paragraph or line) object. | |
int32_t | writeReordered (UChar *dest, int32_t destSize, uint16_t options, UErrorCode &rErrorCode) |
Use the BiDi object containing the reordering information for one paragraph or line of text as set by setPara() or setLine() and write a reordered string to the destination buffer. | |
Static Public Member Functions | |
static void | reorderLogical (const UBiDiLevel *levels, int32_t length, int32_t *indexMap) |
Same as ubidi_reorderLogical(). | |
static void | reorderVisual (const UBiDiLevel *levels, int32_t length, int32_t *indexMap) |
Same as ubidi_reorderVisual(). | |
static void | invertMap (const int32_t *srcMap, int32_t *destMap, int32_t length) |
Same as ubidi_invertMap(). | |
static int32_t | writeReverse (const UChar *src, int32_t srcLength, UChar *dest, int32_t destSize, uint16_t options, UErrorCode &rErrorCode) |
Reverse a Right-To-Left run of Unicode text. | |
Protected Attributes | |
UBiDi * | pBiDi |
Use the C API with the UBiDi type and ubidi_... functions. The BiDi class was just a pure 1:1 wrapper for the ubidi_ API.
Old documentation:
BiDi is a C++ wrapper class for UBiDi. You need one BiDi object in place of one UBiDi object. For details on the API and implementation of the Unicode BiDi algorithm, see ubidi.h.
|
Default constructor, calls ubidi_open().
|
|
Constructor, calls ubidi_open().
|
|
Preallocating constructor, calls ubidi_openSized().
|
|
Destructor, calls ubidi_close().
|
|
Get the number of runs.
|
|
Get the directionality of the text.
|
|
Get the length of the text.
|
|
Get the level for one character.
|
|
Get an array of levels for each character.
|
|
Get the logical text position from a visual position.
|
|
Get a logical-to-visual index map (array) for the characters in the UBiDi (paragraph or line) object.
|
|
Get a logical run.
|
|
Get the paragraph level of the text.
|
|
Get the pointer to the text.
|
|
Get the visual position from a logical text position.
|
|
Get a visual-to-logical index map (array) for the characters in the UBiDi (paragraph or line) object.
|
|
Get one run's logical start, length, and directionality, which can be 0 for LTR or 1 for RTL.
|
|
Same as ubidi_invertMap().
|
|
Is this BiDi object set to perform the inverse BiDi algorithm?
|
|
Same as ubidi_reorderLogical().
|
|
Same as ubidi_reorderVisual().
|
|
Modify the operation of the BiDi algorithm such that it approximates an "inverse BiDi" algorithm.
This function must be called before
|
|
Set this object for one line of the paragraph object's text.
|
|
Set this object for one paragraph's text.
|
|
Use the
|
|
Reverse a Right-To-Left run of Unicode text.
|