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 17U_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 */ 26class DefaultCharMapper : public UMemory, public LECharMapper 27{ 28private: 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 41public: 42 DefaultCharMapper(le_bool filterControls, le_bool mirror) 43 : fFilterControls(filterControls), fMirror(mirror) 44 { 45 // nothing 46 }; 47 48 ~DefaultCharMapper() 49 { 50 // nada 51 }; 52 53 LEUnicode32 mapChar(LEUnicode32 ch) const; 54}; 55 56U_NAMESPACE_END 57#endif 58