103 UChar *dest, int32_t destSize,
112 #define U_SHAPE_LENGTH_GROW_SHRINK 0
120 #define U_SHAPE_LAMALEF_RESIZE 0
127 #define U_SHAPE_LENGTH_FIXED_SPACES_NEAR 1
136 #define U_SHAPE_LAMALEF_NEAR 1
143 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_END 2
152 #define U_SHAPE_LAMALEF_END 2
159 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING 3
168 #define U_SHAPE_LAMALEF_BEGIN 3
184 #define U_SHAPE_LAMALEF_AUTO 0x10000
187 #define U_SHAPE_LENGTH_MASK 0x10003
194 #define U_SHAPE_LAMALEF_MASK 0x10003
197 #define U_SHAPE_TEXT_DIRECTION_LOGICAL 0
206 #define U_SHAPE_TEXT_DIRECTION_VISUAL_RTL 0
214 #define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR 4
217 #define U_SHAPE_TEXT_DIRECTION_MASK 4
221 #define U_SHAPE_LETTERS_NOOP 0
224 #define U_SHAPE_LETTERS_SHAPE 8
227 #define U_SHAPE_LETTERS_UNSHAPE 0x10
236 #define U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED 0x18
240 #define U_SHAPE_LETTERS_MASK 0x18
244 #define U_SHAPE_DIGITS_NOOP 0
251 #define U_SHAPE_DIGITS_EN2AN 0x20
258 #define U_SHAPE_DIGITS_AN2EN 0x40
271 #define U_SHAPE_DIGITS_ALEN2AN_INIT_LR 0x60
283 #define U_SHAPE_DIGITS_ALEN2AN_INIT_AL 0x80
286 #define U_SHAPE_DIGITS_RESERVED 0xa0
289 #define U_SHAPE_DIGITS_MASK 0xe0
293 #define U_SHAPE_DIGIT_TYPE_AN 0
296 #define U_SHAPE_DIGIT_TYPE_AN_EXTENDED 0x100
299 #define U_SHAPE_DIGIT_TYPE_RESERVED 0x200
302 #define U_SHAPE_DIGIT_TYPE_MASK 0x300
311 #define U_SHAPE_AGGREGATE_TASHKEEL 0x4000
313 #define U_SHAPE_AGGREGATE_TASHKEEL_NOOP 0
315 #define U_SHAPE_AGGREGATE_TASHKEEL_MASK 0x4000
323 #define U_SHAPE_PRESERVE_PRESENTATION 0x8000
329 #define U_SHAPE_PRESERVE_PRESENTATION_NOOP 0
331 #define U_SHAPE_PRESERVE_PRESENTATION_MASK 0x8000
346 #define U_SHAPE_SEEN_TWOCELL_NEAR 0x200000
352 #define U_SHAPE_SEEN_MASK 0x700000
367 #define U_SHAPE_YEHHAMZA_TWOCELL_NEAR 0x1000000
374 #define U_SHAPE_YEHHAMZA_MASK 0x3800000
386 #define U_SHAPE_TASHKEEL_BEGIN 0x40000
397 #define U_SHAPE_TASHKEEL_END 0x60000
407 #define U_SHAPE_TASHKEEL_RESIZE 0x80000
418 #define U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL 0xC0000
424 #define U_SHAPE_TASHKEEL_MASK 0xE0000
448 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END 0x4000000
454 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK 0x4000000
468 #define U_SHAPE_TAIL_NEW_UNICODE 0x8000000
474 #define U_SHAPE_TAIL_TYPE_MASK 0x8000000
#define U_CAPI
This is used to declare a function as a public ICU C API.
char16_t UChar
The base type for UTF-16 code units and pointers.
U_CAPI int32_t u_shapeArabic(const UChar *source, int32_t sourceLength, UChar *dest, int32_t destSize, uint32_t options, UErrorCode *pErrorCode)
Shape Arabic text on a character basis.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.