-
Notifications
You must be signed in to change notification settings - Fork 0
/
meow_mspy.schema.yaml
226 lines (210 loc) · 10.1 KB
/
meow_mspy.schema.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
# Rime schema
# encoding: utf-8
schema:
name: "猫颜双拼"
schema_id: meow_mspy
author:
- elxy <[email protected]>
description: |
Meow! 结合了微软双拼与猫老师 @_ym 的猫颜文字词库的输入方案,同时支持英文输入与笔划反查。
version: "0.2"
dependencies:
- meow_emoji
- english
- stroke
switches:
- name: ascii_mode
reset: 1
states: [ 中文, 西文 ]
- name: full_shape
states: [ 半角, 全角 ]
- name: simplification
states: [ 漢字, 汉字 ]
engine: # 输入引擎设定,即挂接组件的「处方」
processors: # 一、这批组件处理各类按键消息,优先级按顺序排列
- ascii_composer # 处理西文模式及中西文切换
- recognizer # 与 matcher 搭配,处理符合特定规则的输入码,如网址、反查等 tags
- key_binder # 在特定条件下将按键绑定到其他按键,如重定义逗号、句号为候选翻页键、开关快捷键等
- speller # 拼写处理器,接受字符按键,编辑输入码,默认只接受小写拉丁字母,可配置使之支持大写
- punctuator # 句读处理器,将单个字符按键直接映射为文字符号
- selector # 选字处理器,处理数字选字键(可以换成别的哦)、上、下候选定位、换页键
- navigator # 处理输入栏内的光标移动键
- express_editor # 编辑器,处理空格、回车上屏、回退键等
# - fluency_editor # 句式编辑器,用于以空格断词、回车上屏的(注音)、(语句流)等输入方案,替換 express_editor
# - chord_composer # 和弦作曲家或曰并击处理器,用于(宫保拼音)等多键并击的输入方案
segmentors: # 二、这批组件识别不同内容类型,将输入码分段并加上 tag
- ascii_segmentor # 标识西文段落(譬如在西文模式下)字母直接上屛
- matcher # 配合 recognizer 标识符合特定规则的段落,如网址、反查等,加上特定 tag
# - affix_segmentor@emoji # 用户自定义 tag,此项可加载多个实例,后接 @ + tag 名
- abc_segmentor # 标识常规的文字段落,加上 abc 这个 tag
- punct_segmentor # 标识句读段落(键入标点符号用)加上 punct 这个 tag
- fallback_segmentor # 标识其他未标识段落
translators: # 三、这批组件翻译特定类型的编码段为一组候选文字
# - echo_translator # 没有其他候选字时,回显输入码(输入码可以 Shift+Enter 上屛)
- punct_translator # 配合 punct_segmentor 转换标点符号
- reverse_lookup_translator # 反查翻译器,用另一种编码方案查码
# - table_translator # 码表翻译器,用于仓颉、五笔等基于码表的输入方案
- script_translator # 脚本翻译器,用于拼音、粤拼等基于音节表的输入方案
- script_translator@meow_emoji # 猫颜文字输入方案
- table_translator@custom_phrase # table_translator、script_translator 和 reverse_lookup_translator,
- table_translator@english # 都可以通过“@+滤镜名”添加多个实例
filters: # 四、这批组件过滤翻译的结果
- simplifier # 繁简转换
- uniquifier # 过滤重复的候选字,有可能来自繁简转
speller:
algebra: # 拼写运算规则,由之算出的拼写汇入 prism 中
- "erase/^xx$/" # 删除码表中的几个拼音不明的字,编码成 xx 了,消灭之
- "derive/^([jqxy])u$/$1v/" # 衍生(保留原形)
- "derive/^([aoe].*)$/o$1/"
- "xform/^([ae])(.*)$/$1$1$2/" # 改写(不保留原形)
- "xform/iu$/Q/" # 用大写防止与原有的字母混淆
- "xform/[iu]a$/W/"
- "xform/er$|[uv]an$/R/"
- "xform/[uv]e$/T/"
- "xform/v$|uai$/Y/"
- "xform/^sh/U/"
- "xform/^ch/I/"
- "xform/^zh/V/"
- "xform/uo$/O/"
- "xform/[uv]n$/P/"
- "xform/i?ong$/S/"
- "xform/[iu]ang$/D/"
- "xform/(.)en$/$1F/"
- "xform/(.)eng$/$1G/"
- "xform/(.)ang$/$1H/"
- "xform/ian$/M/"
- "xform/(.)an$/$1J/"
- "xform/iao$/C/"
- "xform/(.)ao$/$1K/"
- "xform/(.)ai$/$1L/"
- "xform/(.)ei$/$1Z/"
- "xform/ie$/X/"
- "xform/ui$/V/"
- "derive/T$/V/"
- "xform/(.)ou$/$1B/"
- "xform/in$/N/"
- "xform/ing$/;/"
# - abbrev/^(.).+$/$1/ # 简拼(出字优先级比改写和衍生低)
# - "fuzz///" # 畧拼(此种简拼仅组词,不出单字)
- "xlit/QWRTYUIOPSDFGHMJCKLZXVBN/qwrtyuiopsdfghmjcklzxvbn/" # 变换(适合大量一对一变换)
alphabet: # 定义本方案的输入键,支持大写输入
"zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA;"
initials: # 定义仅作始码之键
"zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA"
# finals: # 定义仅作末码之键
delimiter: # 上屛时的音节间隔音符,第一位的空白用来自动插入到音节边界
" '"
# max_code_length: # 形码最大码长,超过则顶字上上屏(number)
# auto_select: # 自动上屛(true 或 false)
# auto_select_unique_candidate # 和 auto_select 配合使用,无重码时半选而不上屛(true 或 false)
# use_space: # 以空格作输入码(true 或 false)
reverse_lookup: # 自定义 reverse_lookup 的 tag
dictionary: stroke
enable_completion: true
prefix: "`"
suffix: "'"
tips: 【笔画】
preedit_format:
- xlit/hspnz/一丨丿丶乙/
comment_format:
- xform/([nl])v/$1ü/
translator: # 设定本方案的主 translator
# enable_charset_filter: # 是否开启字符集过滤(仅 table_translator 有效)
# enable_encoder: # 是否开启自动造词(仅 table_translator 有效)
# encode_commit_history: # 是否对已上屛词自动成词(仅 table_translator 有效)
# max_phrase_length: # 最大自动成词词长(仅 table_translator 有效)
# enable_completion: # 提前显示尚未输入完整码的字(仅 table_translator 有效)
# strict_spelling: # 配合 speller 中的 fuzz 规则,仅以畧拼码组词(仅 table_translator 有效)
# disable_user_dict_for_patterns: # 禁止某些编码录入用户词典
# enable_sentence: # 是否开启自动造句
# enable_user_dict: # 是否开启用户词典(用户词典记录动态字词频、用户词)
# 以上选填 true 或 false
dictionary: luna_pinyin # 翻译器将调取此字典文件
# preedit_format: &preedits # 上码自定义,这里会将双拼展开
# - "xform/([aoe])(\\w)/0$2/"
# - "xform/([bpmnljqxy])n/$1in/"
# - "xform/(\\w)g/$1eng/"
# - "xform/(\\w)q/$1iu/"
# - "xform/([gkhvuirzcs])w/$1ua/"
# - "xform/(\\w)w/$1ia/"
# - "xform/([dtnlgkhjqxyvuirzcs])r/$1uan/"
# - "xform/0r/er/"
# - "xform/([dtgkhvuirzcs])v/$1ui/"
# - "xform/(\\w)v/$1ve/"
# - "xform/(\\w)t/$1ve/"
# - "xform/([gkhvuirzcs])y/$1uai/"
# - "xform/(\\w)y/$1v/"
# - "xform/([dtnlgkhvuirzcs])o/$1uo/"
# - "xform/(\\w)p/$1un/"
# - "xform/([jqx])s/$1iong/"
# - "xform/(\\w)s/$1ong/"
# - "xform/([jqxnl])d/$1iang/"
# - "xform/(\\w)d/$1uang/"
# - "xform/(\\w)f/$1en/"
# - "xform/(\\w)h/$1ang/"
# - "xform/(\\w)j/$1an/"
# - "xform/(\\w)k/$1ao/"
# - "xform/(\\w)l/$1ai/"
# - "xform/(\\w)z/$1ei/"
# - "xform/(\\w)x/$1ie/"
# - "xform/(\\w)c/$1iao/"
# - "xform/(\\w)b/$1ou/"
# - "xform/(\\w)m/$1ian/"
# - "xform/(\\w);/$1ing/"
# - "xform/0(\\w)/$1/"
# - "xform/(^|[ '])v/$1zh/"
# - "xform/(^|[ '])i/$1ch/"
# - "xform/(^|[ '])u/$1sh/"
# - "xform/([jqxy])v/$1u/"
# - "xform/([nl])v/$1ü/"
prism: meow_mspy # 设定由此主翻译器的 speller 生成的棱镜文件名,或此副编译器调用的棱镜名
# user_dict: # 设定用户词典名
# db_class: # 设定用户词典类型,可设tabledb(文本)或userdb(二进制)
# comment_format: # 提示码自定义
# spelling_hints: # 设定多少字以内候选标注完整带调拼音(仅script_translator有效)
initial_quality: 0.75 # 设定此翻译器出字优先级(可设置优先级为小数)
# tag: # 设定此翻译器针对的 tag。可不塡,不塡则仅针对 abc
# prefix: # 设定此翻译器的前缀标识,可不塡,不塡则无前缀
# suffix: # 设定此翻译器的尾缀标识,可不塡,不塡则无尾缀
# tips: # 设定此翻译器的输入前提示符,可不塡,不塡则无提示符
# closing_tips: # 设定此翻译器的结束输入提示符,可不塡,不塡则无提示符
meow_emoji: # 设置颜文字输入
enable_user_dict: false
dictionary: meow_emoji
initial_quality: 1
# preedit_format: *preedits
english: # 设置英文输入
enable_encoder: false
encode_commit_history: false
enable_sentence: false
enable_user_dict: false
dictionary: english
initial_quality: -1
custom_phrase:
dictionary: ""
user_dict: custom_phrase
db_class: stabledb
enable_completion: false
enable_sentence: false
initial_quality: 1
punctuator:
import_preset: symbols
half_shape:
'<' : { commit: "《" }
'>' : { commit: "》" }
'/' : { commit: "、" }
# '\' : { commit: "、" }
'~' : '~'
'%' : '%'
'*' : '*'
'[' : 【
']' : 】
'{' : { commit: "{" }
'}' : { commit: "}" }
recognizer:
import_preset: default
patterns:
reverse_lookup: "`[a-z]*'?$"
punct: "^\\\\/?[0-9]?[a-z]*$" # 配合 symbols.yaml 中的特殊字符输入,触发方式改为“\”
key_binder:
import_preset: default