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