Rime Input Method Engine, the core library
C++ C CMake Batchfile Python Makefile Shell
Failed to load latest commit information.
cmake Link to iconv library. Feb 11, 2016
data test(config): better describe behavior in resolving circular dependen… Sep 21, 2017
doc doc/Doxygen: use README as main page. Jul 18, 2014
sample shared_ptr => an. Sep 17, 2015
src Merge branch 'universal-dictionary' from PR #156 Oct 21, 2017
test test(config): better describe behavior in resolving circular dependen… Sep 21, 2017
thirdparty Upgrade OpenCC. Oct 19, 2016
tools fix(levers): update deployment tasks for copy-free resource resolution Oct 19, 2017
.gitignore chore: update .gitignore Dec 25, 2016
.gitmodules Squashed 'thirdparty/src/opencc/' content from commit a64ea61 Dec 11, 2014
.lvimrc set syntastic compiler options to support c++11 in .lvimrc. Dec 9, 2013
.travis.yml Separate travis-ci scripts. Mar 27, 2016
.ycm_extra_conf.py YouCompleteMe configuration Jul 9, 2014
CMakeLists.txt chore(rime_test): link with Windows DLL (#152) Sep 18, 2017
ChangeLog Bump version to 1.2.9. Dec 15, 2014
LICENSE switch to the (3-Clause) BSD License. Dec 29, 2014
Makefile fix(Makefile): make install-debug; do return error code on mac Sep 28, 2017
Makefile.thirdparty Update Travis CI scripts. Oct 19, 2016
Makefile.xcode fix(Makefile): make install-debug; do return error code on mac Sep 28, 2017
README-mac.md Update README. Feb 11, 2016
README-windows.md Update README-windows.md. Apr 13, 2016
README.md chore(README.md): add build status images Sep 19, 2017
appveyor.install.bat fix(appveyor.install.bat): switch to a more stable download server fo… Sep 6, 2017
appveyor.yml chore(rime_test): link with Windows DLL (#152) Sep 18, 2017
build.bat fix(build.bat): fix build errors with VS2015 build tools Sep 18, 2017
env.bat.template Use environmental variable for VS_INSTALL_PATH. Mar 29, 2016
rime.pc.in refactor(cmake): cmake code style. Mar 30, 2017
shell.bat Call cmake --build when possible. Oct 19, 2016
travis-before-install.sh Separate travis-ci scripts. Mar 27, 2016
travis-script.sh chore(Makefile): make test; build `rime_test` in release configuration Jan 11, 2017


RIME: Rime Input Method Engine

Build Status Build status

rimes with your keystrokes.

Project home



The 3-Clause BSD License


  • A modular, extensible input method engine in cross-platform C++ code, built on top of open-source technologies
  • Covering features found in a large variety of Chinese input methods, either shape-based or phonetic-based
  • Built with native support for Traditional Chinese, conversion to Simplified Chinese and other regional standards via OpenCC
  • Rime input schema, a DSL in YAML syntax for fast trying out innovative ideas of input method design
  • Spelling Algebra, a mechanism to create variant spelling, especially useful for Chinese dialects
  • Support for chord-typing with a generic Qwerty keyboard


Follow the instructions to build librime on platforms other than Linux:

Build dependencies

  • compiler with C++11 support
  • cmake>=2.8
  • libboost>=1.46
  • libglog (optional)
  • libleveldb
  • libmarisa
  • libopencc>=1.0.2
  • libyaml-cpp>=0.5
  • libgtest (optional)

Runtime dependencies

  • libboost
  • libglog (optional)
  • libleveldb
  • libmarisa
  • libopencc
  • libyaml-cpp

Build and install librime on Linux

sudo make install




  • fcitx-rime: Fcitx frontend for Linux
  • iRime: frontend for iOS
  • PIME: frontend for Windows
  • Trime: frontend for Android
  • XIME: frontend for macOS


Related works

  • brise: Rime schema repository
  • Combo Pinyin: an innovative chord-typing practice to input Pinyin
  • essay: the vocabulary and language model for Rime
  • rimekit: configuration tools for Rime (under construction)
  • SCU: Squirrel Configuration Utilities


We are grateful to the makers of the following open source libraries: