Intelligent Input Bus

iBus
Información general
Tipo de programa Input Method Editor
Desarrollador Peng Huang
Lanzamiento inicial 2008
Licencia LGPL-2.1
Información técnica
Programado en
Versiones
Última versión estable 1.5.3123 de octubre de 2024
Enlaces

El Intelligent Input Bus (Bus de Entrada Inteligente, frecuentemente abreviado como iBus) es un entorno de trabajo que permite un método de entrada (editor de método de entrada, en inglés: Input Method Editor, abreviado IME) para la internacionalización y localización del software que se ejecuta en un sistema operativo tipo *nix. El nombre "Bus" proviene de su parecido con la arquitectura de tipo canal, la cual transfiere datos entre los componentes (hardware) de una computadora.

Objetivos

[editar]

Los principales objetivos del proyecto IBus incluyen:

  • Proporcionar interfaces de usuario de método de entrada con todas las funciones y que sean fáciles de usar.
  • Emplear medidas de autenticación para mejorar la seguridad.
  • Proporcionar una interfaz y una biblioteca universales para los desarrolladores de métodos de entrada.
  • Adaptarse a las necesidades de los usuarios de las diferentes regiones y costumbres.

Motivaciones

[editar]

El borrador "Specification of IM engine Service Provider Interface",[1]​ documento del Northeast Asia OSS Forum (Grupo de Trabajo 3),[2]​ recomienda arquitecturas de estructura de métodos de entrada centradas en bus con una implementación de bus (similar a dbus). De acuerdo con la especificación, SCIM-1.4 no se considera adecuado para un desarrollo posterior, ya que se desarrolla en C++, que normalmente causa problemas de transición de en la interfaz binaria de aplicaciones (ABI).[3]

Desde entonces, se iniciaron proyectos exitosos como IM-BUS (dirigido por James Su) y SCIM-2 (liderado por Zheng Hu). Sin embargo, ambos proyectos están suspendidos. Por lo tanto, Huang Peng de Red Hat estableció el proyecto IBus para probar la idea de IM-BUS utilizando Python, D-Bus y GLib en lugar de implementar las funciones recomendadas por el foro CJK OSS. A pesar de ello, IBus ya ha ganado la aceptación de la comunidad, y FreeBSD y muchas distribuciones de GNU/Linux como Fedora y Ubuntu ya tienen IBus en sus repositorios de paquetes. IBus se convirtió en el nuevo marco de métodos de entrada por defecto en Fedora 11,[4]​ y reemplazó a SCIM en Ubuntu 9.10.[5]

Arquitectura

[editar]

IBus está desarrollado en C y Python, evitando así el problema de transición de la ABI C++ de SCIM (en versiones anteriores a 1.4.14 de SCIM).

IBus proporciona la mayor parte de su funcionalidad a través de servicios. Hay tres tipos de servicios:

  • Motor del método de entrada (IME): el método actual.
  • Configuración: maneja la configuración para IBus y otros servicios como IME.
  • Panel: interfaz de usuario como la barra de idiomas y la tabla de selección de candidatos.

IBus emplea D-Bus para comunicarse entre ibus-daemon, servicios y clientes de mensajería instantánea como emuladores de terminal, editores y navegadores web. ibus-daemon gestiona todos los clientes y servicios recibiendo registros de los servicios y enviando mensajes D-Bus a los servicios correspondientes y al cliente de mensajería instantánea.

Implementa el protocolo XIM y dispone de módulos de métodos de entrada GTK+ (ahora conocido como GTK) y Qt.

Características

[editar]
  • Carga/descarga de motores bajo demanda.
  • Soporte en la bandeja de sistema.
  • Funciona con XKB.
  • Inmediatamente aplica cambios de configuración.[6]
  • Proporciona enlazado de librerías en lenguaje C y Python.

Complementos y motores disponibles para el método de entrada

[editar]
Métodos iBus
Métodos iBus
  • ibus-anthy: un complemento para Anthy, un IME para el idioma japonés.
  • ibus-cangjie:[7]​ un motor para el método de entrada de caracteres Cangjie
  • ibus-chewing: un IME fonético chino avanzado para usuarios de Zhuyin. Se basa en libChewing.
  • ibus-hangul: un IME para el idioma coreano.
  • ibus-libpinyin: un nuevo IME para el idioma chino para personas que utilizan el Pinyin, fue diseñado por Huang Peng and Peng Wu.
  • ibus-ibus-libzhuyin:[8]​ un motor para el método de entrada Zhuyin ("bopomofo") (una alternativa al ibus-chewing).
  • ibus-m17n: un IME para m17n el cual permite la introducción de muchos lenguajes utilizando los métodos de entrada desde mn-17-db. Vea detalles en la sección #ibus-m17n.
  • ibus-mozc: un complemento para IME japonés llamado "mozc" y desarrollado por Google.[9]
  • ibus-pinyin: un IME fonético chino avanzado para usuarios de Pinyin. Desarrollado por Huang Peng (autor principal de Ibus) y también con muchas características avanzadas tales como corrector ortográfico para el idioma inglés
  • ibus-table: un IME que aloja o acoge métodos de entrada basados en tablas. Vea detalles en #ibus-table.
  • ibus-unikey: un IME para introducción de caracteres en idioma vietnamita.

ibus-m17n

[editar]

El ibus-m17n es un IME que utiliza métodos de entrada e iconos correspondientes en la base de datos m17n. A diferencia de la ibus-table, que admite tablas planas, los métodos de entrada m17n también admiten estados, cuyas etiquetas se muestran en el panel IBus (barra de idiomas). Los métodos de entrada M17n también soportan el texto circundante, por lo tanto, lenguajes como el idioma tailandés y varios IM como el Zuyin plano que requieren esta característica son soportados a través de ibus-m17n.

ibus-table

[editar]

El ibus-table, desarrollado por Yu Wei Yu, es un IME que carga tablas de métodos de entrada que no necesitan una lógica complicada para seleccionar palabras.[10]​ Muchos métodos de entrada chinos basados en estructuras como Cangjie y Wubi son soportados de esta manera.

Tablas del MI publicadas oficialmente:[11]

  • latex: Introduce caracteres especiales usando la sintaxis LaTeX. Incluido en el paquete ibus-table.
  • compose: introducción de caracteres por medio de una letra especial y un signo diacrítico. Incluido en el paquete ibus-table.
  • Array30: tablas IM chinas.
  • Cangjie: tablas IM chinas para Cangjie 3 y Cangjie 5.
  • Erbi: tabla IM china Er-bi.
  • Wubi: tabla IM china para Wubi.
  • Yong: tabla IM china para YongMa.
  • ZhengMa: tabla IM china para método Zhenga.

Véase también

[editar]

Referencias

[editar]
  1. Goto, Shizuo; Miura, Hiroshi (12 de septiembre de 2007). «Draft recommendation of Information Technology - the Specification of IM engine Service Provider Interface» (pdf). NEA OSS PF Org. (en inglés). Archivado desde el original el 9 de agosto de 2018. Consultado el 26 de octubre de 2019. 
  2. «WG3 (Activities and Result)» (html). NEA OSS Forum (en inglés). Archivado desde el original el 8 de marzo de 2012. Consultado el 26 de octubre de 2019. 
  3. PHua, Ming (13 de agosto de 2004), «[Pkg-ime-devel] SCIM ABI transition in sid», lista de correo Pkg-ime-devel, https://alioth-lists-archive.debian.net/pipermail/pkg-ime-devel/2005-August/000276.html, consultado el 26 de octubre de 2019. 
  4. «Releases/11/FeatureList» (html). Fedora (en inglés). 8 de abril de 2009. Archivado desde el original el 8 de abril de 2009. Consultado el 26 de octubre de 2019. «A new default input method framework under active development which is designed to overcome the limitations of SCIM.» 
  5. «KarmicKoala/TechnicalOverview - Ubuntu Wiki» (html). Ubuntu (en inglés). 28 de octubre de 2009. Archivado desde el original el 21 de noviembre de 2011. Consultado el 26 de octubre de 2019. «Ubuntu has switched to IBus as preferred input method framework. Unlike the previously used SCIM, IBus is under active development and fixes a number of SCIM's design limitations.» 
  6. «About IBus - International Language Environments Guide for Oracle® Solaris 11.2» (html). Oracle Corporation (en inglés). Archivado desde el original el 17 de mayo de 2019. Consultado el 26 de octubre de 2019. 
  7. «Debian -- Details of package ibus-cangjie in sid» (html). Debian (en inglés). Archivado desde el original el 26 de octubre de 2019. Consultado el 26 de octubre de 2019. 
  8. «libzhuyin/ibus-libzhuyin: New Zhuyin engine based on libzhuyin for IBus» (html). GitHub (en inglés). 7 de mayo de 2019. Archivado desde el original el 26 de octubre de 2019. Consultado el 26 de octubre de 2019. 
  9. «Mozc - a Japanese Input Method Editor designed for multi-platform» (html). GitHub (en inglés). 25 de febrero de 2018. Archivado desde el original el 26 de septiembre de 2019. Consultado el 26 de octubre de 2019. «Mozc is a Japanese Input Method Editor (IME) designed for multi-platform such as Android OS, Apple OS X, Chromium OS, GNU/Linux and Microsoft Windows. This OpenSource project originates from Google Japanese Input.» 
  10. «ibus - TableReadme.wiki» (html). Google Code (en inglés). Archivado desde el original el 6 de septiembre de 2017. Consultado el 26 de octubre de 2019. «IBus-Table is the IM Engine framework for table-based input methods, such as ZhengMa, WuBi, ErBi, CangJie and so on.» 
  11. «ibus Google Code Archive - Long-term storage for Google Code Project Hosting» (html). Google Code (en inglés). 16 de enero de 2014. Archivado desde el original el 5 de enero de 2017. Consultado el 26 de octubre de 2019. 

Enlaces externos

[editar]