-
Notifications
You must be signed in to change notification settings - Fork 1
/
uggx.schema.yaml
154 lines (138 loc) · 5.04 KB
/
uggx.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
# vim: set et sts=2 sw=2:
# encoding: utf-8
---
schema:
schema_id: uggx
name: 郑码
version: '1.4.0'
author:
- X1aomu
description: |
一个 RIME 郑码输入方案。
郑码,又称「字根通用码」,
是由中国文字学家、《英华大词典》主编郑易里经过对汉字的研究所发想,
后经其女儿郑珑所完成的一种字形输入法。
dependencies:
- pinyin_simp # 反查所需依赖
- uggx.phrases # 为了使用预置的短语字典,还要控制其出字优先级,目前只能加上这方案的依赖
switches:
- name: ascii_mode
states: [中文, 英文]
reset: 0
- name: full_shape
states: [半角, 全角]
reset: 0
- name: extended_charset
states: [常用, 增广]
reset: 0
- name: ascii_punct
states: [。,, .,]
reset: 0
engine:
processors:
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@make_dict
- affix_segmentor@pinyin_simp
- punct_segmentor
- fallback_segmentor
translators:
# - echo_translator # 没有其他候选字时,回显输入码〔输入码可以Shift+Enter上屛〕
- punct_translator
- table_translator
- table_translator@user_dict_encoder # 如果不需要使用用户字典,即只使用预置词典,请注释此行
- table_translator@phrase_encoder # 如果不需要使用预置词组,请注释此行
- table_translator@history_encoder # 如果不需要使用上屏历史自动成词,请注释此行
- table_translator@make_dict
# - reverse_lookup_translator # 反查。弃用,用 filters/reverse_lookup_filter 替代
- script_translator@pinyin_simp
filters:
# - simplifier # 用字转换
- uniquifier # 去重
- reverse_lookup_filter@pinyin_simp_reverse_lookup
recognizer:
patterns:
punct: '^/([0-9]|10|[A-Za-z]+)$' # 「/」开头识别为符号。
uppercase: "[A-Z][-_+.0-9A-Za-z]*$" # 从预置中剔除「'」以避免与 make_dict 冲突
make_dict: "^X[a-z']*$" # 以「X」时启用手动造词
pinyin_simp: "`[a-z']*$" # 反查引導鍵以「`」开头
key_binder:
import_preset: default
bindings:
# 回车清屏
- {when: composing, accept: Return, send: Escape}
# 设置分号为选择第二候选
- {when: has_menu, accept: semicolon, send: 2}
speller:
delimiter: " '"
max_code_length: 4 # 设置最大码长 开启此选项可以实现顶字上屏
auto_select: false # 候选唯一时是否自动上屏
auto_clear: max_length # 输入全码长无候选时自动清空
punctuator:
import_preset: symbols
# 默认的单字翻译器,这个只给出单字,优先级最高
translator:
initial_quality: 1000000 # 调整编译器出字的优先度
dictionary: uggx # 词库的设置请看 uggx.dict.yaml
db_class: userdb # 设定用户词典类型,可设 tabledb〔文本〕或 userdb〔二进制〕
enable_charset_filter: true # 关闭字符集过滤,相应功能由 charset_filter@xxx 代替
enable_user_dict: false # 是否開啓用戶詞典〔用戶詞典記錄動態字詞頻、用戶詞〕
enable_encoder: false # 是否自造词
encode_commit_history: false # 是否對已上屛詞自動成詞
enable_sentence: false # 连打
enable_completion: true # 逐键提示
max_phrase_length: 4 # 自造词长度,同时影响下面的 user_dict_encoder 与 history_encoder
# 用户词典翻译器,这个会给出用户词典(来自上屏历史记录与手动造词)里的词语,优先级介于单字和预置词组之间
user_dict_encoder:
__include: translator
initial_quality: 10000
enable_user_dict: true
# 预置词组翻译器,这个只给出词组,优先级最低
phrase_encoder:
__include: translator
initial_quality: 1000
dictionary: uggx.phrases
# 历史上屏词自动造词器
history_encoder:
__include: translator
initial_quality: 100
enable_encoder: true
enable_user_dict: true # 本开关需开启,否则 encode_commit_history 选项不起作用
encode_commit_history: true
# 手动造词翻译器,以「X」开头时生效
make_dict:
__include: translator
initial_quality: 10
enable_sentence: true
prefix: 'X'
tips: '〔自造词〕'
tag: make_dict
# 反查翻译器,以「`」开头时生效
pinyin_simp:
__include: pinyin_simp.schema:/translator
prefix: '`'
tips: '〔拼音〕'
tag: pinyin_simp # 必要
# 反查过滤器,给出反查编码提示
pinyin_simp_reverse_lookup:
# 掛在這個 tag 所對應的翻譯器上
# 注:abc 是默认 translator 的 tag,效果为显示出一个字所有可能的编码
tags: [abc, pinyin_simp]
overwrite_comment: false
dictionary: uggx # 反查所用字典
comment_format:
- 'xform/$/〕/'
- 'xform/^/〔/'
__patch:
- emoji_suggestion:/patch? # 尝试引入 emoji 提示(基于 opencc),见 rime-emoji 项目
- uggx.custom:/patch? # 支持传统的 <config>.custom.yaml 文件