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)):
            # 笔画转拼音,以字母u开头
            py = "u"+"".join(lazy_pinyin(data[i].replace(" ","")))  
            if py.isalpha():
                 # 生成rime词库要求格式,默认词频为1
                item = data[0].strip()+"\t"+py+"\t1\n"  
                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.extended.dict.yaml 中加载该字库并重新部署(Deploy)输入法即可。不熟悉python的同学可以直接在此下载词库
import_tables:
- luna_pinyin
- luna_pinyin_simp.chaizi ### 拆字字库

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

订阅评论
提醒
5 评论
最旧
最新 最多投票
内联反馈
查看所有评论
missull
2020 年 7 月 15 日 14:41

使用了之后与简拼冲突,如果用简拼功能就不能使用拆字了

Fuen
2021 年 3 月 25 日 08:53

使用了之后会导致输入法(小狼毫)在打入某些关键词的时候会卡顿(如输入、租期等等)
现在只能暂时禁用了,但是想不清楚为什么会有这种问题

mkig
2021 年 7 月 21 日 13:21

这种连起来的拼音,双拼不能用
伿urenzhi要是能改成u ren zhi或ren zhi就好了,空格隔开,代码不懂怎么改

2022 年 3 月 21 日 11:34

[…] 本部份的配置参考了http://gerry.lamost.org/blog/?p=296003这篇文章。 首先,下载词库,这个是原作者给到的下载链接。 […]