<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=IBus</id>
	<title>IBus - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=IBus"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=IBus&amp;action=history"/>
	<updated>2026-07-12T20:22:14Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=IBus&amp;diff=540968&amp;oldid=prev</id>
		<title>imported&gt;Adachan06：​/* 特點 */ 修正失效錨點</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=IBus&amp;diff=540968&amp;oldid=prev"/>
		<updated>2025-09-26T04:27:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;特點：​&lt;/span&gt; 修正失效錨點&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Veil|time=2015-09-12T10:54:56+00:00}}&lt;br /&gt;
{{expert|time=2014-09-30T11:16:34+00:00}}&lt;br /&gt;
{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
|G2=FL&lt;br /&gt;
|1=zh-hans:支持; zh-hant:支援;&lt;br /&gt;
|2=zh-hans:模块; zh-hant:模組;&lt;br /&gt;
|3=zh-hant:使用者; zh-hans:用户;&lt;br /&gt;
|4=zh-hans:总线;zh-hant:匯流排&lt;br /&gt;
}}&lt;br /&gt;
{{lowercase}}&lt;br /&gt;
{{infobox software&lt;br /&gt;
| name                   = IBus&lt;br /&gt;
| logo                   = &lt;br /&gt;
| screenshot             = Ibus-pinyin.png&lt;br /&gt;
| screenshot size        = 300px&lt;br /&gt;
| caption                = Intelligent Input Bus (IBus)&lt;br /&gt;
| developer              = 黃鵬&lt;br /&gt;
| released               = {{start date|2008|08|10}}&lt;br /&gt;
| latest release version = 1.5.27&lt;br /&gt;
| latest release date    = {{release date and age|mf=yes|2022|08|22}}&lt;br /&gt;
| programming language   = [[C語言|C]], [[Python]]&lt;br /&gt;
| operating_system       = [[Unix-like]]&lt;br /&gt;
| language               = [[多語]]&lt;br /&gt;
| status                 = 支援中&lt;br /&gt;
| genre                  = [[輸入法]]&lt;br /&gt;
| license                = [[GNU宽通用公共许可证]] v2&lt;br /&gt;
| website                = [https://github.com/ibus/ibus/wiki IBus 專案頁面]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{IME&lt;br /&gt;
  |黃鵬&lt;br /&gt;
  |2008年8月10日&lt;br /&gt;
  |拼音&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Intelligent Input Bus&amp;#039;&amp;#039;&amp;#039;，簡稱&amp;#039;&amp;#039;&amp;#039;IBus&amp;#039;&amp;#039;&amp;#039;，是 [[Unix-like]] [[作業系統]]下的[[多語]][[輸入法]]平台。因為它採用了[[匯流排|匯流排]]（Bus）式的架構，所以命名為Bus。&lt;br /&gt;
&lt;br /&gt;
== 目標 ==&lt;br /&gt;
IBus 的主要目標如下：&lt;br /&gt;
* 易用、直覺的全功能[[輸入法]][[使用者介面]]&lt;br /&gt;
* 使用驗證方法加強安全性&lt;br /&gt;
* 為輸入法開發者提供一個統一的[[介面]]及[[函式庫]]&lt;br /&gt;
* 符合來自不同地域，文化的使用者需求&lt;br /&gt;
&lt;br /&gt;
== 開發動機 ==&lt;br /&gt;
在東北亞[[開源軟體]]（OSS）論壇第3工作小組&amp;lt;ref&amp;gt;[http://www.neaossforum.org Northeast Asia Open Source Software Forum] {{Wayback|url=http://www.neaossforum.org/ |date=20090520011956 }}.&amp;lt;/ref&amp;gt;提出的「輸入法引擎服務提供者界面規格」（Specification of IM engine Service Provider Interface）草案裡&amp;lt;ref&amp;gt;[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 }}.&amp;lt;/ref&amp;gt;，能實現以Bus為核心的架構被建議採用。[[SCIM]]-1.4 的架構並不被看好，因為它是用C++開發的，因此常常會有C++[[應用二進位介面]]不符合的情況發生&amp;lt;ref&amp;gt;[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 }}.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
從那時起，一些人開始著手開發下一代的輸入法平台，像是蘇哲領導的[[IM-Bus]]，以及胡正的[[SCIM-2]]，可惜的是它們的開發進度仍然停滯不前。因此，時任[[紅帽]]（現任[[谷歌]]）的黃鵬開始用[[Python]]開發IBus以實現 IM-Bus提出的構想。IBus 並不完全實現東北亞OSS論壇所建議的函式，而是採用[[D-Bus]]及[[Glib]]來實做。儘管如此，IBus已經開始被OSS社群所接受，[[FreeBSD]]以及各大[[Linux發行版]] 如[[Fedora (作業系統)|Fedora]]、[[Ubuntu]]已經將 IBus 納入其套件庫裡。在 Fedora 11 裡，IBus已經成為預設的多語輸入平台&amp;lt;ref&amp;gt;[http://fedoraproject.org/wiki/Releases/11/FeatureList Fedora 11 Feature List] {{Wayback|url=http://fedoraproject.org/wiki/Releases/11/FeatureList |date=20090408004458 }}.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 系統架構 ==&lt;br /&gt;
IBus 是用 C 及 Python 開發的，如此可以避免 C++ ABI transition 問題。IBus主要透過下列三種服務(Service)來提供功能：&lt;br /&gt;
* 輸入法引擎服務：為輸入法本身。&lt;br /&gt;
* 配置服務：管理IBus以及輸入法的設定選項。&lt;br /&gt;
* 控制面板服務：提供諸如語言條，候選字選單等使用者介面。&lt;br /&gt;
&lt;br /&gt;
IBus 使用[[D-Bus]]作 ibus-daemon服務，以及 IM客戶端（像是konsole, gedit, firefox)之間的溝通。&lt;br /&gt;
ibus-daemon 透過接受服務登錄，以及發送D-Bus訊息來管理服務及IM客戶端。&lt;br /&gt;
&lt;br /&gt;
IBus支援 [[XIM]] 協議及 Gtk IM 模組以及 [[Qt]] IM 模組。&lt;br /&gt;
&lt;br /&gt;
== 特點 ==&lt;br /&gt;
* 輸入法引擎可以隨時載入與卸載&lt;br /&gt;
* [[任务栏#Microsoft Windows|Systray]] 支援&lt;br /&gt;
* {{link-en|XKB|X keyboard extension}} 支援&lt;br /&gt;
* 配置選項更動可即時生效。&lt;br /&gt;
* 提供 C 與 Python 的介面&lt;br /&gt;
&lt;br /&gt;
== 現有輸入法引擎列表 ==&lt;br /&gt;
* ibus-anthy: [[日文輸入法]]。&lt;br /&gt;
* ibus-array: [[行列輸入法]]&lt;br /&gt;
* ibus-bopomofo: 使用注音符號的拼音輸入法，基於ibus-pinyin引擎開發&amp;lt;ref&amp;gt;{{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 }}&amp;lt;/ref&amp;gt;，但輸入方式與一般標準智慧形[[注音輸入法]]（如[[新酷音輸入法]]或微軟新注音）不同。&lt;br /&gt;
* ibus-chewing: [[新酷音輸入法]]，智慧形[[注音輸入法]]。&lt;br /&gt;
* ibus-hangul: 韓文輸入法。&lt;br /&gt;
* ibus-kkc：日文假名漢字轉換輸入法。&lt;br /&gt;
* ibus-m17n: 使用m17n-db的多語輸入法，細節請參閱 [[#ibus-m17n]]。&lt;br /&gt;
* ibus-pinyin: [[拼音輸入法]]，為IBus主要開發者所開發。&lt;br /&gt;
* ibus-libpinyin: 是 Red Hat 工程師主導、基於 n-gram 語言模型的整合性泛拼音輸入法引擎。&lt;br /&gt;
* ibus-libzhuyin: 與 ibus-libpinyin 系出同源，支援注音符號輸入，名為「新注音」(New Zhuyin) 輸入法，是智慧形的[[注音輸入法]]。&lt;br /&gt;
* ibus-table: 碼表輸入引擎，細節請參閱 [[#ibus-table]]。&lt;br /&gt;
* ibus-googlepinyin: Google拼音输入法的ibus版本（这个并不是官方的Google输入法，而是由爱好者从Android项目上迁移过来）&lt;br /&gt;
&lt;br /&gt;
=== ibus-m17n ===&lt;br /&gt;
ibus-m17n 利用m17n 架構下的輸入法及相對應的圖示來達成多語輸入。由於m17n架構支援上下文(surrounding text)以及輸入狀態(state)。像是泰文輸入法或是其他需要狀態的輸入法就由ibus-m17n來支援。輸入法狀態會顯示在 IBus panel (語言條)上。&lt;br /&gt;
&lt;br /&gt;
=== ibus-table ===&lt;br /&gt;
ibus-table 為余鈺煒所開發，針對查表型輸入法所設計的碼表輸入引擎。許多輸入法，不需要像是 ibus-chewing 或是 ibus-pinyin 之類的複雜選字演算法，只需要一個對照表即可運作&amp;lt;ref&amp;gt;{{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 }}&amp;lt;/ref&amp;gt;。許多[[字形輸入法]]像是倉頡輸入法及五筆輸入法都由 ibus-table 所支援。&lt;br /&gt;
&lt;br /&gt;
[[File:IBus Ubuntu 12.04.1 LTS CHT.png|thumb|200px|right|在Ubuntu 12.04.1 LTS使用IBus 1.4.1（倉頡第五代）及其偏好設定]]&lt;br /&gt;
&lt;br /&gt;
官方釋出的碼表&amp;lt;ref&amp;gt;{{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 }}&amp;lt;/ref&amp;gt;:&lt;br /&gt;
* latex: 使用 latex 語法來輸入特殊符號，ibus-table 自帶&lt;br /&gt;
* compose: 使用 compose letter 及 diacritical mark 來輸入特殊字元，ibus-table 自帶。&lt;br /&gt;
* Array30: [[行列輸入法|行列30輸入法]]。&lt;br /&gt;
* Cangjie: [[倉頡輸入法|倉頡]]及速成、三代及五代。&lt;br /&gt;
* Erbi: [[二筆輸入法]]。&lt;br /&gt;
* Wubi: [[五筆輸入法]]。&lt;br /&gt;
* Yong: [[永碼輸入法]]。&lt;br /&gt;
* ZhengMa: [[鄭碼輸入法]]。&lt;br /&gt;
&lt;br /&gt;
{{hideh|一些table.py手動修改}}&lt;br /&gt;
1.可選字由預設的1頁6個換成主流的1頁9個&lt;br /&gt;
尋找 &amp;lt;code&amp;gt;_page_size = 6&amp;lt;/code&amp;gt;&lt;br /&gt;
修改為&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
        _page_size = 9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
2.空白鍵跳下一頁選字&lt;br /&gt;
尋找 &amp;lt;code&amp;gt;elif key.code == keysyms.space:&amp;lt;/code&amp;gt;&lt;br /&gt;
將下面的&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
        o_py = self._editor._py_mode&lt;br /&gt;
        sp_res = self._editor.space ()&lt;br /&gt;
        #return (KeyProcessResult,whethercommit,commitstring)&lt;br /&gt;
        if sp_res[0]:&lt;br /&gt;
          self.commit_string (sp_res[1])&lt;br /&gt;
         #self.add_string_len(sp_res[1])&lt;br /&gt;
          self.db.check_phrase (sp_res[1], sp_res[2])&lt;br /&gt;
        else:&lt;br /&gt;
          if sp_res[1] == u&amp;#039; &amp;#039;:&lt;br /&gt;
        self.commit_string (cond_letter_translate (u&amp;quot; &amp;quot;))&lt;br /&gt;
        if o_py != self._editor._py_mode:&lt;br /&gt;
          self._refresh_properties ()&lt;br /&gt;
        self._update_ui ()&lt;br /&gt;
        return True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
換成&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
        res = self._editor.page_down()&lt;br /&gt;
        self._update_lookup_table ()&lt;br /&gt;
        return res&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.backspace鍵 跳上一頁選字&lt;br /&gt;
尋找&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
        elif key.code == keysyms.BackSpace:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
將下面的&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
          res = self._editor.backspace ()&lt;br /&gt;
          self._update_ui ()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
取代為&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
          res = self._editor.page_up ()&lt;br /&gt;
          self._update_lookup_table ()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4.單一個碼空白鍵自動選字,數字鍵區選字&lt;br /&gt;
尋找&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
        if key.mask &amp;amp; modifier.RELEASE_MASK:&lt;br /&gt;
          return True&lt;br /&gt;
        if self._editor.is_empty ():&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
於&amp;lt;code&amp;gt; return True &amp;lt;/code&amp;gt;與 &amp;lt;code&amp;gt;if self._editor.is_empty (): &amp;lt;/code&amp;gt;之間&lt;br /&gt;
新增&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
        if key.code&amp;gt;=65457 and key.code&amp;lt;=65465 :&lt;br /&gt;
          key.code-=65408&lt;br /&gt;
        elif key.code == keysyms.space and len(self._editor._chars[0])==1:&lt;br /&gt;
          key.code=keysyms._1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{hidef}}&lt;br /&gt;
&lt;br /&gt;
==缺陷==&lt;br /&gt;
*由於讀取[[SQLite]]詞庫時有大量的IO操作，ibus-pinyin在系統高負載時輸入時有卡住的現象。&lt;br /&gt;
*当用户在火狐浏览器文本框输入文字并希望选中文字时，文字将会自动删除&amp;lt;ref&amp;gt;{{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 }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 參閱 ==&lt;br /&gt;
* [[输入法]]&lt;br /&gt;
* [[Unix輸入法列表]]&lt;br /&gt;
* [[SCIM]]&lt;br /&gt;
* {{le|uim}}&lt;br /&gt;
* [[Fcitx]]&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
{{reflist|2}}&lt;br /&gt;
*[https://books.google.com.tw/books?id=daOrAAAAQBAJ&amp;amp;pg=SA3-PA58&amp;amp;dq=SCIM&amp;amp;hl=zh-TW&amp;amp;sa=X&amp;amp;ei=zd4xVYOXLYbimAXaxICQCA&amp;amp;ved=0CFEQ6AEwBg#v=onepage&amp;amp;q=iBus&amp;amp;f=false Linux進化特區：Ubuntu 12.04 從入門到精通]{{Wayback|url=https://books.google.com.tw/books?id=daOrAAAAQBAJ&amp;amp;pg=SA3-PA58&amp;amp;dq=SCIM&amp;amp;hl=zh-TW&amp;amp;sa=X&amp;amp;ei=zd4xVYOXLYbimAXaxICQCA&amp;amp;ved=0CFEQ6AEwBg#v=onepage&amp;amp;q=iBus&amp;amp;f=false |date=20150418100359 }}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
* [http://code.google.com/p/ibus/ IBus 首頁]{{Wayback|url=http://code.google.com/p/ibus/ |date=20110214164837 }}&lt;br /&gt;
* [http://github.com/phuang/ibus/tree/master IBus Git 源碼]{{Wayback|url=http://github.com/phuang/ibus/tree/master |date=20090502140051 }}&lt;br /&gt;
* [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]&lt;br /&gt;
&lt;br /&gt;
{{GNOME}}&lt;br /&gt;
[[Category:输入法]]&lt;br /&gt;
[[Category:中文輸入法平台]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Adachan06</name></author>
	</entry>
</feed>