rime / home

Rime::Home is home to Rime users and developers
https://rime.im
4.26k stars 230 forks source link

删词快捷键删掉了未选中的自造词 #381

Closed Ace-Who closed 4 years ago

Ace-Who commented 5 years ago

Windows 7 + Weasel 0.14.0.135

郑码自造词「导读」,键入 hdsa,光标移至其他候选词,按 Ctrl + DeleteShift + Delete,结果「导读」被删除了。

Ace-Who commented 5 years ago

退回 0.13 也会这样。再造一个词「导谎」,键入 hdsa[^1],前两个候选词是「导读」「导谎」。若光标移至「导谎」,删词,则两词都被删。若光标移至其它候选词,比如单字,删词,则「导读」被删。看起来是首个候选一定会被删

其他位置的自造词不受影响(已测试,比如再造一个「导諽」)。

[^1]: 原郑码码表的造词码不起作用,而且我已通过修改码表来重排键位,所以,按照原码表,这里不是 hdsa,而应该是 yyse。

Ace-Who commented 5 years ago

退回 0.13 后,发现 WeaselServer.exe 一直占用 CPU 25% 左右,Tim 卡死。重启后,Tim 和 Notepad2 反复卡死,无法自造词(自造词不出现在候选中),WeaselServer.exe 一直占用 CPU 40%-70%。

后发现 .userdb 目录下快速生成成千上万个 .sst 文件,结束 WeaselServer.exe 进程,删除整个目录后,重启算法服务,该进程问题解决了。

不知道这是 0.14 导致的还是降级到 0.13 导致的。

Ace-Who commented 5 years ago
# zhengma_mod.schema.yaml

...
engine:
  ...
  translators:
    -punct_translator
    -table_translator@fixed  # 注释掉这行就没有问题了,那么有什么办法保留这个功能,又保证删词正常呢?
    -table_translator
    ...
...

fixed:
  __include: translator
  enable_user_dict: true
  enable_encoder: true
  initial_quality: 1000
  disable_user_dict_for_patterns:
    - '.*'
...
Ace-Who commented 5 years ago

fixed/enable_user_dict: false 似乎能解决这个问题,但是发现一个副作用——连打时的断字发生了变化。