この記事の正確性に疑問が呈されています。問題箇所に信頼できる情報源を示して、記事の改善にご協力ください。議論はノートを参照してください。(2009年3月)
IBus
gedit上でIBusとibus-anthyを使って日本語を入力している画面
開発元 Shawn. P. Huangなど
リポジトリ ウィキデータを編集
対応OS Unix系
種別 インプットメソッド
ライセンス GNU Lesser General Public License
公式サイト https://github.com/ibus/ibus
テンプレートを表示

IBus(アイバス、Intelligent Input Bus)はUnix系オペレーティングシステム (OS) におけるインプットメソッドフレームワークである。IBusのBusはバスのような構造を持つところから来ている。

目標

IBusの主要な目標は以下のようなものである。

動機

Northeast Asia OSS Forum[1]の第3ワークグループによるSpecification of IM engine Service Provider Interface[2]のドラフトは、D-Busのようなバス (コンピュータ)の実装を伴うバス中心のインプットメソッド構造を推奨した。その仕様書によれば、SCIM-1.4はC++で開発されている点で開発にあまりに適さないと考えられる。それはアプリケーションバイナリインタフェース (ABI) の変遷による問題でよく引き起こされる[3]

そのため、IM-BUSやSCIM-2のような後継のプロジェクトがスタートした。しかしどちらのプロジェクトも休止してしまった。そのためレッドハットのHuang PengはIM-Busの考え方をCJK OSSフォーラムが推奨する機能の実装の代わりに、PythonやD-BusそしてgLibを用いて提供するためにIBusプロジェクトを創設した。それにも関わらず、IBusはすでにコミュニティの承認を得ており、FedoraUbuntuのようなLinuxディストリビューションユーザーが追加しなくてもIBusが標準のレポジトリに含まれている。IBusはFedora 11から新しい標準インプットメソッド[4]になり、Ubuntuでは9.10でSCIMから置き換えられた。

構造

IBusはC言語Pythonで開発されている。これはSCIM 1.4.14以降でのC++のABI変更に伴う問題を防ぐためである。

IBusの大部分の機能はサービスを通して提供される。"サービス"の例は以下の通りである。

IBusはibus-daemon、service、テキストエディタ、ウェブブラウザ、端末エミュレータのようなインプットメソッドクライアントと連携(通信)するためにD-Busを採用している。ibus-daemonマネージャーはサービスからの登録を受け取り、D-Busのメッセージを対応するサービスやインプットメソッドクライアントに送信することで、すべてのクライアント、サービス、クライアントを処理している。

IBusはXIMのプロトコル、GTKQtのインプットメソッドモジュールを実装している。

特徴

対応するインプットメソッドプラグインと変換エンジン

ibus-m17n

ibus-m17nはm17nデータベースよりインプットメソッドとそれに対応するアイコンを使う変換エンジン(IME)。ibus-tableが純粋なテーブル(表、辞書)をサポートするのに対し、m17nのインプットメソッドは入力モードに対応しており、そのラベルはIBus panel(言語バー)に表示される。m17n入力方法は周辺のテキストにも対応しているので、タイ語のような言語や純粋なピンイン入力が必要なインプットメソッドなどがibus-m17nを利用してサポートされている。

ibus-table

ibus-tableは用意されたテーブルを読み込むだけの単語を選択するための複雑なロジックを必要としないインプットメソッドで、Yu Wei Yuによって開発された[7] 倉頡輸入法(Caangjie)や五筆字型輸入法(Wubi)のような中国語向けの多くのインプットメソッドはこの方法でサポートされている。

公式にリリースされているインプットメソッドテーブル:[8]

関連項目

脚注

  1. ^ Northeast Asia Open Source Software Forum
  2. ^ Specification of IM engine Service Provider Interface
  3. ^ SCIM ABI transition in sid
  4. ^ Fedora 11 Feature List
  5. ^ Show home:ftake / ibus-canna - openSUSE Build Service”. openSUSE Build Service. openSUSE project. 2024年1月1日閲覧。
  6. ^ Ueno, Daiki. “GitHub - ueno/ibus-skk: Japanese SKK engine for IBus”. GitHub. GitHub, Inc.. 2024年1月1日閲覧。
  7. ^ ibus-table README (in Chinese and English)
  8. ^ IBus Google Downloads

外部リンク