一套用于输入国际音标(IPA)的自定义 Rime 输入方案。核心设计思路是"主动发声部位 + 被动发声部位"字母组合编码:一个音标最多敲三个键,大多数两键就能打出,个别常用符号甚至一键直达。所有编码都通过候选框选字确认——直接回车只会把你敲的拉丁字母原样打出来,不经选择打不出真正的 IPA 符号。
配套还做了一个仿官方 IPA 图表排版的网页查询工具 ipa_lookup.html,可以按符号或编码实时搜索、鼠标悬浮放大查看,双击用浏览器打开即可离线使用,不需要联网、不需要额外安装任何东西。
.
├── ipa.schema.yaml # Rime 方案定义(引擎行为、按键字母表等)
├── ipa.dict.yaml # 码表(音标符号 → 输入编码,含声调数字自动连拼生成的组合)
├── ipa_lookup.html # 编码速查网页(可离线双击打开,也可直接部署成静态页面)
└── README.md
本方案基于 Rime 引擎,Windows 下需要先装它的前端"小狼毫"(Weasel)。
-
安装完成后,右键任务栏小狼毫托盘图标 →「打开:用户文件夹」,会打开类似
C:\Users\<你的用户名>\AppData\Roaming\Rime的目录。 -
把本仓库的
ipa.schema.yaml和ipa.dict.yaml两个文件复制进这个用户文件夹。 -
在用户文件夹里新建(或编辑已有的)
default.custom.yaml,写入:patch: schema_list: - schema: ipa
如果你还想保留原有的其他输入方案(拼音等),把
- schema: ipa追加到已有的schema_list列表里即可,不用整个替换。 -
右键托盘图标 →「重新部署」。
-
左键点击托盘图标,切换到"樱桃IPA输入法"方案,就可以在任意程序里输入了。
其他平台(macOS 的鼠须管、Linux 的 ibus-rime、Android 的同文/Trime 等)用法类似:把
ipa.schema.yaml、ipa.dict.yaml 放进对应平台的 Rime 用户目录,重新部署即可,因为
Rime 的方案文件本身是跨平台通用的。
大多数辅音的编码是"清浊/发声方式标识 + 发音部位标识"的组合,例如:
| 想打的音 | 编码 | 说明 |
|---|---|---|
| p(清双唇塞音) | p 或 pm |
p=清塞音标识,m=双唇标识 |
| b(浊双唇塞音) | b 或 bm |
b=浊塞音标识 |
| t(清龈塞音) | t / tt / pt |
t=龈音标识 |
| ʃ(后龈清擦音) | sh |
部分符号有更直观的固定助记编码,不强求死板拼合 |
元音则是"基础字母 + 前/央-/后=" 后缀规律,例如 e 是 e,e- 是 ɘ(e 的央化),e=`
是 ɤ(e 的后化)。
完整的符号-编码对照表请直接用仓库里的 ipa_lookup.html 速查(双击本地打开),
支持搜符号也支持搜编码,比在这里罗列一份静态表格好用得多。
- 打字过程中,候选框会实时列出所有以当前已输入内容为前缀的候选 IPA 符号。
- 数字键、
-、=以及绝大多数标点符号本身就是本方案的编码字符,不能兼职"选第 N个候选",所以候选框固定用 方向键 ↑↓ 移动高亮候选、Page Up/Page Down 翻页、 Space 或 Enter 确认选中的候选。 - 候选框存在但没有主动选择候选时,直接按 Enter 只会把刚才敲的拉丁字母原样上屏, 不会转换成 IPA 符号——这是有意的设计,保证"选字"和"打字母本身"是两件互不冲突的事。
声调用数字 15 对应五个调值符号(1=˥ 2=˦ 3=˧ 4=˨ 5=˩),**支持连续输入 25 位数字
自动拼接**成调型组合,例如输入 245 会直接得到候选 ˦˨˩,允许重复数字(如 55)。
设计上允许少量编码重复,靠候选框区分,排序规则是:
- 如果这个编码是某个符号唯一/最短的打法,它优先于"还有更短编码可用"的另一个符号;
- 辅音优先于元音;
- 少数上述规则分不出先后的重码,单独指定了顺序(例如
n+优先给鼻音除阻 ⁿ,而不是 不成音节 ̯)。
下载/克隆本仓库后,双击 ipa_lookup.html 用浏览器打开即可使用,完全离线,不依赖网络:
- 按符号(如
ʃ)或编码片段(如sh)实时搜索 - 鼠标悬浮在任意符号上会弹出放大卡片,显示完整编码和音标名称
- 页面排版仿照官方 IPA 图表(辅音表、非肺部气流辅音、其他符号、附加符号、元音图、 超音段符号、声调与词重音),每个格子都直接标出对应的输入编码
- 目前仅在 Windows + 小狼毫环境下实测;其他平台的 Rime 前端理论上兼容但未逐一验证。
- 极少数附加符号/声调重音符号的编码存在有意为之的重码,需要通过候选框区分。
本项目以 MIT 协议开源,欢迎 fork、提出改进建议或提交 PR。