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