コンテンツにスキップ

IBus

出典: フリー百科事典『ウィキペディア(Wikipedia)』
IBus
gedit上でIBusとibus-anthyを使って日本語を入力している画面
作者 ホアン・ペン
初版 2008年8月 (16年前) (2008-08)
最新版
1.5.32[1] ウィキデータを編集 / 2025年3月19日 (2か月前)
リポジトリ ウィキデータを編集
プログラミング
言語
C言語Python
対応OS Unix系
種別 インプットメソッド
ライセンス LGPLv2+
公式サイト github.com/ibus/ibus/wiki
テンプレートを表示

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]

アーキテクチャ

[編集]

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のインプットメソッドモジュールを実装している。

特徴

[編集]

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

[編集]

日本語

[編集]
  • 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テーブル

関連項目

[編集]

脚注

[編集]
  1. ^ "1.5.32"; 閲覧日: 2025年4月8日; 出版日: 2025年3月19日.
  2. ^ WG3 (Activities and Result)”. NEA OSS Forum. 2012年3月8日時点のオリジナルよりアーカイブ。2019年10月26日閲覧。
  3. ^ 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日閲覧。
  4. ^ PHua, Ming (13 August 2004). "[Pkg-ime-devel] SCIM ABI transition in sid". Pkg-ime-devel (Mailing list).
  5. ^ 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.”
  6. ^ 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.”
  7. ^ SCIM ABI transition reference
  8. ^ About IBus - International Language Environments Guide for Oracle Solaris 11.2”. Oracle Corporation. 2017年5月17日時点のオリジナルよりアーカイブ。2019年10月26日閲覧。
  9. ^ Ueno, Daiki. “GitHub - ueno/ibus-skk: Japanese SKK engine for IBus”. GitHub. GitHub, Inc.. 2024年1月1日閲覧。
  10. ^ 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.”
  11. ^ Khan, Sarim (2021-01-06), ibus-avro, https://github.com/sarim/ibus-avro 2021年1月12日閲覧。 
  12. ^ Details of Package ibus-avro in Sid”. packages.debian.org. 2020年11月9日閲覧。
  13. ^ Avro Keyboard - Unicode and ANSI compliant Free Bangla Typing Software and Bangla Spell Checker” (英語). www.omicronlab.com. 2020年11月9日閲覧。
  14. ^ Debian -- Details of package ibus-cangjie in sid”. Debian. 2019年10月26日時点のオリジナルよりアーカイブ。2019年10月26日閲覧。
  15. ^ libzhuyin/ibus-libzhuyin: New Zhuyin engine based on libzhuyin for IBus”. GitHub (2019年5月7日). 2019年10月26日時点のオリジナルよりアーカイブ。2019年10月26日閲覧。
  16. ^ 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.”
  17. ^ ibus Google Code Archive - Long-term storage for Google Code Project Hosting”. Google Code (2014年1月16日). 2017年1月5日時点のオリジナルよりアーカイブ。2019年10月26日閲覧。

外部リンク

[編集]