小白T9拼音输入法编译教程 - 小白的记事本

小白写过的小教程

小白T9拼音输入法编译教程

天呐!这个人竟然在电脑上用小键盘打字!

rime 小狼毫输入法最近真的是越来越火了。而它和其他输入法最大的区别就是,他根本就不是个“输入法”。rime 准确来说是一个开源的输入法框架或者生成器,一切的输入规则是靠用户来制定的。

举个栗子,如果搜狗输入法是送到嘴边的外卖,rime 则是直接扔给你了一口锅。

因为 rime 强大的功能和开源,我们可以玩很多别的输入法做不到的骚操作。比如我们试试用小键盘打字

以下干货,可能会很枯燥,尽量用大白话讲解。


  1. 去 rime 官网下载源码

我先贴出 windows 版的地址。rime/weasel​github.com

要下载里面所有的源码,注意是所有的。

某一些文件夹中的源码不会自动下载。一定要下载后检查一次。

2.准备编程环境

vs 2015 + cmake 64位 + boost 64位 + git 64位 + python 64位 + HM VNISEdit

有人可能要问,我用vs2017 2019 之类的可以吗?答案是可以,但是 vs2015 也要装,因为源程序里面有很多配置文件都是指定 vs2015 的,当然如果你一个个去修改也可以用更高版本的 vs 去编译,不过我感觉得不偿失,不如装个 2015 ,而且只需要装图里这三个功能就足够了。

注意,以上所有软件要装在同一个盘符下,我全装在了C盘。

boost 与 python 装好后,要在环境变量中分别添加一项:

之后我们在源码文件夹空白处右键-git bash here

依次输入三个命令:

/c/weasel/build.bat boost

/c/weasel/build.bat thirdparty

/c/weasel/build.bat librime

要注意,具体命令和 build.bat 存放的位置有关系

这个过程将很慢,要耐心等待。

过程中可能会有报错,一般是 vs2015 的功能没装、环境变量配置有错、源码没有下载全等等。

3.编译软件

打开 sln 工程文件,用 vs2015 vs2017 都可以,我用的是 2017

右键其中每一项子工程-属性

修改平台工具集为 vs2015-xp-v140,且 win32 和 x64都要改哦。

统统修改好后,就可以一个个编译了,注意有些是要 x64 下编译,有些是在 win32 下。或者直接右键解决方案编译。还有解决方案配置要选 Release。

此时,所有要生成的文件都会出现在 output 文件夹中。

4.编写输入法配置规则 (重点!)

一个完整的 rime 配置文件,只要需要自己编写两个配置文件。其中一个是拼写规则,另一个是词库文件。

目录为:weasel\output\data\

我们可以偷个懒,直接借用输入法内置的 luna_pinyin.dict.yaml 明月拼音词库。很丰富,很强大。

记得要改成自己做的输入法的名字。

之后我们再新建一个拼写规则文件,当然也可以参考输入法自带的其他配置方案。

!!!重点!!!

我们的T9输入法实际需要10个按键来控制输入,分别是0-9。则 alphabet 填写 0123456789.而 7 我们用来做分隔符吧。

因为手机和电脑的键盘位置正好上下颠倒,所以设置具体的键位如下:

然后我们用数字键来代替字符作为录入方式:

speller:
  alphabet: 0123456789   # 用于编码的可输入字符
  delimiter: "7"
  algebra:

    - xform/^a/8/
    - xform/^b/8/
    - xform/^c/8/
    - xform/^d/9/
    - xform/^e/9/
    - xform/^f/9/
    - xform/^g/4/
    - xform/^h/4/
    - xform/^i/4/
    - xform/^j/5/
    - xform/^k/5/
    - xform/^l/5/
    - xform/^m/6/
    - xform/^n/6/
    - xform/^o/6/
    - xform/^p/1/
    - xform/^q/1/
    - xform/^r/1/
    - xform/^s/1/
    - xform/^t/2/
    - xform/^u/2/
    - xform/^v/2/
    - xform/^w/3/
    - xform/^x/3/
    - xform/^y/3/
    - xform/^z/3/

    - xform/a/8/
    - xform/b/8/
    - xform/c/8/
    - xform/d/9/
    - xform/e/9/
    - xform/f/9/
    - xform/g/4/
    - xform/h/4/
    - xform/i/4/
    - xform/j/5/
    - xform/k/5/
    - xform/l/5/
    - xform/m/6/
    - xform/n/6/
    - xform/o/6/
    - xform/p/1/
    - xform/q/1/
    - xform/r/1/
    - xform/s/1/
    - xform/t/2/
    - xform/u/2/
    - xform/v/2/
    - xform/w/3/
    - xform/x/3/
    - xform/y/3/
    - xform/z/3/

这里我不太清楚为什么要重复两次,可能是 rime 自带 声母韵母区分功能?

之后我们将分隔符“7”在输入框和候选框中,分别显示为 ' 以更加美观

  preedit_format:
    - xform/7/'/
  comment_format:
    - xform/7/'/

然后我们将默认的输入文字设置为简体:

simplifier:
  option_name: zh_simp

将每一个小键盘数字键设置为时刻激活状态、/*键为翻页、-+键为上下翻选、.为删除。

key_binder:
  import_preset: default
  bindings:
    - { when: always, accept: Control+Shift+4, toggle: zh_simp }
    - { when: always, accept: Control+Shift+dollar, toggle: zh_simp }
    - {accept: KP_0, send: space, when: has_menu}
    - {accept: KP_1, send: 1, when: always}
    - {accept: KP_2, send: 2, when: always}
    - {accept: KP_3, send: 3, when: always}
    - {accept: KP_4, send: 4, when: always}
    - {accept: KP_5, send: 5, when: always}
    - {accept: KP_6, send: 6, when: always}
    - {accept: KP_7, send: 7, when: always}
    - {accept: KP_8, send: 8, when: always}
    - {accept: KP_9, send: 9, when: always}
    - {accept: KP_Subtract, send: BackSpace, when: has_menu}
    - {accept: KP_Divide, send: Page_Up, when: has_menu}
    - {accept: KP_Multiply, send: Page_Down, when: has_menu}
    - {accept: KP_Subtract, send: Up, when: has_menu}
    - {accept: KP_Add, send: Down, when: has_menu}
    - {accept: KP_Enter, send: Enter, when: has_menu}
    - {accept: KP_Decimal, send: BackSpace, when: has_menu}

5.打包输入法

双击 weasel\output\install.nsi

修改你想要的内容后,点击 NSIS-编译脚本

我们便可以在 weasel\output\archives\ 看见热乎乎的输入法做好啦

快装上试试

完美!

分享