Intelligent inputbus - Intelligent Input Bus
![]() | |
|
Intelligent Input Bus (IBus)
| |
| Originale forfattere | Peng Huang |
|---|---|
| Udvikler (er) | Peng Huang |
| Første udgivelse | August 2008 |
| Stabil udgivelse | 1.5.24 / 21. februar 2021
|
| Depot | |
| Skrevet i | C , Python |
| Operativ system | Unix-lignende |
| Tilgængelig i | Flersproget |
| Type | Input metode |
| Licens | GNU LGPL v2 eller nyere |
| Internet side | github |
Den intelligente Input Bus ( Ibus , udtales som Ibus) er en input metode (IM) ramme for flersproget input i Unix-lignende operativsystemer-systemer. Navnet "Bus" kommer fra sin bus -lignende arkitektur.
Mål
Hovedmålene for IBus -projektet inkluderer:
- Tilbyder fuldt udstyrede og brugervenlige input-metode brugergrænseflader
- Brug af godkendelsesforanstaltninger for at forbedre sikkerheden
- Tilbyder en universel grænseflade og bibliotek til input-metodeudviklere
- Tilpasning til behovet for brugere fra forskellige regioner og skikke
Motivering
Udkastet til specifikation af IM-motor Service Provider Interface- dokument fra Northeast Asia OSS Forum Work Group 3 anbefaler buscentriske IM-rammearkitekturer med en busimplementering (ligner dbus). Ifølge specifikationen anses SCIM -1.4 ikke for egnet til videre udvikling, da den er udviklet i C ++, hvilket normalt forårsager ABI -overgangsproblemer.
Siden da blev efterfølgende projekter som IM-BUS (ledet af James Su ) og SCIM-2 (ledet af Zheng Hu ) startet. Begge projekter suspenderes dog. Derfor etablerede Huang Peng fra Red Hat IBus-projektet for at bevise ideen om IM-BUS ved at bruge Python, D-Bus og GLib frem for at implementere de funktioner, der anbefales af CJK OSS-forum. På trods af det har IBus allerede opnået accept af samfundet, og FreeBSD og mange Linux -distributioner som Fedora og Ubuntu har allerede IBus i deres pakkeopbevaringssteder. IBus blev den nye standard input -metode ramme i Fedora 11 og erstattede SCIM i Ubuntu 9.10.
Arkitektur
IBus er udviklet i C og Python og undgår dermed C ++ ABI -overgangsproblemet med SCIM <1.4.14.
IBus leverer det meste af sin funktionalitet gennem tjenester. Der er tre slags tjenester:
- Input method engine (IME): Faktisk inputmetode
- Konfiguration: Håndterer konfigurationen for IBus og andre tjenester, f.eks. IME
- Panel: Brugergrænseflade som f.eks. Sproglinje og kandidatvalgstabel
IBus anvender D-Bus til at kommunikere mellem ibus-daemon, tjenester og IM-klienter såsom terminalemulatorer, redaktører og webbrowsere. ibus-daemon administrerer alle klienter og tjenester ved at modtage registreringer fra tjenester og sende D-Bus-besked til tilsvarende tjenester og IM-klient.
Det implementerer XIM -protokol og har GTK- og Qt -inputmetodemoduler .
Funktioner
- Motorbelastning og losning efter behov
- Meddelelsesområdet støtte på proceslinjen
- Interoperabilitet med XKB
- Konfigurationsændringer anvendes straks
- Giver C- og Python -bindinger
Tilgængelige inputmetode plugins og motorer
- ibus-anthy: Et plugin til Anthy , en japansk IME
- ibus-avro: Fonetisk tastaturlayout til at skrive bengali baseret på Avro Keyboard
- ibus-cangjie: En motor til Cangjie-inputmetoden
- ibus-chewing: En intelligent kinesisk fonetisk IME til Zhùyīn- brugere. Det er baseret på libChewing .
- ibus-hangul: En koreansk IME
- ibus-libpinyin: En nyere kinesisk IME til Pinyin-brugere. Designet af Huang Peng og Peng Wu.
- ibus-libthai: En thailandsk IME baseret på libthai
- ibus-libzhuyin: En motor til inputmetoden Zhùyīn ("bopomofo") (et alternativ til ibus-tygning)
- ibus-m17n: En m17n IME, der tillader input af mange sprog ved hjælp af inputmetoderne fra m17n-db. Se flere detaljer i #ibus-m17n .
- ibus-mozc: Et plugin til det japanske IME "mozc" udviklet af Google
- ibus-pinyin: En intelligent kinesisk fonetisk IME til Hanyu pinyin- brugere. Designet af Huang Peng (hovedforfatter til IBus) og har mange avancerede funktioner såsom engelsk stavekontrol.
- ibus-table: En IME, der kan rumme tabelbaserede IM'er. Se flere detaljer i #ibus-tabel .
- ibus-uniky: En IME til indtastning af vietnamesiske tegn
ibus-m17n
ibus-m17n er en IME, der bruger inputmetoder og tilsvarende ikoner i m17n-databasen. I modsætning til ibus-table, der understøtter almindelige tabeller, understøtter m17n inputmetoder også tilstande, hvis etiketter vises på IBus-panelet (sproglinje). M17n-inputmetoder understøtter også omgivende tekst, derfor understøttes sprog som thai og IM'er som almindelig Zhuyin, der kræver denne funktion, via ibus-m17n.
ibus-bord
ibus-table, udviklet af Yu Wei Yu, er en IME, der indlæser tabeller med inputmetoder, som ikke kræver kompliceret logik for at vælge ord. Mange strukturbaserede kinesiske inputmetoder som Cangjie og Wubi understøttes på denne måde.
Officielt frigivne IM -tabeller:
- latex: Indtast specialtegn ved hjælp af LaTeX -syntaks. Inkluderet i ibus-bordpakke.
- sammensæt: indtast et specielt bogstav ved at skrive et bogstav og et diakritisk mærke. Inkluderet i ibus-bordpakke.
- Array30: Array30 kinesiske IM -borde
- Cangjie: Cangjie 3 og 5 kinesiske IM -borde
- Erbi: Er-bi kinesisk IM-bord
- Wubi: Wubi kinesisk IM -bord
- Yong: YongMa kinesisk IM -bord
- ZhengMa: ZhengMa kinesisk IM -bord
