Intelligent Input Bus

Intelligent Input Bus (IBus, uttalas I-Bus) är ett inmatningsmetod-ramverk för flerspråkiga skrivningar i Unix-liknande operativsystem. Det kallas "Bus" eftersom den har en buss-liknande arkitektur.

Syfte 
De viktigaste målen för IBus projektet är:
 Ha alla funktioner och användarvänlighet som en användare av ett inmatningsmetod-gränssnitt behöver.
 Tillhandahålla ett universiellt gränssnitt och kodbibliotek för utvecklare av inmatningsmetoder.

Programarkitektur 
IBus är utvecklat i C och Python, så man undviker övergångsproblem med C++ ABI som SCIM råkade ut för under sin utveckling.

IBus tillhandahåller de flesta av sina funktioner genom tjänster. Det finns tre typer av tjänster:
 Motorer för inmatningsmetoder (input method engine, IME), samt själva inmatningsverktyget.
 Konfiguration: hanterar konfigurationen för IBus och andra tjänster, såsom IME.
 Panel: användargränssnitt som språkikoner, listor och val av inmatningsmetoder.

IBus använder D-Bus för att kommunicera IBus-deamon med andra program som terminalemulatorer, textredigerare och webbläsare. IBus-daemon hanterar alla klienter och tjänster genom att ta emot inmatade registreringar från dem och skickar D-Bus meddelande till motsvarande tjänst eller IM-klient.

IBus implenterar protokollet X Input Method (XIM) och har inmatningsmetodsmoduler för GTK+ och Qt.

Funktioner 
 Kan ladda in olika IME och växla mellan dem.
 Tillhandahåller aktivitetsfältstöd.
 Tillhandahåller C och Python bindningar.

Tillgängliga IME 
 ibus-anthy: ett japanskt IME.
 ibus-chewing: en intelligent kinesisk fonetisk IME för Zhuyin användare. Den är baserad på libChewing.
 ibus-googlepinyin: ett kinesiskt IME som baseras på libgooglepinyin som är en fork av Google Pinyin, ursprungligen utvecklat för operativsystemet Android.
 ibus-hangul: ett koreanskt (hangul) IME.
 ibus-keymagic: ett intelligent och komplext IME för att hantera olika unicode tangentbord och växla mellan layouter. Stödjer alla språk som kan mappas med hjälp av unicode.
 ibus-m17n: en m17n IME som möjliggör inmatning av många språk att använda inmatningsmetoder från m17n-db. Se mer information under #ibus-m17n.
 ibus-pinyin: en intelligent kinesisk fonetisk IME för Hanyu Pinyin användare.  Designad av IBus huvudutvecklare och har många avancerade funktioner som engelsk stavningskontroll.
 ibus-rime: baserat på Rimeime, för kinesiska (pinyin, zhuyin, med eller utan toner, dubbel pinyin (Ziranma, MSPY), Jyutping (kantonesiska), Wugniu (Shanghainesiska), Cangjie5 och Wubi 86)
 ibus-table: se mer information under #ibus-table.
 ibus-tegaki: ett IME som integrerat programmet Tegaki för mönsterigenkänning från inmatningar med datormus, pekskärm eller digitalt ritbord. Se mer information under #ibus-tegaki.
 ibus-unikey: ett IME för att skriva vietnamesiska tecken.

ibus-m17n 
ibus-m17n är en IME som använder inmatningsmetoder och motsvarande symboler som i m17n databasen.

ibus-table 
ibus-table, utvecklad av Yu Wei Yu, är en IME som laddar tabeller med inmatningsmetoder och som inte behöver komplicerad logik för att välja ord. Många kinesiska inmatningsmetoder som Cangjie och Wubi stöds på detta sätt.

Officiellt släppta IM tabeller:
 LaTeX, inmatning av specialtecken med latex syntax. Ingår i ibus-table-paketet.
 compose, inmatning av speciellbokstäver genom att komponera bokstäver med diakritiska tecken. Ingår i ibus-table-paketet.
 array30, Array30 kinesiska IM tabeller. 
 Cangjie: Cangjie 3 och 5 kinesiska IM tabeller.
 Erbi: Er-bi kinesiska IM tabeller.
 Wubi: Wubi kinesiska IM tabeller.
 Yong: YongMa kinesiska IM tabeller.
 ZhengMa: ZhengMa kinesiska IM tabeller.

ibus-tegaki 

ibus-tegaki integrerar programmet Tegaki i IBus. Tegaki är ett fritt öppet källkodsprogram för handskriftsigenkänning. Programmet stödjer japanska, traditionell kinesiska och förenklad kinesiska med hjälp av igenkänningsmotorerna Zinnia och Wagomu. Om resultatet skulle bli fel, så kan Tegaki ge förslag på rätt tecken. Integreringen med IBus är bara till den grad att Tegaki hamnar som valbart alternativ bland övriga inmatningsmetoder i Ibus lista. Om man enbart är intresserad av att använda Tegaki så behövs inte IBus alls.

Referenser

Externa länkar 
 
 IBus källkod hos GitHub.
 Tegaki Project 

Fri programvara och öppen källkod