ushape.h

Go to the documentation of this file.
00001 /*
00002 ******************************************************************************
00003 *
00004 *   Copyright (C) 2000-2009, 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 
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 /* Changed old value 3 */
00181 
00182 
00184 #define U_SHAPE_LAMALEF_MASK                     0x10003 /* updated */
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 /* I need to change this from 0x3f00 to 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 /* Seen Tail option */ 
00334 #define U_SHAPE_SEEN_TWOCELL_NEAR     0x200000
00335 
00337 #define U_SHAPE_SEEN_MASK             0x700000
00338 
00339 /* YehHamza option */ 
00351 #define U_SHAPE_YEHHAMZA_TWOCELL_NEAR      0x1000000
00352 
00353 
00355 #define U_SHAPE_YEHHAMZA_MASK              0x3800000
00356 
00357 /* New Tashkeel options */ 
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 /* Space location Control options */ 
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

Generated on 20 Mar 2013 for ICU 4.2.1 by  doxygen 1.4.7