ICU 4.8.1.1  4.8.1.1
ushape.h
Go to the documentation of this file.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines