00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
#ifndef UTRANS_H
00012
#define UTRANS_H
00013
00014
#include "unicode/utypes.h"
00015
#include "unicode/urep.h"
00016
#include "unicode/parseerr.h"
00017
00018
00019
00020
00021
00039
00040
00041
00042
00050 typedef void*
UTransliterator;
00051
00060 typedef enum _UTransDirection {
00061
00068
UTRANS_FORWARD,
00069
00076
UTRANS_REVERSE
00077
00078 }
UTransDirection;
00079
00102 typedef struct _UTransPosition {
00103
00111 int32_t
contextStart;
00112
00120 int32_t
contextLimit;
00121
00128 int32_t
start;
00129
00136 int32_t
limit;
00137
00138 }
UTransPosition;
00139
00140
00141
00142
00143
00167 U_CAPI
UTransliterator* U_EXPORT2
00168
utrans_open(
const char*
id,
00169 UTransDirection dir,
00170
const UChar* rules,
00171 int32_t rulesLength,
00172
UParseError* parseError,
00173 UErrorCode* status);
00174
00190 U_CAPI
UTransliterator* U_EXPORT2
00191
utrans_openInverse(
const UTransliterator* trans,
00192 UErrorCode* status);
00193
00204 U_CAPI
UTransliterator* U_EXPORT2
00205
utrans_clone(
const UTransliterator* trans,
00206 UErrorCode* status);
00207
00213 U_CAPI
void U_EXPORT2
00214
utrans_close(UTransliterator* trans);
00215
00230 U_CAPI int32_t U_EXPORT2
00231
utrans_getID(
const UTransliterator* trans,
00232
char* buf,
00233 int32_t bufCapacity);
00234
00249 U_CAPI
void U_EXPORT2
00250
utrans_register(UTransliterator* adoptedTrans,
00251 UErrorCode* status);
00252
00261 U_CAPI
void U_EXPORT2
00262
utrans_unregister(
const char*
id);
00263
00282 U_CAPI
void U_EXPORT2
00283
utrans_setFilter(UTransliterator* trans,
00284
const UChar* filterPattern,
00285 int32_t filterPatternLen,
00286 UErrorCode* status);
00287
00292 U_CAPI int32_t U_EXPORT2
00293
utrans_countAvailableIDs(
void);
00294
00312 U_CAPI int32_t U_EXPORT2
00313
utrans_getAvailableID(int32_t index,
00314
char* buf,
00315 int32_t bufCapacity);
00316
00317
00318
00319
00320
00344 U_CAPI
void U_EXPORT2
00345
utrans_trans(
const UTransliterator* trans,
00346 UReplaceable* rep,
00347
UReplaceableCallbacks* repFunc,
00348 int32_t start,
00349 int32_t* limit,
00350 UErrorCode* status);
00351
00395 U_CAPI
void U_EXPORT2
00396
utrans_transIncremental(
const UTransliterator* trans,
00397 UReplaceable* rep,
00398
UReplaceableCallbacks* repFunc,
00399
UTransPosition* pos,
00400 UErrorCode* status);
00401
00433 U_CAPI
void U_EXPORT2
00434
utrans_transUChars(
const UTransliterator* trans,
00435 UChar* text,
00436 int32_t* textLength,
00437 int32_t textCapacity,
00438 int32_t start,
00439 int32_t* limit,
00440 UErrorCode* status);
00441
00468 U_CAPI
void U_EXPORT2
00469
utrans_transIncrementalUChars(
const UTransliterator* trans,
00470 UChar* text,
00471 int32_t* textLength,
00472 int32_t textCapacity,
00473
UTransPosition* pos,
00474 UErrorCode* status);
00475
00476
00477
00482
#ifdef U_USE_DEPRECATED_FORMAT_API
00483
00484
#if ((U_ICU_VERSION_MAJOR_NUM != 2) || (U_ICU_VERSION_MINOR_NUM !=1))
00485
# error "ICU version has changed. Please redefine the macros under U_USE_DEPRECATED_FORMAT_API pre-processor definition"
00486
#else
00487
U_CAPI
UTransliterator* U_EXPORT2
00488 utrans_openRules(
const char*
id,
00489
const UChar* rules,
00490 int32_t rulesLength,
00491 UTransDirection dir,
00492
UParseError* parseErr,
00493 UErrorCode* status){
00494
return utrans_open(
id,dir,rules,rulesLength,parseErr,status);
00495 }
00496
00497
# define utrans_open_2_1(id,dir,status) utrans_open(id,dir,NULL,0,NULL,status)
00498
00499
#endif
00500
#endif
00501
00502
00503
#endif