Intelligent Input Bus (IBus, đọc là I-Bus) một nền tảng hỗ trợ các phương thức nhập liệu, hay còn gọi là bộ gõ, cho các hệ điều hành tương tự Unix. Tên "Bus" của nó đến từ kiến trúc tương tự bus của nó.

IBus
Thiết kế bởiPeng Huang
Phát triển bởiPeng Huang
Phát hành lần đầutháng 8 năm 2008; 15 năm trước (2008-08)
Phiên bản ổn định
1.5.12 / 18 tháng 1 năm 2016; 8 năm trước (2016-01-18)[1]
Kho mã nguồn
Viết bằngC, Python
Hệ điều hànhTương tự Unix
Ngôn ngữ có sẵnĐa ngôn ngữ
Thể loạiBộ gõ
Giấy phépGNU LGPL v2 hoặc mới hơn
Websitegithub.com/ibus/ibus
Trạng tháiĐang phát triển

Mục tiêu sửa

Mục tiêu chính của IBus bao gồm:

  • Cung cấp phương thức nhập liệu đầy đủ và thân thiện với người dùng.
  • Sử dụng giải pháp xác thực để cải thiện an ninh
  • Cung cấp một giao diện và thư viện phổ quát cho các nhàn phát triển.
  • Phù hợp với nhu cầu của người dùng từ các khu vực và phong khác nhau

Động lực sửa

Dự thảo Specification of IM engine Service Provider Interface[2] tài liệu từ Northeast Asia OSS Forum[3] Work Group 3 đề nghị kiến trúc nền tảng bus-centric IM với một bus thêm vào (tương tự như dbus). Theo các đặc điểm kỹ thuật, SCIM-1.4 được xem là không thích hợp thêm,trong khi nó lại được viết bằng c++ thường gây ra các vấn đề chuyển đổi ABI.[4]

Kể từ đó, các dự án thành công như IM-BUS (bởi James Su) và SCIM-2 (bởi Zheng Hu) được khởi động. Tuy nhiên cả hai dự án bị ngừng. Do đó, Huang Peng từ Red Hat thành lập dự án IBus để chứng minh ý tưởng của IM-BUS bằng cách dùng Python, D-BusGLib hơn là thực hiện theo các khuyến cáo của diễn đàn CJK OSS. Mặc dù vậy IBus đã nhận được sự chấp thuận của cộng đồng, và FreeBSD cùng nhiều bản phân phối Linux khác như FedoraUbuntu đã đưa IBus vào kho phần mềm của họ. IBus trở thành bộ gõ mặc định mới trên Fedora 11,[5] và thay thế SCIM trên Ubuntu 9.10.

Kiến trúc sửa

IBus được viết bằng CPython, như vậy tránh được các vấn đề chuyển đổi C++ ABI của SCIM <1.4.14.

IBus cung cấp hầu hết các chức năng của nó thông qua các services. Có ba loại services:

  • Input method engine (IME): Bộ gõ hiện thời
  • Configuration: Xử lý các cấu hình cho IBUS và các dịch vụ khác như IME.
  • Panel: Giao diện người dùng như thanh ngôn ngữ và bảng lựa chọn bộ gõ

IBus dùng D-Bus để liên lạc giữa các ibus-daemon, services, và IM clients chẳng hạn như giả lập thiết bị đầu cuối, trình soạn thảo và các trình duyệt web. ibus-daemon quản lý tất cả clients và services bằng cách nhận đăng ký từ các services, và gửi các tin nhắn qua D-Bus tới các services và IM client.

Nó triển khai các giao thức XIM, và có các modules bộ gõ GTK+Qt.

Tính năng sửa

  • Engine loading/unloading theo yêu cầu.
  • Hỗ trợ Systray.
  • Làm việc với XKB.
  • Áp dụng các thay đổi cấu hình ngay lập tức.[cần dẫn nguồn]
  • Cung cấp các ràng buộc C và Python.

Các plugins và engines bộ gõ có sẵn sửa

  • ibus-anthy: Một plugin cho Anthy, một IME tiếng Nhật.
  • ibus-cangjie Lưu trữ 2013-05-17 tại Wayback Machine: một engine cho bộ gõ Cangjie.
  • ibus-chewing: một Chinese Phonetic IME cho người dùng Zhuyin. Nó dựa trên liTCN hewing.
  • ibus-hangul: Một IME tiếng Triều Tiên.
  • ibus-m17n: Một IMEm 17n cho phép nhập liệu đa ngôn ngữ từ bộ gõ m17n-db.
  • ibus-mozc: Một plugin cho IME tiếng Nhật "mozc" phát triển bởi Google.
  • ibus-pinyin: Một Chinese Phonetic IME cho người dùng Hanyu pinyin. Thiết kế bới Huang Peng (tác giả chính của IBus) và có nhiều tính năng tiên tiến như kiểm tra chính tả tiếng Anh.
  • ibus-libpinyin: Một IME tiếng Hán mới hơn cho người dùng Pinyin. Thiết kế bởi Huang Peng và Peng Wu.
  • ibus-table:
  • ibus-unikey: Một IME cho gõ các ký tự tiếng Việt.

Xem thêm sửa

Chú thích sửa

  1. ^ Fujiwara, Takao (ngày 18 tháng 1 năm 2016). “Release 1.5.12”. Truy cập ngày 20 tháng 1 năm 2016.
  2. ^ “Specification of IM engine Service Provider Interface” (PDF). Bản gốc (PDF) lưu trữ ngày 9 tháng 8 năm 2018. Truy cập ngày 31 tháng 12 năm 2016.
  3. ^ Northeast Asia Open Source Software Forum
  4. ^ SCIM ABI transition in sid
  5. ^ Fedora 11 Feature List

Liên kết ngoài sửa