#include <cartotype_bidi.h>
|
void | Order (uint16_t *aText, size_t aLength, size_t &aNewLength, BidiParDir aParDir, bool aParStart, int32_t *aUserData=nullptr) |
|
bool | RightToLeft () |
|
|
static int32_t | ShapeArabic (uint16_t *aText, size_t aLength) |
|
An engine for doing bidirectional reordering and contextual shaping, and storing state when reordering and shaping a series of lines.
◆ Order()
void CartoTypeCore::BidiEngine::Order |
( |
uint16_t * |
aText, |
|
|
size_t |
aLength, |
|
|
size_t & |
aNewLength, |
|
|
BidiParDir |
aParDir, |
|
|
bool |
aParStart, |
|
|
int32_t * |
aUserData = nullptr |
|
) |
| |
Perform bidirectional reordering, removing any bidirectional control characters. The text is reordered in place and either stays the same length or gets shorter. If aParStart is true, the state is initialised and the paragraph direction is resolved using aParDir, otherwise the existing state is used. If aUserData is non-null it contains user data that is reordered in the same way as the text.
◆ RightToLeft()
bool CartoTypeCore::BidiEngine::RightToLeft |
( |
| ) |
|
|
inline |
Return the resolved direction; meaningful only after Order has been called at least once.
◆ ShapeArabic()
int32_t CartoTypeCore::BidiEngine::ShapeArabic |
( |
uint16_t * |
aText, |
|
|
size_t |
aLength |
|
) |
| |
|
static |
Perform Arabic shaping and lam-alef ligation in place. Return the number of lam-alef ligations performed; in each such case an alef has been replaced by 0xFFFF, which can then be removed by the caller.
The documentation for this class was generated from the following files:
- cartotype_bidi.h
- cartotype_bidi.cpp