forked from iDvel/rime-ice
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6f20e2b
commit 8bebd34
Showing
2 changed files
with
277 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,276 @@ | ||
# Rime schema | ||
# encoding: utf-8 | ||
|
||
|
||
# 复制自 rime_ice.schema.yaml ,适配了双拼。 | ||
# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin | ||
# 双拼和全拼主要就是 speller/algebra 和 translator/preedit_format 这里有区别。 | ||
# | ||
# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。 | ||
# | ||
# 中英混输词库 en_dicts/cn_en.dict.yaml 可以删除或修改,里面是写死了的全拼+英文编码。 | ||
|
||
|
||
# 方案说明 | ||
schema: | ||
schema_id: double_pinyin_mspy | ||
name: 微软双拼 | ||
version: "1" | ||
author: | ||
- Dvel | ||
description: | | ||
雾凇拼音 - 微软双拼 | ||
https://github.com/rime/rime-double-pinyin/blob/master/double_pinyin_mspy.schema.yaml | ||
dependencies: | ||
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案 | ||
- liangfen # 两分拼字,作为反查挂载到拼音方案 | ||
|
||
|
||
# 开关 | ||
# 鼠须管 0.16 后,快捷键切换时的提示由 states 自定义 | ||
# 注释掉 states 后,仍可以通过自定义的快捷键切换,但没有切换提示,也不会出现在方案选单中 | ||
# 注释掉 reset 后,配合 default.custom.yaml 中的 save_options,可以永久记住开关状态,切换程序后也不会还原。 | ||
switches: | ||
- name: ascii_mode | ||
states: [ 中, A ] | ||
reset: 0 | ||
- name: full_shape | ||
# states: [ 半角, 全角 ] | ||
reset: 0 | ||
- name: ascii_punct | ||
states: [ 。,, ., ] # 中英标点 | ||
reset: 0 | ||
- name: traditionalization | ||
states: [ 简, 繁 ] | ||
reset: 0 | ||
- name: emoji | ||
states: [ 💀, 😄 ] | ||
reset: 1 | ||
|
||
|
||
# 输入引擎 | ||
engine: | ||
processors: | ||
- lua_processor@select_character # 以词定字 | ||
- ascii_composer | ||
- recognizer | ||
- key_binder | ||
- speller | ||
- punctuator | ||
- selector | ||
- navigator | ||
- express_editor | ||
segmentors: | ||
- ascii_segmentor | ||
- matcher | ||
- abc_segmentor | ||
- punct_segmentor | ||
- fallback_segmentor | ||
translators: | ||
- punct_translator | ||
- script_translator | ||
- lua_translator@date_translator # 时间、日期、星期 | ||
- table_translator@custom_phrase # 自定义短语 | ||
- table_translator@melt_eng # 英文输入 | ||
- reverse_lookup_translator@liangfen # 反查,两分拼字 | ||
- lua_translator@unicode # Unicode | ||
filters: | ||
- simplifier@emoji # Emoji | ||
- simplifier@traditionalize # 简繁切换 | ||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 | ||
- uniquifier # 去重 | ||
|
||
|
||
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字 | ||
date_translator: | ||
date: date # 日期: 2022-11-29 | ||
time: time # 时间: 18:13 | ||
week: week # 星期: 星期二 | ||
datetime: datetime # ISO 8601: 2022-11-29T18:13:11+08:00 | ||
timestamp: timestamp # 时间戳: 1669716794 | ||
|
||
|
||
# Lua 配置: 降低部分英语单词在候选项的位置 | ||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题 | ||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」 | ||
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」 | ||
reduce_english_filter: | ||
# 降低到第 idx 个位置 | ||
idx: 2 | ||
# 要降低的单词,匹配的是输入码,即全小写。 | ||
words: [rug, bus, ship, laos, bail, bam, bans, bib, bos, chic, chit, dab, dag, | ||
dal, dit, dub, dug, fab, gam, ger, gus, hem, hep, hud, kat, lam, lax, lex, lug, | ||
lux, moc, mos, mot, mum, nad, nay, nib, nip, pak, pap, pax, rig, rum, sac, sal, | ||
sax, sec, shin, sis, ska, slang, sus, tad, taj, tac, tic, yep, yum, fax, cain, | ||
key, mob, buy] | ||
|
||
|
||
# 从 default 继承快捷键 | ||
key_binder: | ||
import_preset: default | ||
# bindings: # 也可以增加方案专属的快捷键 | ||
|
||
|
||
# Emoji | ||
emoji: | ||
opencc_config: emoji.json | ||
option_name: emoji | ||
|
||
|
||
# 简繁切换 | ||
traditionalize: | ||
option_name: traditionalization | ||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json | ||
tips: all # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。 | ||
excluded_types: [ reverse_lookup ] # 不转换反查(两分拼字)的内容 | ||
|
||
|
||
# 自定义短语 | ||
custom_phrase: | ||
dictionary: "" | ||
user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件 | ||
db_class: stabledb | ||
enable_completion: false # 补全提示 | ||
enable_sentence: false # 禁止造句 | ||
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大 | ||
|
||
|
||
# 引入八股文 | ||
grammar: | ||
language: zh-hans-t-essay-bgw | ||
|
||
|
||
# 主翻译器,拼音 | ||
translator: | ||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml | ||
prism: double_pinyin # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。 | ||
contextual_suggestions: true # 开启八股文 | ||
initial_quality: 1.2 # 拼音的权重应该比英文大 | ||
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符 | ||
- 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ü/ | ||
|
||
# 次翻译器,英文 | ||
melt_eng: | ||
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml | ||
enable_sentence: false # 禁止造句 | ||
enable_user_dict: false # 禁用用户词典 | ||
initial_quality: 1.1 # 初始权重 | ||
comment_format: # 自定义提示码 | ||
- xform/.*// # 清空提示码 | ||
|
||
|
||
# 标点符号 | ||
# 共享目录预设的 punctuation.yaml 包含了 full_shape half_shape (全角和半角的符号映射) | ||
# 共享目录预设的 symbols.yaml 包含了 full_shape half_shape symbols | ||
# symbols 的功能是支持以「/」前缀开头输出一系列字符,自定义的 symbols_custom_double.yaml 修改成了「V」开头。 | ||
punctuator: | ||
# __include: punctuation:/ # 从共享目录引入预设的 punctuation.yaml | ||
# import_preset: symbols # 从共享目录引入预设的 symbols.yaml | ||
import_preset: symbols_custom # 从 symbols_custom.yaml 引入自己自定义的 | ||
__include: symbols_custom_double:/ # 从 symbols_custom_double.yaml 替换为适用于双拼的 symbols | ||
# 也可以直接在这里配置: | ||
# full_shape: | ||
# ... | ||
# half_shape: | ||
# ... | ||
# symbols: | ||
# ... | ||
|
||
|
||
# 处理符合特定规则的输入码,如网址、反查 | ||
recognizer: | ||
patterns: | ||
email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$" # 自带的,e-mail 正则 | ||
# uppercase: "[A-Z][-_+.'0-9A-Za-z]*$" # 自带的,大写字母开头后,可以输入[-_+.'0-9A-Za-z]这些字符 | ||
url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]+[.].+$" # 自带的,URL 正则 | ||
punct: "^v([0-9]|10|[A-Za-z]+)$" # 响应 symbols_custom.yaml 下的 punctuator/symbols,用「v」替换「/」并支持大写 | ||
reverse_lookup: "^u[a-z]+$" # 响应两分的反查 | ||
unicode: "^U[a-f0-9]+" # 响应 Unicode | ||
# 一些不直接上屏的配置示例: | ||
# url_2: "^[A-Za-z]+[.].*" # 句号不上屏,支持 google.com abc.txt 等网址或文件名,使用句号翻页时需要注释掉 | ||
# colon: "^[A-Za-z]+:.*" # 冒号不上屏 | ||
# underscore: "^[A-Za-z]+_.*" # 下划线不上屏 | ||
|
||
|
||
# 反查:两分(拼字) | ||
liangfen: | ||
dictionary: liangfen # 两分词典 liangfen.dict.yaml | ||
prefix: 'L' # 以 L 开头来反查 | ||
enable_completion: true # 补全提示 | ||
# tips: 〔两分〕 # 反查时显示的文字,建议注释掉,否则很多 L 开头的英文单词也会显示这个 | ||
|
||
|
||
# 拼写设定 | ||
speller: | ||
# 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射 | ||
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA; | ||
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。 | ||
algebra: | ||
- erase/^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$/;/ | ||
- xlit/QWRTYUIOPSDFGHMJCKLZXVBN/qwrtyuiopsdfghmjcklzxvbn/ | ||
#- abbrev/^(.).+$/$1/ |