379 lines
16 KiB
YAML
379 lines
16 KiB
YAML
# Rime schema
|
||
# encoding: utf-8
|
||
|
||
schema:
|
||
schema_id: rime_mint
|
||
name: 薄荷拼音-全拼输入
|
||
version: "24.0.29"
|
||
author:
|
||
- mintimate < @Mintimate|https://www.mintimate.cn >
|
||
description: |
|
||
Mintimate的薄荷拼音方案。
|
||
除了参考官方明月拼音,还参考:
|
||
* chenhe: https://chenhe.me
|
||
* rime wiki: https://github.com/rime/home/wiki
|
||
* rime ice: https://github.com/iDvel/rime-ice
|
||
* Chewing - 新酷音
|
||
* opencc - 開放中文轉換
|
||
dependencies:
|
||
- radical_pinyin_flypy # 参考 https://github.com/mirtlecn/rime-radical-pinyin
|
||
- radical_pinyin # 参考 https://github.com/mirtlecn/rime-radical-pinyin
|
||
- wubi98_mint # 98五笔库 https://github.com/yanhuacuo/98wubi-tables
|
||
- stroke
|
||
- melt_eng # 英文方案
|
||
switches:
|
||
- name: ascii_mode
|
||
reset: 0
|
||
states: [ 中文, 英文 ]
|
||
- name: emoji_suggestion
|
||
states: [ "😣️","😁️"]
|
||
reset: 1
|
||
- name: full_shape
|
||
states: [ 半角, 全角 ]
|
||
reset: 0
|
||
- name: transcription
|
||
states: [ 简体 , 繁体 ]
|
||
reset: 0
|
||
- name: ascii_punct
|
||
states: [ "。," , ".," ]
|
||
reset: 0
|
||
engine:
|
||
processors:
|
||
- lua_processor@*select_character
|
||
- lua_processor@*codeLengthLimit_processor # 使用Lua限制输入内容的最大长度(防止过长而卡顿)
|
||
- ascii_composer # ※ 處理西文模式及中西文切換
|
||
- recognizer # ※ 與 matcher 搭配,處理符合特定規則的輸入碼,如網址、反查等
|
||
- key_binder # ※ 在特定條件下將按鍵綁定到其他按鍵,如重定義逗號、句號爲候選翻頁鍵
|
||
- speller
|
||
- punctuator
|
||
- selector
|
||
- navigator
|
||
- express_editor
|
||
segmentors:
|
||
- ascii_segmentor # 標識西文段落
|
||
- matcher # 標識符合特定規則的段落,如網址、反查等
|
||
- affix_segmentor@wubi98_mint
|
||
- affix_segmentor@radical_reverse_lookup
|
||
- affix_segmentor@stroke
|
||
- abc_segmentor # 標識常規的文字段落
|
||
- punct_segmentor # 標識句讀段落
|
||
- fallback_segmentor # 標識其他未標識段落
|
||
translators:
|
||
- punct_translator # ※ 轉換標點符號
|
||
- script_translator
|
||
- lua_translator@*mint_date_time_translator # 时间、日期、星期、月份
|
||
- lua_translator@*number_translator # 金额大小写
|
||
- lua_translator@*chineseLunarCalendar_translator # 农历
|
||
- table_translator@melt_eng # 英文输入(作为子翻译器,优先级需要比原生的低)
|
||
- table_translator@cn_en # 中英混合词汇
|
||
- reverse_lookup_translator@wubi98_mint
|
||
- reverse_lookup_translator@radical_reverse_lookup
|
||
- reverse_lookup_translator@stroke
|
||
- lua_translator@*force_gc
|
||
# - reverse_lookup_translator # 反查模块,多标签情况下去除
|
||
# - echo_translator # ※ 没有候选词,返回字符
|
||
filters:
|
||
- lua_filter@*corrector_filter # 错音错字提示
|
||
- lua_filter@*autocap_filter # 英文自动大写
|
||
- lua_filter@*auxCode_filter@moqi_aux_code # 墨奇辅助码https://github.com/gaboolic/rime-shuangpin-fuzhuma/wiki/%E5%A2%A8%E5%A5%87%E7%A0%81%E6%8B%86%E5%88%86%E8%A7%84%E5%88%99
|
||
- simplifier@emoji_suggestion
|
||
- simplifier@transcription_cc
|
||
- lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
|
||
- uniquifier # 去重
|
||
|
||
# 简繁切换
|
||
transcription_cc:
|
||
option_name: transcription
|
||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
|
||
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||
excluded_types: [ reverse_lookup ] # 不转换反查(两分拼字)的内容
|
||
|
||
# 最大输入长度
|
||
codeLengthLimit_processor: 25
|
||
|
||
axu_code:
|
||
# 激活码
|
||
trigger_word: "`"
|
||
# 展示辅码的模式
|
||
# always: 总是展示(默认)
|
||
# trigger: 输入激活码后激活辅码
|
||
# none: 始终不展示辅码
|
||
show_aux_notice: "trigger"
|
||
|
||
# Emoji模块
|
||
emoji_suggestion:
|
||
opencc_config: emoji.json
|
||
option_name: emoji_suggestion
|
||
tips: all
|
||
inherit_comment: false
|
||
|
||
# Lua 配置: 降低部分英语单词在候选项的位置。
|
||
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
|
||
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
|
||
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
|
||
# 几种模式:
|
||
# all 使用 reduce_english_filter 自带的降频词库(降低所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母的单词)
|
||
# none 不降低任何单词,相当于没有启用这个 Lua
|
||
# custom 自定义,只降低 words 里的
|
||
# 『留白』 不设置该选项,使用 reduce_english_filter 内全局设置内容
|
||
# (匹配的是编码,不是单词)
|
||
reduce_english_filter:
|
||
mode: all # 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]
|
||
# 中国农历配置
|
||
chineseLunarCalendar_translator: lunar
|
||
|
||
# Lua 配置:为 corrector 格式化 comment,占位符为 {comment}
|
||
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
|
||
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
|
||
corrector: "{comment}"
|
||
translator:
|
||
# enable_correction: true # Rime自带的按键纠错,适用于手机26键 参考: https://github.com/rime/librime/pull/228
|
||
# 字典文件
|
||
dictionary: rime_mint # 使用的字典文件
|
||
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
|
||
always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
|
||
comment_format: # 标记拼音注释,供 corrector.lua 做判断用
|
||
- xform/^/[/
|
||
- xform/$/]/
|
||
preedit_format:
|
||
- xform/([nl])v/$1ü/
|
||
- xform/([nl])ue/$1üe/
|
||
- xform/([jqxy])v/$1u/
|
||
initial_quality: 1.2
|
||
enable_user_dict: true # 开启用户词典,根据用户输入调频(默认开启,此处再次声明)
|
||
|
||
melt_eng:
|
||
dictionary: melt_eng # 英文词典
|
||
enable_sentence: false # 关闭自动造句
|
||
enable_completion: false # 关闭自动提示
|
||
initial_quality: 0.8
|
||
cn_en:
|
||
dictionary: "" # 中英混输,直接使用短语词典,普通字典直接留空即可
|
||
user_dict: dicts/rime_ice.cn_en
|
||
db_class: stabledb
|
||
enable_completion: false
|
||
enable_sentence: false
|
||
initial_quality: 0.5
|
||
comment_format:
|
||
- xform/^.+$//
|
||
speller:
|
||
# 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射;默认没用大写字母,使用大写字母方便中英混熟词典生效
|
||
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
|
||
# 第一位 「空格」是拼音之间的默认分隔符;第二位「`」表示可以手动输入单引号来分割拼音
|
||
delimiter: " `"
|
||
# 拼写匹配
|
||
algebra:
|
||
- erase/^xx$/ # 首选保留
|
||
# - derive/^([zcs])h/$1/ # zh, ch, sh => z, c, s
|
||
# - derive/^([zcs])([^h])/$1h$2/ # z, c, s => zh, ch, sh
|
||
# - derive/([aei])n$/$1ng/ # en => eng, in => ing
|
||
# - derive/([aei])ng$/$1n/ # eng => en, ing => in
|
||
# - derive/([iu])an$/$lan/ # ian => iang, uan => uang
|
||
# - derive/([iu])ang$/$lan/ # iang => ian, uang => uan
|
||
- derive/([aeiou])ng$/$1gn/ # dagn => dang
|
||
- derive/([dtngkhrzcs])o(u|ng)$/$1o/ # zho => zhong|zhou
|
||
- derive/ong$/on/ # zhonguo => zhong guo
|
||
- derive/un$/ong/ # yuntong = yongtong
|
||
## 简拼
|
||
- derive/^([a-z]).+$/$1/ # 通过正则表达式提取每个拼音的首字母
|
||
- derive/^([zcs]h).+$/$1/ # 特别处理 zh, ch, sh 的首字母简写
|
||
- abbrev/^([a-z]).+$/$1/ # 允许使用首字母作为缩写
|
||
# 简拼: 允许使用前两个字母作为缩写
|
||
# - abbrev/^([a-z]{2,}).+$/$1/ # zem -> zen me -> 怎么
|
||
### 自动纠错
|
||
# 有些规则对全拼简拼混输有副作用:如「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/([wtfghkz])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
|
||
- derive/un$/ong/ # yuntong = yongtong
|
||
|
||
wubi98_mint:
|
||
tag: wubi98_mint
|
||
dictionary: wubi98_mint
|
||
enable_user_dict: false
|
||
enable_completion: true
|
||
prefix: "Uw"
|
||
tips: 〔五笔〕
|
||
stroke:
|
||
tag: stroke
|
||
dictionary: stroke
|
||
enable_user_dict: false
|
||
prefix: 'Ui'
|
||
tips: 〔笔画〕
|
||
preedit_format:
|
||
- xlit/hspnz/一丨丿丶乙/
|
||
radical_reverse_lookup:
|
||
tag: radical_lookup
|
||
dictionary: radical_pinyin
|
||
enable_completion: false
|
||
enable_sentence: false
|
||
prefix: "Uu"
|
||
# comment_format:
|
||
# - erase/^.*$// # 删除注释
|
||
tips: 〔拆字〕
|
||
reverse_lookup:
|
||
tags: [wubi98_mint,stroke,radical_lookup]
|
||
overwrite_comment: true
|
||
dictionary: dicts/rime_ice.8105
|
||
punctuator:
|
||
import_preset: symbols
|
||
# 定义部分半角字符
|
||
half_shape:
|
||
"#": "#"
|
||
"*": "*"
|
||
'.' : { commit: 。 }
|
||
"`": "`"
|
||
"~": "~"
|
||
"@": "@"
|
||
"=": "="
|
||
"/": ["/", "÷",]
|
||
'\': "、"
|
||
"_" : "──"
|
||
"'": {pair: ["「", "」"]}
|
||
"[": ["【", "["]
|
||
"]": ["】", "]"]
|
||
"$": ["¥", "$", "€", "£", "¢", "¤"]
|
||
"<": ["《", "〈", "«", "<"]
|
||
">": ["》", "〉", "»", ">"]
|
||
recognizer:
|
||
import_preset: default
|
||
patterns:
|
||
url: "^[a-z]+[.].+$"
|
||
punct: "^/([0-9]0?|[a-z]+)$"
|
||
wubi98_mint: "Uw[a-z]*'?$"
|
||
stroke: "Ui[a-z]*'?$"
|
||
radical_lookup: "Uu[a-z]*'?$"
|
||
rmb: "^R[0-9]+[.]?[0-9]*" # 响应 lua_translator@number_translator 脚本将自动获取第 2 个字符作为触发前缀
|
||
gregorian_to_lunar: "^N[0-9]{1,8}" # 响应 lua_translator@Chinese_lunar_calendar 公历转农历,输入 N20240115 得到「二〇二四年腊月初五」,脚本将自动获取第 2 个字符作为触发前缀
|
||
uppercase: "" # 覆写默认的 uppercase 使其可以在输入大写后,输入数字
|
||
|
||
key_binder:
|
||
import_preset: default
|
||
bindings:
|
||
- {accept: "Control+Shift+E", toggle: emoji_suggestion, when: always}
|
||
- {accept: "Control+Shift+exclam", toggle: transcription, when: has_menu}
|
||
- {accept: "Control+Shift+1", toggle: transcription, when: has_menu}
|
||
- {accept: minus, send: Page_Up, when: paging} # 使用`-`进行向上翻页(第一页时候无效)
|
||
- {accept: equal, send: Page_Down, when: has_menu} # 使用`=`进行向下翻页
|
||
- { when: composing, accept: Control+p, send: Up }
|
||
- { when: composing, accept: Control+n, send: Down }
|
||
- { when: composing, accept: Control+b, send: Left }
|
||
- { when: composing, accept: Control+f, send: Right }
|
||
- { when: composing, accept: Control+a, send: Home }
|
||
- { when: composing, accept: Control+e, send: End }
|
||
- { when: composing, accept: Control+d, send: Delete }
|
||
- { when: composing, accept: Control+k, send: Shift+Delete }
|
||
- { when: composing, accept: Control+g, send: Escape }
|
||
- { when: composing, accept: Alt+v, send: Page_Up }
|
||
- { when: composing, accept: Control+v, send: Page_Down }
|
||
- { when: composing, accept: ISO_Left_Tab, send: Shift+Left }
|
||
- { when: composing, accept: Shift+Tab, send: Shift+Left }
|
||
- { when: composing, accept: Tab, send: Shift+Right }
|
||
- { when: paging, accept: minus, send: Page_Up }
|
||
- { when: has_menu, accept: equal, send: Page_Down }
|
||
- { when: paging, accept: comma, send: Page_Up }
|
||
- { when: has_menu, accept: period, send: Page_Down }
|
||
- { when: predicting, accept: comma, send: comma }
|
||
- { when: predicting, accept: period, send: period }
|
||
- { when: always, accept: Control+Shift+1, select: .next }
|
||
- { when: always, accept: Control+Shift+2, toggle: ascii_mode }
|
||
- { when: always, accept: Control+Shift+3, toggle: full_shape }
|
||
- { when: always, accept: Control+Shift+4, toggle: simplification }
|
||
- { when: always, accept: Control+Shift+5, toggle: extended_charset }
|
||
- { when: always, accept: Shift+space, toggle: full_shape }
|
||
- { when: always, accept: Control+period, toggle: ascii_punct }
|
||
menu:
|
||
page_size: 6
|