- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# ushape.h

Go to the documentation of this file.

    00001 /*
    00002 ******************************************************************************
    00003 *
    00004 *   Copyright (C) 2000-2010, 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 SHAPE_TAIL_NEW_UNICODE        0x8000000
    00467
    00472 #define SHAPE_TAIL_TYPE_MASK          0x8000000
    00473
    00474 #endif

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines