IBus ( — інтелектуальна шина введення) — фреймворк (МВ) для багатомовного введення в Unix-подібних операційних системах. Назва «Bus» (шина) походить від його шиноподібної архітектури.

Цілі Основні цілі проєкту IBus:

Надання повнофункціональних та зручних інтерфейсів уведення даних Використання заходів автентифікації для підвищення безпеки Надання універсального інтерфейсу та бібліотеки для розробників методів введення Відповідність потребам користувачів з різних регіонів та звичаїв

Мотивація Проєкт документа Специфікація інтерфейсу постачальника послуг механізму МВ () від Робочої групи 3 Форуму OSS Північно-Східної Азії рекомендує шиноподібні архітектури фреймворку методів уведення (подібно до D-Bus). Згідно зі специфікацією, не вважається придатним для подальшої розробки, оскільки він розроблений на C++, що зазвичай спричиняє проблеми переходу на рівні двійкового інтерфейсу.

Відтоді розпочато такі проєкти, як IM-BUS (під керівництвом Джеймса Су) та SCIM-2 (під керівництвом Чжена Ху). Однак обидва проєкти призупинено. Тому Хуан Пен з Red Hat створив проєкт IBus, щоб довести ідею IM-BUS, використовуючи Python, D-Bus та GLib, замість реалізації функцій, рекомендованих форумом CJK OSS. Попри це, IBus здобув визнання спільноти, і FreeBSD та багато дистрибутивів Linux, як от Fedora та Ubuntu, мають IBus у своїх репозиторіях пакунктів. 2009 року IBus став типовим фреймворком методу введення у Fedora 11, та замінив SCIM в Ubuntu 9.10.

Архітектура IBus розроблено на C та Python, що дає змогу уникнути проблеми переходу C++ ABI, характерну <1.4.14.

IBus забезпечує більшість своєї функціональності через служби. Є три види служб:

Рушій методу введення (РМВ) — фактичний метод введення Конфігурація — обробляє конфігурацію для IBus та інших служб, таких як РМВ Панель — інтерфейс користувача, як от мовна панель та таблиця пропозицій

IBus для зв'язку між ibus-daemon, службами та клієнтами МВ, як от емулятори терміналів, редактори та веббраузери, використовує D-Bus. Всіма клієнтами та службами керує ibus-daemon, отримуючи реєстрації від служб та надсилаючи повідомлення D-Bus відповідним службам та клієнтам МВ.

Він реалізує протокол та має модулі методів введення GTK та Qt.

Функції

Завантаження та вивантаження рушія на вимогу Підтримка області сповіщень на панелі завдань Сумісність з Негайне застосування змін конфігурації Надає зв'язки із C та Python

Доступні плагіни та рушії методів введення

ibus-anthy — плагін для , японського РМВ ibus-avro — фонетична розкладка клавіатури для введення бенгальською мовою на основі . ibus-cangjie — рушій для методу введення Цанцзє ibus-chewing — інтелектуальний китайський фонетичний редактор РМВ для користувачів чжуїнь. Ґрунтується на . ibus-hangul — корейський РМВ ibus-libpinyin — новіший китайський редактор РМВ для користувачів піньїнь. Розробили Хуан Пенг та Пенг Ву. ibus-libthai — тайський РМВ на основі libthai ibus-libzhuyin — рушій для методу введення чжуїнь («bopomofo») (альтернатива ibus-chewing) ibus-m17n — багатомовний РМВ для введення тексту багатьма мовами за допомогою методів уведення з m17n-db. Докладніше див. #ibus-m17n. ibus-mozc — плагін для японського редактора РМВ , розроблений Google ibus-pinyin — інтелектуальний китайський фонетичний редактор РМВ для користувачів ханьюй піньїнь. Розробив Хуан Пен (головний автор IBus). Має багато додаткових функцій, як от перевірка правопису англійською мовою. Застарів та замінений на ibus-libpinyin (див. вище) ibus-table — РМВ, що підтримує методи введення на основі таблиць. Докладніше див. у #ibus-table. ibus-unikey — РМВ для введення в'єтнамських символів

ibus-m17n ibus-m17n — це РМВ, який використовує методи введення та відповідні значки з бази даних багатонаціоналізації (в англійській скорочують нумеронімом «m17n»). На відміну від ibus-table, який підтримує прості таблиці, методи введення m17n підтримують також стани, позначки яких відображаються на панелі IBus (мовній панелі). Методи введення m17n також підтримують навколишній текст, отже,, через ibus-m17n підтримуються такі мови, як тайська та методи введення, як-от звичайна чжуїнь, які потребують цієї функції, а також піньїнь із діакритичними знаками для чотирьох тонів.

ibus-table ibus-table, який розробив Юй Вей Юй, — це РМВ, який завантажує таблиці методів введення, що не потребують складної логіки для вибору слів. В такий спосіб підтримуються багато структурних методів уведення китайської мови, як от Цанцзє та .

Офіційно опубліковані таблиці МВ:

latex — введення спеціальних символів за допомогою синтаксису LaTeX. Включено до пакунка ibus-table. compose — введення спеціальної літери поєднанням літери та діакритичного знака. Включено до пакунка ibus-table. Array30 — китайські таблиці МВ Cangjie — таблиці МВ Cangjie 3 і 5 Erbi — китайська таблиця МВ Er-bi Wubi — китайська таблиця МВ Wubi Yong — китайська таблиця МВ YongMa ZhengMa — китайська таблиця МВ

Див. також

Багатомовність

Примітки

Посилання

Comparison of Chinese Input Method Servers for Unix-like Operating Systems Приклад використання IBus-Table для створення нового МВ