トップQs
タイムライン
チャット
視点

IBus

インプットメソッドフレームワーク ウィキペディアから

IBus
Remove ads

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

概要 作者, 初版 ...

目標

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

動機

Northeast Asia OSS Forum[2]のワーキンググループ3による草案「Specification of IM engine Service Provider Interface」[3]では、D-Busのようなバス実装を伴うバス中心のインプットメソッドフレームワークアーキテクチャを推奨している。この仕様によれば、SCIM-1.4はC++で開発されており、通常はABIの移行問題を引き起こすため、今後の開発には適していないと見なされている[4]

その後、ジェームズ・スーが主導するIM-BUSやジェン・フーが主導するSCIM-2のような後継プロジェクトが開始されたが、両プロジェクトともに中断された。そのため、レッドハットのホアン・ペンは、CJK OSSフォーラムによって推奨された機能を実装するのではなく、PythonD-BusおよびGLibを用いてIM-BUSのアイデアを実証するためにIBusプロジェクトを設立した。それにもかかわらず、IBusはすでにコミュニティによって受け入れられており、FedoraUbuntuなど多くのLinuxディストリビューションにおいて、IBusはパッケージリポジトリに含まれている。IBusはFedora 11で新たにデフォルトのインプットメソッドフレームワークとなり[5]、Ubuntu 9.10ではSCIMに代わって採用された[6]

Remove ads

アーキテクチャ

IBusはC言語Pythonで開発されている。これにより、SCIMバージョン1.4.14未満で発生するC++ABI移行問題を回避している[7]

IBusは、その機能の大部分をサービスを通じて提供している。サービスには以下の3種類がある。

  • インプットメソッドエンジン(IME):実際の入力メソッド。
  • 設定:IBusおよびIMEなどの他のサービスの設定を管理する。
  • パネル:言語バーや候補選択テーブルなどのユーザインタフェース。

IBusはD-Busを使用して、ibus-daemon、各サービス、ターミナルエミュレータやエディタ、ウェブブラウザなどのIMクライアント間で通信を行っている。ibus-daemonは、サービスからの登録を受け取り、対応するサービスやIMクライアントにD-Busメッセージを送信することで、すべてのクライアントとサービスを管理している。

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

特徴

  • 要求に応じた変換エンジンのロード、アンロード
  • タスクトレイのサポート
  • X keyboard extension英語版との相互運用性
  • 設定変更の即時適用[8]
  • CおよびPythonバインディングの提供

利用可能な入力メソッドプラグインおよびエンジン

要約
視点

日本語

  • ibus-skk:SKKエンジン[9]
  • ibus-anthy:Anthyのプラグイン
  • ibus-mozc:Googleによって開発されたmozcのプラグイン[10]

他言語

  • ibus-avro:Avro Keyboardに基づいたベンガル語の表音キーボードレイアウト[11][12][13]
  • ibus-cangjie:倉頡入力法のエンジン[14]
  • ibus-chewing:注音符号に対応するインテリジェントな中国語音声IME。libChewingに基づいている。
  • ibus-hangul:韓国語IME
  • ibus-libpinyin:拼音対応の新しい中国語IME。 ホアン・ペンとペン・ウーによって設計された。
  • ibus-libthai:libthaiに基づいたタイ語IME
  • ibus-libzhuyin:注音符号対応のエンジン(ibus-chewingの代替)[15]
  • ibus-m17n:m17n-dbの入力メソッドを使用し、多言語入力を可能にするIME。詳細は#ibus-m17nを参照。
  • ibus-pinyin:拼音対応のインテリジェントな中国語音声IME。IBusの主要開発者であるホアン・ペンによって設計され、英語のスペルチェックなどの高度な機能を備えている。廃止され、上記のibus-libpinyinに置き換えられた。
  • ibus-table:テーブルベースの入力メソッドを利用可能にするIME。詳細は#ibus-tableを参照。
  • ibus-unikey:ベトナム語文字入力用のIME

ibus-m17n

ibus-m17nは、多言語化データベース(m17n)に含まれる入力メソッドおよび対応するアイコンを使用するIMEである。単純なテーブルをサポートするibus-tableとは異なり、m17n入力メソッドは状態もサポートし、そのラベルはIBusパネル(言語バー)に表示される。m17n入力メソッドは周囲のテキストもサポートするため、タイ語やプレーンな注音符号のようなこの機能を必要とする言語および入力メソッドもibus-m17nでサポートされる。また、声調付きの拼音もサポートされる。

ibus-table

ibus-tableはユー・ウェイ・ユーによって開発されたIMEであり、語の選択に複雑なロジックを必要としない入力メソッドのテーブルを読み込む[16]。この方式では倉頡輸入法五筆字型入力方法など、構造ベースの中国語入力メソッドが多数サポートされている。

公式にリリースされているIMEテーブル:[17]

  • latex:LaTeX構文を用いて特殊文字を入力。ibus-tableパッケージに含まれる。
  • compose:合成文字およびダイアクリティカルマークにより特殊文字を入力。ibus-tableパッケージに含まれる。
  • Array30:Array30中国語IMEテーブル
  • Cangjie:倉頡3および5中国語IMEテーブル
  • Erbi:エルビ中国語IMEテーブル
  • Wubi:五筆中国語IMEテーブル
  • Yong:ヨンマ中国語IMEテーブル
  • ZhengMa:鄭碼中国語IMEテーブル
Remove ads

関連項目

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads