[QPinyinSpells]获取汉字拼音

怎么说呢,一直有人想要这么一个东西,我自己实际上也一直想有这么一个东西。QString 提供了一个获取拼音首字母的函数,但那个仅限于 GB2312 中的部分字符,而不能兼容 Unicode 29000 多个汉字。

QPinyinSpells 就是为解决这个问题而产生 的,它支持:

  • 多音字的识别,可以同时返回多音字的多个发音,比如 chang2,zhang3
  • 支持音调处理,返回的如 chang2 代表 cháng ,最后的 2 代表是二声。
  • 支持外挂词典和分词接口
  • 支持获取拼音首字母和完整拼音两种模式
  • 占用内存低,几十 KB 而已。

【用法】

var
  ASpells:TQStringArray;  
begin
ASpells:=PinyinSpells.GetSpells('这里是中国',true);
...
end;

如果要设置分词的辅助接口,直接实现 IQWordProxy 接口,然后将其赋值给 PinyinSpells.WordProxy 属性即可。

如果要设置字典的辅助接口,直接实现 IQWordDictionary 接口,然后将其赋值给 PinyinSpells.WordDictionary 属性即可。

分享到: