|
ICU 73.2
73.2
|
00001 // © 2016 and later: Unicode, Inc. and others. 00002 // License & terms of use: http://www.unicode.org/copyright.html 00003 /* 00004 ****************************************************************************** 00005 * 00006 * Copyright (C) 2000-2012, International Business Machines 00007 * Corporation and others. All Rights Reserved. 00008 * 00009 ****************************************************************************** 00010 * file name: ushape.h 00011 * encoding: UTF-8 00012 * tab size: 8 (not used) 00013 * indentation:4 00014 * 00015 * created on: 2000jun29 00016 * created by: Markus W. Scherer 00017 */ 00018 00019 #ifndef __USHAPE_H__ 00020 #define __USHAPE_H__ 00021 00022 #include "unicode/utypes.h" 00023 00101 U_CAPI int32_t U_EXPORT2 00102 u_shapeArabic(const UChar *source, int32_t sourceLength, 00103 UChar *dest, int32_t destSize, 00104 uint32_t options, 00105 UErrorCode *pErrorCode); 00106 00112 #define U_SHAPE_LENGTH_GROW_SHRINK 0 00113 00120 #define U_SHAPE_LAMALEF_RESIZE 0 00121 00127 #define U_SHAPE_LENGTH_FIXED_SPACES_NEAR 1 00128 00136 #define U_SHAPE_LAMALEF_NEAR 1 00137 00143 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_END 2 00144 00152 #define U_SHAPE_LAMALEF_END 2 00153 00159 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING 3 00160 00168 #define U_SHAPE_LAMALEF_BEGIN 3 00169 00170 00184 #define U_SHAPE_LAMALEF_AUTO 0x10000 00185 00187 #define U_SHAPE_LENGTH_MASK 0x10003 /* Changed old value 3 */ 00188 00189 00194 #define U_SHAPE_LAMALEF_MASK 0x10003 /* updated */ 00195 00197 #define U_SHAPE_TEXT_DIRECTION_LOGICAL 0 00198 00206 #define U_SHAPE_TEXT_DIRECTION_VISUAL_RTL 0 00207 00214 #define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR 4 00215 00217 #define U_SHAPE_TEXT_DIRECTION_MASK 4 00218 00219 00221 #define U_SHAPE_LETTERS_NOOP 0 00222 00224 #define U_SHAPE_LETTERS_SHAPE 8 00225 00227 #define U_SHAPE_LETTERS_UNSHAPE 0x10 00228 00236 #define U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED 0x18 00237 00238 00240 #define U_SHAPE_LETTERS_MASK 0x18 00241 00242 00244 #define U_SHAPE_DIGITS_NOOP 0 00245 00251 #define U_SHAPE_DIGITS_EN2AN 0x20 00252 00258 #define U_SHAPE_DIGITS_AN2EN 0x40 00259 00271 #define U_SHAPE_DIGITS_ALEN2AN_INIT_LR 0x60 00272 00283 #define U_SHAPE_DIGITS_ALEN2AN_INIT_AL 0x80 00284 00286 #define U_SHAPE_DIGITS_RESERVED 0xa0 00287 00289 #define U_SHAPE_DIGITS_MASK 0xe0 00290 00291 00293 #define U_SHAPE_DIGIT_TYPE_AN 0 00294 00296 #define U_SHAPE_DIGIT_TYPE_AN_EXTENDED 0x100 00297 00299 #define U_SHAPE_DIGIT_TYPE_RESERVED 0x200 00300 00302 #define U_SHAPE_DIGIT_TYPE_MASK 0x300 /* I need to change this from 0x3f00 to 0x300 */ 00303 00311 #define U_SHAPE_AGGREGATE_TASHKEEL 0x4000 00312 00313 #define U_SHAPE_AGGREGATE_TASHKEEL_NOOP 0 00314 00315 #define U_SHAPE_AGGREGATE_TASHKEEL_MASK 0x4000 00316 00323 #define U_SHAPE_PRESERVE_PRESENTATION 0x8000 00324 00329 #define U_SHAPE_PRESERVE_PRESENTATION_NOOP 0 00330 00331 #define U_SHAPE_PRESERVE_PRESENTATION_MASK 0x8000 00332 00333 /* Seen Tail option */ 00346 #define U_SHAPE_SEEN_TWOCELL_NEAR 0x200000 00347 00352 #define U_SHAPE_SEEN_MASK 0x700000 00353 00354 /* YehHamza option */ 00367 #define U_SHAPE_YEHHAMZA_TWOCELL_NEAR 0x1000000 00368 00369 00374 #define U_SHAPE_YEHHAMZA_MASK 0x3800000 00375 00376 /* New Tashkeel options */ 00386 #define U_SHAPE_TASHKEEL_BEGIN 0x40000 00387 00397 #define U_SHAPE_TASHKEEL_END 0x60000 00398 00407 #define U_SHAPE_TASHKEEL_RESIZE 0x80000 00408 00418 #define U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL 0xC0000 00419 00424 #define U_SHAPE_TASHKEEL_MASK 0xE0000 00425 00426 00427 /* Space location Control options */ 00448 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END 0x4000000 00449 00454 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK 0x4000000 00455 00468 #define U_SHAPE_TAIL_NEW_UNICODE 0x8000000 00469 00474 #define U_SHAPE_TAIL_TYPE_MASK 0x8000000 00475 00476 #endif
1.7.6.1