コンテンツにスキップ

「IBus」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Iwai.masaharu (会話 | 投稿記録)
1.1.0.20090331
→‎対応するインプットメソッドプラグインと変換エンジン: ibus-skk をリストに追加。ibus-canna のリンク先が「データがありません」と表示されるため、プロジェクトページに変更、及び cite web 化。
 
(26人の利用者による、間の42版が非表示)
1行目: 1行目:
{{正確性}}
{{正確性|date=2009年3月}}
{{小文字}}
{{Infobox Software
{{Infobox Software
| 名称 = iBus
| name = IBus
| ロゴ =
| ロゴ =
| スクリーンショット = [[ファイル:Ibus-anthy-on-gedit.png|250px]]
| スクリーンショット = [[ファイル:Ibus-anthy-on-gedit.png|250px]]
| 説明文 = gedit上でiBusとibus-anthyを使って日本語を入力している画面
| 説明文 = gedit上でIBusとibus-anthyを使って日本語を入力している画面
| 開発元 = Shawn. P. Huangなど
| 開発元 = Shawn. P. Huangなど
| 最新版 = 1.1.0.20090331
| 最新版発表日 = [[2009年]][[3月31日]]
| 最新評価版 =
| 最新評価版発表日 =
| 対応OS = [[Unix系]]
| 対応OS = [[Unix系]]
| 種別 = [[インプットメソッド]]
| 種別 = [[インプットメソッド]]
| ライセンス = [[GNU Lesser General Public License]]
| ライセンス = [[GNU Lesser General Public License]]
| 公式サイト = http://code.google.com/p/ibus/
| 公式サイト = https://github.com/ibus/ibus
| frequently updated = yes
}}
}}
'''iBus'''は [[POSIX]] スタイルの[[オペレーティングシステム]]における[[インプットメソッド]][[アプリケーションフレームワーク|フレームワーク]]である。[[レッドハット]]に在籍する[[中国人]]のPeng Huangをプロジェクトリーダーとして開発が行われており、[[Fedora|Fedora 11]]では[[SCIM]]に代わって標準のインプットメソッドフレームワークとして採用される予定である。


'''IBus'''(アイバス、''Intelligent Input Bus'')は[[Unix系]][[オペレーティングシステム]] (OS) における[[インプットメソッド]][[アプリケーションフレームワーク|フレームワーク]]である。IBusのBusは[[バス (コンピュータ)|バス]]のような構造を持つところから来ている。
iBusは初期のバージョンは[[Python]]で書かれたが、後に[[C言語|C]]で書き直された。クライアント・サーバ方式を採用しており、プロセス間通信には[[D-Bus]]が用いられている。各コンポーネントを別プロセスで動作させることでモジュール性と安定性を高めている。


==目標==
iBusは現在[[GTK+|GTK+2]]、[[Qt|Qt4]]、[[XIM]]に対応している他、入力エンジンは[[Anthy]]、[[注音符号|chewing]]、[[ハングル|hangul]]、m17n、[[ピン音|pinyin]]、tableが用意されている。
IBusの主要な目標は以下のようなものである。


* [[ユーザビリティ|ユーザーフレンドリー]]でかつ十分な機能を持った[[インプットメソッド]]の[[ユーザインタフェース]]を提供する
==外部リンク==
* セキュリティの向上のために認証の評価を採用する
*[http://code.google.com/p/ibus/ Google Codeのプロジェクトページ]
* 変換エンジン開発者へ普遍的なインタフェースとライブラリを提供する
* 様々な地域や利用者の要求に耐えうる

==動機==
Northeast Asia OSS Forum<ref>[http://www.neaossforum.org Northeast Asia Open Source Software Forum]</ref>の第3ワークグループによる''Specification of IM engine Service Provider Interface''<ref>
[http://wg3.neaoss.org/files/neaoss_wg3_IM_spec.pdf Specification of IM engine Service Provider Interface]</ref>のドラフトは、[[D-Bus]]のような[[バス (コンピュータ)]]の実装を伴うバス中心の[[インプットメソッド]]構造を推奨した。その仕様書によれば、[[Smart Common Input Method|SCIM]]-1.4はC++で開発されている点で開発にあまりに適さないと考えられる。それは[[アプリケーションバイナリインタフェース]] (ABI) の変遷による問題でよく引き起こされる<ref>[http://lists.alioth.debian.org/pipermail/pkg-ime-devel/2005-August/000276.html SCIM ABI transition in sid]</ref>。

そのため、[[IM-BUS]]<!-- (led by [[James Su]]) -->やSCIM-2のような後継のプロジェクトがスタートした。しかしどちらのプロジェクトも休止してしまった。そのため[[レッドハット]]の[[Huang Peng]]<!--はんぺん?-->はIM-Busの考え方をCJK OSSフォーラムが推奨する機能<!--functionだから「関数」かもしれない-->の実装の代わりに<!--rather than-->、PythonやD-Busそして[[gLib]]を用いて提供するためにIBusプロジェクトを創設した。それにも関わらず、IBusはすでにコミュニティの承認を得ており、[[Fedora]]や[[Ubuntu]]のような[[Linuxディストリビューション]]<!--、それに[[FreeBSD]]では--><!--FreeBSDのportsは、Linuxのディストリビューションにおける「標準のレポジトリ」とは位置付けが異なる。標準のレポジトリほどにはプロジェクトが面倒を見てはくれない等-->ユーザーが追加しなくてもIBusが標準の[[レポジトリ]]に含まれている。IBusはFedora 11から新しい標準インプットメソッド<ref>[http://fedoraproject.org/wiki/Releases/11/FeatureList Fedora 11 Feature List]</ref>になり、Ubuntuでは9.10でSCIMから置き換えられた。

== 構造 ==
IBusは[[C言語]]と[[Python]]で開発されている。これは[[Smart Common Input Method|SCIM]] 1.4.14以降での[[C++]]のABI変更に伴う問題を防ぐためである。

IBusの大部分の機能はサービスを通して提供される。"サービス"の例は以下の通りである。
* Input method engine: 変換エンジン。IMEと省略することもできるが、[[Microsoft IME|MS IME]](Input Method Editor)とは語源が異なる。
* Configuration: 設定。IBusや変換エンジンのような"サービス"の設定を扱う。
* Panel: パネル。[[言語バー]]や候補選択画面のユーザインタフェース。

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

IBusは[[X Input Method|XIM]]のプロトコル、[[GTK (ツールキット)|GTK]]、[[Qt]]のインプットメソッドモジュールを実装している。

==特徴==
* 変換エンジンのロード、アンロードが要求された時点で行える。<!--Engine loading/unloading on demand.
[[Taskbar|Systray]] support.-->
* [[X keyboard extension]]が動作する
* 設定変更が即座に反映される
* C言語とPythonによるバインディングが提供される

== 対応するインプットメソッドプラグインと変換エンジン ==
* ibus-anthy: A plugin for [[Anthy]], a Japanese IME.
* [http://ibus-cangjie.opensource.hk ibus-cangjie]: An engine for the [[倉頡輸入法|Cangjie input method]].
* ibus-[[canna]]<ref>{{cite web|url=https://build.opensuse.org/package/show/home:ftake/ibus-canna|title=Show home:ftake / ibus-canna - openSUSE Build Service|website=[[openSUSE]] Build Service|publisher=[[openSUSE]] project|accessdate=2024-01-01}}</ref>: Canna of the NEC company (now SourceForge). Only for distributions of Debian and openSUSE compatibles.
* ibus-chewing: An intelligent Chinese Phonetic IME for [[注音符号|Zhuyin]] users. It is based on [[Chewing (Input Method)|libChewing]].
* ibus-hangul: A Korean IME.
* ibus-m17n: A m17n IME which allows input of many languages using the input methods from m17n-db. See more details in [[#ibus-m17n]].
* ibus-mozc: A plugin to the Japanese IME "mozc" developed by Google.
* ibus-pinyin: An intelligent Chinese Phonetic IME for [[ピン音|Hanyu pinyin]] users. Designed by IBus main author and has many advanced features such as English spell checking.
* ibus-skk<ref>{{cite web|url=https://github.com/ueno/ibus-skk|title=GitHub - ueno/ibus-skk: Japanese SKK engine for IBus|last=Ueno|first=Daiki|website=[[GitHub]]|publisher=GitHub, Inc.|accessdate=2024-01-01}}</ref>: A Japanese [[SKK]] input engine for IBus.
* ibus-table: An IME that accommodates table-based IMs. See more details in [[#ibus-table]].
* ibus-unikey: An IME for typing Vietnamese characters.

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

===ibus-table===
ibus-tableは用意されたテーブルを読み込むだけの単語を選択するための複雑なロジックを必要としないインプットメソッドで、Yu Wei Yu<!-- 多分「余鈺煒」だが、中国語は読めない -->によって開発された<ref>[https://code.google.com/archive/p/ibus/wikis/TableReadme.wiki ibus-table README] (in Chinese and English)</ref> [[倉頡輸入法]](Caangjie)や[[五筆字型輸入法]](Wubi)のような中国語向けの多くのインプットメソッドはこの方法でサポートされている。

公式にリリースされているインプットメソッドテーブル:<ref>[https://code.google.com/archive/p/ibus/downloads IBus Google Downloads]</ref>
* latex: Input special characters using latex syntax. Included in ibus-table package.
* compose: input special letter by compose letter and diacritical mark. Included in ibus-table package.
* Array30: Array30 Chinese IM tables.
* Cangjie: Cangjie 3 and 5 Chinese IM tables.
* Erbi: Er-bi Chinese IM table.
* Wubi: Wubi Chinese IM table.
* Yong: YongMa Chinese IM Table.
* ZhengMa: [[鄭碼輸入法]](ZhengMa) Chinese IM Table.

==関連項目==
* [[インプットメソッド]]
* [[Smart Common Input Method]] (SCIM)
* [[uim]]

==脚注==
{{reflist}}

== 外部リンク ==
*[https://github.com/ibus/ibus GitHubのプロジェクトページ]
*[http://fedoraproject.org/wiki/Features/IBus FedoraProjectのページ]
*[http://fedoraproject.org/wiki/Features/IBus FedoraProjectのページ]


32行目: 95行目:
[[Category:日本語入力ソフト]]
[[Category:日本語入力ソフト]]
[[Category:インプットメソッド]]
[[Category:インプットメソッド]]
[[Category:フリーソフトウェア]]
[[Category:プンソースソフトウェア]]

2024年1月1日 (月) 06:49時点における最新版

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の大部分の機能はサービスを通して提供される。"サービス"の例は以下の通りである。

  • Input method engine: 変換エンジン。IMEと省略することもできるが、MS IME(Input Method Editor)とは語源が異なる。
  • Configuration: 設定。IBusや変換エンジンのような"サービス"の設定を扱う。
  • Panel: パネル。言語バーや候補選択画面のユーザインタフェース。

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

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

特徴

[編集]
  • 変換エンジンのロード、アンロードが要求された時点で行える。
  • X keyboard extensionが動作する
  • 設定変更が即座に反映される
  • C言語とPythonによるバインディングが提供される

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

[編集]
  • ibus-anthy: A plugin for Anthy, a Japanese IME.
  • ibus-cangjie: An engine for the Cangjie input method.
  • ibus-canna[5]: Canna of the NEC company (now SourceForge). Only for distributions of Debian and openSUSE compatibles.
  • ibus-chewing: An intelligent Chinese Phonetic IME for Zhuyin users. It is based on libChewing.
  • ibus-hangul: A Korean IME.
  • ibus-m17n: A m17n IME which allows input of many languages using the input methods from m17n-db. See more details in #ibus-m17n.
  • ibus-mozc: A plugin to the Japanese IME "mozc" developed by Google.
  • ibus-pinyin: An intelligent Chinese Phonetic IME for Hanyu pinyin users. Designed by IBus main author and has many advanced features such as English spell checking.
  • ibus-skk[6]: A Japanese SKK input engine for IBus.
  • ibus-table: An IME that accommodates table-based IMs. See more details in #ibus-table.
  • ibus-unikey: An IME for typing Vietnamese characters.

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]

  • latex: Input special characters using latex syntax. Included in ibus-table package.
  • compose: input special letter by compose letter and diacritical mark. Included in ibus-table package.
  • Array30: Array30 Chinese IM tables.
  • Cangjie: Cangjie 3 and 5 Chinese IM tables.
  • Erbi: Er-bi Chinese IM table.
  • Wubi: Wubi Chinese IM table.
  • Yong: YongMa Chinese IM Table.
  • ZhengMa: 鄭碼輸入法(ZhengMa) Chinese IM Table.

関連項目

[編集]

脚注

[編集]

外部リンク

[編集]