Intelligent Input Bus

IBus
Originalförfattare Peng Huang
Utvecklare Peng Huang
Initial release augusti 2008 ; 14 år sedan ( 2008-08 )
Stabil frisättning
Edit this on Wikidata 1.5.28 / 21 februari 2023 ; 7 dagar sedan ( 21 februari 2023 )
Förvar
Skrivet i C , Python
Operativ system Unix-liknande
Tillgänglig i Flerspråkig
Typ Inmatningsmetod
Licens GNU LGPL v2 eller senare
Hemsida github .com /ibus /ibus

Intelligent Input Bus ( IBus , uttalas som I-Bus) är ett ramverk för inmatningsmetod (IM) för flerspråkig inmatning i Unix-liknande operativsystem. Namnet "Bus" kommer från dess bussliknande arkitektur.

Mål

Huvudmålen för IBus-projektet inkluderar:

  • Tillhandahåller fullfjädrade och användarvänliga användargränssnitt med inmatningsmetod
  • Använda autentiseringsåtgärder för att förbättra säkerheten
  • Tillhandahåller ett universellt gränssnitt och bibliotek för utvecklare av inmatningsmetod
  • Passar behoven hos användare från olika regioner och seder

Motivering

Utkastet till specifikation av IM-motorns tjänsteleverantörsgränssnittsdokument från Northeast Asia OSS Forum Work Group 3 rekommenderar busscentrerade IM-ramverksarkitekturer med en bussimplementering (liknande dbus). Enligt specifikationen SCIM -1.4 inte vara lämplig för vidareutveckling då den är utvecklad i C++, vilket vanligtvis orsakar ABI- övergångsproblem.

Sedan dess har framgångsrika projekt som IM-BUS (ledd av James Su) och SCIM-2 (leds av Zheng Hu) startats. Båda projekten är dock inställda. Därför etablerade Huang Peng från Red Hat IBus-projektet för att bevisa idén med IM-BUS genom att använda Python, D-Bus och GLib istället för att implementera de funktioner som rekommenderas av CJK OSS-forumet. Trots det har IBus redan fått gemenskapsacceptans, och FreeBSD och många Linux-distributioner som Fedora och Ubuntu har redan IBus i sina paketförråd. IBus blev det nya standardramverket för inmatningsmetod i Fedora 11 och ersatte SCIM i Ubuntu 9.10.

Arkitektur

IBus är utvecklad i C och Python och undviker därmed C++ ABI -övergångsproblemet för SCIM <1.4.14.

IBus tillhandahåller det mesta av sin funktionalitet genom tjänster. Det finns tre typer av tjänster:

  • Inmatningsmetodmotor (IME): Faktisk inmatningsmetod
  • Konfiguration: Hanterar konfigurationen för IBus och andra tjänster som IME
  • Panel: Användargränssnitt som språkfält och kandidatvalstabell

IBus använder D-Bus för att kommunicera mellan ibus-daemon, tjänster och IM-klienter som terminalemulatorer, redigerare och webbläsare. ibus-daemon hanterar alla klienter och tjänster genom att ta emot registreringar från tjänster och skicka D-Bus-meddelanden till motsvarande tjänster och IM-klient.

Den implementerar XIM -protokoll och har GTK- och Qt- inmatningsmetodmoduler.

Funktioner

  • Motorlastning och lossning på begäran
  • meddelandeområdet i aktivitetsfältet
  • Interoperabilitet med XKB
  • Tillämpar omedelbart konfigurationsändringar
  • Ger C- och Python-bindningar

Tillgängliga plugins och motorer för inmatningsmetod

  • ibus-anthy: Ett plugin för Anthy , en japansk IME
  • ibus-avro: Fonetisk tangentbordslayout för att skriva bengaliska baserat på Avro Keyboard
  • ibus-cangjie: En motor för Cangjie-inmatningsmetoden
  • ibus-chewing: En intelligent kinesisk fonetisk IME för Zhùyīn -användare. Den är baserad på libChewing .
  • ibus-hangul: En koreansk IME
  • ibus-libpinyin: En nyare kinesisk IME för pinyin-användare. Designad av Huang Peng och Peng Wu.
  • ibus-libthai: En thailändsk IME baserad på libthai
  • ibus-libzhuyin: En motor för inmatningsmetoden Zhùyīn ("bopomofo") (ett alternativ till ibus-tuggning)
  • ibus-m17n: En multilingualism IME som tillåter inmatning av många språk med inmatningsmetoderna från m17n-db. Se mer detaljer i #ibus-m17n .
  • ibus-mozc: Ett plugin till japanska IME "mozc" utvecklat av Google
  • ibus-pinyin: En intelligent kinesisk fonetisk IME för Hanyu pinyin- användare. Designad av Huang Peng (huvudförfattare till IBus) och har många avancerade funktioner som engelsk stavningskontroll. Utfasad och ersatt med ibus-libpinyin (se ovan)
  • ibus-table: En IME som rymmer tabellbaserade snabbmeddelanden. Se mer information i #ibus-table .
  • ibus-unikey: En IME för att skriva vietnamesiska tecken

ibus-m17n

ibus-m17n är en IME som använder inmatningsmetoder och motsvarande ikoner i m17n-databasen. Till skillnad från ibus-table som stöder vanliga tabeller, stöder m17n-inmatningsmetoder också tillstånd, vars etiketter visas på IBus-panelen (språkfältet). stöds språk som thailändska och snabbmeddelanden som vanlig zhuyin som kräver denna funktion genom ibus-m17n, liksom pinyin med diakritiska tecken för de fyra tonerna .

ibus-bord

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

Officiellt släppta IM-tabeller:

  • latex: Mata in specialtecken med LaTeX- syntax. Ingår i ibus-table-paketet.
  • komponera: skriv in specialbokstav för skrivbokstav och diakritiskt tecken. Ingår i ibus-table-paketet.
  • Array30: Array30 kinesiska IM-tabeller
  • Cangjie: Cangjie 3 och 5 kinesiska IM-bord
  • Erbi: Er-bi kinesisk IM-tabell
  • Wubi: Wubi kinesisk IM-tabell
  • Yong: YongMa kinesisk IM-tabell
  • ZhengMa: ZhengMa kinesisk IM-tabell

Se även

externa länkar