写在前面:

  第三步整理每行的结构相对来说算是最难的,我的方法是先用文本编码转换专家将文本编码转换成utf-8无BOM(linux下有转换命令不会用,一定要是无BOM否则会在linux下打开乱码),再用python脚本整理成要求的格式

1.找到自己习惯使用的词典;  //通常是文本,比如说98wubi.txt

2.分析模板里面词典部分的结构;  //标准的模板中分为三部分,第一部分为以三个井号开头的注释行;第二部分为功能设置部分(以BEGIN_DEFINITION开始,以END_DEFINITION结束),第三部分为词典部分(以BEGIN_TABLE开始,以END_TABLE结束)

3.将1中提到的词典的每一行都整理成模板中字典的结构;  //说白了就是如果模板中的字典每一行都是'bky(编码)  博客园  1(词频)',则应该将98wubi.txt中的每一行也整成这种形式

4.用处理好的文本字典替换BEGIN_TABLE和END_TABLE之间的内容;  //即将处理好的词典复制到BEGIN_TABLE和END_TABLE之间,粘贴前删除示例词典行

5.第二部分功能设置部分基本需要注意的是图标的名字(ICON=图标名),及在输入法中显示的名字(NAME.zh_CN='输入法中的显示名称');  //其它部分的设置可以参考网址:

6.生成数据库文件  ibus-table-createdb -s 文本名 -n 字典名

7.将6中生成的db数据库文件复制到/usr/share/ibus-table/tables中

8.将图标复制到/usr/share/ibus-table/icons中

9.先结束ibus进程:killall ibus-daemon  再重启Ibus进程:ibus-daemon -d

自用文件下载链接:http://pan.baidu.com/s/1bpoKmFd

文本模板:https://code.google.com/archive/p/ibus/downloads?page=2   中的ibus-table-chinese-1.4.6-Source.tar.gz

ibus介绍:http://wiki.ubuntu.org.cn/index.php?title=Ibus&variant=zh-hant#.E8.87.AA.E5.AE.9A.E4.B9.E7.A0.81.E8.A1.A8.E8.BE.93.E5.85.A5.E6.B3.95.E5.8F.8A.E8.AE.BE.E7.BD.AE.EF.BC.9A

向ibus-table-wubi里添加属于自己的输入法(98五笔)的更多相关文章

  1. 在Qt Creator 和在 vs2012 里添加信号和槽

    原文地址:http://www.cnblogs.com/li-peng/p/3644812.html 作者:李鹏 出处:http://www.cnblogs.com/li-peng/ 本文版权归作者和 ...

  2. chart.js 里添加图表的清单:

    chart.js 里添加图表的清单: var legend = myDoughnut.generateLegend(); $("#chart_legend").html(legen ...

  3. RCP:利用actionSet在菜单(menu)里添加内容

    eclipse的菜单menu.工具栏toolbar乃至视图的上下文菜单contextmenu都是使用Action或Command实现的. Action即是 org.eclipse.jface.acti ...

  4. ios 向工程里添加Fonts

    ios 向工程里添加Fonts 1.网上搜索字体文件(后缀名为.ttf,或.odf),假如你加入的字体为微软雅黑 2.把字体库导入到工程的resouce中 3.然后在你的工程的Info.plist文件 ...

  5. iOS 向模拟器里添加照片

    iOS 向模拟器里添加照片 模拟器里Photos最开始时是没有照片的,有时我们做Demo时需要Photos里面的照片做测试,这时就需要把Mac上的照片导入到模拟器里.步骤如下: 1,打开模拟器 2,选 ...

  6. iOS 在类别里添加成员变量的方法:objc_setAssociatedObject

    今天在github上查看MJPopupViewController这个项目,发现里面用到了objc_setAssociatedObject,用来为类别添加成员变量. 我百度之后,发现有人是这样说明的: ...

  7. 在html里添加视频的方法

    在html里添加本地视频的方法: <!DOCTYPE HTML><html><body><video width="320" height ...

  8. sencha动态向容器里添加控件出现重叠问题

    sencha动态向容器里添加控件出现重叠问题原因是由于动态生成控件的id有重复导致的.(js取时间到毫秒来做id,放在for里面会出现几个控件id是相同的情况.).解决掉重复id的问题就好了. 版权声 ...

  9. Azure 自动化里添加ResourceManager模块

    最近想尝试通过Azure里的自动化功能来控制VM的定时开关机,找到网上的一篇文章,  按照文章操作到"Import Azure Resource manager module"的第 ...

随机推荐

  1. [置顶] android利用jni调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so

    0:前言 1:本文主要作为丙方android公司的身份来写 2:作者有不对的地方,请指出,谢谢 [第一篇:android利用jni调用第三方库——编写库libhello.so] [第二篇:androi ...

  2. iframe自适应高度代码

    var adjustIframe = function (id) { var iframe = document.getElementById(id) var idoc = iframe.conten ...

  3. 表A中有两个表示时间的字段A,B;如果B的值大于A的值,则把B的值更新为A的值

    sql语句:表A中有两个表示时间的字段A,B:如果B的值大于A的值,则把B的值更新为A的值 update 表名 set B=A where B>A

  4. liunx操作数据库

    liunx操作数据库 1.连接数据库 #mysql -uroot -p mysql -uroot -p 然后输入密码 2.关闭防火墙 #iptables -stop 开启#iptables -star ...

  5. QML Performance

    1) Limit JavaScript a) inline JavaScript:  内联的JavaScript方法;  1. 将js方法放置在Element内部; 2. 尝试将语句写在一行内; e. ...

  6. cocos2d-X-3.X 场景与层

    1场景与层的相关函数 1. void runWithScene(Scene * scene). 该函数可以运行场景.只能在启动第一个场景时调用该函数.如果已经有一个场景运行,则不能调用该函数. 2.  ...

  7. 彻底解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    最近我的VS2010不知道怎么回事,平时用的好好的,近期竟然出现了所谓的 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 头痛万分,查了各种资料一 ...

  8. linux install nginx error

    1 2 3 4 5 6 7 8 9 10 11 [mahao01@127.0.0.1 nginx-1.2.9]$ make make -f objs/Makefile make[1]: Enterin ...

  9. MySQL 基础学习

    http://www.w3school.com.cn/sql/ 1.limit x,y 或 limit z  :选取从x开始的y条数据  或  选取最开始的 z条数据 , 2.like '%N%' : ...

  10. 服务器响应HTTP请求状态码(转)

    当服务器响应HTTP请求时,其状态行的信息为HTTP的版本号,状态码,及解释状态码的简单说明: 1.客户方错误: 100 客户必须继续发出请求 101 客户要求服务器根据请求转换HTTP协议版本 2. ...