IBus
目標
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種類がある。
インプットメソッドエンジン(IME):実際の入力メソッド。
設定:IBusおよびIMEなどの他のサービスの設定を管理する。
パネル:言語バーや候補選択テーブルなどのユーザインタフェース。
IBusはD-Bus を使用して、ibus-daemon、各サービス、ターミナルエミュレータやエディタ、ウェブブラウザなどのIMクライアント間で通信を行っている。ibus-daemonは、サービスからの登録を受け取り、対応するサービスやIMクライアントにD-Busメッセージを送信することで、すべてのクライアントとサービスを管理している。
IBusはXIM のプロトコル、GTK 、Qt のインプットメソッドモジュールを実装している。
利用可能な入力メソッドプラグインおよびエンジン
日本語
ibus-skk:SKK エンジン
ibus-anthy:Anthy のプラグイン
ibus-mozc:Googleによって開発されたmozc のプラグイン
他言語
ibus-avro:Avro Keyboardに基づいたベンガル語 の表音キーボードレイアウト
ibus-cangjie:倉頡入力法 のエンジン
ibus-chewing:注音符号 に対応するインテリジェントな中国語音声IME。libChewingに基づいている。
ibus-hangul:韓国語IME
ibus-libpinyin:拼音 対応の新しい中国語IME。 ホアン・ペンとペン・ウーによって設計された。
ibus-libthai:libthaiに基づいたタイ語IME
ibus-libzhuyin:注音符号対応のエンジン(ibus-chewingの代替)
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であり、語の選択に複雑なロジックを必要としない入力メソッドのテーブルを読み込む。この方式では倉頡輸入法 や五筆字型入力方法 など、構造ベースの中国語入力メソッドが多数サポートされている。
公式にリリースされているIMEテーブル:
latex:LaTeX 構文を用いて特殊文字を入力。ibus-tableパッケージに含まれる。
compose:合成文字およびダイアクリティカルマークにより特殊文字を入力。ibus-tableパッケージに含まれる。
Array30:Array30中国語IMEテーブル
Cangjie:倉頡3および5中国語IMEテーブル
Erbi:エルビ中国語IMEテーブル
Wubi:五筆中国語IMEテーブル
Yong:ヨンマ中国語IMEテーブル
ZhengMa:鄭碼 中国語IMEテーブル
脚注
↑ “Release 1.5.35 ” (2026年9月22日). 2026年11月5日閲覧。
↑ “WG3 (Activities and Result) ”. NEA OSS Forum . 2012年3月8日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。
↑ “Draft recommendation of Information Technology - the Specification of IM engine Service Provider Interface ”. NEA OSS PF Org. (2007年9月12日). 2018年8月9日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。
↑ PHua, Ming (2004年8月13日). “[ Pkg-ime-devel] SCIM ABI transition in sid” . Pkg-ime-devel (Mailing list).
↑ “Releases/11/FeatureList ”. The Fedora Project (2009年4月8日). 2009年4月8日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。 “A new default input method framework under active development which is designed to overcome the limitations of SCIM.”
↑ “KarmicKoala/TechnicalOverview - Ubuntu Wiki ”. Ubuntu (2009年10月28日). 2011年11月21日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。 “Ubuntu has switched to IBus as preferred input method framework. Unlike the previously used SCIM, IBus is under active development and fixes a number of SCIM's design limitations.”
↑ SCIM ABI transition reference
↑ “About IBus - International Language Environments Guide for Oracle Solaris 11.2 ”. Oracle Corporation . 2017年5月17日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。
↑ Ueno, Daiki. “GitHub - ueno/ibus-skk: Japanese SKK engine for IBus ”. GitHub . GitHub, Inc.. 2024年1月1日閲覧。
↑ “Mozc - a Japanese Input Method Editor designed for multi-platform ”. GitHub (2018年2月25日). 2019年9月26日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。 “Mozc is a Japanese Input Method Editor (IME) designed for multi-platform such as Android OS, Apple OS X, Chromium OS, GNU/Linux and Microsoft Windows. This OpenSource project originates from Google Japanese Input.”
↑ Khan, Sarim (2021-01-06), ibus-avro , https://github.com/sarim/ibus-avro 2021年1月12日閲覧。
↑ “Details of Package ibus-avro in Sid ”. packages.debian.org . 2020年11月9日閲覧。
↑ “Avro Keyboard - Unicode and ANSI compliant Free Bangla Typing Software and Bangla Spell Checker ” (英語). www.omicronlab.com . 2020年11月9日閲覧。
↑ “Debian -- Details of package ibus-cangjie in sid ”. Debian . 2019年10月26日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。
↑ “libzhuyin/ibus-libzhuyin: New Zhuyin engine based on libzhuyin for IBus ”. GitHub (2019年5月7日). 2019年10月26日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。
↑ “ibus - TableReadme.wiki (in Chinese and English) ”. Google Code . 2017年9月6日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。 “IBus-Table is the IM Engine framework for table-based input methods, such as ZhengMa, WuBi, ErBi, CangJie and so on.”
↑ “ibus Google Code Archive - Long-term storage for Google Code Project Hosting ”. Google Code (2014年1月16日). 2017年1月5日時点のオリジナル よりアーカイブ。2019年10月26日閲覧。
外部リンク
コミュニティ
アプリケーション テクノロジー 関連記事