IBus
# IBus

Der Intelligent Input Bus (IBus, Aussprache [ˈaɪ bʌs]) ist ein Framework für mehrsprachige Eingabemethoden in Unix-ähnlichen Betriebssystemen. Den Namen hat es aufgrund seiner Bus-artigen Architektur erhalten. So ist es möglich mit Plugins verschiedenste Funktionen zu erhalten.

## Funktionen

IBus stellt ein Framework für Eingabemethoden einschließlich zugehöriger Benutzeroberflächen zur Verfügung. Um eine einheitliche Basis für unterschiedliche Eingabemethoden zu entwickeln, wurde bewusst vermieden, konkrete Eingabemethoden zu implementieren.

Die eigentliche Funktionalität wird durch separate Plugins bereitgestellt, die auf Schnittstellen in C und Python zugreifen. IBus implementiert das XIM Protokoll und unterstützt sowohl auf GTK+ als auch auf Qt basierende Endanwendungen.

## Motivation

Das Northeast Asia OSS Promotion Forum (NEAOSS) empfahl in einem Dokumententwurf eine bus-zentrische Architektur für ein Eingabemethoden-Framework zu verwenden. Huang Peng von Red Hat startete das IBus Projekt, um die Ideen des eingestellten IM-BUS Projektes (von James Su), umzusetzen. Dabei verwendete er Python, D-Bus und GLib und wich auch teilweise von den Empfehlungen des NEAOSS Forums ab. IBus setzte sich bei den Anwendern durch und ist heute in den Paketquellen von FreeBSD und den meisten Linux-Distributionen verfügbar. Seit Fedora 11 und Ubuntu 9.10 ist IBus die Standard-Eingabemethode dieser Distributionen. Es ersetzte in beiden Fällen den Vorgänger SCIM.

## Verfügbare Plugins und Engines

Es besteht eine große Auswahl an unterstützten Eingabemethoden für eine Vielzahl von Sprachen. Engines sind in aller Regel etwas komplexer als Plugins und verfügen über mehr eigenen Code. Sie sind in der Anwendung aber äquivalent. In der Dokumentation verschiedener Betriebssystem-Distributionen findet man oft eine genaue Aufzählung der verfügbaren Plugins. Hier eine unvollständige Auswahl an frei verfügbaren Plugins:

### Chinesisch

* ibus-cangjie: Cangjie-Eingabemethode.
* ibus-chewing: Intelligente, phonetische Zhuyin-Eingabemethode.
* ibus-pinyin: Intelligente, phonetische Eingabemethode für Pinyin von Huang Peng. Verfügt über fortgeschrittene Funktionen, wie die englischsprachige Rechtschreibüberprüfung.
* ibus-libpinyin: Neuere Eingabemethode für Pinyin, von Huang Peng und Peng Wu entwickelt.Siehe auch: Eingabesysteme für die chinesische Schrift

### Japanisch

* ibus-anthy: Plugin für die Anthy Eingabemethode.
* ibus-kkc: Plugin für die Kana Kanji conversion library.
* ibus-mozc: Plugin für die „mozc“-Eingabemethode von Google.

### Koreanisch

* ibus-hangul

### Vietnamesisch

* ibus-unikey

### Mehrsprachig

* ibus-table: Eingabemethode für Tabellen, die keine komplexe Logik für die Wortvervollständigung erfordern. Viele strukturbasierte chinesische Eingabemethoden werden mit ibus-table unterstützt. Es ist aber auch möglich, ganz andere Eingabemethoden zu entwickeln, wie zum Beispiel eine für LaTeX.
* ibus-m17n: Verwendet Informationen aus der m17n Datenbank. Im Gegensatz zu ibus-table werden auch verschiedene Eingabezustände unterstützt.
