打造自己的小企鹅(fcitx)输入法

系统字体配置、中文显示和输入法问题
回复
06zly
帖子: 36
注册时间: 2009-06-01 11:57

打造自己的小企鹅(fcitx)输入法

#1

帖子 06zly » 2009-10-27 21:04

今天花了一个下午的时间来研究fcitx输入法的源码,最后连晚饭都没去吃终于得到了令自己满意的结果:在fcitx源码里添加自己的(五笔)码表(不删减其原有码表)、对默认设置进行个性设置,然后编译成deb安装包。之前我成功将极点五笔的码表移到了fcitx里面,但那是通过先安装fcitx,然后由极点五笔得来的五笔编码制作成码表替换里面原有的五笔码表。通过现在的这个方法,可以打造出适合自己的fcitx软件包(而不只是码表)。

到http://www.fcitx.org 下载fcitx-3.6.2.tar.bz2稳定版

二、在源码中添加自己的码表(这里针对五笔):
1、在极点五笔码表的基础上添加了一些自己的词组,得到lywb.txt(这里“lywb”在不与原有码表重名的情况下可以自己取,编码以外的那部分代码与源码中wbx.txt的一样),放到源码目录data里。
2、修改Makefile.am和Makefile.in两个文件。打开Makefile.am,搜索wbx.txt然后在后面加空格后输入“lywb.txt”,搜索wbx.mb然后两样在后面加上“lywb.mb”,所有搜索到的都要加,保存。打开Makefile.in同理进行修改。
3、修改tables.conf和config两个文件。这两个文件是设置文件,编译前修改好安装后就不用再修改了(虽然这里面的设置很多都是个性设置,但也还是有一些硬性设置的,编译前设置好了就让它更接近自己在windows下所使用的某个输入法,本人是让它接近极点五笔)。设置tables.conf时注意要在里面将五笔字形的那栏代码复制粘贴一分,然后把输入法名改成你想要的名字,码表文件改成自己添加进去的码表文件名。可以把后边自己不用的码表设置注释掉。设置config将里面的选项设置为自己的习惯。将“显示字体(中)=*”改为“显示字体(中)=WenQuanYi Bitmap Song”,这样安装后就能正常显示中文了。
4、要修改软件的版本号的话,在configure文件里改。

三、编译制件fcitx deb包:

代码: 全选

sudo apt-get install subversion build-essential automake libxpm-dev libxft-dev libxtst-dev
sudo apt-get install fakeroot
sudo apt-get install dh-make
解压fcitx-3.6.2.tar.bz2,终端进入解压得到的目录,执行:

代码: 全选

fakeroot debian/rules binary
在../fcitx-3.6.2会得到deb包

安装(略)。

平台:ubuntu 9.04 i386

2009-10-27
附件
lywb.txt.tar.gz
本人由极点五笔码表制作的五笔编码
(477.9 KiB) 已下载 41 次
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边

Re: 打造自己的小企鹅(fcitx)输入法

#2

帖子 momova » 2009-10-27 21:48

这个极点五笔码表怎么替换目前用的小企鹅的码表啊
我来了,我看见了,我征服了!
求勾搭,不管饭。
06zly
帖子: 36
注册时间: 2009-06-01 11:57

Re: 打造自己的小企鹅(fcitx)输入法

#3

帖子 06zly » 2009-10-27 22:01

有兴趣可以参考我的经验啊
http://user.qzone.qq.com/511613871/blog/1243341270
附上我制作的(极点)五笔码表for fcitx

代码: 全选

sudo cp /usr/share/fcitx/data/wbx.mb /usr/share/fcitx/data/wb.mb_backup

sudo mv wbx.mb /usr/share/fcitx/data

rm ~/.fcitx/wbx.mb
附件
wbx.mb.tar.gz
(559.03 KiB) 已下载 45 次
06zly
帖子: 36
注册时间: 2009-06-01 11:57

Re: 打造自己的小企鹅(fcitx)输入法

#4

帖子 06zly » 2009-10-28 21:17

06zly 写了:今天花了一个下午的时间来研究fcitx输入法的源码,最后连晚饭都没去吃终于得到了令自己满意的结果:在fcitx源码里添加自己的(五笔)码表(不删减其原有码表)、对默认设置进行个性设置,然后编译成deb安装包。之前我成功将极点五笔的码表移到了fcitx里面,但那是通过先安装fcitx,然后由极点五笔得来的五笔编码制作成码表替换里面原有的五笔码表。通过现在的这个方法,可以打造出适合自己的fcitx软件包(而不只是码表)。

到http://www.fcitx.org 下载fcitx-3.6.2.tar.bz2稳定版

二、在源码中添加自己的码表(这里针对五笔):
1、在极点五笔码表的基础上添加了一些自己的词组,得到lywb.txt(这里“lywb”在不与原有码表重名的情况下可以自己取,编码以外的那部分代码与源码中wbx.txt的一样),放到源码目录data里。
2、修改Makefile.am和Makefile.in两个文件。打开Makefile.am,搜索wbx.txt然后在后面加空格后输入“lywb.txt”,搜索wbx.mb然后两样在后面加上“lywb.mb”,所有搜索到的都要加,保存。打开Makefile.in同理进行修改。
3、修改tables.conf和config两个文件。这两个文件是设置文件,编译前修改好安装后就不用再修改了(虽然这里面的设置很多都是个性设置,但也还是有一些硬性设置的,编译前设置好了就让它更接近自己在windows下所使用的某个输入法,本人是让它接近极点五笔)。设置tables.conf时注意要在里面将五笔字形的那栏代码复制粘贴一分,然后把输入法名改成你想要的名字,码表文件改成自己添加进去的码表文件名。可以把后边自己不用的码表设置注释掉。设置config将里面的选项设置为自己的习惯。将“显示字体(中)=*”改为“显示字体(中)=WenQuanYi Bitmap Song”,这样安装后就能正常显示中文了。
4、要修改软件的版本号的话,在configure文件里改。

三、编译制件fcitx deb包:

代码: 全选

sudo apt-get install subversion build-essential automake libxpm-dev libxft-dev libxtst-dev
sudo apt-get install fakeroot
sudo apt-get install dh-make
解压fcitx-3.6.2.tar.bz2,终端进入解压得到的目录,执行:

代码: 全选

fakeroot debian/rules binary
在../fcitx-3.6.2会得到deb包

安装(略)。

平台:ubuntu 9.04 i386

2009-10-27
由以上方法修改过config文件再编译打包的deb包安装后会出现重启电脑fcitx设置还原成源码最原始的状态,要使用就而必须得重新设置~/.fcitx/config文件。找了网上很多资料,发现fcitx一直就有这个问题,没有很好的解决方法(除非开发人员来修改,但开发人员一修改的话软件的通用性就变小了)。

我的解决方法有两种:
一、
编译打包前不修改data/config文件,安装后再修改~/.fcitx/config。

二、
1、修改config文件,设置成自己的设置,另存为config1。
2、修改data/Makefile.am和data/Makefile.in两个文件,搜索tables.conf,在后面插入一个空格后输入config1,保存。
3、打开src/tools.c,搜索“"%s/.fcitx/config"”修改为“"%s/.fcitx/config1"”,搜索“PKGDATADIR "/data/config"”修改为“PKGDATADIR "/data/config1"”保存。
4、编译打包。

这样的后果是所有用户都统一了设置。
但是可以通过手动复制config1到~/.fcitx里,恢复独立设置:

代码: 全选

cp /usr/share/fcitx/data/config1 ~/.fcitx
修改设置时执行:

代码: 全选

gedit ~/.fcitx/config1
若打开后是乱码,执行:

代码: 全选

gedit --encoding=GBK ~/.fcitx/config1
如果没有将config1复制到~/.fcitx目录时在,则执行:

代码: 全选

sudo gedit /usr/share/fcitx/data/config1
2009-10-28
06zly
帖子: 36
注册时间: 2009-06-01 11:57

Re: 打造自己的小企鹅(fcitx)输入法

#5

帖子 06zly » 2009-10-28 21:22

06zly 写了:今天花了一个下午的时间来研究fcitx输入法的源码,最后连晚饭都没去吃终于得到了令自己满意的结果:在fcitx源码里添加自己的(五笔)码表(不删减其原有码表)、对默认设置进行个性设置,然后编译成deb安装包。之前我成功将极点五笔的码表移到了fcitx里面,但那是通过先安装fcitx,然后由极点五笔得来的五笔编码制作成码表替换里面原有的五笔码表。通过现在的这个方法,可以打造出适合自己的fcitx软件包(而不只是码表)。

到http://www.fcitx.org 下载fcitx-3.6.2.tar.bz2稳定版

二、在源码中添加自己的码表(这里针对五笔):
1、在极点五笔码表的基础上添加了一些自己的词组,得到lywb.txt(这里“lywb”在不与原有码表重名的情况下可以自己取,编码以外的那部分代码与源码中wbx.txt的一样),放到源码目录data里。
2、修改Makefile.am和Makefile.in两个文件。打开Makefile.am,搜索wbx.txt然后在后面加空格后输入“lywb.txt”,搜索wbx.mb然后两样在后面加上“lywb.mb”,所有搜索到的都要加,保存。打开Makefile.in同理进行修改。
3、修改tables.conf和config两个文件。这两个文件是设置文件,编译前修改好安装后就不用再修改了(虽然这里面的设置很多都是个性设置,但也还是有一些硬性设置的,编译前设置好了就让它更接近自己在windows下所使用的某个输入法,本人是让它接近极点五笔)。设置tables.conf时注意要在里面将五笔字形的那栏代码复制粘贴一分,然后把输入法名改成你想要的名字,码表文件改成自己添加进去的码表文件名。可以把后边自己不用的码表设置注释掉。设置config将里面的选项设置为自己的习惯。将“显示字体(中)=*”改为“显示字体(中)=WenQuanYi Bitmap Song”,这样安装后就能正常显示中文了。
4、要修改软件的版本号的话,在configure文件里改。

三、编译制件fcitx deb包:

代码: 全选

sudo apt-get install subversion build-essential automake libxpm-dev libxft-dev libxtst-dev
sudo apt-get install fakeroot
sudo apt-get install dh-make
解压fcitx-3.6.2.tar.bz2,终端进入解压得到的目录,执行:

代码: 全选

fakeroot debian/rules binary
在../fcitx-3.6.2会得到deb包

安装(略)。

平台:ubuntu 9.04 i386

2009-10-27
由以上方法修改过config文件再编译打包的deb包安装后会出现重启电脑fcitx设置还原成源码最原始的状态,要使用就而必须得重新设置~/.fcitx/config文件。找了网上很多资料,发现fcitx一直就有这个问题,没有很好的解决方法(除非开发人员来修改,但开发人员一修改的话软件的通用性就变小了)。

我的解决方法有两种:

一、
编译打包前不修改data/config文件,安装后再修改~/.fcitx/config。

二、
1、修改config文件,设置成自己的设置,另存为config1。
2、修改data/Makefile.am和data/Makefile.in两个文件,搜索tables.conf,在后面插入一个空格后输入config1,保存。
3、打开src/tools.c,搜索“"%s/.fcitx/config"”修改为“"%s/.fcitx/config1"”,搜索“PKGDATADIR "/data/config"”修改为“PKGDATADIR "/data/config1"”保存。
4、编译打包。

这样的后果是所有用户都统一了设置。
但是可以通过手动复制config1到~/.fcitx里,恢复独立设置:

代码: 全选

cp /usr/share/fcitx/data/config1 ~/.fcitx
修改设置时执行:

代码: 全选

gedit ~/.fcitx/config1
若打开后是乱码,执行:

代码: 全选

gedit --encoding=GBK ~/.fcitx/config1
如果没有将config1复制到~/.fcitx目录时在,则执行:

代码: 全选

sudo gedit /usr/share/fcitx/data/config1
2009-10-28
回复