11# Rime schema
22# encoding: utf-8
33
4-
54# 复制自 rime_ice.schema.yaml ,适配了双拼。
65# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin
76# 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。
87#
98# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。
109#
11- # 默认启用的中英混输词库是全拼的,需要在 melt_eng.dict.yaml 中修改为对应的双拼的。
12- # 还需要在英文方案 melt_eng.schema.yaml 将数字的拼写规则 __include: algebra_rime_ice 改为对应的双拼。
10+ # 目前配置中有个别功能仍然是全拼拼写,不能自动适配,所以需要手动修改一下:
11+ # 1. 中英混输词库的拼写: 在英文词库文件 melt_eng.dict.yaml 修改为对应的双拼词库
12+ # 2. 英文中部分符号的派生规则:在英文方案文件 melt_eng.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
13+ # 3. 部件拆字的拼写规则: 在部件拆字方案 radical_pinyin.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
14+ # 打个补丁一劳永逸,补丁写法参考 [常见问题](https://github.com/iDvel/rime-ice/issues/133)
1315
1416
1517# 方案说明
@@ -23,19 +25,18 @@ schema:
2325 雾凇拼音 - 自然码双拼
2426 https://github.com/iDvel/rime-ice
2527 dependencies :
26- - melt_eng # 英文输入,作为次翻译器挂载到拼音方案
27- - liangfen # 两分拼字,作为反查挂载到拼音方案
28+ - melt_eng # 英文输入,作为次翻译器挂载到拼音方案
29+ - radical_pinyin # 部件拆字,反查及辅码
2830
2931
3032# 开关
31- # 鼠须管 0.16 后,用快捷键切换时的提示文字由 states 定义
3233# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
33- # reset: 默认状态。 注释掉后,切换窗口时不会重置到默认状态。
34+ # reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
3435switches :
3536 - name : ascii_mode
3637 states : [ 中, A ]
3738 reset : 0
38- - name : ascii_punct # 中英标点
39+ - name : ascii_punct # 中英标点
3940 states : [ ¥, $ ]
4041 reset : 0
4142 - name : traditionalization
@@ -47,12 +48,17 @@ switches:
4748 - name : full_shape
4849 states : [ 半角, 全角 ]
4950 reset : 0
51+ - name : single_char # search.lua 的功能开关,辅码查词时是否单字优先
52+ abbrev : [词, 单]
53+ states : [正常, 单字]
54+ # reset: 0
5055
5156
5257# 输入引擎
5358engine :
5459 processors :
55- - lua_processor@select_character # 以词定字
60+ - lua_processor@select_character # 以词定字
61+ - lua_processor@auto_commit_single_punct # 让写在 alphabet 中的某标点自动上屏
5662 - ascii_composer
5763 - recognizer
5864 - key_binder
@@ -65,25 +71,28 @@ engine:
6571 - ascii_segmentor
6672 - matcher
6773 - abc_segmentor
74+ - affix_segmentor@radical_lookup # 部件拆字自定义 tag
6875 - punct_segmentor
6976 - fallback_segmentor
7077 translators :
7178 - punct_translator
7279 - script_translator
73- - lua_translator@date_translator # 时间、日期、星期
74- - lua_translator@lunar # 农历
75- - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
76- - table_translator@melt_eng # 英文输入
77- - reverse_lookup_translator@liangfen # 反查,两分拼字
78- - lua_translator@unicode # Unicode
79- - lua_translator@number_translator # 数字、金额大写
80+ - lua_translator@date_translator # 时间、日期、星期
81+ - lua_translator@lunar # 农历
82+ - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
83+ - table_translator@melt_eng # 英文输入
84+ - table_translator@radical_lookup # 部件拆字反查
85+ - lua_translator@unicode # Unicode
86+ - lua_translator@number_translator # 数字、金额大写
8087 filters :
81- - lua_filter@corrector # 错音错字提示
82- - simplifier@emoji # Emoji
83- - simplifier@traditionalize # 简繁切换
84- - lua_filter@autocap_filter # 英文自动大写
85- - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
86- - uniquifier # 去重
88+ - lua_filter@corrector # 错音错字提示
89+ - simplifier@emoji # Emoji
90+ - simplifier@traditionalize # 简繁切换
91+ - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
92+ - lua_filter@search@radical_pinyin # 部件拆字辅码
93+ - lua_filter@autocap_filter # 英文自动大写
94+ - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
95+ - uniquifier # 去重
8796
8897
8998# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
@@ -95,8 +104,14 @@ date_translator:
95104 timestamp : timestamp # 时间戳: 1669716794
96105
97106
98- # Lua 配置:农历
99- lunar : lunar # 癸卯年(兔)冬月廿一 二〇二四年冬月廿一
107+ # Lua 配置:农历的触发关键字
108+ lunar : lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
109+
110+
111+ # Lua 配置:直接上屏单个字符
112+ # lua_filter@search@radical_pinyin 辅码的引导符在 key_binder/search 定义,目前为 `(反引号)。
113+ # ` 只在中间时起辅码查询作用,但是输入单个 ` 时仍然需要按空格选择,这个 Lua 让单个的 ` 直接上屏。
114+ auto_commit_single_punct : " `"
100115
101116
102117# Lua 配置:为 corrector 格式化 comment,占位符为 {comment}
@@ -140,12 +155,12 @@ reduce_english_filter:
140155
141156# 主翻译器,拼音
142157translator :
143- dictionary : rime_ice # 挂载词库 rime_ice.dict.yaml
144- prism : double_pinyin # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
145- spelling_hints : 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
146- always_show_comments : true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
147- initial_quality : 1.2 # 拼音的权重应该比英文大
148- preedit_format : # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
158+ dictionary : rime_ice # 挂载词库 rime_ice.dict.yaml
159+ prism : double_pinyin # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
160+ spelling_hints : 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
161+ always_show_comments : true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
162+ initial_quality : 1.2 # 拼音的权重应该比英文大
163+ preedit_format : # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
149164 - xform/([bpmnljqxy])n/$1in/
150165 - xform/(\w)g/$1eng/
151166 - xform/(\w)q/$1iu/
@@ -190,14 +205,6 @@ melt_eng:
190205 - xform/.*// # 清空提示码
191206
192207
193- # 反查:两分(拼字)
194- liangfen :
195- dictionary : liangfen # 挂载两分词典 liangfen.dict.yaml
196- prefix : " L" # 以 L 开头来反查
197- enable_completion : true # 补全提示
198- # tips: 〔两分〕 # 反查时显示的文字,建议注释掉,否则很多 L 开头的英文单词也会显示这个
199-
200-
201208# 自定义短语
202209custom_phrase :
203210 dictionary : " "
@@ -210,16 +217,16 @@ custom_phrase:
210217
211218# Emoji
212219emoji :
213- opencc_config : emoji.json
214220 option_name : emoji
221+ opencc_config : emoji.json
215222
216223
217224# 简繁切换
218225traditionalize :
219226 option_name : traditionalization
220- opencc_config : s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
221- tips : none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
222- excluded_types : [ reverse_lookup ] # 不转换反查(两分拼字)的内容
227+ opencc_config : s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
228+ tips : none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
229+ tags : [ abc ] # 限制在 abc tag,不对其他如反查的内容做简繁转换
223230
224231
225232# 标点符号
@@ -236,27 +243,47 @@ punctuator:
236243 __include : symbols_caps_v:/symbols # 从 symbols_caps_v.yaml 导入配置
237244
238245
246+ # 部件拆字反查
247+ radical_lookup :
248+ tag : radical_lookup
249+ dictionary : radical_pinyin
250+ enable_user_dict : false
251+ prefix : " uU" # 反查前缀(反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号),与 recognizer/patterns/radical_lookup 匹配
252+ tips : " 〔拆字〕"
253+ comment_format :
254+ - erase/^.*$//
255+ # 部件拆字滤镜
256+ radical_reverse_lookup :
257+ tags : [ radical_lookup ]
258+ dictionary : rime_ice # 拼音标注来源,可将 other/single_pinyin.reverse.bin 拷贝至 build/ 目录,此处改为 single_pinyin 来为所有字显示拼音
259+ # comment_format: # 自定义 comment,例如在左右加上括号
260+ # - xform/^/(/
261+ # - xform/$/)/
262+
263+
239264# 处理符合特定规则的输入码,如网址、反查
265+
240266recognizer :
241267 import_preset : default # 从 default.yaml 继承通用的
242268 patterns : # 再增加方案专有的:
243269 punct : " ^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
244- reverse_lookup : " ^L [a-z]+$" # 响应两分拼字的反查
245- unicode : " ^U[a-f0-9]+" # 响应 lua_translator@unicode 脚本将自动获取第 2 个字符作为触发前缀
246- number : " ^R[0-9]+[.]?[0-9]*" # 响应 lua_translator@number_translator 脚本将自动获取第 2 个字符作为触发前缀
247- gregorian_to_lunar : " ^N[0-9]{1,8}" # 响应 lua_translator@lunar 公历转农历,输入 N20240115 得到「二〇二四年腊月初五」,脚本将自动获取第 2 个字符作为触发前缀
270+ radical_lookup : " ^uU [a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
271+ unicode : " ^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀, 响应 lua_translator@unicode,输出 Unicode 字符
272+ number : " ^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀, 响应 lua_translator@number_translator,数字金额大写
273+ gregorian_to_lunar : " ^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀, 响应 lua_translator@lunar, 公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
248274
249275
250276# 从 default 继承快捷键
251277key_binder :
252278 import_preset : default # 从 default.yaml 继承通用的
279+ search : " `" # 辅码引导符,要添加到 speller/alphabet
253280 # bindings: # 也可以再增加方案专有的
254281
255282
256283# 拼写设定
257284speller :
258285 # 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射
259- alphabet : zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
286+ alphabet : zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA`
260287 delimiter : " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
261288 algebra :
262289 - erase/^xx$/
0 commit comments