如何为rime输入法启用中文、标点符号混合输入

近期我需要解决一个需求:为rime输入法启用中文、标点符号混合输入

比如我要输入一段中医经典,病人胸满,唇痿舌青

我的词库是按照逗号拆分的短语,病人胸满+唇痿舌青是两个词,当我输入bing ren xiong man chun wei she qing时,输出的就是病人胸满唇痿舌青

我希望能在输入bing ren xiong man后输入逗号,然后继续输入chun wei she qing,这样就可以得到病人胸满,唇痿舌青,而不是输入逗号后直接中止本次输入

即如何实现中文+标点符号的混合输入?

解决方法

*.custom.yaml这么修改就行,需要什么就启用什么

patch:
  speller:
    # 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射
    alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA,

参考资料:

what’s more

后面又有大招

正文

这个我知道,我实现了一个英文符号参与词汇联想,并且不影响实际候选:

Image

Image

是用 memory api 做的,不影响实际符号。

代码参考:

https://f.mirtle.cn/librime-lua/parrot_translator.lua

    if inp:find( '%p' ) and not inp:find('^%p') then yield_entry( env.mem, seg, inp ) end
    if inp:find( '^.+' .. env.space_pattern ) then yield_entry( env.mem, seg, input, match ) end

来源