Librime is an input method engine library that translates keystrokes into Chinese characters using phonetic and shape-based rules defined in YAML schemas. It processes keyboard input through a modular pipeline of configurable translation modules, supporting both phonetic mapping and structural shape-based decomposition methods like Cangjie or Wubi.
The engine distinguishes itself through its YAML-driven schema system, which allows users to define custom input method behaviors and key mappings in external configuration files without recompiling the engine. It supports runtime switching between multiple installed input schemas, enabling multilingual typing workflows that can include Pinyin, Zhuyin, or Cangjie. The engine also applies algebraic spelling transformations to handle dialects and alternative romanizations, and supports chorded key combinations for simultaneous multi-key input on standard keyboards.
Additional capabilities include converting between Traditional and Simplified Chinese scripts using the OpenCC library, and the ability to design custom input methods by composing phonetic and shape-based rules. The engine is extensible through its open-source C++ codebase, allowing developers to modify keystroke-processing logic or add new input challenges.