ICU 4.8.1.1
4.8.1.1
|
00001 /* 00002 ****************************************************************************** 00003 * 00004 * Copyright (C) 2000-2011, International Business Machines 00005 * Corporation and others. All Rights Reserved. 00006 * 00007 ****************************************************************************** 00008 * file name: ushape.h 00009 * encoding: US-ASCII 00010 * tab size: 8 (not used) 00011 * indentation:4 00012 * 00013 * created on: 2000jun29 00014 * created by: Markus W. Scherer 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 /* Changed old value 3 */ 00186 00187 00192 #define U_SHAPE_LAMALEF_MASK 0x10003 /* updated */ 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 /* I need to change this from 0x3f00 to 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 /* Seen Tail option */ 00344 #define U_SHAPE_SEEN_TWOCELL_NEAR 0x200000 00345 00350 #define U_SHAPE_SEEN_MASK 0x700000 00351 00352 /* YehHamza option */ 00365 #define U_SHAPE_YEHHAMZA_TWOCELL_NEAR 0x1000000 00366 00367 00372 #define U_SHAPE_YEHHAMZA_MASK 0x3800000 00373 00374 /* New Tashkeel options */ 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 /* Space location Control options */ 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 U_SHAPE_TAIL_NEW_UNICODE 0x8000000 00467 00472 #define U_SHAPE_TAIL_TYPE_MASK 0x8000000 00473 00474 #endif