Интеллектуальная входная шина - Intelligent Input Bus

IBus
Логотип IBus
ibus-pinyin скриншот
Интеллектуальная входная шина (IBus)
Оригинальный автор (ы)Пэн Хуан
Разработчики)Пэн Хуан
изначальный выпускАвгуст 2008 г.; 12 лет назад (2008-08)
Стабильный выпуск
1.5.23 / 29 сентября 2020 г.; 58 дней назад (2020-09-29)[1]
Репозиторий Отредактируйте это в Викиданных
Написано вC, Python
Операционная системаUnix-подобный
Доступно вМногоязычный
ТипМетод ввода
ЛицензияGNU LGPL v2 или новее
Интернет сайтgithub.com/ ibus/ ibus

В Интеллектуальная входная шина (IBus, произносится как I-Bus) является метод ввода (IM) рамки для многоязычный ввод в Unix-подобный операционные системы. Название «Автобус» происходит от автобус -подобная архитектура.

Цели

Основные цели проекта IBus:

  • предоставление полнофункциональных и удобных пользовательских интерфейсов для методов ввода
  • использование мер аутентификации для повышения безопасности
  • предоставление универсального интерфейса и библиотеки для разработчиков методов ввода
  • соответствие потребностям пользователей из разных регионов и обычаев

Мотивация

Проект Спецификация интерфейса поставщика услуг IM Engine[2] документ Форума OSS Северо-Восточной Азии[3] Рабочая группа 3 рекомендует ориентированные на шину архитектуры инфраструктуры обмена мгновенными сообщениями с реализацией шины (аналогично dbus). Согласно спецификации, SCIM -1.4 не считается подходящим для дальнейшей разработки, поскольку он разработан на C ++, что обычно вызывает ABI проблемы перехода.[4]

С тех пор успешные проекты, такие как IM-BUS (во главе с Джеймс Су ) и SCIM-2 (руководитель Чжэн Ху ) были запущены. Однако оба проекта приостановлены. Следовательно, Хуан Пэн из Красная шляпа основал проект IBus, чтобы доказать идею IM-BUS с помощью Python, D-автобус и GLib вместо реализации функций, рекомендованных форумом CJK OSS. Несмотря на это, IBus уже получил признание сообщества, и FreeBSD и многие дистрибутивы Linux, такие как Fedora и Ubuntu в репозиториях пакетов уже есть IBus. IBus стал новым фреймворком метода ввода по умолчанию в Fedora 11,[5] и заменил SCIM в Ubuntu 9.10.[6]

Архитектура

IBus разработан в C и Python, таким образом избегая C ++ ABI проблема перехода SCIM <1.4.14.

IBus предоставляет большую часть своих функций через службы. Есть три вида услуг:

  • Механизм ввода (IME): Фактический метод ввода.
  • Конфигурация: обрабатывает конфигурацию для IBus и других служб, таких как IME.
  • Панель: пользовательский интерфейс, такой как языковая панель и таблица выбора кандидатов.

В IBus работает D-автобус для взаимодействия между ibus-daemon, службами и IM-клиентами, такими как эмуляторы терминала, редакторы и веб-браузеры. ibus-daemon управляет всеми клиентами и службами, получая регистрации от служб и отправляя сообщение D-Bus в соответствующие службы и клиент обмена мгновенными сообщениями.

Он реализует XIM протокол и имеет GTK + и Qt модули метода ввода.

Функции

  • Загрузка / разгрузка двигателя по запросу.
  • Systray поддерживать.
  • Работает с XKB.
  • Немедленно применяет изменения конфигурации.[7]
  • Предоставляет привязки C и Python.

Доступные плагины и движки методов ввода

  • ibus-anthy: плагин для Anthy, японский IME.
  • ibus-avro: фонетическая раскладка клавиатуры для письма Бенгальский на базе Avro Keyboard[8][9]
  • ibus-cangjie:[10] Двигатель для Метод ввода Цанцзе.
  • ibus-chewing: интеллектуальный китайский фонетический IME для Жын пользователей. Он основан на libChewing.
  • ibus-хангыль: корейский IME.
  • ibus-libpinyin: новый IME на китайском языке для пользователей пиньинь. Дизайн Хуан Пэн и Пэн Ву.
  • ibus-libthai: тайский IME, основанный на libthai.
  • ибус-либжуйин:[11] Двигатель для Жын ("бопомофо") метод ввода (альтернатива ибус-жеванию).
  • ibus-m17n: А m17n IME, который позволяет вводить данные на многих языках с использованием методов ввода из m17n-db. Подробнее см. # ibus-m17n.
  • ibus-mozc: плагин к японскому IME "mozc", разработанный Google.[12]
  • ibus-pinyin: интеллектуальный китайский фонетический IME для Ханю пиньинь пользователей. Разработан Хуанг Пенг (главный автор IBus) и имеет множество дополнительных функций, таких как проверка орфографии английского языка.
  • ibus-table: IME, который поддерживает IM на основе таблиц. Подробнее см. # ibus-table.
  • ibus-unikey: IME для ввода вьетнамских символов.

ibus-m17n

ibus-m17n - это IME, который использует методы ввода и соответствующие значки из базы данных m17n. В отличие от ibus-table, который поддерживает простые таблицы, методы ввода m17n также поддерживают состояния, метки которых отображаются на панели IBus (языковая панель). Методы ввода M17n также поддерживают окружающий текст, следовательно, такие языки, как Тайский и IM, такие как простые Чжуинь которые требуют этой функции, поддерживаются через ibus-m17n.

ibus-стол

ibus-table, разработанный Yu Wei Yu, представляет собой IME, который загружает таблицы методов ввода, которые не требуют сложной логики для выбора слов.[13] Многие методы ввода на китайском языке на основе структуры, например Цанцзе и Вуби поддерживаются таким образом.

Официально выпущенные таблицы IM:[14]

  • латекс: введите специальные символы, используя Латекс синтаксис. Входит в пакет ibus-table.
  • составить: введите специальную букву, составив букву и диакритический знак. Входит в пакет ibus-table.
  • Array30: Array30 китайских таблиц IM.
  • Цанцзе: Цанцзе 3 и 5 китайских IM столов.
  • Эрби: Эр-би китайская таблица IM.
  • Wubi: китайский IM стол Wubi.
  • Yong: YongMa Chinese IM Table.
  • Чжэн Ма: ZhengMa Китайская таблица IM.

Смотрите также

Рекомендации

  1. ^ «Релизы · ibus / ibus». Получено 29 сентября 2020 - через GitHub.
  2. ^ Гото, Шизуо; Миура, Хироши (12 сентября 2007 г.). «Проект рекомендации по информационным технологиям - Спецификация интерфейса поставщика услуг IM Engine» (PDF). NEA OSS PF Org. Архивировано из оригинал (pdf) 9 августа 2018 г.. Получено 26 октября 2019.
  3. ^ «WG3 (Деятельность и результат)». Форум NEA OSS. Архивировано из оригинал на 2012-03-08. Получено 2019-10-26.
  4. ^ Пхуа, Мин (13 августа 2004 г.). "[Pkg-ime-devel] Переход SCIM ABI в sid". Pkg-ime-devel (Список рассылки).
  5. ^ «Релизы / 11 / Список возможностей». Проект Fedora. 8 апреля 2009 г. Архивировано с оригинал 8 апреля 2009 г.. Получено 26 октября 2019. Новая структура метода ввода по умолчанию находится в стадии активной разработки и призвана преодолеть ограничения SCIM.
  6. ^ "KarmicKoala / Технический обзор - Ubuntu Wiki". Ubuntu. 28 октября 2009 г. Архивировано с оригинал 21 ноября 2011 г.. Получено 26 октября 2019. Ubuntu перешла на IBus в качестве предпочтительной структуры метода ввода. В отличие от ранее используемого SCIM, IBus находится в стадии активной разработки и устраняет ряд конструктивных ограничений SCIM.
  7. ^ «О IBus - Международном руководстве по языковым средам для Oracle Solaris 11.2». Корпорация Oracle. Архивировано из оригинал 17 мая 2017 г.. Получено 26 октября 2019.
  8. ^ "Debian - Подробная информация о пакете ibus-avro в sid". packages.debian.org. Получено 2020-11-09.
  9. ^ «Avro Keyboard - Бесплатная программа для набора текста Bangla, совместимая с Unicode и ANSI, и программа проверки орфографии Bangla». www.omicronlab.com. Получено 2020-11-09.
  10. ^ "Debian - Подробная информация о пакете ibus-cangjie в sid". Debian. Архивировано из оригинал 26 октября 2019 г.. Получено 26 октября 2019.
  11. ^ "libzhuyin / ibus-libzhuyin: Новый движок Zhuyin на основе libzhuyin для IBus". GitHub. 7 мая 2019. Архивировано с оригинал 26 октября 2019 г.. Получено 26 октября 2019.
  12. ^ «Mozc - японский редактор методов ввода, разработанный для нескольких платформ». GitHub. 25 февраля 2018. Архивировано с оригинал 26 сентября 2019 г.. Получено 26 октября 2019. Mozc - это японский редактор методов ввода (IME), разработанный для таких многоплатформенных приложений, как Android OS, Apple OS X, Chromium OS, GNU / Linux и Microsoft Windows. Этот проект с открытым исходным кодом основан на Google Japanese Input.
  13. ^ "ibus - TableReadme.wiki (на китайском и английском языках)". Код Google. Архивировано из оригинал 6 сентября 2017 г.. Получено 26 октября 2019. IBus-Table - это платформа IM Engine для методов ввода на основе таблиц, таких как ZhengMa, WuBi, ErBi, CangJie и т. Д.
  14. ^ "ibus Google Code Archive - долгосрочное хранилище для хостинга проектов Google Code". Код Google. 16 января 2014 г. Архивировано с оригинал 5 января 2017 г.. Получено 26 октября 2019.

внешняя ссылка