|
gedit上でIBusとibus-anthyを使って日本語を入力している画面 | |
| 作者 | ホアン・ペン |
|---|---|
| 初版 | 2008年8月 |
| 最新版 | |
| リポジトリ | |
| プログラミング 言語 | C言語、Python |
| 対応OS | Unix系 |
| 種別 | インプットメソッド |
| ライセンス | LGPLv2+ |
| 公式サイト |
github |
IBus(アイバス、Intelligent Input Bus)はUnix系オペレーティングシステム (OS) におけるインプットメソッドフレームワークである。IBusのBusはバスのような構造を持つところから来ている。オープンソースソフトウェアである。
IBusの主要な目標は以下のようなものである。
Northeast Asia OSS Forumのワーキンググループ3による草案「Specification of IM engine Service Provider Interface」では、D-Busのようなバス実装を伴うバス中心のインプットメソッドフレームワークアーキテクチャを推奨している。この仕様によれば、SCIM-1.4はC++で開発されており、通常はABIの移行問題を引き起こすため、今後の開発には適していないと見なされている。
その後、ジェームズ・スーが主導するIM-BUSやジェン・フーが主導するSCIM-2のような後継プロジェクトが開始されたが、両プロジェクトともに中断された。そのため、レッドハットのホアン・ペンは、CJK OSSフォーラムによって推奨された機能を実装するのではなく、Python、D-BusおよびGLibを用いてIM-BUSのアイデアを実証するためにIBusプロジェクトを設立した。それにもかかわらず、IBusはすでにコミュニティによって受け入れられており、FedoraやUbuntuなど多くのLinuxディストリビューションにおいて、IBusはパッケージリポジトリに含まれている。IBusはFedora 11で新たにデフォルトのインプットメソッドフレームワークとなり、Ubuntu 9.10ではSCIMに代わって採用された。
IBusはC言語とPythonで開発されている。これにより、SCIMバージョン1.4.14未満で発生するC++のABI移行問題を回避している。
IBusは、その機能の大部分をサービスを通じて提供している。サービスには以下の3種類がある。
IBusはD-Busを使用して、ibus-daemon、各サービス、ターミナルエミュレータやエディタ、ウェブブラウザなどのIMクライアント間で通信を行っている。ibus-daemonは、サービスからの登録を受け取り、対応するサービスやIMクライアントにD-Busメッセージを送信することで、すべてのクライアントとサービスを管理している。
ibus-m17nは、多言語化データベース(m17n)に含まれる入力メソッドおよび対応するアイコンを使用するIMEである。単純なテーブルをサポートするibus-tableとは異なり、m17n入力メソッドは状態もサポートし、そのラベルはIBusパネル(言語バー)に表示される。m17n入力メソッドは周囲のテキストもサポートするため、タイ語やプレーンな注音符号のようなこの機能を必要とする言語および入力メソッドもibus-m17nでサポートされる。また、声調付きの拼音もサポートされる。
ibus-tableはユー・ウェイ・ユーによって開発されたIMEであり、語の選択に複雑なロジックを必要としない入力メソッドのテーブルを読み込む。この方式では倉頡輸入法や五筆字型入力方法など、構造ベースの中国語入力メソッドが多数サポートされている。
公式にリリースされているIMEテーブル: