Uim is a lightweight and full featured multilingual input method library and is simple, secure and flexible.