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

- Search for |

- File List
- Globals

# 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