feat: 智能ABC双拼 (#355)
This commit is contained in:
parent
314b3621af
commit
3ccd74e6f2
@ -13,8 +13,9 @@ config_version: '2023-05-09'
|
||||
schema_list:
|
||||
- schema: rime_ice
|
||||
- schema: double_pinyin
|
||||
- schema: double_pinyin_flypy
|
||||
- schema: double_pinyin_abc
|
||||
- schema: double_pinyin_mspy
|
||||
- schema: double_pinyin_flypy
|
||||
- schema: double_pinyin_ziguang
|
||||
|
||||
|
||||
|
265
double_pinyin_abc.schema.yaml
Normal file
265
double_pinyin_abc.schema.yaml
Normal file
@ -0,0 +1,265 @@
|
||||
# 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 文件。
|
||||
#
|
||||
# 默认启用的中英混输词库是全拼的,需要在 melt_eng.dict.yaml 中修改为对应的双拼的。
|
||||
|
||||
|
||||
# 方案说明
|
||||
schema:
|
||||
schema_id: double_pinyin_abc
|
||||
name: 智能ABC双拼
|
||||
version: "1"
|
||||
author:
|
||||
- Dvel
|
||||
description: |
|
||||
雾凇拼音 - 智能ABC双拼
|
||||
https://github.com/iDvel/rime-ice
|
||||
dependencies:
|
||||
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
|
||||
- liangfen # 两分拼字,作为反查挂载到拼音方案
|
||||
|
||||
|
||||
# 开关
|
||||
# 鼠须管 0.16 后,用快捷键切换时的提示文字由 states 定义
|
||||
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
|
||||
# reset: 默认状态。 注释掉后,切换窗口时不会重置到默认状态。
|
||||
switches:
|
||||
- name: ascii_mode
|
||||
states: [ 中, A ]
|
||||
reset: 0
|
||||
- name: ascii_punct # 中英标点
|
||||
states: [ ¥, $ ]
|
||||
reset: 0
|
||||
- name: traditionalization
|
||||
states: [ 简, 繁 ]
|
||||
reset: 0
|
||||
- name: emoji
|
||||
states: [ 💀, 😄 ]
|
||||
reset: 1
|
||||
- name: full_shape
|
||||
states: [ 半角, 全角 ]
|
||||
reset: 0
|
||||
|
||||
# 输入引擎
|
||||
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 # 自定义短语 custom_phrase_double.txt
|
||||
- table_translator@melt_eng # 英文输入
|
||||
- reverse_lookup_translator@liangfen # 反查,两分拼字
|
||||
- lua_translator@unicode # Unicode
|
||||
- lua_translator@number_translator # 数字、金额大写
|
||||
filters:
|
||||
- simplifier@emoji # Emoji
|
||||
- simplifier@traditionalize # 简繁切换
|
||||
- lua_filter@autocap_filter # 英文自动大写
|
||||
- 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: [nav,
|
||||
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, dam, wap, yes, but, put, lag, buf, lip, aid, aim, dig, dim, din,
|
||||
dip, pail, cad, chap, bend]
|
||||
|
||||
|
||||
# 引入八股文
|
||||
grammar:
|
||||
language: zh-hans-t-essay-bgw
|
||||
|
||||
|
||||
# 主翻译器,拼音
|
||||
translator:
|
||||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||||
prism: double_pinyin_abc # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
|
||||
contextual_suggestions: true # 开启八股文
|
||||
initial_quality: 1.2 # 拼音的权重应该比英文大
|
||||
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
|
||||
- xform/o(\w)/0$1/
|
||||
- xform/(\w)q/$1ei/
|
||||
- xform/(\w)n/$1un/
|
||||
- xform/(\w)g/$1eng/
|
||||
- xform/(\w)w/$1ian/
|
||||
- xform/([dtnljqx])r/$1iu/
|
||||
- xform/0r/0er/
|
||||
- xform/([nljqx])t/$1iang/
|
||||
- xform/(\w)t/$1uang/
|
||||
- xform/(\w)y/$1ing/
|
||||
- xform/([dtnlgkhaevrzcs])o/$1uo/
|
||||
- xform/(\w)p/$1uan/
|
||||
- xform/([jqx])s/$1iong/
|
||||
- xform/(\w)s/$1ong/
|
||||
- xform/([gkhaevrzcs])d/$1ua/
|
||||
- xform/(\w)d/$1ia/
|
||||
- xform/(\w)f/$1en/
|
||||
- xform/(\w)h/$1ang/
|
||||
- xform/(\w)j/$1an/
|
||||
- xform/(\w)k/$1ao/
|
||||
- xform/(\w)l/$1ai/
|
||||
- xform/(\w)z/$1iao/
|
||||
- xform/(\w)x/$1ie/
|
||||
- xform/([gkhaev])c/$1uai/
|
||||
- xform/(\w)c/$1in/
|
||||
- xform/(\w)b/$1ou/
|
||||
- xform/([nl])m/$1ve/
|
||||
- xform/([jqxy])m/$1ue/
|
||||
- xform/(\w)m/$1ui/
|
||||
- "xform/(^|[ '])a/$1zh/"
|
||||
- "xform/(^|[ '])e/$1ch/"
|
||||
- "xform/(^|[ '])v/$1sh/"
|
||||
- xform/0(\w)/$1/
|
||||
- xform/([nl])v/$1ü/
|
||||
- xform/([jqxy])v/$1u/
|
||||
|
||||
|
||||
# 次翻译器,英文
|
||||
melt_eng:
|
||||
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
|
||||
enable_sentence: false # 禁止造句
|
||||
enable_user_dict: false # 禁用用户词典
|
||||
initial_quality: 1.1 # 初始权重
|
||||
comment_format: # 自定义提示码
|
||||
- xform/.*// # 清空提示码
|
||||
|
||||
|
||||
# 反查:两分(拼字)
|
||||
liangfen:
|
||||
dictionary: liangfen # 挂载两分词典 liangfen.dict.yaml
|
||||
prefix: "L" # 以 L 开头来反查
|
||||
enable_completion: true # 补全提示
|
||||
# tips: 〔两分〕 # 反查时显示的文字,建议注释掉,否则很多 L 开头的英文单词也会显示这个
|
||||
|
||||
|
||||
# 自定义短语
|
||||
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 大
|
||||
|
||||
|
||||
# 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: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||||
excluded_types: [ reverse_lookup ] # 不转换反查(两分拼字)的内容
|
||||
|
||||
|
||||
# 标点符号
|
||||
# punctuator 下面有三个子项:
|
||||
# full_shape 全角标点映射
|
||||
# half_shape 半角标点映射
|
||||
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。
|
||||
punctuator:
|
||||
full_shape:
|
||||
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
|
||||
half_shape:
|
||||
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
|
||||
symbols:
|
||||
__include: symbols_caps_v:/symbols # 从 symbols_caps_v.yaml 导入配置
|
||||
|
||||
|
||||
# 处理符合特定规则的输入码,如网址、反查
|
||||
recognizer:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
patterns: # 再增加方案专有的:
|
||||
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
|
||||
reverse_lookup: "^L[a-z]+$" # 响应两分拼字的反查
|
||||
unicode: "^U[a-f0-9]+" # 响应 Unicode
|
||||
number: "^R[0-9]+[.]?[0-9]*" # 响应 number_translator
|
||||
|
||||
|
||||
# 从 default 继承快捷键
|
||||
key_binder:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
# bindings: # 也可以再增加方案专有的
|
||||
|
||||
|
||||
# 拼写设定
|
||||
speller:
|
||||
# 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射
|
||||
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA;
|
||||
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
|
||||
algebra:
|
||||
- erase/^xx$/
|
||||
- xform/^zh/ᴀ/
|
||||
- xform/^ch/ᴇ/
|
||||
- xform/^sh/ᴠ/
|
||||
- xform/^([aoe].*)$/ᴏ$1/
|
||||
- xform/ei$/ǫ/
|
||||
- xform/ian$/ᴡ/
|
||||
- xform/er$|iu$/ʀ/
|
||||
- xform/[iu]ang$/ᴛ/
|
||||
- xform/ing$/ʏ/
|
||||
- xform/uo$/ᴏ/
|
||||
- xform/uan$/ᴘ/
|
||||
- xform/i?ong$/s/
|
||||
- xform/[iu]a$/ᴅ/
|
||||
- xform/en$/ғ/
|
||||
- xform/eng$/ɢ/
|
||||
- xform/ang$/ʜ/
|
||||
- xform/an$/ᴊ/
|
||||
- xform/iao$/ᴢ/
|
||||
- xform/ao$/ᴋ/
|
||||
- xform/in$|uai$/ᴄ/
|
||||
- xform/ai$/ʟ/
|
||||
- xform/ie$/x/
|
||||
- xform/ou$/ʙ/
|
||||
- xform/un$/ɴ/
|
||||
- xform/[uv]e$|ui$/ᴍ/
|
||||
- xlit/ǫᴡʀᴛʏᴜɪᴏᴘsᴅғɢʜᴊᴋʟᴢxᴄᴠʙɴᴍ/qwrtyuiopsdfghjklzxcvbnm/
|
||||
- abbrev/^(.).+$/$1/ # 首字母简拼
|
@ -45,7 +45,7 @@ speller:
|
||||
delimiter: " '"
|
||||
algebra:
|
||||
# 根据当前所用中文方案修改 __include 的值
|
||||
# algebra_rime_ice ; algebra_flypy ; algebra_mspy ; algebra_ziguang ; algebra_double_pinyin
|
||||
# algebra_rime_ice ; algebra_flypy ; algebra_mspy ; algebra_ziguang ; algebra_double_pinyin ; algebra_double_pinyin_abc
|
||||
__include: algebra_rime_ice
|
||||
__append:
|
||||
# 数字派生
|
||||
@ -230,3 +230,25 @@ algebra_double_pinyin:
|
||||
- derive/7/qi/
|
||||
- derive/8/ba/
|
||||
- derive/9/jq/
|
||||
|
||||
algebra_double_pinyin_abc:
|
||||
- derive/(?<!\d)1([1-9])(?!\d)/vi$1/
|
||||
- derive/([1-9])0000(?!0)/$1wj/
|
||||
- derive/([1-9])000(?!0)/$1qw/
|
||||
- derive/([1-9])00(?!0)/$1bl/
|
||||
- derive/([2-9])0(?!0)/$1vi/
|
||||
- derive/(?<!\d)([2-9])([1-9])(?!\d)/$1vi$2/
|
||||
- derive/\./dw/
|
||||
- derive/10/vi/
|
||||
- derive/0/ly/
|
||||
- derive/1/yi/
|
||||
- derive/2/or/
|
||||
- derive/2/lt/
|
||||
- derive/3/sj/
|
||||
- derive/4/si/
|
||||
- derive/5/wu/
|
||||
- derive/6/lr/
|
||||
- derive/7/qi/
|
||||
- derive/8/ba/
|
||||
- derive/9/jr/
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user