fix: 智能 ABC 方案拼写规则转写缺失; fix #364, fix #365

This commit is contained in:
Dvel 2023-06-18 15:02:38 +08:00
parent 6dc4237f48
commit e32b3fa66c

View File

@ -1,266 +1,266 @@
# Rime schema # Rime schema
# encoding: utf-8 # encoding: utf-8
# 复制自 rime_ice.schema.yaml ,适配了双拼。 # 复制自 rime_ice.schema.yaml ,适配了双拼。
# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin # 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin
# 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。 # 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。
# #
# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。 # 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。
# #
# 默认启用的中英混输词库是全拼的,需要在 melt_eng.dict.yaml 中修改为对应的双拼的。 # 默认启用的中英混输词库是全拼的,需要在 melt_eng.dict.yaml 中修改为对应的双拼的。
# 还需要在英文方案 melt_eng.schema.yaml 将数字的拼写规则 __include: algebra_rime_ice 改为对应的双拼。 # 还需要在英文方案 melt_eng.schema.yaml 将数字的拼写规则 __include: algebra_rime_ice 改为对应的双拼。
# 方案说明 # 方案说明
schema: schema:
schema_id: double_pinyin_abc schema_id: double_pinyin_abc
name: 智能ABC双拼 name: 智能ABC双拼
version: "1" version: "1"
author: author:
- Dvel - Dvel
description: | description: |
雾凇拼音 - 智能ABC双拼 雾凇拼音 - 智能ABC双拼
https://github.com/iDvel/rime-ice https://github.com/iDvel/rime-ice
dependencies: dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案 - melt_eng # 英文输入,作为次翻译器挂载到拼音方案
- liangfen # 两分拼字,作为反查挂载到拼音方案 - liangfen # 两分拼字,作为反查挂载到拼音方案
# 开关 # 开关
# 鼠须管 0.16 后,用快捷键切换时的提示文字由 states 定义 # 鼠须管 0.16 后,用快捷键切换时的提示文字由 states 定义
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。 # states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# reset: 默认状态。 注释掉后,切换窗口时不会重置到默认状态。 # reset: 默认状态。 注释掉后,切换窗口时不会重置到默认状态。
switches: switches:
- name: ascii_mode - name: ascii_mode
states: [ 中, A ] states: [ 中, A ]
reset: 0 reset: 0
- name: ascii_punct # 中英标点 - name: ascii_punct # 中英标点
states: [ ¥, $ ] states: [ ¥, $ ]
reset: 0 reset: 0
- name: traditionalization - name: traditionalization
states: [ 简, 繁 ] states: [ 简, 繁 ]
reset: 0 reset: 0
- name: emoji - name: emoji
states: [ 💀, 😄 ] states: [ 💀, 😄 ]
reset: 1 reset: 1
- name: full_shape - name: full_shape
states: [ 半角, 全角 ] states: [ 半角, 全角 ]
reset: 0 reset: 0
# 输入引擎 # 输入引擎
engine: engine:
processors: processors:
- lua_processor@select_character # 以词定字 - lua_processor@select_character # 以词定字
- ascii_composer - ascii_composer
- recognizer - recognizer
- key_binder - key_binder
- speller - speller
- punctuator - punctuator
- selector - selector
- navigator - navigator
- express_editor - express_editor
segmentors: segmentors:
- ascii_segmentor - ascii_segmentor
- matcher - matcher
- abc_segmentor - abc_segmentor
- punct_segmentor - punct_segmentor
- fallback_segmentor - fallback_segmentor
translators: translators:
- punct_translator - punct_translator
- script_translator - script_translator
- lua_translator@date_translator # 时间、日期、星期 - lua_translator@date_translator # 时间、日期、星期
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- table_translator@melt_eng # 英文输入 - table_translator@melt_eng # 英文输入
- reverse_lookup_translator@liangfen # 反查,两分拼字 - reverse_lookup_translator@liangfen # 反查,两分拼字
- lua_translator@unicode # Unicode - lua_translator@unicode # Unicode
- lua_translator@number_translator # 数字、金额大写 - lua_translator@number_translator # 数字、金额大写
filters: filters:
- simplifier@emoji # Emoji - simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换 - simplifier@traditionalize # 简繁切换
- lua_filter@autocap_filter # 英文自动大写 - lua_filter@autocap_filter # 英文自动大写
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
- uniquifier # 去重 - uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字 # Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator: date_translator:
date: date # 日期: 2022-11-29 date: date # 日期: 2022-11-29
time: time # 时间: 18:13 time: time # 时间: 18:13
week: week # 星期: 星期二 week: week # 星期: 星期二
datetime: datetime # ISO 8601 2022-11-29T18:13:11+08:00 datetime: datetime # ISO 8601 2022-11-29T18:13:11+08:00
timestamp: timestamp # 时间戳: 1669716794 timestamp: timestamp # 时间戳: 1669716794
# Lua 配置: 降低部分英语单词在候选项的位置 # Lua 配置: 降低部分英语单词在候选项的位置
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题 # 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」 # 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」 # 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
reduce_english_filter: reduce_english_filter:
# 降低到第 idx 个位置 # 降低到第 idx 个位置
idx: 2 idx: 2
# 要降低的单词,匹配的是输入码,即全小写。 # 要降低的单词,匹配的是输入码,即全小写。
words: [nav, words: [nav,
rug, bus, ship, laos, bail, bam, bans, bib, bos, chic, chit, dab, dag, 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, 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, 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, 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, key, mob, buy, dam, wap, yes, but, put, lag, buf, lip, aid, aim, dig, dim, din,
dip, pail, cad, chap, bend] dip, pail, cad, chap, bend]
# 引入八股文 # 引入八股文
grammar: grammar:
language: zh-hans-t-essay-bgw language: zh-hans-t-essay-bgw
# 主翻译器,拼音 # 主翻译器,拼音
translator: translator:
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
prism: double_pinyin_abc # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。 prism: double_pinyin_abc # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
contextual_suggestions: true # 开启八股文 contextual_suggestions: true # 开启八股文
initial_quality: 1.2 # 拼音的权重应该比英文大 initial_quality: 1.2 # 拼音的权重应该比英文大
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符 preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- xform/o(\w)/0$1/ - xform/o(\w)/0$1/
- xform/(\w)q/$1ei/ - xform/(\w)q/$1ei/
- xform/(\w)n/$1un/ - xform/(\w)n/$1un/
- xform/(\w)g/$1eng/ - xform/(\w)g/$1eng/
- xform/(\w)w/$1ian/ - xform/(\w)w/$1ian/
- xform/([dtnljqx])r/$1iu/ - xform/([dtnljqx])r/$1iu/
- xform/0r/0er/ - xform/0r/0er/
- xform/([nljqx])t/$1iang/ - xform/([nljqx])t/$1iang/
- xform/(\w)t/$1uang/ - xform/(\w)t/$1uang/
- xform/(\w)y/$1ing/ - xform/(\w)y/$1ing/
- xform/([dtnlgkhaevrzcs])o/$1uo/ - xform/([dtnlgkhaevrzcs])o/$1uo/
- xform/(\w)p/$1uan/ - xform/(\w)p/$1uan/
- xform/([jqx])s/$1iong/ - xform/([jqx])s/$1iong/
- xform/(\w)s/$1ong/ - xform/(\w)s/$1ong/
- xform/([gkhaevrzcs])d/$1ua/ - xform/([gkhaevrzcs])d/$1ua/
- xform/(\w)d/$1ia/ - xform/(\w)d/$1ia/
- xform/(\w)f/$1en/ - xform/(\w)f/$1en/
- xform/(\w)h/$1ang/ - xform/(\w)h/$1ang/
- xform/(\w)j/$1an/ - xform/(\w)j/$1an/
- xform/(\w)k/$1ao/ - xform/(\w)k/$1ao/
- xform/(\w)l/$1ai/ - xform/(\w)l/$1ai/
- xform/(\w)z/$1iao/ - xform/(\w)z/$1iao/
- xform/(\w)x/$1ie/ - xform/(\w)x/$1ie/
- xform/([gkhaev])c/$1uai/ - xform/([gkhaev])c/$1uai/
- xform/(\w)c/$1in/ - xform/(\w)c/$1in/
- xform/(\w)b/$1ou/ - xform/(\w)b/$1ou/
- xform/([nl])m/$1ve/ - xform/([nl])m/$1ve/
- xform/([jqxy])m/$1ue/ - xform/([jqxy])m/$1ue/
- xform/(\w)m/$1ui/ - xform/(\w)m/$1ui/
- "xform/(^|[ '])a/$1zh/" - "xform/(^|[ '])a/$1zh/"
- "xform/(^|[ '])e/$1ch/" - "xform/(^|[ '])e/$1ch/"
- "xform/(^|[ '])v/$1sh/" - "xform/(^|[ '])v/$1sh/"
- xform/0(\w)/$1/ - xform/0(\w)/$1/
- xform/([nl])v/$1ü/ - xform/([nl])v/$1ü/
- xform/([jqxy])v/$1u/ - xform/([jqxy])v/$1u/
# 次翻译器,英文 # 次翻译器,英文
melt_eng: melt_eng:
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
enable_sentence: false # 禁止造句 enable_sentence: false # 禁止造句
enable_user_dict: false # 禁用用户词典 enable_user_dict: false # 禁用用户词典
initial_quality: 1.1 # 初始权重 initial_quality: 1.1 # 初始权重
comment_format: # 自定义提示码 comment_format: # 自定义提示码
- xform/.*// # 清空提示码 - xform/.*// # 清空提示码
# 反查:两分(拼字) # 反查:两分(拼字)
liangfen: liangfen:
dictionary: liangfen # 挂载两分词典 liangfen.dict.yaml dictionary: liangfen # 挂载两分词典 liangfen.dict.yaml
prefix: "L" # 以 L 开头来反查 prefix: "L" # 以 L 开头来反查
enable_completion: true # 补全提示 enable_completion: true # 补全提示
# tips: 〔两分〕 # 反查时显示的文字,建议注释掉,否则很多 L 开头的英文单词也会显示这个 # tips: 〔两分〕 # 反查时显示的文字,建议注释掉,否则很多 L 开头的英文单词也会显示这个
# 自定义短语 # 自定义短语
custom_phrase: custom_phrase:
dictionary: "" dictionary: ""
user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件 user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件
db_class: stabledb db_class: stabledb
enable_completion: false # 补全提示 enable_completion: false # 补全提示
enable_sentence: false # 禁止造句 enable_sentence: false # 禁止造句
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大 initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大
# Emoji # Emoji
emoji: emoji:
opencc_config: emoji.json opencc_config: emoji.json
option_name: emoji option_name: emoji
# 简繁切换 # 简繁切换
traditionalize: traditionalize:
option_name: traditionalization option_name: traditionalization
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。 tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
excluded_types: [ reverse_lookup ] # 不转换反查(两分拼字)的内容 excluded_types: [ reverse_lookup ] # 不转换反查(两分拼字)的内容
# 标点符号 # 标点符号
# punctuator 下面有三个子项: # punctuator 下面有三个子项:
# full_shape 全角标点映射 # full_shape 全角标点映射
# half_shape 半角标点映射 # half_shape 半角标点映射
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。 # symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。
punctuator: punctuator:
full_shape: full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置 __include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape: half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置 __include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols: symbols:
__include: symbols_caps_v:/symbols # 从 symbols_caps_v.yaml 导入配置 __include: symbols_caps_v:/symbols # 从 symbols_caps_v.yaml 导入配置
# 处理符合特定规则的输入码,如网址、反查 # 处理符合特定规则的输入码,如网址、反查
recognizer: recognizer:
import_preset: default # 从 default.yaml 继承通用的 import_preset: default # 从 default.yaml 继承通用的
patterns: # 再增加方案专有的: patterns: # 再增加方案专有的:
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
reverse_lookup: "^L[a-z]+$" # 响应两分拼字的反查 reverse_lookup: "^L[a-z]+$" # 响应两分拼字的反查
unicode: "^U[a-f0-9]+" # 响应 Unicode unicode: "^U[a-f0-9]+" # 响应 Unicode
number: "^R[0-9]+[.]?[0-9]*" # 响应 number_translator number: "^R[0-9]+[.]?[0-9]*" # 响应 number_translator
# 从 default 继承快捷键 # 从 default 继承快捷键
key_binder: key_binder:
import_preset: default # 从 default.yaml 继承通用的 import_preset: default # 从 default.yaml 继承通用的
# bindings: # 也可以再增加方案专有的 # bindings: # 也可以再增加方案专有的
# 拼写设定 # 拼写设定
speller: speller:
# 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射 # 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA; alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。 delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
algebra: algebra:
- erase/^xx$/ - erase/^xx$/
- xform/^zh/ᴀ/ - xform/^zh/ᴀ/
- xform/^ch/ᴇ/ - xform/^ch/ᴇ/
- xform/^sh// - xform/^sh//
- xform/^([aoe].*)$/$1/ - xform/^([aoe].*)$/$1/
- xform/ei$/ǫ/ - xform/ei$/ǫ/
- xform/ian$// - xform/ian$//
- xform/er$|iu$/ʀ/ - xform/er$|iu$/ʀ/
- xform/[iu]ang$/ᴛ/ - xform/[iu]ang$/ᴛ/
- xform/ing$/ʏ/ - xform/ing$/ʏ/
- xform/uo$// - xform/uo$//
- xform/uan$/ᴘ/ - xform/uan$/ᴘ/
- xform/i?ong$/s/ - xform/i?ong$/s/
- xform/[iu]a$/ᴅ/ - xform/[iu]a$/ᴅ/
- xform/en$/ғ/ - xform/en$/ғ/
- xform/eng$/ɢ/ - xform/eng$/ɢ/
- xform/ang$/ʜ/ - xform/ang$/ʜ/
- xform/an$/ᴊ/ - xform/an$/ᴊ/
- xform/iao$// - xform/iao$//
- xform/ao$/ᴋ/ - xform/ao$/ᴋ/
- xform/in$|uai$// - xform/in$|uai$//
- xform/ai$/ʟ/ - xform/ai$/ʟ/
- xform/ie$/x/ - xform/ie$/x/
- xform/ou$/ʙ/ - xform/ou$/ʙ/
- xform/un$/ɴ/ - xform/un$/ɴ/
- xform/[uv]e$|ui$/ᴍ/ - xform/[uv]e$|ui$/ᴍ/
- xlit/ǫᴡʀᴛʏɪᴘsᴅғɢʜᴊᴋʟxʙɴᴍ/qwrtyuiopsdfghjklzxcvbnm/ - xlit/ǫᴡʀᴛʏᴏᴘsᴅғɢʜᴊᴋʟxʙɴᴍ/qwertyopasdfghjklzxcvbnm/
- abbrev/^(.).+$/$1/ # 首字母简拼 - abbrev/^(.).+$/$1/ # 首字母简拼