2
**********************************************************************
3
* Copyright (C) 2001, International Business Machines
4
* Corporation and others. All Rights Reserved.
5
**********************************************************************
6
* Date Name Description
7
* 07/03/01 aliu Creation.
8
**********************************************************************
13
#include "unicode/utypes.h"
14
#include "unicode/translit.h"
15
#include "unicode/normlzr.h"
20
* A transliterator that performs normalization.
22
* @version $RCSfile: nortrans.h,v $ $Revision: 1.2 $ $Date: 2001/12/03 20:50:11 $
24
class U_I18N_API NormalizationTransliterator : public Transliterator {
27
* The normalization mode of this transliterator.
29
UNormalizationMode fMode;
32
* Normalization options for this transliterator.
37
* Alias to skippables set. NOT OWNED.
39
UnicodeSet* skippable;
46
virtual ~NormalizationTransliterator();
51
NormalizationTransliterator(const NormalizationTransliterator&);
54
* Assignment operator.
56
NormalizationTransliterator& operator=(const NormalizationTransliterator&);
61
Transliterator* clone(void) const;
66
* Implements {@link Transliterator#handleTransliterate}.
68
void handleTransliterate(Replaceable& text, UTransPosition& offset,
69
UBool isIncremental) const;
73
* System registration hook. Public to Transliterator only.
75
static void registerIDs();
78
* Static memory cleanup function.
80
static void cleanup();
84
// Transliterator::Factory methods
85
static Transliterator* _create(const UnicodeString& ID,
89
* Constructs a transliterator. This method is private.
90
* Public users must use the factory method createInstance().
92
NormalizationTransliterator(const UnicodeString& id,
93
UNormalizationMode mode, int32_t opt);
95
static void initStatics();