]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/DefaultCharMapper.h
ICU-6.2.22.tar.gz
[apple/icu.git] / icuSources / layout / DefaultCharMapper.h
1 /*
2 * %W% %W%
3 *
4 * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
5 *
6 */
7
8 #ifndef __DEFAULTCHARMAPPER_H
9 #define __DEFAULTCHARMAPPER_H
10
11 /**
12 * \file
13 * \internal
14 */
15
16 #include "LETypes.h"
17 #include "LEFontInstance.h"
18
19 U_NAMESPACE_BEGIN
20
21 /**
22 * This class is an instance of LECharMapper which
23 * implements control character filtering and bidi
24 * mirroring.
25 *
26 * @see LECharMapper
27 */
28 class DefaultCharMapper : public UMemory, public LECharMapper
29 {
30 private:
31 le_bool fFilterControls;
32 le_bool fMirror;
33
34 static const LEUnicode32 controlChars[];
35
36 static const le_int32 controlCharsCount;
37
38 static const LEUnicode32 mirroredChars[];
39
40 static const le_int32 mirroredCharsCount;
41
42 public:
43 DefaultCharMapper(le_bool filterControls, le_bool mirror)
44 : fFilterControls(filterControls), fMirror(mirror)
45 {
46 // nothing
47 };
48
49 ~DefaultCharMapper()
50 {
51 // nada
52 };
53
54 LEUnicode32 mapChar(LEUnicode32 ch) const;
55 };
56
57 U_NAMESPACE_END
58 #endif