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
00117 #define U_SHAPE_LAMALEF_RESIZE 0
00118
00124 #define U_SHAPE_LENGTH_FIXED_SPACES_NEAR 1
00125
00132 #define U_SHAPE_LAMALEF_NEAR 1
00133
00139 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_END 2
00140
00147 #define U_SHAPE_LAMALEF_END 2
00148
00154 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING 3
00155
00162 #define U_SHAPE_LAMALEF_BEGIN 3
00163
00164
00177 #define U_SHAPE_LAMALEF_AUTO 0x10000
00178
00180 #define U_SHAPE_LENGTH_MASK 0x10003
00181
00182
00184 #define U_SHAPE_LAMALEF_MASK 0x10003
00185
00187 #define U_SHAPE_TEXT_DIRECTION_LOGICAL 0
00188
00195 #define U_SHAPE_TEXT_DIRECTION_VISUAL_RTL 0
00196
00203 #define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR 4
00204
00206 #define U_SHAPE_TEXT_DIRECTION_MASK 4
00207
00208
00210 #define U_SHAPE_LETTERS_NOOP 0
00211
00213 #define U_SHAPE_LETTERS_SHAPE 8
00214
00216 #define U_SHAPE_LETTERS_UNSHAPE 0x10
00217
00225 #define U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED 0x18
00226
00227
00229 #define U_SHAPE_LETTERS_MASK 0x18
00230
00231
00233 #define U_SHAPE_DIGITS_NOOP 0
00234
00240 #define U_SHAPE_DIGITS_EN2AN 0x20
00241
00247 #define U_SHAPE_DIGITS_AN2EN 0x40
00248
00260 #define U_SHAPE_DIGITS_ALEN2AN_INIT_LR 0x60
00261
00272 #define U_SHAPE_DIGITS_ALEN2AN_INIT_AL 0x80
00273
00275 #define U_SHAPE_DIGITS_RESERVED 0xa0
00276
00278 #define U_SHAPE_DIGITS_MASK 0xe0
00279
00280
00282 #define U_SHAPE_DIGIT_TYPE_AN 0
00283
00285 #define U_SHAPE_DIGIT_TYPE_AN_EXTENDED 0x100
00286
00288 #define U_SHAPE_DIGIT_TYPE_RESERVED 0x200
00289
00291 #define U_SHAPE_DIGIT_TYPE_MASK 0x300
00292
00300 #define U_SHAPE_AGGREGATE_TASHKEEL 0x4000
00301
00302 #define U_SHAPE_AGGREGATE_TASHKEEL_NOOP 0
00303
00304 #define U_SHAPE_AGGREGATE_TASHKEEL_MASK 0x4000
00305
00312 #define U_SHAPE_PRESERVE_PRESENTATION 0x8000
00313
00318 #define U_SHAPE_PRESERVE_PRESENTATION_NOOP 0
00319
00320 #define U_SHAPE_PRESERVE_PRESENTATION_MASK 0x8000
00321
00322
00334 #define U_SHAPE_SEEN_TWOCELL_NEAR 0x200000
00335
00337 #define U_SHAPE_SEEN_MASK 0x700000
00338
00339
00351 #define U_SHAPE_YEHHAMZA_TWOCELL_NEAR 0x1000000
00352
00353
00355 #define U_SHAPE_YEHHAMZA_MASK 0x3800000
00356
00357
00366 #define U_SHAPE_TASHKEEL_BEGIN 0x40000
00367
00376 #define U_SHAPE_TASHKEEL_END 0x60000
00377
00385 #define U_SHAPE_TASHKEEL_RESIZE 0x80000
00386
00395 #define U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL 0xC0000
00396
00398 #define U_SHAPE_TASHKEEL_MASK 0xE0000
00399
00400
00401
00421 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END 0x4000000
00422
00424 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK 0x4000000
00425
00437 #define SHAPE_TAIL_NEW_UNICODE 0x8000000
00438
00440 #define SHAPE_TAIL_TYPE_MASK 0x8000000
00441
00442 #endif