sl@0: /* sl@0: * %W% %W% sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __DEFAULTCHARMAPPER_H sl@0: #define __DEFAULTCHARMAPPER_H sl@0: sl@0: /** sl@0: * \file sl@0: * \internal sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "LEFontInstance.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: /** sl@0: * This class is an instance of LECharMapper which sl@0: * implements control character filtering and bidi sl@0: * mirroring. sl@0: * sl@0: * @see LECharMapper sl@0: */ sl@0: class DefaultCharMapper : public UMemory, public LECharMapper sl@0: { sl@0: private: sl@0: le_bool fFilterControls; sl@0: le_bool fMirror; sl@0: sl@0: static const LEUnicode32 controlChars[]; sl@0: sl@0: static const le_int32 controlCharsCount; sl@0: sl@0: static const LEUnicode32 mirroredChars[]; sl@0: sl@0: static const le_int32 mirroredCharsCount; sl@0: sl@0: public: sl@0: DefaultCharMapper(le_bool filterControls, le_bool mirror) sl@0: : fFilterControls(filterControls), fMirror(mirror) sl@0: { sl@0: // nothing sl@0: }; sl@0: sl@0: ~DefaultCharMapper() sl@0: { sl@0: // nada sl@0: }; sl@0: sl@0: LEUnicode32 mapChar(LEUnicode32 ch) const; sl@0: }; sl@0: sl@0: U_NAMESPACE_END sl@0: #endif