写在前面:

  第三步整理每行的结构相对来说算是最难的,我的方法是先用文本编码转换专家将文本编码转换成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. Babelfish(二分)

    Babelfish Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 37238   Accepted: 15879 Descr ...

  2. dijkstra 优先队列最短路模板

    ;;*maxn];,):id(a),dist(b){}        ));        ;i<=n;i++)dist[i]=inf;        dist[st]=;        ;i= ...

  3. DataReader转泛型

    实体类的字段类型要和数据库一致,不然可能会出现错误. /// <summary> /// DataReader转泛型 /// </summary> /// <typepa ...

  4. Nodejs解析HTML网页模块 jsdom

    工作需要抓取某些网页,所以今天试用下了node下的jsdom模块.同样功能的还有jquery jsdom https://npmjs.org/package/jsdom API很简单. jsdom.e ...

  5. java中关于线程间协作所用关键字synchronized,wait,notify的用法

    wait/notify()关键字适用于一个线程通知另一个线程所需的条件状态已就绪,最常用于线程在循环中休眠直到获取特定条件的场景. 例如,一个线程一直等待直到队列中有一个组件能够处理:当组件添加到队列 ...

  6. iOS 处理键盘遮挡TextField、TextView问题

    之前处理键盘遮挡问题都是在每一个控制器进行单独处理,这样做真的是非常的费事,今天在做项目的时候就想到自己封装一个,记录一下这个“跌宕起伏”的过程. 思路是这样的:计算文本编辑控件Frame与键盘Fra ...

  7. Tomcat使用startup启动,一闪而过,如何查看出错信息

    解决办法:打开startup.bat,通过使用run命令在原有启动窗口显示出错信息. 在startup.bat中找到:call "%EXECUTABLE%" start %CMD_ ...

  8. Linux 文件内容转码

    文件内容的转换: iconv -f GB2312 -t UTF-8 gb1.txt >gb2.txt-f, –from-code=名称 原始文本编码-t, –to-code=名称 输出编码-o, ...

  9. Javascript闭包概念剖析

    某种情况下,函数调用依然持有对其原始定义的作用域的引用,这个引用就叫做闭包. function foo(){ var a = 2; function bar(){ console.log(a); } ...

  10. MarkDown使用 (三)表格

    MarkDown表格的用法 MarkDown表格的用法 例如: $$ \begin{array}{c|lcr} n & \text{Left} & \text{Center} & ...