อ่าน 5 นาที
บัสอินพุตอัจฉริยะ
Intelligent Input Bus ( IBusอ่านว่า ไอ-บัส) เป็น เฟรมเวิร์ก วิธีการป้อนข้อมูล (IM) สำหรับ การป้อนข้อมูล หลายภาษาใน ระบบปฏิบัติการ ที่คล้าย Unixชื่อ "Bus" มาจากสถาปัตยกรรมที่คล้าย..
บัสอินพุตอัจฉริยะ
| ไอบัส | |
|---|---|
![]() | |
บัสอินพุตอัจฉริยะ (IBus) | |
| ผู้เขียนต้นฉบับ | เผิงหวง |
| นักพัฒนา | เผิงหวง |
| ปล่อย | สิงหาคม 2551 |
| เวอร์ชันเสถียร | 1.5.34 [ 1 ] |
| เขียนเป็น | ซี , ไพธอน |
| ระบบปฏิบัติการ | เหมือนยูนิก |
| มีจำหน่ายใน | พูดได้หลายภาษา |
| พิมพ์ | วิธีการป้อนข้อมูล |
| ใบอนุญาต | GNU LGPLเวอร์ชัน 2 หรือใหม่กว่า |
| เว็บไซต์ | github.com/ibus/ibus |
| ที่เก็บข้อมูล |
|
Intelligent Input Bus ( IBusอ่านว่า ไอ-บัส) เป็น เฟรมเวิร์ก วิธีการป้อนข้อมูล (IM) สำหรับ การป้อนข้อมูล หลายภาษาใน ระบบปฏิบัติการ ที่คล้าย Unixชื่อ "Bus" มาจากสถาปัตยกรรมที่คล้าย บัส
เป้าหมาย
เป้าหมายหลักของโครงการ IBus ประกอบด้วย:
- นำเสนออินเทอร์เฟซผู้ใช้ที่มีฟังก์ชันครบครันและใช้งานง่าย สำหรับวิธีการป้อนข้อมูล
- การใช้มาตรการตรวจสอบสิทธิ์เพื่อปรับปรุงความปลอดภัย
- จัดเตรียมอินเทอร์เฟซและไลบรารีสากลสำหรับนักพัฒนาวิธีการป้อนข้อมูล
- ตอบสนองความต้องการของผู้ใช้จากภูมิภาคและวัฒนธรรมที่แตกต่างกัน
แรงจูงใจ
เอกสาร ร่างข้อกำหนดอินเทอร์เฟซผู้ให้บริการเอ็นจิ้น IM [ 2 ]จากกลุ่มงานที่ 3 ของฟอรัม OSS เอเชียตะวันออกเฉียงเหนือ[ 3 ]แนะนำสถาปัตยกรรมเฟรมเวิร์ก IM ที่เน้นบัสด้วยการใช้งานบัส (คล้ายกับ dbus) ตามข้อกำหนดSCIM -1.4 ไม่ถือว่าเหมาะสมสำหรับการพัฒนาต่อไป เนื่องจากพัฒนาด้วยภาษา C++ ซึ่งมักก่อให้เกิดปัญหาการเปลี่ยนผ่านABI [ 4 ]
นับตั้งแต่นั้นมา โครงการที่ประสบความสำเร็จต่อมา เช่นIM-BUS (นำโดยJames Su ) และ SCIM-2 (นำโดยZheng Hu ) ก็ได้เริ่มต้นขึ้น อย่างไรก็ตาม ทั้งสองโครงการถูกระงับไป ดังนั้นHuang PengจากRed Hat จึง ได้ก่อตั้งโครงการ IBus ขึ้นเพื่อพิสูจน์แนวคิดของ IM-BUS โดยใช้ Python, D-BusและGLibแทนที่จะนำฟังก์ชันที่แนะนำโดยฟอรัม CJK OSS มาใช้ แม้จะเป็นเช่นนั้น IBus ก็ได้รับการยอมรับจากชุมชน และFreeBSDและระบบปฏิบัติการ Linux หลายตัว เช่นFedoraและUbuntuก็มี IBus อยู่ในคลังแพ็กเกจแล้ว ในปี 2009 IBus กลายเป็นเฟรมเวิร์กวิธีการป้อนข้อมูลเริ่มต้นใน Fedora 11 [ 5 ]และแทนที่ SCIM ใน Ubuntu 9.10 [ 6 ]
สถาปัตยกรรม
IBus พัฒนาขึ้นโดยใช้ภาษา CและPythonจึงหลีกเลี่ยงปัญหาการเปลี่ยนผ่านABI ของ C++ ใน SCIM เวอร์ชัน <1.4.14
IBus ให้บริการส่วนใหญ่ผ่านทางบริการต่างๆ ซึ่งมีอยู่ 3 ประเภท ได้แก่:
- เครื่องมือรับข้อมูล (IME): วิธีการป้อนข้อมูลจริง
- การกำหนดค่า: จัดการการกำหนดค่าสำหรับ IBus และบริการอื่นๆ เช่น IME
- แผงควบคุม: ส่วนติดต่อผู้ใช้ เช่น แถบเลือกภาษา และตารางเลือกผู้สมัคร
IBus ใช้D-Busในการสื่อสารระหว่าง ibus-daemon, บริการต่างๆ และไคลเอนต์ IM เช่น โปรแกรมจำลองเทอร์มินัล, โปรแกรมแก้ไขข้อความ และเว็บเบราว์เซอร์ ibus-daemon ทำหน้าที่จัดการไคลเอนต์และบริการทั้งหมด โดยรับการลงทะเบียนจากบริการต่างๆ และส่งข้อความ D-Bus ไปยังบริการและไคลเอนต์ IM ที่เกี่ยวข้อง
มันใช้ โปรโตคอล XIMและมีโมดูลวิธีการป้อนข้อมูล GTKและQt
คุณสมบัติ
- การขนถ่ายและบรรจุเครื่องยนต์ตามความต้องการ
- รองรับ การแสดงข้อความแจ้งเตือนบนแถบงาน
- ความสามารถในการทำงานร่วมกันกับXKB
- ปรับใช้การเปลี่ยนแปลงการกำหนดค่าทันที[ 7 ]
- มีส่วนเชื่อมต่อสำหรับภาษา C และ Python
ปลั๊กอินและกลไกวิธีการป้อนข้อมูลที่มีให้เลือก
- ibus-anthy: ปลั๊กอินสำหรับAnthyซึ่งเป็น IME ของญี่ปุ่น
- ibus-avro: รูปแบบแป้นพิมพ์เสียงสำหรับการเขียนภาษาเบงกาลีโดยอิงจากแป้นพิมพ์ Avro [ 8 ] [ 9 ] [ 10 ]
- ibus-cangjie: [ 11 ]เอ็นจิ้นสำหรับวิธีการป้อนข้อมูล Cangjie
- ibus-chewing: ระบบป้อนข้อความอัตโนมัติ (IME) อัจฉริยะสำหรับภาษาจีนตามหลักสัทศาสตร์ สำหรับผู้ ใช้ ZhùyīnโดยอิงจากlibChewing
- ibus-hangul: เครื่องมือประมวลผลข้อมูลแบบ IME ของเกาหลี
- ibus-libpinyin: ระบบป้อนคำสั่งภาษาจีนแบบใหม่สำหรับผู้ใช้พินอิน ออกแบบโดย Huang Peng และ Peng Wu
- ibus-libthai: ระบบป้อนข้อมูลภาษาไทยแบบ IME ที่พัฒนาบนพื้นฐานของ libthai
- ibus-libzhuyin: [ 12 ]เอ็นจิ้นสำหรับ วิธีการป้อนข้อมูล Zhùyīn ("bopomofo") (ทางเลือกอื่นแทน ibus-chewing)
- ibus-m17n: เครื่องมือป้อนข้อมูลแบบหลายภาษา (m17n) ที่อนุญาตให้ป้อนข้อมูลได้หลายภาษาโดยใช้วิธีการป้อนข้อมูลจาก m17n-db ดูรายละเอียดเพิ่มเติมได้ที่#ibus- m17n
- ibus-mozc: ปลั๊กอินสำหรับ IME ภาษาญี่ปุ่น "mozc" ที่พัฒนาโดย Google [ 13 ]
- ibus-pinyin: โปรแกรมป้อนคำภาษาจีนอัจฉริยะสำหรับ ผู้ใช้ ระบบพินอิน Hanyuออกแบบโดย Huang Peng (ผู้เขียนหลักของ IBus) และมีคุณสมบัติขั้นสูงมากมาย เช่น การตรวจสอบการสะกดคำภาษาอังกฤษ ปัจจุบันเลิกใช้งานและแทนที่ด้วย ibus-libpinyin (ดูด้านบน)
- ibus-table: IME ที่รองรับ IM แบบตาราง ดูรายละเอียดเพิ่มเติมได้ที่#ibus- table
- ibus-unikey: โปรแกรมป้อนข้อมูลสำหรับพิมพ์ตัวอักษรเวียดนามที่ยึดตามรูปแบบดั้งเดิมของระบบปฏิบัติการ Windows
- ibus-bamboo: โปรแกรมป้อนข้อมูลอัตโนมัติ (IME) สำหรับพิมพ์ตัวอักษรเวียดนาม พร้อมคุณสมบัติที่ได้รับการปรับปรุง เช่น การตรวจสอบการสะกดคำ โหมดการป้อนข้อมูลที่หลากหลาย และการระบุโทนเสียงขั้นสูง
- ibus-bambusa: เวอร์ชัน Rust ที่ได้รับการปรับแต่งอย่างมากจาก ibus-bamboo โดยเน้นการทำงานร่วมกับ GNOME เป็นหลัก
ibus-m17n
ibus-m17n เป็น IME ที่ใช้เมธอดการป้อนข้อมูลและไอคอนที่เกี่ยวข้องในฐานข้อมูลการรองรับหลายภาษา ซึ่งย่อเป็นตัวเลข ว่า "m17n" แตกต่างจาก ibus-table ที่รองรับเฉพาะตาราง เมธอดการป้อนข้อมูลของ m17n ยังรองรับสถานะต่างๆ ด้วย โดยป้ายกำกับของสถานะจะแสดงบนแผง IBus (แถบภาษา) นอกจากนี้ เมธอดการป้อนข้อมูลของ m17n ยังรองรับข้อความโดยรอบ ดังนั้น ภาษาต่างๆ เช่นภาษาไทยและ IME เช่นZhuyinที่ต้องการคุณสมบัตินี้ จึงได้รับการสนับสนุนผ่าน ibus-m17n เช่นเดียวกับพินอินที่มีเครื่องหมายกำกับเสียงวรรณยุกต์ ทั้งสี่
ตารางรถบัส
ibus-table ซึ่งพัฒนาโดย Yu Wei Yu เป็น IME ที่โหลดตารางของวิธีการป้อนข้อมูลซึ่งไม่จำเป็นต้องใช้ตรรกะที่ซับซ้อนในการเลือกคำ[ 14 ]วิธีการป้อนข้อมูลภาษาจีนตามโครงสร้างหลายวิธี เช่นCangjieและWubiได้รับการสนับสนุนด้วยวิธีนี้
ตาราง IM ที่เผยแพร่อย่างเป็นทางการ: [ 15 ]
- latex: ป้อนอักขระพิเศษโดยใช้ ไวยากรณ์ LaTeXรวมอยู่ในแพ็กเกจ ibus-table
- สร้าง: ป้อนตัวอักษรพิเศษโดยการสร้างตัวอักษรและเครื่องหมายกำกับเสียง รวมอยู่ในแพ็กเกจ ibus-table แล้ว
- Array30: ตาราง IM ภาษาจีนของ Array30
- Cangjie: Cangjie 3 และ 5 ตาราง IM ภาษาจีน
- เอ้อร์บี้: ตาราง IM ภาษาจีน เอ้อร์บี้
- Wubi: ตาราง IM ภาษาจีน Wubi
- หยง: ตาราง IM ภาษาจีนของหยงหม่า
- เจิ้งหม่า: ตาราง IM ภาษาจีนของเจิ้งหม่า
ดูเพิ่มเติม
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- การเปรียบเทียบเซิร์ฟเวอร์วิธีการป้อนภาษาจีนสำหรับระบบปฏิบัติการที่คล้าย Unix
- ตัวอย่างการใช้ IBus-Table เพื่อสร้าง IM ใหม่
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ บัสอินพุตอัจฉริยะ
Intelligent Input Bus ( IBusอ่านว่า ไอ-บัส) เป็น เฟรมเวิร์ก วิธีการป้อนข้อมูล (IM) สำหรับ การป้อนข้อมูล หลายภาษาใน ระบบปฏิบัติการ ที่คล้าย Unixชื่อ "Bus" มาจากสถาปัตยกรรมที่คล้าย..
แรงจูงใจ
เอกสาร ร่าง ข้อกำหนดอินเทอร์เฟซผู้ให้บริการเอ็นจิ้น IM [ 2 ] จากกลุ่มงานที่ 3 ของฟอรัม OSS เอเชียตะวันออกเฉียงเหนือ [ 3 ] แนะนำสถาปัตยกรรมเฟรมเวิร์ก IM ที่เน้นบัสด้วยการใช้งานบัส (คล้ายกับ dbus) ตามข้อกำหนด SCIM -1.
สถาปัตยกรรม
IBus พัฒนาขึ้นโดยใช้ ภาษา C และ Python จึงหลีกเลี่ยงปัญหาการเปลี่ยนผ่าน ABI ของ C++ ใน SCIM เวอร์ชัน <1.4.14
คุณสมบัติ
การขนถ่ายและบรรจุเครื่องยนต์ตามความต้องการ รองรับ การแสดงข้อความแจ้งเตือน บนแถบงาน ความสามารถในการทำงานร่วมกันกับ XKB ปรับใช้การเปลี่ยนแปลงการกำหนดค่าทันที [ 7 ] มีส่วนเชื่อมต่อสำหรับภาษา C และ Python
