IBus 全称 Intelligent Input Bus是下一代输入法框架(或者说“平台”)。 项目现托管于 Google Code - https://code.google.com/p/ibus/ 此项目包含了世界多数语言的文字输入需求——由世界多个国家开发者维护。
目录[隐藏]
|
IBus是一个框架,支持多种输入法。
在终端输入:
sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4
在终端输入:
im-switch -s ibus
重新启动X(也可以重启电脑)
在终端输入:
sudo apt-get install ibus-pinyin
设置ibus-pinyin,在终端输入:
/usr/lib/ibus-pinyin/ibus-setup-pinyin
安装sunpinyin模块,在终端输入:
sudo apt-get install ibus-sunpinyin
设置ibus-sunpinyin,在终端输入:
/usr/lib/ibus-sunpinyin/ibus-setup-sunpinyin
在终端输入:
sudo apt-get install ibus-table-wubi
在终端输入:
ibus-setup
在终端输入:
sudo apt-get install gnome-icon-theme
其他同上
在终端输入:
ibus-daemon -drx
安装 ibus-m17n 包即可。
sudo apt-get install ibus-m17n
这个软件包包含了几乎所有除了英语,中日韩等的其他输入法,如:阿拉伯语,阿姆哈拉语,阿萨姆语,阿萨帕斯坎诸语,奥杰布瓦语,白俄罗斯语,波斯 语,藏语,傣语,丹麦语,迪维希语,俄语,法语,梵语,高棉语,格鲁吉亚语,古典希腊语,古吉拉特语,哈萨克语,捷克语,卡纳达语,克里语,克罗地亚语, 克什米尔语,老挝语,马拉提语,马拉雅拉姆语,孟加拉语,缅甸语,尼泊尔语,旁遮普语,普什图语,日语,瑞典语,瑞典,塞尔维亚语,僧加罗语,世界语,斯 洛伐克语,四川彝族语,泰卢固语,泰米尔语,泰语,维吾尔语,乌兹别克语,乌尔都语,希伯来语,现代希腊语,信德语,亚美尼亚语,伊努伊特语,依地语,印 地语,越南,占语,朝鲜,latex输入特殊符号,input-pad等。
如果您使用的是 fcitx,请安装相应的包。
sudo apt-get install fcitx-m17n
安装好ibus后,在目录:/usr/share/下会有:
ibus,ibus-pinyin,ibus-table
三个文件夹.
其中ibus-table文件夹中用于存放五笔之类的输入法内容.其下
icons文件夹用于存放输入法显示的图片,
tables文件夹用于存放码表(db格式)(SQlite数据库)
我们可以使用ibus提供的工具把自己的码表和参数生成db文件
导入到ibus中,生成自己的输入法使用,
ibus提供了一个样本文件:template.txt
以便参考
其大概格式如下:
### 该码表文件必须按UTF-8格式编码保存 ### 注释行以### 开头而不是一个# ### 它起源于scim码表格式,所以你可以用scim-tables码表来修改 SCIM_Generic_Table_Phrase_Library_TEXT VERSION_1_0 ### 开始定义 BEGIN_DEFINITION ### License LICENSE = LGPL ### UUID用于标识该表以便于区分其他的表,你可以在终端中使用 ### uuidgen命令产生一个uuid给该表 UUID = c9851827-0abe-12ed-8db5-010b9d51ffed ### 版本号,但不要太长 ### For example the last modified date of this file. ### This number must be less than 2^32. ### Just make your table version-able SERIAL_NUMBER = 20090218 ### 输入法图标,可以是pygtk识别的图片格式,一般用png,svg格式 ### 该图标放在icons目录 ICON = ibus-table.svg ### 默认的表名,必填 NAME = Table ### 本地名,选添 NAME.zh_CN = 形码 NAME.zh_HK = 形碼 NAME.zh_TW = 形碼 ### 描述可填可不填 DESCRIPTION = This is a template engine table for IBus Table. ### 该码表支持的语言 ### 只用"zh_CN"则认为是zh_CN ### 但是如果是zh_CN,zh_HK或其他zh_XX则认为是zh ### and "en_US, zh_CN" will be just ignored. LANGUAGES = zh_CN,zh_SG,zh_TW,zh_HK ### 该表作者 AUTHOR = Z ZZ <[email protected]> ### 提示字符,它将被显示在状态栏中,CN会被“中”字代替 STATUS_PROMPT = CN ### 可输入的字符 VALID_INPUT_CHARS = abcdefghijklmnopqrstuvwxyz ### Layout LAYOUT = us ### 每个字或短语的最大输入长度 MAX_KEY_LENGTH = 4 ### 自动上屏功能默认关闭FALSE(TRUE打开) ### 有人说五笔不能自动上屏把这修改成TRUE就好了 AUTO_COMMIT = FALSE ### 标点符号 默认是全角格式 DEF_FULL_WIDTH_PUNCT = TRUE ### 全角字符默认关闭 DEF_FULL_WIDTH_LETTER = FALSE ### 是否允许用户定义词组短语,默认允许 ### 但你需要定义构词法则 ### 开启后使用该表时定义词组方法: ### 先输入词组中的每一个字,输完选字时用Ctrl+"数字键" 选取 ### 词组中的第一个字,然后输入词组中的第二个字, ### 输完选字时用Ctrl+"数字键" 选取 ### 直到输入该词组的最后一个字,输完后直接用数字键选则 ### 如此,这一词组便录入完闭,以后即可按后面定义的词组法则来输入该词 USER_CAN_DEFINE_PHRASE = TRUE ### 是否允许拼音模式,默认允许,该功能只是为中文设计 ### 如果你的输入法不是中文的可以关闭它(似乎没什么用??注音模式?反正我不会用) PINYIN_MODE = TRUE ### 字,词组,短语频率调节.默认允许 DYNAMIC_ADJUST = TRUE ### Some characters whose frequencies should be fix all the time, e.g. ### some punctuations ### NO_CHECK_CHARS = ### 用户自定义词组后该词输入规则 ### ce表示词组长度等于,例如ce2表示词组长度等于2, ### ca表示词组长度等于或大于, ### p21表示词组中第2个字的第一笔(对应的按键) ### 每一个规则用;号隔开 RULES = ce2:p11+p12+p21+p22;ce3:p11+p21+p22+p31;ca4:p11+p21+p31+p41 ### 以上规则表示,两字词按每字前2个键输入,3字词按1字1键2字1,2键,3字1键输入... END_DEFINITION ### 开始码表数据 ### 码表格式为:“输入建\t(制表符)字词\t(制表符)频率\n(换行)” ### From left to right, the 1st column are the input key combination that you ### entered via keyboard; the 2nd column are presented character or phrase of ### the key combination you want; the 3rd column are frequency of the character ### or phrase. BEGIN_TABLE input_keys aim_chars freq input_keys aim_chars freq input_keys aim_chars freq END_TABlE ### 有些输入法对词组中的字使用不同的码表,例如郑码,它需要定义guocima ### 如果你不许要请把下面的注释掉 ### Since some input methods use different table for every character to make ### phrase, such as ZhengMa, they need explict define the goucima (the ### phrase-building code for the given character), the format of every entry is ### "character\tgoucima\n". ### For the input method which just use the full code as word-building code ### just skip this field. The ibus-table will build the codes needed from ### above TABLE. ### if you don't need different word-building code, please comment out the ### next few lines with ###, just like these lines you are look at now. BEGIN_GOUCI character_1 goucima_1 character_1 goucima_2 END_GOUCI
去掉注释的样本如下:
SCIM_Generic_Table_Phrase_Library_TEXT VERSION_1_0 BEGIN_DEFINITION UUID = c88e7342-13ae-498d-9442-fc92ad1d85ee SERIAL_NUMBER = 1 ICON = wubi98.svg NAME = WuBi98 NAME.zh_CN = 五笔98 NAME.zh_HK = 五筆98 NAME.zh_TW = 五筆98 LANGUAGES = zh_CN,zh_SG,zh_TW,zh_HK AUTHOR = SomeBody STATUS_PROMPT = CN VALID_INPUT_CHARS = abcdefghijklmnopqrstuvwxy MAX_KEY_LENGTH = 4 AUTO_COMMIT = TRUE DEF_FULL_WIDTH_PUNCT = FALSE DEF_FULL_WIDTH_LETTER = FALSE USER_CAN_DEFINE_PHRASE = TRUE PINYIN_MODE = TRUE DYNAMIC_ADJUST = TRUE RULES = ce2:p11+p12+p21+p22;ce3:p11+p21+p31+p32;ca4:p11+p21+p31+p-11 END_DEFINITION BEGIN_TABLE abc 工 100 aaa 内置词组 50 bbb 内置短语 101 END_TABLE
根据个人喜好写完上述文件,和"BEGIN_TABLE"与"END_TABLE"之间的码表保存好, 然后到终端用命令:
ibus-table-createdb -s 你的码表名
生成该表的db文件,然后用命令:
sudo cp 你的码表名.db /usr/share/ibus-table/tables/
放到ibus目录中,重启后就可以使用了. 当然了还有输入法的图片:
sudo cp 输入法图片 /usr/share/ibus-table/icons/