rime拆字词库

中州韵Rime是佛振开发的一款跨平台的开源输入法。支持拼音,双拼,五笔,仓颉等多种输入方案的简繁输入。我在Linux下使用多年,稳定朴素,体验很好。在MintLinux(Ubuntu)命令行下直接用apt安装fcitx-rime包即可。和大多数Linux下的开源软件一样,rime没有完整的图形化配置界面。它的各项配置由 .config/fcitx/rime 目录下的一系列文件控制。 明月拼音·简化字 方案的用户自定义配置文件为luna_pinyin_simp.custom.yaml ,可定义扩充词库、加载自定义符号库、模糊拼音等。具体的初始设置过程可以参考这篇文章
rime2
我因为经常有字不知道拼音无法输出,偶尔会想念其他平台软件提供的拆字输入法。于是干脆为Rime做了一个拆字词库。基本思路是将汉字拆开成不同部分,然后将各个部分转化为拼音即可。借助现成的汉语拆字字典(包含17803汉字,共27603种拆法)和汉字拼音转换工具(Python 版),很容易完成。具体代码如下:


#! /usr/bin/python
# coding = utf-8

# By Gerry @ 2019.12.28
# Usage: make chaizi dictionary for rime
# base on :
# https://github.com/mozillazg/python-pinyin
# https://github.com/kfcd/chaizi

def chai():
from pypinyin import lazy_pinyin
lines = open("chaizi-master/chaizi-jt.txt").readlines() # 载入简体拆字字典
dfile = open("luna_pinyin_simp.chaizi.dict.yaml","w") # 打开待写入字库文件
dfile.write(
"""---
name: luna_pinyin_simp.chaizi
version: "2019.12.28"
sort: by_weight
use_preset_vocabulary: true
...

"""
)
for line in lines:
data = line.strip().split("\t")
for i in range(1,len(data)):
py = "u"+"".join(lazy_pinyin(data[i].replace(" ",""))) # 笔画转拼音,以字母u开头
if py.isalpha():
item = data[0].strip()+"\t"+py+"\t1\n" # 生成rime词库要求格式, 默认词频为1
dfile.write(item)
else:
print(data[i])
dfile.close()

def main():
chai()

if __name__ == "__main__":
main()

将得到的拆字字库 luna_pinyin_simp.chaizi.dict.yaml 放到配置目录中,并在输入法对应的配置文件 luna_pinyin_simp.custom.yaml 中加载该字库并重新部署(Deploy)输入法即可。不熟悉python的同学可以直接在此下载词库

import_tables:
- luna_pinyin
- luna_pinyin_simp.chaizi ### 拆字字库

虽然有个别成分因为缺乏对应的拼音而没有被列入,但起码解决了Rime输入法拆字功能的有无问题。丒(urenyi)伿(urenzhi)骉(umamama)这样的生僻字都可以直接输入,终于不用频繁去汉典上查偏旁部首了。希腊字母,特殊字符的输入也可以如法炮制。有更高要求的用户在此基础上自行调整即可。

标签:, , .

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

porno film