オープンソースプロジェクト
rime/librime avatar
rime/librime

librime: Rimeの入力エンジンと各OSフロントエンドを分けて組み込む

Rime 入力メソッド エンジン、コア ライブラリ。 RIME: Rime 入力メソッド エンジン === キーストロークを操作します。

スター 4,609フォーク 729C++BSD-3-Clause

ひと目でわかる

これは何?
librimeはC++17で構築するクロスプラットフォームの入力メソッドエンジンで、Schema DSL、スペリング代数、字形系・音系入力を提供し、候補表示はフロントエンドが担います。
誰に向いている?
Rimeのエンジンをデスクトップ、モバイル、端末のフロントエンドへ組み込みたい開発者向けです。単体インストールで入力パネルまで得たい人には向きません。
商用利用できる?
できます。BSD-3-Clause は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 2 日前です。
何の言語で書かれている?
主に C++ です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

librime: Rime エコシステムの中核ライブラリ

リポジトリの説明は librime を Rime インプットメソッドエンジンのコアライブラリと呼んでいる。README は「Rime with your keystrokes」という標語で始まり、プロジェクトホームとして rime.im を挙げる。主要言語は C++ で、README はエンジンがクロスプラットフォームであると述べている。完全な入力メソッドアプリケーションを同梱しているわけではなく、UI はフロントエンドが担う。この分離が重要だ。librime はエンジンロジックを持ち、フロントエンドがキーイベントと候補表示を処理する。リポジトリメタデータは 4,529 スターと 716 フォークを示すが、その数字だけから本番環境での利用範囲は分からない。

librime: 字形系と音声系の入力メソッド機能

README はエンジンレベルの機能を列挙している。モジュール式で拡張可能、オープンソース技術に基づく、字形系と音声系の両方を含む多種多様な中国語入力メソッドの機能をカバーすると述べている。また、繁体中国語のネイティブサポートと、OpenCC による簡体中国語およびその他の地域標準への変換を主張している。README は具体的な入力メソッド名を挙げず、他エンジンとの性能比較もしていない。どの入力メソッドが実際にサポートされているか、OpenCC 変換の設定方法を知るには、schema ファイルや README 以外のドキュメントを調べる必要がある。

librime: Schema DSL とスペリング代数

特に言及される設計が二つある。一つ目は Rime 入力 schema で、YAML 構文による DSL であり、新しい入力メソッド設計を素早く試すためのもの。二つ目はスペリング代数で、変種スペルを作る仕組みであり、中国語の方言に特に有用だと README は述べている。加えて、一般的な Qwerty キーボードでのコードタイピング(chord-typing)サポートも挙げている。ただし、schema やスペリング代数のルールの例は README に含まれていない。新人は wiki や schema リポジトリでこれらの構成要素がどう組み合わさるかを確認する必要がある。

librime: ビルド依存関係と Linux インストール

README はビルド依存関係として、C++17 対応コンパイラ、cmake 3.12 以上、libboost 1.74 以上、libleveldb、libmarisa、libopencc 1.0.2 以上、libyaml-cpp 0.5 以上を挙げている。glog と gtest は任意。実行時依存関係もほぼ同様で、glog はやはり任意。Linux では make を実行し、続けて sudo make install を実行すると README に書かれている。macOS と Windows については、それぞれ README-mac.md と README-windows.md へのリンクがある。メインの README にはこれらのプラットフォームの具体的なビルド手順が載っていないため、そこでビルドを試みる人にとっては確認ポイントになる。

librime: 公式およびコミュニティのフロントエンド

README は公式フロントエンドとして、Linux 向け ibus-rime、macOS 向け Squirrel、Windows 向け Weasel の三つを挙げる。コミュニティ製としては十数以上を列挙しており、Android 向け Trime、iOS 向け Hamster、Linux 向け fcitx5-rime、emacs-rime、rime.nvim、加えて tmux-rime や zsh-rime のようなターミナル向けのものも含まれる。このリストは成熟度やユーザー数を示すものではなく、プロジェクトが把握しているフロントエンドを記録したものにすぎない。フロントエンドを選ぶ際は、それぞれのプロジェクトの README でインストール方法とサポート状況を確認すべきだ。

librime: プラグイン、関連ツール、ライセンス

リポジトリは、Lua スクリプティング用の librime-lua、言語モデルの librime-octagram、次の単語予測の librime-predict、CapnProto による IPC の librime-proto など、いくつかのプラグインを挙げている。librime-charcode と librime-legacy は非推奨と明記されている。関連作品には、設定インストーラの plum と、プリセット語彙の rime-essay がある。ライセンスは 3-Clause BSD で、著作権は RIME Developers が保持する。このライセンスは、著作権表示を保持し、バイナリ配布に通知を複製し、許可なく貢献者の名前を派生製品の推奨に使わないことを条件に、ソースおよびバイナリ形式での再配布を許可している。また、一切の保証を否認する。セキュリティサポートやメンテナンスの約束については何も述べていない。

librimeはエンジンなので、ビルド成功と入力体験の成功を分けて検査します。Linuxでは列挙されたC++17コンパイラ、CMake、Boost、LevelDB、Marisa、OpenCC、yaml-cppを確認して`make`を実行し、`sudo make install`が配置するライブラリとヘッダーを記録します。次にYAMLのschemaを読み込ませ、キーイベントが候補生成へ届くかを確かめます。ibus-rime、macOSのSquirrel、WindowsのWeaselでは、同じschemaでもフロントエンドの設定場所と候補表示が異なります。Lua、octagram、predict、protoのプラグインを必要なものだけ組み合わせ、charcodeとlegacyはREADMEの非推奨表記を理由なく新規採用しません。READMEにschemaの完全な例や性能比較はないため、入力メソッドの正確な挙動は関連schemaリポジトリと選んだフロントエンドのテストで確定します。入力キー、候補の確定、繁体字と簡体字の変換を同じ短文で試し、OpenCCの変換がフロントエンド側で行われるのかschema側で指定されるのかを切り分けます。インストール先を変更する場合は、フロントエンドが参照するライブラリの場所とロード時のエラーを保存します。

編集部の結論

Rimeのエンジンをデスクトップ、モバイル、端末のフロントエンドへ組み込みたい開発者向けです。単体インストールで入力パネルまで得たい人には向きません。最初にCMake 3.12以上、Boost 1.74以上、LevelDB、Marisa、OpenCC、yaml-cppの版を確認し、Linuxの`make`と`sudo make install`を実行したうえで、schemaと選んだibus-rime、Squirrel、Weaselなどのキー入力・候補表示を別々に検証してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート