Closed gsuns closed 2 months ago
创建custom.json
和 custom.txt
后,还需要在方案内部注册并添加到switches
和engine/filters
里面。
举例,创建custom_cc.txt
:
嘛 嘛 ㄇ
custom_cc.json
内引入:
{
"name": "Custom for OpenCC",
"segmentation": {
"type": "mmseg",
"dict": {
"type": "text",
"file": "custom_cc.txt"
}
},
"conversion_chain": [
{
"dict": {
"type": "group",
"dicts": [
{
"type": "text",
"file": "custom_cc.txt"
}
]
}
}
]
}
最后,在方案内注册,以小鹤双拼为例,double_pinyin_flypy.custom.yaml
:
# Rime Custom
# encoding: utf-8
patch:
"switches/+":
- name: custom_opencc
reset: 1
states: [ "关","开"]
"engine/filters/+":
- simplifier@custom_opencc # 添加自定义 opencc
- lua_filter@*tag_user_dict # 标记用户的短语和词典
# 自定义 opencc
custom_opencc:
opencc_config: custom_cc.json
option_name: custom_opencc
tips: all
inherit_comment: false
为了方便后续更新,使用
custom
文件覆写,而没有使用schema
,参考: https://www.mintimate.cc/zh/guide/configurationOverride.html
最后的效果:
经过我多次测试终于成功了,没想到少2个空格就不行(左图), 感谢!!!!!!!!!!!
附上我自用的配置,也许能帮助到其他人
文件路径Rime\
目录下
以薄荷全拼为例,需要新建rime_mint.custom.yaml
文件,内容如下:
# Rime Custom
# encoding: utf-8
patch:
switches: # 注意縮進
- name: ascii_mode
reset: 1 # reset 0 的作用是當從其他輸入方案切換到本方案時,
states: [ 中文符号, 英文符号 ] # 重設爲指定的狀態,而不保留在前一個方案中設定的狀態。
- name: full_shape # 選擇輸入方案後通常需要立即輸入中文,故重設 ascii_mode = 0;
states: [ 半角, 全角 ] # 而全/半角則可沿用之前方案中的用法。
- name: transcription
states: [ 简体 , 繁体 ]
reset: 0
- name: emoji_suggestion
states: [ "❌","😁️"]
reset: 0
- name: custom_opencc
reset: 0
states: [ "custom_opencc关","custom_opencc开"]
"engine/filters/+":
- simplifier@custom_opencc # 添加自定义 opencc
# 自定义 opencc
custom_opencc:
opencc_config: custom_cc.json
option_name: custom_opencc
tips: all
inherit_comment: false
#覆写候选词数量
"menu/page_size": 10
我在
Rime\opencc\
目录下创建了custom.json
和custom.txt
custom.json
内容是:custom.txt
内容是:当上述操作完成后,我点击了 重新部署 随后我开启Emoji 后,输入
ma
没有显示嘛 ㄇ
后来我又做了测试,在Rime\opencc\spoken.txt
中添加就能显示嘛 ㄇ
.长远考虑(后期更新不会被覆盖),是否可以自定义OpenCC 词库? 其实我本不使用 Emoji,只是没有想到更好的方法 简繁切换,如果有更好的方法请给我点提示,感谢