00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 2000, 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 00022 /* ### TBD: implement letter shaping and remove comment about it missing (jitterbug 471) */ 00023 00097 U_CAPI int32_t U_EXPORT2 00098 u_shapeArabic(const UChar *source, int32_t sourceLength, 00099 UChar *dest, int32_t destSize, 00100 uint32_t options, 00101 UErrorCode *pErrorCode); 00102 00106 #define U_SHAPE_LENGTH_GROW_SHRINK 0 00107 00112 #define U_SHAPE_LENGTH_FIXED_SPACES_NEAR 1 00113 00118 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_END 2 00119 00121 #define U_SHAPE_LENGTH_RESERVED 3 00122 00124 #define U_SHAPE_LENGTH_MASK 3 00125 00126 00128 #define U_SHAPE_TEXT_DIRECTION_LOGICAL 0 00129 00134 #define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR 4 00135 00137 #define U_SHAPE_TEXT_DIRECTION_MASK 4 00138 00139 00141 #define U_SHAPE_LETTERS_NOOP 0 00142 00144 #define U_SHAPE_LETTERS_SHAPE 8 00145 00147 #define U_SHAPE_LETTERS_UNSHAPE 0x10 00148 00150 #define U_SHAPE_LETTERS_RESERVED 0x18 00151 00153 #define U_SHAPE_LETTERS_MASK 0x18 00154 00155 00157 #define U_SHAPE_DIGITS_NOOP 0 00158 00163 #define U_SHAPE_DIGITS_EN2AN 0x20 00164 00169 #define U_SHAPE_DIGITS_AN2EN 0x40 00170 00181 #define U_SHAPE_DIGITS_ALEN2AN_INIT_LR 0x60 00182 00192 #define U_SHAPE_DIGITS_ALEN2AN_INIT_AL 0x80 00193 00195 #define U_SHAPE_DIGITS_RESERVED 0xa0 00196 00198 #define U_SHAPE_DIGITS_MASK 0xe0 00199 00200 00202 #define U_SHAPE_DIGIT_TYPE_AN 0 00203 00205 #define U_SHAPE_DIGIT_TYPE_AN_EXTENDED 0x100 00206 00208 #define U_SHAPE_DIGIT_TYPE_RESERVED 0x200 00209 00211 #define U_SHAPE_DIGIT_TYPE_MASK 0x3f00 00212 00213 #endif