谷歌拼音库接口说明及使用

  1. 接口描述
    1. 启动解码引擎
    2. 关闭解码引擎
    3. 设置输入输出上限
    4. 清除缓冲
    5. 搜索
    6. 删除
    7. 初始化查找结果
    8. 获取输入的拼音字母
    9. 获取候选字符串

接口描述

启动解码引擎

bool im_open_decoder(const char *fn_sys_dict, const char *fn_usr_dict);
  • fn_sys_dict: 系统字典,可以直接使用谷歌自带的字典dict_pinyin.dat
  • fn_usr_dict: 用户字典,用户自己定义的字典
    成功启动引擎时接口返回true。
bool im_open_decoder_fd(int sys_fd, long start_offset, long length,
                          const char *fn_usr_dict);

上一个函数的变形。

  • sys_fd: 系统字典的文件描述符
  • start_offset: 系统字典文件描述符的偏移位置
  • length: 系统字典文件读取的长度
  • fn_usr_dict: 用户字典

关闭解码引擎

void im_close_decoder();

设置输入输出上限

void im_set_max_lens(size_t max_sps_len, size_t max_hzs_len);

如果本函数未被调用,则使用默认参数。举例说明该函数的作用,对于显示屏幕大小受限制,
显示部件可以只显示确定数量的输入字母来解码, 以及确定数量的中文来显示。
如果用户添加一个新字母之母, 输入的所有字母或输出的中文数量超过了设置的上限, 则引擎会不理踩
新添加的字母。

  • max_sps_len: 输入拼音字母的最大长度
  • max_hzs_len: 解码中文字符的最大长度

清除缓冲

void im_flush_cache();

因为引擎在运行时,为是达到最好的性能,一些数据有保存至内存中,所以有必要时需要清除掉。

搜索

size_t im_search(const char* sps_buf, size_t sps_len);

本函数用于搜索匹配字母的候选中文。当要搜索的字母的前缀与先前的搜索字母一样,引擎默认会在先前的
搜索结果中进行搜索。如果用户需要开启新的搜索,可以先调用im_reset_search()接口。

  • sps_buf: 拼音字母
  • sps_len: 字母长度
  • 返回候选数

删除

size_t im_delsearch(size_t pos, bool is_pos_in_splid, bool clear_fixed_this_step);

对当前查找结果执行删除操作, 然后再重新查找。

  • pos: 拼音字母的位置或者是搜索结果ID
  • is_pos_in_splid: 申明pos参数是字母位置还是搜索结果ID
  • clear_fixed_this_step:
  • 返回候选数量

初始化查找结果

void im_reset_search();

获取输入的拼音字母

const char *im_get_sps_str(size_t *decoded_len);
  • decoded_len: 保存返回拼音字母的长度arsed.
  • 返回拼音字母

获取候选字符串

char16* im_get_candidate(size_t cand_id, char16* cand_str, size_t max_len);
  • cand_id: 获取候选字符串的ID号,从0开始,通常ID为0是匹配度最高的
  • cand_str: 用于保存选择字符串的缓冲区
  • max_len: 缓冲区最大长度
  • 成功返回缓冲区地址cand_str,失败返回NULL.

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 add358@163.com

文章标题:谷歌拼音库接口说明及使用

文章字数:624

本文作者:Jake Yang

发布时间:2018-12-19, 11:11:20

最后更新:2019-12-16, 16:14:50

原始链接:https://add358.github.io/2018/12/19/Libs-Qt-2018-12-19-谷歌拼音库接口说明及使用/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏