Fcitx 作为 Linux 下常用的中文输入法,其默认中文词库几乎为 0,全靠一个云拼音跟上时代;然而云拼音也不是万能的,就那一个位置。这里介绍一下如何将搜狗的词库导入到 Fcitx 中。

准备

当然是在搜狗的官网下载需要的词库啦

转码 ORG 文件

把下载的文件放到一个文件夹中,执行下列命令

mkdir org
for i in *.scel; do scel2org $i -o org/$i.org; done

然后你的 org 文件夹内就会有你刚刚转码的 ORG 文件啦

然后下载 fcitx-4.2.7_dict.tar.xz(地址待换)把 data 下面的pinyin.tar.gz解压,可以得到pyPhrase.org文件,这个就是 fcitx 的默认词库。把解压得到的pyPhrase.org复制到 org 文件夹下

构建词库

继续在当前目录下执行

mkdir dict && cd dict
cat ../org/*.org > 1.org
sort 1.org > 2.org
uniq 2.org > 3.org
wget https://raw.github.com/fcitx/fcitx/master/src/im/pinyin/data/gbkpy.org
createPYMB gbkpy.org 3.org

转换过程可能比较长,耐心等待。最后会生成如下几个文件:

  • pyERROR 词库中重复或有问题的条目,无需保留。
  • pyPhrase.ok 除错后的 org 词库文件,取代3.org,可保留下次使用。
  • pyphrase.mb 最终词库,必须保留。
  • pybase.mb 配套的字码库,必须保留。

移动 pyphrase.mbpybase.mb~/.config/fcitx/pinyin/ 下,然后重新启动 fcitx 输入法即可。