李老人家 发表于 2024-7-30 02:45:18

关于嵌入式QML dict_pinyin.dat的编译更新

硬件平台:全志的A40I-H 
软件平台:Linux 内核版本3.10.65
QT版本:5.9.0
 
重新编译dict_pinyin.dat的作用 
1.解决输入"nss"导致输入法崩溃的问题
2.解决输入某些嵌入式平台不支持的字体,例如“捃”,导致程序崩溃的问题
 
源码路径:
~/qt-everywhere-opensource-src-5.9.0/qtvirtualkeyboard/src/virtualkeyboard/3rdparty/pinyin/command
目录里面有一个Makefile和pinyinime_dictbuilder.cpp

1.不能直接make,cpp文件里面有一句提示信息
/**
* Build binary dictionary model. Make sure that ___BUILD_MODEL___ is defined
* in dictdef.h.
*/
需要在dictdef.h里面取消___BUILD_MODEL___ 宏的注释,dictdef.h路径:
~/qt-everywhere-opensource-src-5.9.0/qtvirtualkeyboard/src/virtualkeyboard/3rdparty/pinyin/include
 
2.修改完成,在当前目录下,打开控制台,直接make即可
 
3.编译完成,会有一个可执行文件pinyinime_dictbuilder


4.按照自己的喜好或者需求,修改文件rawdict_utf16_65105_freq.txt
路径:~/qt-everywhere-opensource-src-5.9.0/qtvirtualkeyboard/src/virtualkeyboard/3rdparty/pinyin/data
注意:最好在虚拟机或者Linux环境下用vim打开,不要拉出去Windows下编辑,不然txt文件格式会有出入,到时候会build 失败
   a.某些生僻字,在当前平台运行会报错,可以直接删除该字体,例如A40i的libQt5Gui.so库, 不支持“捃"字,输入拼音jun会让程序崩溃,所以删掉此行
   b.输入nss会报错,删掉ni shi shui 和ni shi shei 这两行联想字体即可
5. 回到pinyinime_dictbuilder的目录,在控制台里面 ./pinyinime_dictbuilder执行编译
编译成功会提示如下信息

6.回到data目录,查看.dat文件是否已经更新
路径:~/qt-everywhere-opensource-src-5.9.0/qtvirtualkeyboard/src/virtualkeyboard/3rdparty/pinyin/data
在控制台输入 ls -la查看.dat文件的生成时间,如果为最新,即可直接放入嵌入式平台中使用。
 
参考资料:
1.GooglePinyin分析 | AlphaBoom
2.xiangfademao/PinYinImeDicBuilder: 谷歌拼音输入法词库生成工具 (github.com)
3.qt平台集成google拼音中文输入法_qml使用谷歌拼音-CSDN博客
 
特别鸣谢:小瑜、林工、小小周。

来源:https://www.cnblogs.com/mgshadow/p/18331250
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 关于嵌入式QML dict_pinyin.dat的编译更新