Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __USHAPE_H__
00018 #define __USHAPE_H__
00019
00020 #include "unicode/utypes.h"
00021
00099 U_STABLE int32_t U_EXPORT2
00100 u_shapeArabic(const UChar *source, int32_t sourceLength,
00101 UChar *dest, int32_t destSize,
00102 uint32_t options,
00103 UErrorCode *pErrorCode);
00104
00110 #define U_SHAPE_LENGTH_GROW_SHRINK 0
00111
00118 #define U_SHAPE_LAMALEF_RESIZE 0
00119
00125 #define U_SHAPE_LENGTH_FIXED_SPACES_NEAR 1
00126
00134 #define U_SHAPE_LAMALEF_NEAR 1
00135
00141 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_END 2
00142
00150 #define U_SHAPE_LAMALEF_END 2
00151
00157 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING 3
00158
00166 #define U_SHAPE_LAMALEF_BEGIN 3
00167
00168
00182 #define U_SHAPE_LAMALEF_AUTO 0x10000
00183
00185 #define U_SHAPE_LENGTH_MASK 0x10003
00186
00187
00192 #define U_SHAPE_LAMALEF_MASK 0x10003
00193
00195 #define U_SHAPE_TEXT_DIRECTION_LOGICAL 0
00196
00204 #define U_SHAPE_TEXT_DIRECTION_VISUAL_RTL 0
00205
00212 #define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR 4
00213
00215 #define U_SHAPE_TEXT_DIRECTION_MASK 4
00216
00217
00219 #define U_SHAPE_LETTERS_NOOP 0
00220
00222 #define U_SHAPE_LETTERS_SHAPE 8
00223
00225 #define U_SHAPE_LETTERS_UNSHAPE 0x10
00226
00234 #define U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED 0x18
00235
00236
00238 #define U_SHAPE_LETTERS_MASK 0x18
00239
00240
00242 #define U_SHAPE_DIGITS_NOOP 0
00243
00249 #define U_SHAPE_DIGITS_EN2AN 0x20
00250
00256 #define U_SHAPE_DIGITS_AN2EN 0x40
00257
00269 #define U_SHAPE_DIGITS_ALEN2AN_INIT_LR 0x60
00270
00281 #define U_SHAPE_DIGITS_ALEN2AN_INIT_AL 0x80
00282
00284 #define U_SHAPE_DIGITS_RESERVED 0xa0
00285
00287 #define U_SHAPE_DIGITS_MASK 0xe0
00288
00289
00291 #define U_SHAPE_DIGIT_TYPE_AN 0
00292
00294 #define U_SHAPE_DIGIT_TYPE_AN_EXTENDED 0x100
00295
00297 #define U_SHAPE_DIGIT_TYPE_RESERVED 0x200
00298
00300 #define U_SHAPE_DIGIT_TYPE_MASK 0x300
00301
00309 #define U_SHAPE_AGGREGATE_TASHKEEL 0x4000
00310
00311 #define U_SHAPE_AGGREGATE_TASHKEEL_NOOP 0
00312
00313 #define U_SHAPE_AGGREGATE_TASHKEEL_MASK 0x4000
00314
00321 #define U_SHAPE_PRESERVE_PRESENTATION 0x8000
00322
00327 #define U_SHAPE_PRESERVE_PRESENTATION_NOOP 0
00328
00329 #define U_SHAPE_PRESERVE_PRESENTATION_MASK 0x8000
00330
00331
00344 #define U_SHAPE_SEEN_TWOCELL_NEAR 0x200000
00345
00350 #define U_SHAPE_SEEN_MASK 0x700000
00351
00352
00365 #define U_SHAPE_YEHHAMZA_TWOCELL_NEAR 0x1000000
00366
00367
00372 #define U_SHAPE_YEHHAMZA_MASK 0x3800000
00373
00374
00384 #define U_SHAPE_TASHKEEL_BEGIN 0x40000
00385
00395 #define U_SHAPE_TASHKEEL_END 0x60000
00396
00405 #define U_SHAPE_TASHKEEL_RESIZE 0x80000
00406
00416 #define U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL 0xC0000
00417
00422 #define U_SHAPE_TASHKEEL_MASK 0xE0000
00423
00424
00425
00446 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END 0x4000000
00447
00452 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK 0x4000000
00453
00466 #define SHAPE_TAIL_NEW_UNICODE 0x8000000
00467
00472 #define SHAPE_TAIL_TYPE_MASK 0x8000000
00473
00474 #endif