技术细节
Lua 实现
lua/moran_aux_translator.lua
- 「消去辅助码」逻辑使用 OnSelect hook 实现。当用户选择到一个由辅助码提升上来的候选时,OnSelect hook 就删除输入末尾的 n 个字符。
- 实现作 translator 而非 filter 是因为需要多次请求
script_translator
,这在 Lua filter 中是做不到的。
INFO
间接辅助码已有 HowcanoeWang/rime-lua-aux-code (Lua filter)可使用。辅筛的 Lua translator 可视作对应的直接辅助码版本。
辅助码来源
辅筛模式使用的辅助码定义来自于 lua/zrmdb.txt
而不使用固态词典中的定义。主要是为了做得更通用一些,可以直接挂到其他双拼方案里使用。
编码生成与词库
「魔然·辅筛」与「魔然」和「魔然·整句」共享词库。辅筛模式使用特殊拼写运算将词库编码转换成纯双拼编码,禁止了辅助码混输/干扰。