由 @kzf 提议,将 IbEverythingExt 中使用的拼音匹配算法用 Rust 重写成了一个独立的库:
- 支持以下拼音编码方案:
- 简拼(“py”)
- 全拼(“pinyin”)
- 带声调全拼(“pin1yin1”)
- Unicode(“pīnyīn”)
- 智能 ABC 双拼
- 拼音加加双拼
- 微软双拼
- 华宇双拼(紫光双拼)
- 小鹤双拼
- 自然码双拼
- 支持多音字。
- 支持混合匹配多种拼音编码方案,默认匹配简拼和全拼。
- 默认小写字母匹配拼音或字母,大写字母只匹配字母。
- 支持 Unicode 辅助平面汉字。
AutoHotkey v2 用例:
#Include <IbPinyin>
IsMatch := IbPinyin_IsMatch("pysousuoeve", "拼音搜索Everything", IbPinyin_AsciiFirstLetter | IbPinyin_Ascii)
是否匹配 := 拼音_匹配("pysousuoeve", "拼音搜索Everything")
是否匹配 := 拼音_匹配("pysousuoeve", "拼音搜索Everything", 拼音_简拼 | 拼音_全拼)