00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __USHAPE_H__
00020 #define __USHAPE_H__
00021
00022 #include "unicode/utypes.h"
00023
00101 U_STABLE int32_t U_EXPORT2
00102 u_shapeArabic(const UChar *source, int32_t sourceLength,
00103 UChar *dest, int32_t destSize,
00104 uint32_t options,
00105 UErrorCode *pErrorCode);
00106
00112 #define U_SHAPE_LENGTH_GROW_SHRINK 0
00113
00120 #define U_SHAPE_LAMALEF_RESIZE 0
00121
00127 #define U_SHAPE_LENGTH_FIXED_SPACES_NEAR 1
00128
00136 #define U_SHAPE_LAMALEF_NEAR 1
00137
00143 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_END 2
00144
00152 #define U_SHAPE_LAMALEF_END 2
00153
00159 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING 3
00160
00168 #define U_SHAPE_LAMALEF_BEGIN 3
00169
00170
00184 #define U_SHAPE_LAMALEF_AUTO 0x10000
00185
00187 #define U_SHAPE_LENGTH_MASK 0x10003
00188
00189
00194 #define U_SHAPE_LAMALEF_MASK 0x10003
00195
00197 #define U_SHAPE_TEXT_DIRECTION_LOGICAL 0
00198
00206 #define U_SHAPE_TEXT_DIRECTION_VISUAL_RTL 0
00207
00214 #define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR 4
00215
00217 #define U_SHAPE_TEXT_DIRECTION_MASK 4
00218
00219
00221 #define U_SHAPE_LETTERS_NOOP 0
00222
00224 #define U_SHAPE_LETTERS_SHAPE 8
00225
00227 #define U_SHAPE_LETTERS_UNSHAPE 0x10
00228
00236 #define U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED 0x18
00237
00238
00240 #define U_SHAPE_LETTERS_MASK 0x18
00241
00242
00244 #define U_SHAPE_DIGITS_NOOP 0
00245
00251 #define U_SHAPE_DIGITS_EN2AN 0x20
00252
00258 #define U_SHAPE_DIGITS_AN2EN 0x40
00259
00271 #define U_SHAPE_DIGITS_ALEN2AN_INIT_LR 0x60
00272
00283 #define U_SHAPE_DIGITS_ALEN2AN_INIT_AL 0x80
00284
00286 #define U_SHAPE_DIGITS_RESERVED 0xa0
00287
00289 #define U_SHAPE_DIGITS_MASK 0xe0
00290
00291
00293 #define U_SHAPE_DIGIT_TYPE_AN 0
00294
00296 #define U_SHAPE_DIGIT_TYPE_AN_EXTENDED 0x100
00297
00299 #define U_SHAPE_DIGIT_TYPE_RESERVED 0x200
00300
00302 #define U_SHAPE_DIGIT_TYPE_MASK 0x300
00303
00311 #define U_SHAPE_AGGREGATE_TASHKEEL 0x4000
00312
00313 #define U_SHAPE_AGGREGATE_TASHKEEL_NOOP 0
00314
00315 #define U_SHAPE_AGGREGATE_TASHKEEL_MASK 0x4000
00316
00323 #define U_SHAPE_PRESERVE_PRESENTATION 0x8000
00324
00329 #define U_SHAPE_PRESERVE_PRESENTATION_NOOP 0
00330
00331 #define U_SHAPE_PRESERVE_PRESENTATION_MASK 0x8000
00332
00333
00346 #define U_SHAPE_SEEN_TWOCELL_NEAR 0x200000
00347
00352 #define U_SHAPE_SEEN_MASK 0x700000
00353
00354
00367 #define U_SHAPE_YEHHAMZA_TWOCELL_NEAR 0x1000000
00368
00369
00374 #define U_SHAPE_YEHHAMZA_MASK 0x3800000
00375
00376
00386 #define U_SHAPE_TASHKEEL_BEGIN 0x40000
00387
00397 #define U_SHAPE_TASHKEEL_END 0x60000
00398
00407 #define U_SHAPE_TASHKEEL_RESIZE 0x80000
00408
00418 #define U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL 0xC0000
00419
00424 #define U_SHAPE_TASHKEEL_MASK 0xE0000
00425
00426
00427
00448 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END 0x4000000
00449
00454 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK 0x4000000
00455
00468 #define U_SHAPE_TAIL_NEW_UNICODE 0x8000000
00469
00474 #define U_SHAPE_TAIL_TYPE_MASK 0x8000000
00475
00476 #endif