输入法
文章平均质量分 79
杨鑫校
学无止境!
展开
-
Google原生输入法LatinIME词库扩容(Windows10环境)
去年在Linux(ubuntu)环境下针对LatinIME进行词库扩容处理,针对LatinIME的词库构建进行了一些列分析,大家可以查阅历史文章。词库扩容最近试了一下是可以的,具体流程大致如下(windows10环境):1、安装MinGw以及gcc、g++、gdb等,下载地址:e795, 安装完成配置环境变量到path(..\mingw\bin)2、进入到..\cpp\command目录进行makewindows下没有make命令的,需要到MinGw\bin目录下重命名mingw32-mak原创 2020-07-06 13:54:40 · 1688 阅读 · 6 评论 -
GBD调试谷歌拼音输入法准备工作
先要编译出来一个可执行文件,具体步骤:1、cd到目录:~/app/src/main/cpp/command下面2、输入命令:make,不报错的话这里应该会有一个可执行文件出来,如下图:3、gdb pinyinime_dictbuilder就可以了。前一阵弄过,后来忘了,记录一下,我这里报错了../share/dictbuilder.cpp:22:25: fatal error: android/log.h: No such file or directorycompilat.原创 2020-06-24 15:11:45 · 1101 阅读 · 0 评论 -
汉语拼音常识
中文输入法中涉及到的有效音节记录音节表共计:401个【A】a(啊) ai(哀) an(安) ang(肮) ao(熬) [5个]【B】 ba(八) bai(百) ban(班) bang(帮) bao(包) bei(悲) ben(奔) beng(崩) bi(比) bian(边) biao(标)bie(别) bin(宾) bing(兵) bo(波) bu(不) [16个]【C】c...原创 2019-02-16 16:15:31 · 1535 阅读 · 0 评论 -
Google原生输入法LatinIME词库构建流程分析(一)
进入到cpp目录下(pwd=.../cpp/),在command目录中有个pinyinime_dictbuilder.cpp文件,源码中可以看到main函数,这里就是词库构建的入口,接下来看下main函数源码: 25 /** 26 * Build binary dictionary model. Make sure that ___BUILD_MODEL___ is defined 2...原创 2019-03-27 11:19:37 · 3281 阅读 · 2 评论 -
Google原生输入法LatinIME词库构建流程分析--相关数据结构分析
其实输入法词库相关数据结构的定义基本上都在头文件dictdef.h文件中,进入到代码目录cpp下.初始化字库,首先读取txt文件内容到数据结构lemma_arr和valid_hzs中,lemma_arr是一个数组类型为LemmaEntry,下面来看下LemmaEntry定义(cpp/include/dictdef.h)://rawdict_utf16_65105_freq.txt每一行是...原创 2019-03-27 19:02:40 · 1714 阅读 · 8 评论 -
关于中文--Unicode之间互相转换流程的说明
此话题起源于输入法中汉字的存储方式,汉字在输入法中被存放在多个数组中,具体的存放格式为unicode编码存储(int数字),但是如何在网页端将某一个汉字转换成对应的unicode编码呢?这里推荐一个网站千千秀字,下面说一下具体使用流程:打开网站首页——汉字编码,然后如下图选择并输入汉字点击查询:输出的十进制中Unicode编码12295就是在数据结构中存储的样式,那么如何再反向转换呢?...原创 2019-04-01 12:46:27 · 751 阅读 · 0 评论 -
Google原生输入法LatinIME词库构建流程分析(三)--N-gram信息构建
N-gram信息的构建在ngram.cpp中进行构建:bool NGram::build_unigram(LemmaEntry *lemma_arr, size_t lemma_num, LemmaIdType next_idx_unused) { ... //1、初始化freqs数组,lemma_arr数组元素的idx_by_hz...原创 2019-04-01 17:25:50 · 1149 阅读 · 1 评论 -
Google原生LatinIME输入法spl_buf_数据内容
"A\000\000\000\000\000\000aAI\000\000\000\000\000\\AN\000\000\000\000\000VANG\000\000\000\000\222AO\000\000\000\000\000qBA\000\000\000\000\000JBAI\000\000\000\000]BAN\000\000\000\000QBANG\000...原创 2019-03-28 19:35:01 · 781 阅读 · 0 评论 -
Google原生输入法LatinIME引擎初始化流程分析(二)
引擎初始化首先是在Java层调用native的初始化方法,Java层调用如下: private void initPinyinEngine() { byte usr_dict[]; usr_dict = new byte[MAX_PATH_FILE_LENGTH]; // Here is how we open a built-in d...原创 2019-04-09 11:10:33 · 1970 阅读 · 0 评论