编辑“︁
IBus
”︁
跳转到导航
跳转到搜索
Template:Editnotice load/content
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{Veil|time=2015-09-12T10:54:56+00:00}} {{expert|time=2014-09-30T11:16:34+00:00}} {{noteTA |G1=IT |G2=FL |1=zh-hans:支持; zh-hant:支援; |2=zh-hans:模块; zh-hant:模組; |3=zh-hant:使用者; zh-hans:用户; |4=zh-hans:总线;zh-hant:匯流排 }} {{lowercase}} {{infobox software | name = IBus | logo = | screenshot = Ibus-pinyin.png | screenshot size = 300px | caption = Intelligent Input Bus (IBus) | developer = 黃鵬 | released = {{start date|2008|08|10}} | latest release version = 1.5.27 | latest release date = {{release date and age|mf=yes|2022|08|22}} | programming language = [[C語言|C]], [[Python]] | operating_system = [[Unix-like]] | language = [[多語]] | status = 支援中 | genre = [[輸入法]] | license = [[GNU宽通用公共许可证]] v2 | website = [https://github.com/ibus/ibus/wiki IBus 專案頁面] }} {{IME |黃鵬 |2008年8月10日 |拼音 }} '''Intelligent Input Bus''',簡稱'''IBus''',是 [[Unix-like]] [[作業系統]]下的[[多語]][[輸入法]]平台。因為它採用了[[匯流排|匯流排]](Bus)式的架構,所以命名為Bus。 == 目標 == IBus 的主要目標如下: * 易用、直覺的全功能[[輸入法]][[使用者介面]] * 使用驗證方法加強安全性 * 為輸入法開發者提供一個統一的[[介面]]及[[函式庫]] * 符合來自不同地域,文化的使用者需求 == 開發動機 == 在東北亞[[開源軟體]](OSS)論壇第3工作小組<ref>[http://www.neaossforum.org Northeast Asia Open Source Software Forum] {{Wayback|url=http://www.neaossforum.org/ |date=20090520011956 }}.</ref>提出的「輸入法引擎服務提供者界面規格」(Specification of IM engine Service Provider Interface)草案裡<ref>[http://www.neaossforum.org/menu02_3_1.php Specification of IM engine Service Provider Interface] {{Wayback|url=http://www.neaossforum.org/menu02_3_1.php |date=20110311125504 }}.</ref>,能實現以Bus為核心的架構被建議採用。[[SCIM]]-1.4 的架構並不被看好,因為它是用C++開發的,因此常常會有C++[[應用二進位介面]]不符合的情況發生<ref>[http://lists.alioth.debian.org/pipermail/pkg-ime-devel/2005-August/000276.html SCIM ABI transition in sid] {{Wayback|url=http://lists.alioth.debian.org/pipermail/pkg-ime-devel/2005-August/000276.html |date=20090629180906 }}.</ref>。 從那時起,一些人開始著手開發下一代的輸入法平台,像是蘇哲領導的[[IM-Bus]],以及胡正的[[SCIM-2]],可惜的是它們的開發進度仍然停滯不前。因此,時任[[紅帽]](現任[[谷歌]])的黃鵬開始用[[Python]]開發IBus以實現 IM-Bus提出的構想。IBus 並不完全實現東北亞OSS論壇所建議的函式,而是採用[[D-Bus]]及[[Glib]]來實做。儘管如此,IBus已經開始被OSS社群所接受,[[FreeBSD]]以及各大[[Linux發行版]] 如[[Fedora (作業系統)|Fedora]]、[[Ubuntu]]已經將 IBus 納入其套件庫裡。在 Fedora 11 裡,IBus已經成為預設的多語輸入平台<ref>[http://fedoraproject.org/wiki/Releases/11/FeatureList Fedora 11 Feature List] {{Wayback|url=http://fedoraproject.org/wiki/Releases/11/FeatureList |date=20090408004458 }}.</ref>。 == 系統架構 == IBus 是用 C 及 Python 開發的,如此可以避免 C++ ABI transition 問題。IBus主要透過下列三種服務(Service)來提供功能: * 輸入法引擎服務:為輸入法本身。 * 配置服務:管理IBus以及輸入法的設定選項。 * 控制面板服務:提供諸如語言條,候選字選單等使用者介面。 IBus 使用[[D-Bus]]作 ibus-daemon服務,以及 IM客戶端(像是konsole, gedit, firefox)之間的溝通。 ibus-daemon 透過接受服務登錄,以及發送D-Bus訊息來管理服務及IM客戶端。 IBus支援 [[XIM]] 協議及 Gtk IM 模組以及 [[Qt]] IM 模組。 == 特點 == * 輸入法引擎可以隨時載入與卸載 * [[任务栏#Microsoft Windows|Systray]] 支援 * {{link-en|XKB|X keyboard extension}} 支援 * 配置選項更動可即時生效。 * 提供 C 與 Python 的介面 == 現有輸入法引擎列表 == * ibus-anthy: [[日文輸入法]]。 * ibus-array: [[行列輸入法]] * ibus-bopomofo: 使用注音符號的拼音輸入法,基於ibus-pinyin引擎開發<ref>{{Cite web |url=http://www.byvoid.com/blog/ibus-pinyin-bopomofo-preview/ |title=存档副本 |accessdate=2010-11-06 |archive-date=2010-12-24 |archive-url=https://web.archive.org/web/20101224052736/http://www.byvoid.com/blog/ibus-pinyin-bopomofo-preview/ |dead-url=no }}</ref>,但輸入方式與一般標準智慧形[[注音輸入法]](如[[新酷音輸入法]]或微軟新注音)不同。 * ibus-chewing: [[新酷音輸入法]],智慧形[[注音輸入法]]。 * ibus-hangul: 韓文輸入法。 * ibus-kkc:日文假名漢字轉換輸入法。 * ibus-m17n: 使用m17n-db的多語輸入法,細節請參閱 [[#ibus-m17n]]。 * ibus-pinyin: [[拼音輸入法]],為IBus主要開發者所開發。 * ibus-libpinyin: 是 Red Hat 工程師主導、基於 n-gram 語言模型的整合性泛拼音輸入法引擎。 * ibus-libzhuyin: 與 ibus-libpinyin 系出同源,支援注音符號輸入,名為「新注音」(New Zhuyin) 輸入法,是智慧形的[[注音輸入法]]。 * ibus-table: 碼表輸入引擎,細節請參閱 [[#ibus-table]]。 * ibus-googlepinyin: Google拼音输入法的ibus版本(这个并不是官方的Google输入法,而是由爱好者从Android项目上迁移过来) === ibus-m17n === ibus-m17n 利用m17n 架構下的輸入法及相對應的圖示來達成多語輸入。由於m17n架構支援上下文(surrounding text)以及輸入狀態(state)。像是泰文輸入法或是其他需要狀態的輸入法就由ibus-m17n來支援。輸入法狀態會顯示在 IBus panel (語言條)上。 === ibus-table === ibus-table 為余鈺煒所開發,針對查表型輸入法所設計的碼表輸入引擎。許多輸入法,不需要像是 ibus-chewing 或是 ibus-pinyin 之類的複雜選字演算法,只需要一個對照表即可運作<ref>{{Cite web |url=http://code.google.com/p/ibus/wiki/TableReadme |title=ibus-table README (in Chinese and English) |accessdate=2009-05-12 |archive-date=2009-03-18 |archive-url=https://web.archive.org/web/20090318033541/http://code.google.com/p/ibus/wiki/TableReadme |dead-url=no }}</ref>。許多[[字形輸入法]]像是倉頡輸入法及五筆輸入法都由 ibus-table 所支援。 [[File:IBus Ubuntu 12.04.1 LTS CHT.png|thumb|200px|right|在Ubuntu 12.04.1 LTS使用IBus 1.4.1(倉頡第五代)及其偏好設定]] 官方釋出的碼表<ref>{{Cite web |url=http://code.google.com/p/ibus/downloads/list |title=IBus Google Downloads |accessdate=2009-05-12 |archive-date=2009-03-01 |archive-url=https://web.archive.org/web/20090301024921/http://code.google.com/p/ibus/downloads/list |dead-url=no }}</ref>: * latex: 使用 latex 語法來輸入特殊符號,ibus-table 自帶 * compose: 使用 compose letter 及 diacritical mark 來輸入特殊字元,ibus-table 自帶。 * Array30: [[行列輸入法|行列30輸入法]]。 * Cangjie: [[倉頡輸入法|倉頡]]及速成、三代及五代。 * Erbi: [[二筆輸入法]]。 * Wubi: [[五筆輸入法]]。 * Yong: [[永碼輸入法]]。 * ZhengMa: [[鄭碼輸入法]]。 {{hideh|一些table.py手動修改}} 1.可選字由預設的1頁6個換成主流的1頁9個 尋找 <code>_page_size = 6</code> 修改為 <syntaxhighlight lang="python"> _page_size = 9 </syntaxhighlight> 2.空白鍵跳下一頁選字 尋找 <code>elif key.code == keysyms.space:</code> 將下面的 <syntaxhighlight lang="python"> o_py = self._editor._py_mode sp_res = self._editor.space () #return (KeyProcessResult,whethercommit,commitstring) if sp_res[0]: self.commit_string (sp_res[1]) #self.add_string_len(sp_res[1]) self.db.check_phrase (sp_res[1], sp_res[2]) else: if sp_res[1] == u' ': self.commit_string (cond_letter_translate (u" ")) if o_py != self._editor._py_mode: self._refresh_properties () self._update_ui () return True </syntaxhighlight> 換成 <syntaxhighlight lang="python"> res = self._editor.page_down() self._update_lookup_table () return res </syntaxhighlight> 3.backspace鍵 跳上一頁選字 尋找<syntaxhighlight lang="python"> elif key.code == keysyms.BackSpace: </syntaxhighlight> 將下面的 <syntaxhighlight lang="python"> res = self._editor.backspace () self._update_ui () </syntaxhighlight> 取代為 <syntaxhighlight lang="python"> res = self._editor.page_up () self._update_lookup_table () </syntaxhighlight> 4.單一個碼空白鍵自動選字,數字鍵區選字 尋找 <syntaxhighlight lang="python"> if key.mask & modifier.RELEASE_MASK: return True if self._editor.is_empty (): </syntaxhighlight> 於<code> return True </code>與 <code>if self._editor.is_empty (): </code>之間 新增 <syntaxhighlight lang="python"> if key.code>=65457 and key.code<=65465 : key.code-=65408 elif key.code == keysyms.space and len(self._editor._chars[0])==1: key.code=keysyms._1 </syntaxhighlight> {{hidef}} ==缺陷== *由於讀取[[SQLite]]詞庫時有大量的IO操作,ibus-pinyin在系統高負載時輸入時有卡住的現象。 *当用户在火狐浏览器文本框输入文字并希望选中文字时,文字将会自动删除<ref>{{Cite web |url=http://askubuntu.com/questions/620454/when-chinese-ibus-input-is-on-selecting-text-on-firefox-textareas-makes-the-tex |title=When Chinese ibus input is on, selecting text on Firefox textareas makes the text disappear |accessdate=2015-05-13 |archive-date=2015-09-06 |archive-url=https://web.archive.org/web/20150906190437/http://askubuntu.com/questions/620454/when-chinese-ibus-input-is-on-selecting-text-on-firefox-textareas-makes-the-tex |dead-url=no }}</ref>。 == 參閱 == * [[输入法]] * [[Unix輸入法列表]] * [[SCIM]] * {{le|uim}} * [[Fcitx]] == 參考資料 == {{reflist|2}} *[https://books.google.com.tw/books?id=daOrAAAAQBAJ&pg=SA3-PA58&dq=SCIM&hl=zh-TW&sa=X&ei=zd4xVYOXLYbimAXaxICQCA&ved=0CFEQ6AEwBg#v=onepage&q=iBus&f=false Linux進化特區:Ubuntu 12.04 從入門到精通]{{Wayback|url=https://books.google.com.tw/books?id=daOrAAAAQBAJ&pg=SA3-PA58&dq=SCIM&hl=zh-TW&sa=X&ei=zd4xVYOXLYbimAXaxICQCA&ved=0CFEQ6AEwBg#v=onepage&q=iBus&f=false |date=20150418100359 }} ==外部链接== * [http://code.google.com/p/ibus/ IBus 首頁]{{Wayback|url=http://code.google.com/p/ibus/ |date=20110214164837 }} * [http://github.com/phuang/ibus/tree/master IBus Git 源碼]{{Wayback|url=http://github.com/phuang/ibus/tree/master |date=20090502140051 }} * [https://web.archive.org/web/20080703182433/http://cle.linux.org.tw/trac/wiki/GcinImCompare Comparison of Chinese Input Method Servers for Unix-like Operating Systems] {{GNOME}} [[Category:输入法]] [[Category:中文輸入法平台]]
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息