CN101661337A - 一种汉字查找方法、装置及手持终端 - Google Patents
一种汉字查找方法、装置及手持终端 Download PDFInfo
- Publication number
- CN101661337A CN101661337A CN200910190252A CN200910190252A CN101661337A CN 101661337 A CN101661337 A CN 101661337A CN 200910190252 A CN200910190252 A CN 200910190252A CN 200910190252 A CN200910190252 A CN 200910190252A CN 101661337 A CN101661337 A CN 101661337A
- Authority
- CN
- China
- Prior art keywords
- phonetic
- initial consonant
- chinese character
- play amount
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明适用于终端汉字显示技术领域,提供了一种汉字查找方法、装置及手持终端,所述方法包括:接收用户输入的拼音,获取所述拼音中的声母;根据系统的设置,查找所述拼音的声母对应的数据单元;根据系统的设置,查找所述拼音对应的单元音条,找到后保存该单元音条对应的标识,其中,所述标识为所述拼音的偏移量;根据所述拼音的声母在内存中的起始地址结合所述拼音的偏移量,获取所述拼音对应的汉字组并显示。本发明通过设置汉字对应拼音的标识以及声母对应的数据单元,在用户输入拼音查找汉字时,查找所述声母对应的数据单元,在查找到的数据单元中获取所述拼音对应的标识(即偏移量),根据声母的初始地址以及所述标识获取相应的汉字组并显示,移植性好,可用于各种操作系统和平台,极大地拓展了终端汉字的查找显示功能。
Description
技术领域
本发明属于终端汉字显示技术领域,尤其涉及一种汉字查找方法、装置及手持终端。
背景技术
随着移动终端技术的不断发展,用户对各种终端功能的要求也越来越高.?
在各种终端中,拼音输入法种类繁多,现有的拼音输入法据不完全统计已达三十多种,但都是基于微软Windows操作系统的拼音输入法。而面向嵌入式的系统的拼音输入法则种类较少。由于基于Windows操作系统的拼音输入法,在拼音算法结构上只能按照微软提供的接口函数进行设计,不能在其它操作系统中进行移植和使用。现在手持类产品采用的操作系统有Linux、uClinux、WinCE、PalmOS、Symbian等,由于不同的操作系统,函数接口不一样,函数实现方式也不同,因此针对不同的系统需开发相应拼音输入法。
因此,如何提供一种移植性好,可用于各种操作系统和平台的汉字查找显示方法,是汉字显示技术领域研究的方向之一。
发明内容
本发明实施例的目的在于提供一种汉字查找方法,旨在提供一种移植性好,可用于各种操作系统和平台的汉字查找方法。
本发明实施例是这样实现的,一种汉字查找方法,所述方法包括:
接收用户输入的拼音,获取所述拼音中的声母;
根据系统的设置,查找所述拼音的声母对应的数据单元;
根据系统的设置,查找所述拼音对应的单元音条,找到后保存该单元音条对应的标识,其中,所述标识为所述拼音的偏移量;
根据所述拼音的声母在内存中的起始地址结合所述拼音的偏移量,获取所述拼音对应的汉字组并显示。
本发明实施例的另一目的在于提供一种汉字查找装置,所述装置包括:
声母获取模块,用于接收用户输入的拼音,获取所述拼音中的声母;
数据单元查找模块,用于根据系统的设置,查找所述拼音的声母对应的数据单元;
偏移量获取模块,用于根据系统的设置,查找所述拼音对应的单元音条,找到后保存该单元音条对应的标识,其中,所述标识为所述拼音的偏移量;
汉字显示模块,用于根据所述拼音的声母在内存中的起始地址结合所述拼音的偏移量,获取所述拼音对应的汉字组并显示。
本发明实施例的还一目的在于提供一种手持终端,所述终端包括一种汉字查找装置,所述装置包括:
声母获取模块,用于接收用户输入的拼音,获取所述拼音中的声母;
数据单元查找模块,用于根据系统的设置,查找所述拼音的声母对应的数据单元;
偏移量获取模块,用于根据系统的设置,查找所述拼音对应的单元音条,找到后保存该单元音条对应的标识,其中,所述标识为所述拼音的偏移量;
汉字显示模块,用于根据所述拼音的声母在内存中的起始地址结合所述拼音的偏移量,获取所述拼音对应的汉字组并显示。
本发明实施例通过设置汉字对应拼音的标识以及声母对应的数据单元,在用户输入拼音查找汉字时,查找所述声母对应的数据单元,在查找到的数据单元中获取所述拼音对应的标识(即偏移量),根据声母的初始地址以及所述标识获取相应的汉字组并显示,移植性好,可用于各种操作系统和平台,极大地拓展了终端汉字的查找显示功能。
附图说明
图1是本发明实施例提供的汉字查找方法的流程图;
图2是本发明实施例提供的汉字查找装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的汉字查找方法的流程。
在步骤S101中,将汉字按照中文拼音字母进行分类排序,其中,构成拼音字母相同的放在同一类。
其中,可以根据需要实现字库的复杂度来自由添加需要的汉字。例如:[xu]“戌须虚嘘需墟徐许旭序叙恤绪续酗婿絮蓄吁”,[xue]“削靴薛穴学雪血”等。
在具体实施过程中,将相同声母组成的汉字设置为一个数据单元,共有23个这样的数据单元,其中,i、u、v不能作为声母。并在每个数据单元内填充由本单元的声母所有可能组成的单元音条,例如“X”的单元音条(Index_x_Unit)可能的单元音条有[x]i,[x]ia,[x]ian,[x]iang等。
之后,对填充的单元音条所有可能组成的拼音进行偏移量的标识,在每个单元音条后追加该单元音条对应字库中的偏移位置。假设每个单元音条在字库中占有的长度为MAXLEN个字节,则计算偏移量的公式为OFFSET=MAXLEN*(nPos-1),其中,nPos为单元音条在整个结构中的排列位置,基数为1。
最后,将对单元音条进行偏移量标识后的数据单元生成表格存储。
由上述过程不难看出,本发明实施例的单元音条由拼音字母和偏移位置两部分组成。
当然,上述流程为前期准备的过程,在上述过程准备好后,用户便可以输入拼音进行汉字的查找了。在用户输入拼音后,便进行步骤S102。
在步骤S102中,接收用户输入的拼音,获取该拼音中的声母。
在步骤S103中,根据在步骤S101中对数据单元进行存储的表格,查找用户输入拼音的声母对应的数据单元。
在步骤S104中,在数据单元中查找用户输入的拼音对应的单元音条,找到后保存该单元音条的偏移量。
在步骤S105中,根据用户输入拼音的声母在内存中的起始地址结合步骤S104中保存的偏移量,获取用户输入的拼音对应的汉字组,即DestAddr=BaseAddr+Offset,并将获取的汉字组显示。
其中,在步骤S 103中,从接收用户输入的拼音来定位数据单元由以下程序代码实现:
pPYinput=GetPinYin();
if( IsIVU(pPYinput[0])return;
IndexAddr=FindUnitFromTable(pPYinput[0])。
其中,在步骤S104中,根据定位到的数据单元查找最匹配的单元音条,由以下程序代码实现:
首先查找用户输入拼音的第二个拼音字母:
while(p1<p3)
{
if((*p1)[0]==pPYinput[1])
{
p2=p1;
break;
}
else
{
p1++;
}
}
然后用阶梯法查找用户输入拼音的剩下的拼音字母:
while(p1<p3)
{
if(!pPYinput[i+1])break;
if(((*p1)[i]==pPYinput[i+1])&&((*p1)[i-1]==pPYinput[i]))
{
p2=p1;
i++;
}
else
{
p1++;
}
}
其中,上述程序中,代码p1,p2,p3为地址变量,p1的初始值为IndexAddr,p2为保存结果地址,p3是数据单元的结束地址。
p2为对应输入拼音的单元音条,获取该单元音条p2的偏移量Offset,然后加上BaseAddr就可以得到字库中的汉字组了,将汉字组显示。
本发明实施例首先接收用户输入的拼音,获取声母,根据声母在表格中找到对应的数据单元,然后在数据单元中查找匹配的单元音条,找到后保存该单元音条的偏移量。由于该偏移量是字库中对应拼音相同的字组成的,利用字库在内存中的起始地址加上偏移量,即可获得该拼音对应的汉字组了,即DestAddr=BaseAddr+Offset。
本发明实施例通过采用上述优化的代码和简单的函数结构,用户可以对系统的字库自由的加载,即用户可以根据需要自由的添加某些生僻的汉字等。
而且,由于本发明实施例的算法基于数组位置查找,可以极大的提高查找效率。
图2示出了本发明实施例提供的汉字查找装置的结构。
汉字分类排序模块21将汉字按照中文拼音字母进行分类排序,其中,构成拼音的字母相同的放在同一类。
优选的,汉字分类排序模块21具体包括数据单元设置模块211、单元音条填充模块212、偏移量标识模块213以及数据单元存储模块214:
其中,数据单元设置模块211用于将相同声母组成的汉字设置为一个数据单元;
单元音条填充模块212用于在每个数据单元内填充由本单元声母所有可能组成的单元音条;
偏移量标识模块213对所述单元音条填充模块212填充的单元音条所有可能组成的拼音进行偏移量的标识;
数据单元存储模块214将所述偏移量标识模块213进行偏移量标识后的数据单元生成表格后存储。
请继续参阅图2,在用户输入拼音后,声母获取模块22用于接收用户输入的拼音,获取该拼音中的声母;
数据单元查找模块23用于查找用户输入拼音的声母对应的数据单元。其中,在查找时,是根据上述数据单元存储模块214存储的表格内查询。
偏移量获取模块24在数据单元中查找用户输入的拼音对应的单元音条,找到后保存该单元音条的偏移量。
汉字显示模块25根据上述偏移量获取模块23获取的偏移量以及用户输入拼音声母的初始地址获取用户输入拼音对应的汉字组即DestAddr=BaseAddr+Offset,并将获取的汉字组显示。
具体的标识以及查找过程在前文已述,此处不再赘述。
本发明实施例还提供一种手持终端,所述手持终端包含上述的汉字查找装置,鉴于该汉字查找装置在上文已做详细的描述,此处不再赘述。
本发明实施例通过设置汉字对应拼音的标识以及声母对应的数据单元,在用户输入拼音查找汉字时,查找所述声母对应的数据单元,在查找到的数据单元中获取所述拼音对应的标识(即偏移量),根据声母的初始地址以及所述标识获取相应的汉字组并显示,移植性好,可用于各种操作系统和平台,极大地拓展了终端汉字的查找显示功能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1、一种汉字查找方法,其特征在于,所述方法包括:
接收用户输入的拼音,获取所述拼音中的声母;
根据系统的设置,查找所述拼音的声母对应的数据单元;
根据系统的设置,查找所述拼音对应的单元音条,找到后保存该单元音条对应的标识,其中,所述标识为所述拼音的偏移量;
根据所述拼音的声母在内存中的起始地址结合所述拼音的偏移量,获取所述拼音对应的汉字组并显示。
2、如权利要求1所述的汉字查找方法,其特征在于,在所述接收用户输入的拼音,获取所述拼音中的声母的步骤之前,所述方法还包括:
将汉字按照中文拼音字母进行分类排序,其中,构成拼音的字母相同的放在同一类。
3、如权利要求2所述的汉字查找方法,其特征在于,所述将汉字按照中文拼音字母进行分类排序的步骤具体包括:
将相同声母组成的汉字设置为一个数据单元;
在每个数据单元内填充由本单元声母所有可能组成的拼音;
对所有可能组成的拼音进行偏移量的标识;
将进行偏移量标识后的数据单元生成表格后存储。
4、一种汉字查找装置,其特征在于,所述装置包括:
声母获取模块,用于接收用户输入的拼音,获取所述拼音中的声母;
数据单元查找模块,用于根据系统的设置,查找所述拼音的声母对应的数据单元;
偏移量获取模块,用于根据系统的设置,查找所述拼音对应的单元音条,找到后保存该单元音条对应的标识,其中,所述标识为所述拼音的偏移量;
汉字显示模块,用于根据所述拼音的声母在内存中的起始地址结合所述拼音的偏移量,获取所述拼音对应的汉字组并显示。
5、如权利要求4所述的汉字查找装置,其特征在于,所述装置还包括:
汉字分类排序模块,用于将汉字按照中文拼音字母进行分类排序,其中,构成拼音的字母相同的放在同一类。
6、如权利要求5所述的汉字查找装置,其特征在于,所述汉字分类排序模块具体包括:
数据单元设置模块,用于将相同声母组成的汉字设置为一个数据单元;
单元音条填充模块,用于在每个数据单元内填充由本单元声母所有可能组成的拼音;
偏移量标识模块,用于对所有可能组成的拼音进行偏移量的标识;
数据单元存储模块,用于将进行偏移量标识后的数据单元生成表格存储。
7、一种手持终端,其特征在于,所述终端包括一种汉字查找装置,所述装置包括:
声母获取模块,用于接收用户输入的拼音,获取所述拼音中的声母;
数据单元查找模块,用于根据系统的设置,查找所述拼音的声母对应的数据单元;
偏移量获取模块,用于根据系统的设置,查找所述拼音对应的单元音条,找到后保存该单元音条对应的标识,其中,所述标识为所述拼音的偏移量;
汉字显示模块,用于根据所述拼音的声母在内存中的起始地址结合所述拼音的偏移量,获取所述拼音对应的汉字组并显示。
8、如权利要求7所述的手持终端,其特征在于,所述装置还包括:
汉字分类排序模块,用于将汉字按照中文拼音字母进行分类排序,其中,构成拼音的字母相同的放在同一类。
9、如权利要求7所述的手持终端,其特征在于,所述汉字分类排序模块具体包括:
数据单元设置模块,用于将相同声母组成的汉字设置为一个数据单元;
单元音条填充模块,用于在每个数据单元内填充由本单元声母所有可能组成的拼音;
偏移量标识模块,用于对所有可能组成的拼音进行偏移量的标识;
数据单元存储模块,用于将进行偏移量标识后的数据单元生成表格存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101902524A CN101661337B (zh) | 2009-09-24 | 2009-09-24 | 一种汉字查找方法、装置及手持终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101902524A CN101661337B (zh) | 2009-09-24 | 2009-09-24 | 一种汉字查找方法、装置及手持终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101661337A true CN101661337A (zh) | 2010-03-03 |
CN101661337B CN101661337B (zh) | 2012-08-22 |
Family
ID=41789399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101902524A Expired - Fee Related CN101661337B (zh) | 2009-09-24 | 2009-09-24 | 一种汉字查找方法、装置及手持终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101661337B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609510A (zh) * | 2012-02-06 | 2012-07-25 | 中国农业银行股份有限公司 | 一种中文姓名数据处理方法和装置 |
-
2009
- 2009-09-24 CN CN2009101902524A patent/CN101661337B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609510A (zh) * | 2012-02-06 | 2012-07-25 | 中国农业银行股份有限公司 | 一种中文姓名数据处理方法和装置 |
CN102609510B (zh) * | 2012-02-06 | 2014-05-28 | 中国农业银行股份有限公司 | 一种中文姓名数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101661337B (zh) | 2012-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101178711A (zh) | 一种中文自动应答方法及系统 | |
CN101566882A (zh) | 文字输入系统及文字输入方法 | |
WO2004059461A3 (en) | Electronic dictionary with example sentences | |
US20150347422A1 (en) | N-gram tokenization | |
CN102117171A (zh) | 拼音输入系统及方法 | |
CN101661337B (zh) | 一种汉字查找方法、装置及手持终端 | |
CN101420483B (zh) | 错别字检测方法及移动终端 | |
CN101726312B (zh) | 兴趣点检索方法及装置 | |
CN102541278A (zh) | 一种文字输入界面中进行字符选择的方法及系统 | |
CN101882006A (zh) | 零记忆简单子字拆分输入法 | |
CN101251848B (zh) | 一种电子词典的快速单词查询系统 | |
CN101887309A (zh) | 候选汉字显示方法和系统以及汉字输入方法和系统 | |
CN101770328B (zh) | 多重切分的中文拼音系统及其方法 | |
CN102346559A (zh) | 一种输入法中词条的删除方法、装置及文字输入工具 | |
CN101419618A (zh) | 一种内文信息的显示方法、系统及装置 | |
CN101436205A (zh) | 通过释义查询单字的方法与装置 | |
Chairungsee | Searching for gapped palindrome | |
CN101847050A (zh) | 一种嵌入式产品中简单中文的输入及显示方法 | |
TW200535672A (en) | A method for switching input and an electronic device therefor | |
CN102129423A (zh) | 一种语句呈现方法及装置 | |
CN101872565A (zh) | 英语自然发音的单字拼读立方体教具 | |
CN101923421A (zh) | 候选汉字显示方法和系统以及汉字输入方法和系统 | |
Bates et al. | Involutions in Conway's largest simple group | |
CN201126569Y (zh) | 罕用字的输入装置 | |
CN104516521A (zh) | 电子设备及其信息处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120822 Termination date: 20150924 |
|
EXPY | Termination of patent right or utility model |