360 lines
14 KiB
YAML
360 lines
14 KiB
YAML
# Rime schema
|
||
# encoding: utf-8
|
||
|
||
|
||
# 方案说明
|
||
schema:
|
||
schema_id: rime_ice
|
||
name: 雾凇拼音
|
||
version: "2023-10-22"
|
||
author:
|
||
- Dvel
|
||
description: |
|
||
雾凇拼音
|
||
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 # 时间、日期、星期
|
||
- lua_translator@lunar # 农历
|
||
- table_translator@custom_phrase # 自定义短语 custom_phrase.txt
|
||
- table_translator@melt_eng # 英文输入
|
||
- reverse_lookup_translator@liangfen # 反查,两分拼字
|
||
- lua_translator@unicode # Unicode
|
||
- lua_translator@number_translator # 数字、金额大写
|
||
filters:
|
||
- lua_filter@corrector # 错音错字提示
|
||
- simplifier@emoji # Emoji
|
||
- simplifier@traditionalize # 简繁切换
|
||
- lua_filter@v_filter # v 模式 symbols 优先(否则是英文优先)
|
||
- lua_filter@autocap_filter # 英文自动大写
|
||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
|
||
- uniquifier # 去重
|
||
|
||
|
||
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
|
||
date_translator:
|
||
date: rq # 日期: 2022-11-29
|
||
time: sj # 时间: 18:13
|
||
week: xq # 星期: 星期二
|
||
datetime: dt # ISO 8601: 2022-11-29T18:13:11+08:00
|
||
timestamp: ts # 时间戳: 1669716794
|
||
|
||
|
||
# Lua 配置:农历的触发关键字
|
||
lunar: nl # 癸卯年(兔)冬月廿一 二〇二四年冬月廿一
|
||
|
||
|
||
# Lua 配置:为 corrector 格式化 comment,占位符为 {comment}
|
||
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
|
||
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
|
||
corrector: "{comment}"
|
||
|
||
|
||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
|
||
# 几种模式:
|
||
# all 降低所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母的单词
|
||
# none 不降低任何单词,相当于没有启用这个 Lua
|
||
# custom 自定义,只降低 words 里的
|
||
# (匹配的是编码,不是单词)
|
||
reduce_english_filter:
|
||
mode: custom # all | none | custom
|
||
idx: 2 # 降低到第 idx 个位置
|
||
# 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
|
||
words: [aid, ann,
|
||
bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf,
|
||
cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur,
|
||
dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn,
|
||
fab, fax, fob, fog, foul, fur,
|
||
gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
|
||
hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut,
|
||
jim, jug,
|
||
kat,
|
||
lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux,
|
||
mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mop, mos, mot, mud, mug, mum, nail,
|
||
nap, nat, nay, neil, nib, nip, noun, nous, nun, nut,
|
||
pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub,
|
||
rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runc, runs,
|
||
sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
|
||
tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
|
||
wag, wand, womens, wap, wax, weir, won,
|
||
yan, yen]
|
||
|
||
|
||
# 主翻译器,拼音
|
||
translator:
|
||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
|
||
always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
|
||
initial_quality: 1.2 # 拼音的权重应该比英文大
|
||
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
|
||
- xform/([jqxy])v/$1u/ # 显示为 ju qu xu yu
|
||
# - xform/([nl])v/$1ü/ # 显示为 nü lü
|
||
# - xform/([nl])ue/$1üe/ # 显示为 nüe lüe
|
||
- xform/([nl])v/$1v/ # 显示为 nv lv
|
||
- xform/([nl])ue/$1ve/ # 显示为 nve lve
|
||
|
||
|
||
# 次翻译器,英文
|
||
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: "u" # 以 u 开头来反查
|
||
enable_completion: true # 补全提示
|
||
# tips: 〔两分〕 # 反查时显示的文字,建议注释掉,否则很多 u 开头的英文单词也会显示这个
|
||
|
||
|
||
# 自定义短语:custom_phrase.txt
|
||
custom_phrase:
|
||
dictionary: ""
|
||
user_dict: custom_phrase # 可以修改这里,改成自己的 txt 文件
|
||
db_class: stabledb # 只读数据库,无法动态调频;设为 tabledb 可以动态调频
|
||
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_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_v:/symbols # 从 symbols_v.yaml 导入配置
|
||
|
||
|
||
# 处理符合特定规则的输入码,如网址、反查
|
||
recognizer:
|
||
import_preset: default # 从 default.yaml 继承通用的
|
||
patterns: # 再增加方案专有的:
|
||
punct: "^v([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols,用 'v' 替换 '/'
|
||
reverse_lookup: "^u[a-z]+$" # 响应两分拼字的反查
|
||
unicode: "^U[a-f0-9]+" # 响应 lua_translator@unicode 脚本将自动获取第 2 个字符作为触发前缀
|
||
number: "^R[0-9]+[.]?[0-9]*" # 响应 lua_translator@number_translator 脚本将自动获取第 2 个字符作为触发前缀
|
||
gregorian_to_lunar: "^N[0-9]{1,8}" # 响应 lua_translator@lunar 公历转农历,输入 N20240115 得到「二〇二四年腊月初五」,脚本将自动获取第 2 个字符作为触发前缀
|
||
|
||
|
||
# 从 default 继承快捷键
|
||
key_binder:
|
||
import_preset: default # 从 default.yaml 继承通用的
|
||
# bindings: # 也可以再增加方案专有的
|
||
|
||
|
||
# 拼写设定
|
||
speller:
|
||
# 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射
|
||
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
|
||
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
|
||
algebra:
|
||
### 模糊音
|
||
# 声母
|
||
# - derive/^([zcs])h/$1/
|
||
# - derive/^([zcs])([^h])/$1h$2/
|
||
# - derive/^l/n/ # 解释:为 l 开头的拼写派生出 n 开头,即 nai 也可以输出「来、莱、赖……」
|
||
# - derive/^n/l/ # lai 可输出「奶」,可以单向或成对儿启用模糊音
|
||
# - derive/^f/h/
|
||
# - derive/^h/f/
|
||
# - derive/^l/r/
|
||
# - derive/^r/l/
|
||
# - derive/^g/k/
|
||
# - derive/^k/g/
|
||
# 韵母
|
||
# - derive/ang$/an/
|
||
# - derive/an$/ang/
|
||
# - derive/eng$/en/
|
||
# - derive/en$/eng/
|
||
# - derive/in$/ing/
|
||
# - derive/ing$/in/
|
||
# - derive/ian$/iang/
|
||
# - derive/iang$/ian/
|
||
# - derive/uan$/uang/
|
||
# - derive/uang$/uan/
|
||
# - derive/ai$/an/
|
||
# - derive/an$/ai/
|
||
# - derive/ong$/un/
|
||
# - derive/un$/ong/
|
||
# - derive/ong$/on/
|
||
# - derive/iong$/un/
|
||
# - derive/un$/iong/
|
||
# - derive/ong$/eng/
|
||
# - derive/eng$/ong/
|
||
# 拼音音节
|
||
# - derive/^fei$/hui/
|
||
# - derive/^hui$/fei/
|
||
# - derive/^hu$/fu/
|
||
# - derive/^fu$/hu/
|
||
# - derive/^wang$/huang/
|
||
# - derive/^huang$/wang/
|
||
|
||
### 旧时的拼写规则
|
||
# - derive/un$/uen/
|
||
# - derive/ui$/uei/
|
||
# - derive/iu$/iou/
|
||
|
||
### 超级简拼
|
||
- erase/^hm$/ # 响应超级简拼,取消「噷 hm」的独占
|
||
- erase/^m$/ # 响应超级简拼,取消「呣 m」的独占
|
||
- erase/^n$/ # 响应超级简拼,取消「嗯 n」的独占
|
||
- erase/^ng$/ # 响应超级简拼,取消「嗯 ng」的独占
|
||
- abbrev/^([a-z]).+$/$1/ # 超级简拼
|
||
- abbrev/^([zcs]h).+$/$1/ # 超级简拼中,zh ch sh 视为整体(ch'sh → 城市),而不是像这样分开(c'h's'h → 吃好睡好)。
|
||
|
||
### v u 转换,增加对词库中「nue/nve」「qu/qv」等不同注音的支持
|
||
- derive/^([nl])ue$/$1ve/
|
||
- derive/^([nl])ve$/$1ue/
|
||
- derive/^([jqxy])u/$1v/
|
||
- derive/^([jqxy])v/$1u/
|
||
|
||
### 自动纠错
|
||
# 有些规则对全拼简拼混输有副作用:如「x'ai 喜爱」被纠错为「xia 下」
|
||
# zh、ch、sh
|
||
- derive/([zcs])h(a|e|i|u|ai|ei|an|en|ou|uo|ua|un|ui|uan|uai|uang|ang|eng|ong)$/h$1$2/ # hzi → zhi
|
||
- derive/([zcs])h([aeiu])$/$1$2h/ # zih → zhi
|
||
# ai
|
||
- derive/^([wghk])ai$/$1ia/ # wia → wai
|
||
# ia
|
||
- derive/([qjx])ia$/$1ai/ # qai → qia
|
||
# ei
|
||
- derive/([wfghkz])ei$/$1ie/
|
||
# ie
|
||
- derive/([jqx])ie$/$1ei/
|
||
# ao
|
||
- derive/([rtypsdghklzcbnm])ao$/$1oa/
|
||
# ou
|
||
- derive/([ypfm])ou$/$1uo/
|
||
# uo(无)
|
||
# an
|
||
- derive/([wrtypsdfghklzcbnm])an$/$1na/
|
||
# en
|
||
- derive/([wrpsdfghklzcbnm])en$/$1ne/
|
||
# ang
|
||
- derive/([wrtypsdfghklzcbnm])ang$/$1nag/
|
||
- derive/([wrtypsdfghklzcbnm])ang$/$1agn/
|
||
# eng
|
||
- derive/([wrtpsdfghklzcbnm])eng$/$1neg/
|
||
- derive/([wrtpsdfghklzcbnm])eng$/$1egn/
|
||
# ing
|
||
- derive/([qtypdjlxbnm])ing$/$1nig/
|
||
- derive/([qtypdjlxbnm])ing$/$1ign/
|
||
# ong
|
||
- derive/([rtysdghklzcn])ong$/$1nog/
|
||
- derive/([rtysdghklzcn])ong$/$1ogn/
|
||
# iao
|
||
- derive/([qtpdjlxbnm])iao$/$1ioa/
|
||
- derive/([qtpdjlxbnm])iao$/$1oia/
|
||
# ui
|
||
- derive/([rtsghkzc])ui$/$1iu/
|
||
# iu
|
||
- derive/([qjlxnm])iu$/$1ui/
|
||
# ian
|
||
- derive/([qtpdjlxbnm])ian$/$1ain/
|
||
# - derive/([qtpdjlxbnm])ian$/$1ina/ # 和「李娜、蒂娜、缉拿」等常用词有冲突
|
||
# in
|
||
- derive/([qypjlxbnm])in$/$1ni/
|
||
# iang
|
||
- derive/([qjlxn])iang$/$1aing/
|
||
- derive/([qjlxn])iang$/$1inag/
|
||
# ua
|
||
- derive/([g|k|h|zh|sh])ua$/$1au/
|
||
# uai
|
||
- derive/([g|h|k|zh|ch|sh])uai$/$1aui/
|
||
# - derive/([g|h|k|zh|ch|sh])uai$/$1uia/ # 和「会啊、追啊」等常用词有冲突
|
||
# uan
|
||
- derive/([qrtysdghjklzxcn])uan$/$1aun/
|
||
# - derive/([qrtysdghjklzxcn])uan$/$1una/ # 和「去哪、露娜」等常用词有冲突
|
||
# un
|
||
- derive/([qrtysdghjklzxc])un$/$1nu/
|
||
# ue
|
||
- derive/([nlyjqx])ue$/$1eu/
|
||
# uang
|
||
- derive/([g|h|k|zh|ch|sh])uang$/$1aung/
|
||
- derive/([g|h|k|zh|ch|sh])uang$/$1uagn/
|
||
- derive/([g|h|k|zh|ch|sh])uang$/$1unag/
|
||
- derive/([g|h|k|zh|ch|sh])uang$/$1augn/
|
||
# iong
|
||
- derive/([jqx])iong$/$1inog/
|
||
- derive/([jqx])iong$/$1oing/
|
||
- derive/([jqx])iong$/$1iogn/
|
||
- derive/([jqx])iong$/$1oign/
|
||
# 其他
|
||
- derive/([rtsdghkzc])o(u|ng)$/$1o/ # do → dou|dong
|
||
- derive/ong$/on/ # lon → long
|
||
- derive/([tl])eng$/$1en/ # ten → teng
|
||
- derive/([qwrtypsdfghjklzxcbnm])([aeio])ng$/$1ng/ # lng → lang、leng、ling、long
|