

 极点导出的郑码码表:

用多多码表编辑器转换码表


选中“极点格式”

分别导出图上所列几种码表格式,观察一下各码表格式上的区别





这几种只有win格式和多多格式是字词在前,编码在后的。
相比选多多格式可能更贴近ibus字库格式。
参照 ibus 模板 /usr/share/ibus-table/tables/template.txt
具体格式可参考这篇文章:http://phpsrc.com/os/linux/202111/81.html
把导出的码表按上述模板制作成zhengma.txt
然后在linux里把它转换成zhengma.db格式,实际上是个sqlite数据库。
下面开始安装 ibus 郑码码表
-----------------------------简版--------------------------------
一般 debian linux 桌面自带 ibus ,不过默认他只是拼音,没有五笔和郑码输入法。
我们还需要安装 ibus-table,安装好后会自动创建 /usr/share/ibus-table
转换码表 ibus-table-createdb -s zhengma.txt,生成zhengma.db
(后注:转换时出错,txt 文件得是UTF8编码,ANSI不行,忽略错误后「将 inser 换成insert or ignore」将 db 导入到 ibus 也不行,也不清楚是不是后面所说的权限的问题,实在折腾太多时间,不想再浪费青春了,直接百度一张 能用到 ibus 的郑码码表。需要的可以给我发邮件索取bigcache@mail.ru)
cp zhengma.db /usr/share/ibus-table/table
配置:在 ibus 里配置添加郑码,在系统设置-区域与语言,设置添加郑。
root 用户好像只在 ibus 里添加郑码就行了。然后郑码就出现在 ibus 输入法列表里了。
这里也出了小插曲,debian 普通用户安装好郑码码表后,只能打出拼音,根本打不出郑码。
我折腾了很久,最开始以为码表有问题。无意中在 VMware 里的 ibus 用同一码表安装成功了。
然后就开始对比笔记本上的 debian 和 vmware 里 debian ibus 的区别。
操作系统都是同一 ISO 镜像,系统肯定没问题,又对比了 ibus 版本,也是一模一样,还对比了 ibus 已安装的相关组件,不多不少,也是一样,那什么笔记本 ibus 就打不出郑码呢?难道桌面系统不一样?
vmware 里 debian 直接用的root 用户登录的桌面系统,会不会跟这有关系。然后在笔记本电脑上,也切换了 root 用户。
Ctrl + Alt + F2 还是 F1 我忘了,切换到命令模式, su 切换 root , startx 启动 root 桌面。发现 ibus 输入法列表并没有郑码,于是重新配置, ibus-setup 打开配置,添加。最终输入法列表出现了郑码,切换后打字试试,还真行,终于可以打出郑码了。看来不是码表的问题,而是权限相关的问题。
Ctrl + Alt + F2 或 Ctrl + Alt + F1可以在两个已登录用户的桌面环境切换。
再换回普通用户,也可以打出郑码了!!
--------------------------------------以下详细操作,仅供参考-------------------------------------
#ibus-setup
打开Ibus 首选项
mkdir /usr/share/ibus-table root@cyberking:/home/king# mkdir /usr/share/ibus-table/tables/ root@cyberking:/home/king# mkdir /usr/share/ibus-table/icons cp /usr/share/ibus-libpinyin/icons/* /usr/share/ibus-table/icons
ibus-table-createdb -s freezm.txt
bash: ibus-table-createdb:未找到命令
root@cyberking:/home/king# apt list ibus* 正在列表... 完成 ibus-anthy-dev/stable 1.5.12-2 amd64 ibus-anthy/stable 1.5.12-2 amd64 ibus-array/stable 0.2.2-1 amd64 ibus-avro/stable 1.2-2 all ibus-braille/stable 0.3-6 all ibus-cangjie/stable 2.4-4 all ibus-chewing/stable 1.6.1-1 amd64 ibus-clutter/stable 0.0+git20090728.a936bacf-7 amd64 ibus-data/stable,now 1.5.23-2 all [已安装,自动] ibus-doc/stable 1.5.23-2 all ibus-gtk3/stable,now 1.5.23-2 amd64 [已安装,自动] ibus-gtk/stable,now 1.5.23-2 amd64 [已安装,自动] ibus-hangul/stable 1.5.4-1+b1 amd64 ibus-input-pad/stable 1.4.2-2 amd64 ibus-keyman/stable 11.0.103-4 amd64 ibus-kkc/stable 1.5.22-2 amd64 ibus-kmfl/stable 11.0.101-1 amd64 ibus-libpinyin/stable,now 1.12.0-3 amd64 [已安装,自动] ibus-libthai/stable 0.1.4-6 amd64 ibus-libzhuyin/stable 1.10.0-1 amd64 ibus-m17n/stable 1.4.3-1 amd64 ibus-mozc/stable 2.26.4220.100+dfsg-4 amd64 ibus-pinyin/stable 1.5.0-6.1+b1 amd64 ibus-rime/stable 1.4.0-5 amd64 ibus-skk/stable 1.4.3-1 amd64 ibus-sunpinyin/stable 2.0.3+git20181120-5 amd64 ibus-table-array30/stable 1.8.2-3 all ibus-table-cangjie-big/stable 1.8.2-3 all ibus-table-cangjie3/stable 1.8.2-3 all ibus-table-cangjie5/stable 1.8.2-3 all ibus-table-cangjie/stable 1.8.2-3 all ibus-table-cantonese/stable 1.8.2-3 all ibus-table-cantonhk/stable 1.8.2-3 all ibus-table-cns11643/stable 1.3.11-2 all ibus-table-compose/stable 1.3.11-2 all ibus-table-easy-big/stable 1.8.2-3 all ibus-table-easy/stable 1.8.2-3 all ibus-table-emoji/stable 1.3.11-2 all ibus-table-erbi-qs/stable 1.8.2-3 all ibus-table-erbi/stable 1.8.2-3 all ibus-table-extraphrase/stable 1.3.9.20110826-3 amd64 ibus-table-ipa-x-sampa/stable 1.3.11-2 all ibus-table-jyutping/stable 1.8.2-3 all ibus-table-latex/stable 1.3.11-2 all ibus-table-old-hungarian-rovas/stable 1.3.11-2 all ibus-table-quick-classic/stable 1.8.2-3 all ibus-table-quick3/stable 1.8.2-3 all ibus-table-quick5/stable 1.8.2-3 all ibus-table-quick/stable 1.8.2-3 all ibus-table-rustrad/stable 1.3.11-2 all ibus-table-scj6/stable 1.8.2-3 all ibus-table-stroke5/stable 1.8.2-3 all ibus-table-telex/stable 1.3.11-2 all ibus-table-thai/stable 1.3.11-2 all ibus-table-translit-ua/stable 1.3.11-2 all ibus-table-translit/stable 1.3.11-2 all ibus-table-viqr/stable 1.3.11-2 all ibus-table-vni/stable 1.3.11-2 all ibus-table-wu/stable 1.8.2-3 all ibus-table-wubi/stable 1.8.2-3 all ibus-table-yawerty/stable 1.3.11-2 all ibus-table-yong/stable 1.8.2-3 all ibus-table/stable 1.12.3-1 all ibus-tests/stable 1.5.23-2 amd64 ibus-typing-booster/stable 2.10.5-1 all ibus-unikey/stable 0.7.0~beta1-1 amd64 ibus-wayland/stable 1.5.23-2 amd64 ibus-zhuyin/stable 0.1.0-2 amd64 ibus/stable,now 1.5.23-2 amd64 [已安装,自动]
root@cyberking:/home/king# apt install ibus-table 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 建议安装: ibus-table-array30 ibus-table-cangjie ibus-table-cangjie-big ibus-table-cangjie3 ibus-table-cangjie5 ibus-table-cantonese ibus-table-cantonhk ibus-table-cns11643 ibus-table-compose ibus-table-easy ibus-table-easy-big ibus-table-emoji ibus-table-erbi ibus-table-erbi-qs ibus-table-ipa-x-sampa ibus-table-jyutping ibus-table-latex ibus-table-quick ibus-table-quick-classic ibus-table-quick3 ibus-table-quick5 ibus-table-rustrad ibus-table-scj6 ibus-table-stroke5 ibus-table-thai ibus-table-translit ibus-table-translit-ua ibus-table-viqr ibus-table-wu ibus-table-wubi ibus-table-yawerty ibus-table-yong 下列【新】软件包将被安装: ibus-table 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 需要下载 1,012 kB 的归档。 解压缩后会消耗 1,844 kB 的额外空间。 获取:1 http://mirrors.ustc.edu.cn/debian bullseye/main amd64 ibus-table all 1.12.3-1 [1,012 kB] 已下载 1,012 kB,耗时 3秒 (325 kB/s) 正在选中未选择的软件包 ibus-table。 (正在读取数据库 ... 系统当前共安装有 464042 个文件和目录。) 准备解压 .../ibus-table_1.12.3-1_all.deb ... 正在解压 ibus-table (1.12.3-1) ... 正在设置 ibus-table (1.12.3-1) ... 正在处理用于 desktop-file-utils (0.26-1) 的触发器 ... 正在处理用于 gnome-menus (3.36.0-1) 的触发器 ... 正在处理用于 libglib2.0-0:amd64 (2.66.8-1) 的触发器 ... 正在处理用于 man-db (2.9.4-2) 的触发器 ... 正在处理用于 mailcap (3.69) 的触发器 ...
root@cyberking:/home/king# ibus-table-createdb -s freezm.txt Traceback (most recent call last): File "/usr/share/ibus-table/engine/tabcreatedb.py", line 503, in <module> main() File "/usr/share/ibus-table/engine/tabcreatedb.py", line 394, in main source = open(_OPTIONS.source, mode='r', encoding='UTF-8').read() File "/usr/lib/python3.9/codecs.py", line 322, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
oot@cyberking:/home/king# ibus-table-createdb -s freezm_ibus_unix_utf8.txt Unexpected error in add_goucima(). Traceback (most recent call last): File "/usr/share/ibus-table/engine/tabsqlitedb.py", line 859, in add_goucima self.db.executemany(sqlstr, sqlargs) sqlite3.IntegrityError: UNIQUE constraint failed: goucima.zi
放弃!
root@cyberking:/home/king# apt install ibus-table-yong 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 下列【新】软件包将被安装: ibus-table-yong 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 需要下载 552 kB 的归档。 解压缩后会消耗 1,802 kB 的额外空间。 获取:1 http://mirrors.ustc.edu.cn/debian bullseye/main amd64 ibus-table-yong all 1.8.2-3 [552 kB] 已下载 552 kB,耗时 3秒 (200 kB/s) 正在选中未选择的软件包 ibus-table-yong。 (正在读取数据库 ... 系统当前共安装有 464112 个文件和目录。) 准备解压 .../ibus-table-yong_1.8.2-3_all.deb ... 正在解压 ibus-table-yong (1.8.2-3) ... 正在设置 ibus-table-yong (1.8.2-3) ...
发现 ubuntun 论坛上的模板与安装程序不一致
ing@cyberking:~$ ibus-table-createdb -s zhengma.txt Unexpected error in add_goucima(). Traceback (most recent call last): File "/usr/share/ibus-table/engine/tabsqlitedb.py", line 859, in add_goucima self.db.executemany(sqlstr, sqlargs) sqlite3.IntegrityError: UNIQUE constraint failed: goucima.zi
sqlite报错: sqlite3.IntegrityError: UNIQUE constraint failed: IMAGESTATUE.ID 解决方案: Change INSERT to INSERT OR IGNORE
成功了。
cp zhengma.db /usr/share/ibus-table/tables/
ibus-table-createdb -s zhengma_less.txt
cp zhengma_less.db /usr/share/ibus-table/tables/
ibus restart
无法连接 IBus。 //可能是普通用户开机未启动 ibus ,切换 root 用户,以 root 用户进一次桌面系统,配置一下 ibus 就行了,命令 ibus-setup
ibus-setup
启动 ibus 配置选项
|