/rime-zrm

自然码+辅码的 rime 配置方案,可以使用 ';' 应用辅码。

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

rime-zrm 配置

Getting Started

这是自然码+辅助码的 rime 配置方案,文件为 zrm_pinyin.schema.yaml ,字典为 zrm_pinyin.dict.yaml ,同时还有其他几个字典。

Dictionary

文件 特点
zrm_pinyin.dict.yaml 从 zrm2000 词库改造而来,删除了一些非文字字符。
zrm_pinyin.full.dict.yaml 结合 zrm_pinyin 与 luna_pinyin 生成的词库,内容很全,包含非文字字符。
zrm_pinyin.unique_fm.dict.yaml 从 zrm_pinyin 改 2 改造过来,目的是为了减少重码。
zrm_pinyin.standard_unique.dict.yaml unique_fm统一辅助码规则并去重,由 @sharp-tasting 提供。
zrm_pinyin.utf8-lite.dict.yaml 基于 unique_fm 版再改造而来,去除了不能正常显示的文字。
zrm_pinyin.standard_utf8_lite.dict.yaml utf8-lite统一辅助码规则并去重,由 @sharp-tasting 提供。
zrm_pinyin.cn_en.dict.yaml 从 luna_pinyin.cn_en 改造过来,用以适应中英混输的情况。

以上文件除了 zrm_pinyin.cn_en.dict.yaml, zrm_pinyin.utf8-lite.dict.yaml,zrm_pinyin.standard_utf8_lite.dict.yaml 为生成负担最小,其他几个词典都有较大的内存占用。不过 utf8-lite 版相对不是很完整希望能够注意。

以上词典如果出现缺漏的话,建议自行添加即可。

myself 是我个人使用的字词库,zrm_pinyin.schema.yaml 是我个人目前在用的方案。

Feature

  1. 可以外挂小型词库
  2. 可以适合使用自然码双拼但轻度使用辅助码的用户

lua 脚本

以词定字

w2c.lua 脚本中到 rime.lua ,并添加 filter 到个人的 schema 中。

engine:
  filters:
    - lua_filter@w2c_filter

如要启用,则需要在用户字典添加一条记录用作分隔符,比如:

※	|

按下 | 将进行以词定字,效果如下:

以词定字

选择 1 将输入字。

理论上任何 schema 都可以用,但没有测试过。

对辅码展示的优化

需要设置 spelling_hints

translator:
    - spelling_hints: 1

之后引入 second_code_filter.luarime.lua 中,并添加对应的 filter 到 schema 中。

engine:
  filters:
    - lua_filter@secondary_code_filter

效果如下:

second_code_filter

Q&A

如何使用辅码?

在需要辅码的字后面跟上辅码即可。

例如,人的编码是 rf;pd ,键入 rfrf;prf;pd 都可以查找该字;多字也是同样的,比如说人类,键入 rf lzrf;p lzrf;p lz;m 等等,就不一一举例了。

繁体和字频问题

繁体和简体的辅码并不完全一致,如果只想要简体的话,可以用 opencc 过滤,或者尝试一些我自用的字库(在 myself 文件夹下)。

字频的问题是因为 rime 的 bug ,在 1.8.0 中已经得到修复。

模糊音设置

需要 schema 里追加配置。

举个例子,比如说 eneng 分别对应自然码中的 gf ,设置模糊音就是在配置中添加一个映射。

speller:
    - "derive/^(\\w)g;(\\w)(\\w)$/$1f;$2$3/"
    - "derive/^(\\w)g;(\\w)(\\w)$/$1f;$2/"
    - "derive/^(\\w)g;(\\w)(\\w)$/$1f/"

ining 同理,需要对 ny 做一重映射。如此推演。

词库

因为用了辅助码,编码与拼音不同,所以你不能完全正常的使用拼音词库,你也可以使用我的词库。

如果你想要增加新的词库,可以编写一个脚本来将全拼与自然码进行转换。

standard字典

zrm_pinyin.standard_unique.dict.yamlzrm_pinyin.standard_utf8_lite.dict.yaml把对应的原文件的辅助码统一到了 自然码2000 的规则,并进行了去重。在这两个字典里,单音字只对应一组符合自然码2000规则的辅助码,多音字的每个音只对应一组辅助码。 自然码2000的规则和键位分布可参考以下链接:

  1. 官方链接: 自然码2000手册
  2. 民间整理:

更多关于这两个字典的说明,请查阅 偏旁规范化以及去重

关于英文支持

由于我们使用的是 derive 而非 xform ,因此只需这样在词库里直接对应编码即可。

iの	de
°	du
℉	hw ui du
℃	ue ui du

在 schema 中添加这段可以允许大小写混合输入。

speller:
    - derive/^([a-z].+)$/\U$1/
    - derive/^([a-zA-Z])/\U$1/
    - derive/^([a-z][a-z])/\U$1/

License

GPLv3.