專利名稱:一種漢字查找方法、裝置及手持終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于終端漢字顯示技術(shù)領(lǐng)域,尤其涉及一種漢字查找方法、裝置及 手持終端。
背景技術(shù):
隨著移動(dòng)終端技術(shù)的不斷發(fā)展,用戶對(duì)各種終端功能的要求也越來越高.? 在各種終端中,拼音輸入法種類繁多,現(xiàn)有的拼音輸入法據(jù)不完全統(tǒng)計(jì)已
達(dá)三十多種,但都是基于微軟Windows操作系統(tǒng)的拼音輸入法。而面向嵌入式 的系統(tǒng)的拼音輸入法則種類較少。由于基于Windows操作系統(tǒng)的拼音輸入法, 在拼音算法結(jié)構(gòu)上只能按照微軟提供的接口函數(shù)進(jìn)行設(shè)計(jì),不能在其它操作系 統(tǒng)中進(jìn)行移植和使用?,F(xiàn)在手持類產(chǎn)品采用的操作系統(tǒng)有Linux、 uClinux、 WinCE、 PalmOS、 Symbian等,由于不同的操作系統(tǒng),函數(shù)接口不一樣,函數(shù) 實(shí)現(xiàn)方式也不同,因此針對(duì)不同的系統(tǒng)需開發(fā)相應(yīng)拼音輸入法。
因此,如何提供一種移植性好,可用于各種操作系統(tǒng)和平臺(tái)的漢字查找顯 示方法,是漢字顯示技術(shù)領(lǐng)域研究的方向之一。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種漢字查找方法,旨在提供一種移植性好, 可用于各種操作系統(tǒng)和平臺(tái)的漢字查找方法。
本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的, 一種漢字查找方法,所述方法包括 接收用戶輸入的拼音,獲取所述拼音中的聲母; 根據(jù)系統(tǒng)的設(shè)置,查找所述拼音的聲母對(duì)應(yīng)的數(shù)據(jù)單元; 根據(jù)系統(tǒng)的設(shè)置,查找所述拼音對(duì)應(yīng)的單元音條,找到后保存該單元音條對(duì)應(yīng)的標(biāo)識(shí),其中,所述標(biāo)識(shí)為所述拼音的偏移量;
根據(jù)所述拼音的聲母在內(nèi)存中的起始地址結(jié)合所述拼音的偏移量,獲取所
述拼音對(duì)應(yīng)的漢字組并顯示。
本發(fā)明實(shí)施例的另一目的在于提供一種漢字查找裝置,所述裝置包括 聲母獲取模塊,用于接收用戶輸入的拼音,獲取所述拼音中的聲母; 數(shù)據(jù)單元查找模塊,用于根據(jù)系統(tǒng)的設(shè)置,查找所述拼音的聲母對(duì)應(yīng)的數(shù)
據(jù)單元;
偏移量獲取模塊,用于根據(jù)系統(tǒng)的設(shè)置,查找所述拼音對(duì)應(yīng)的單元音條, 找到后保存該單元音條對(duì)應(yīng)的標(biāo)識(shí),其中,所述標(biāo)識(shí)為所述拼音的偏移量;
漢字顯示模塊,用于根據(jù)所述拼音的聲母在內(nèi)存中的起始地址結(jié)合所述拼 音的偏移量,獲取所述拼音對(duì)應(yīng)的漢字組并顯示。
本發(fā)明實(shí)施例的還一目的在于提供一種手持終端,所述終端包括一種漢字 查找裝置,所述裝置包括
聲母獲取模塊,用于接收用戶輸入的拼音,獲取所述拼音中的聲母;
數(shù)據(jù)單元查找模塊,用于根據(jù)系統(tǒng)的設(shè)置,查找所述拼音的聲母對(duì)應(yīng)的數(shù) 據(jù)單元;
偏移量獲取模塊,用于根據(jù)系統(tǒng)的設(shè)置,查找所述拼音對(duì)應(yīng)的單元音條, 找到后保存該單元音條對(duì)應(yīng)的標(biāo)識(shí),其中,所述標(biāo)識(shí)為所述拼音的偏移量;
漢字顯示模塊,用于根據(jù)所述拼音的聲母在內(nèi)存中的起始地址結(jié)合所述拼 音的偏移量,獲取所述拼音對(duì)應(yīng)的漢字組并顯示。
本發(fā)明實(shí)施例通過設(shè)置漢字對(duì)應(yīng)拼音的標(biāo)識(shí)以及聲母對(duì)應(yīng)的數(shù)據(jù)單元,在 用戶輸入拼音查找漢字時(shí),查找所述聲母對(duì)應(yīng)的數(shù)據(jù)單元,在查找到的數(shù)據(jù)單 元中獲取所述拼音對(duì)應(yīng)的標(biāo)識(shí)(即偏移量),根據(jù)聲母的初始地址以及所述標(biāo) 識(shí)獲取相應(yīng)的漢字組并顯示,移植性好,可用于各種操作系統(tǒng)和平臺(tái),極大地 拓展了終端漢字的查找顯示功能。
圖l是本發(fā)明實(shí)施例提供的漢字查找方法的流程圖; 圖2是本發(fā)明實(shí)施例提供的漢字查找裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí) 施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1示出了本發(fā)明實(shí)施例提供的漢字查找方法的流程。
在步驟sioi中,將漢字按照中文拼音字母進(jìn)行分類排序,其中,構(gòu)成拼音 字母相同的放在同一類。
其中,可以根據(jù)需要實(shí)現(xiàn)字庫的復(fù)雜度來自由添加需要的漢字。例如[xu] "戌須虛噓需墟徐許旭序敘恤緒續(xù)酗婿絮蓄吁,,,[xue]"削靴薛穴學(xué)雪血,,等。
在具體實(shí)施過程中,將相同聲母組成的漢字設(shè)置為一個(gè)數(shù)據(jù)單元,共有23 個(gè)這樣的數(shù)據(jù)單元,其中,i、 u 、 v不能作為聲母。并在每個(gè)數(shù)據(jù)單元內(nèi)填充 由本單元的聲母所有可能組成的單元音條,例如"X"的單元音條(Index—x—Unit) 可能的單元音條有[x]i, [x]ia, [x]ian, [x]iang等。
之后,對(duì)填充的單元音條所有可能組成的拼音進(jìn)行偏移量的標(biāo)識(shí),在每個(gè) 單元音條后追加該單元音條對(duì)應(yīng)字庫中的偏移位置。假設(shè)每個(gè)單元音條在字庫 中占有的長(zhǎng)度為MAXLEN個(gè)字節(jié),則計(jì)算偏移量的公式為OFFSET = MAXLEN *( nPos-l),其中,nPos為單元音條在整個(gè)結(jié)構(gòu)中的排列位置,基數(shù) 為1。
最后,將對(duì)單元音條進(jìn)行偏移量標(biāo)識(shí)后的數(shù)據(jù)單元生成表格存儲(chǔ)。 由上述過程不難看出,本發(fā)明實(shí)施例的單元音條由拼音字母和偏移位置兩 部分組成。
當(dāng)然,上述流程為前期準(zhǔn)備的過程,在上述過程準(zhǔn)備好后,用戶便可以輸入拼音進(jìn)行漢字的查找了。在用戶輸入拼音后,便進(jìn)行步驟S102。
在步驟S102中,接收用戶輸入的拼音,獲取該拼音中的聲母。
在步驟S103中,根據(jù)在步驟SIOI中對(duì)數(shù)據(jù)單元進(jìn)行存儲(chǔ)的表格,查找用 戶輸入拼音的聲母對(duì)應(yīng)的數(shù)據(jù)單元。
在步驟S104中,在數(shù)據(jù)單元中查找用戶輸入的拼音對(duì)應(yīng)的單元音條,找到 后保存該單元音條的偏移量。
在步驟S105中,根據(jù)用戶輸入拼音的聲母在內(nèi)存中的起始地址結(jié)合步驟 S104中保存的偏移量,獲取用戶輸入的拼音對(duì)應(yīng)的漢字組,即DestAddr = BaseAddr + Offset,并將獲取的漢字組顯示。
其中,在步驟S103中,從接收用戶輸入的拼音來定位數(shù)據(jù)單元由以下程序 代碼實(shí)現(xiàn)
pPYinput = GetPinYin();
if( IsIVU( pPYinput[O〗)return ;
IndexAddr = FindUnitFromTable( pPYinput[O])。
其中,在步驟S104中,根據(jù)定位到的數(shù)據(jù)單元查找最匹配的單元音條,由 以下程序代碼實(shí)現(xiàn)
首先查找用戶輸入拼音的第二個(gè)拼音字母 while (pl<p3) {
if ((*pl)
== pPYinput [l]) {
p2=pl; breakj
else
pi++;然后用階梯法查找用戶輸入^f音的剩下的拼音字母 while (pl〈p3)
if(!pPYinput [i+l]) break;
if (((*pl)[i]==pPYinput [i+l])&&((*pl)[i-l]== pPYinput [i]》 {
p2=pl;
else pi++5
其中,上述程序中,代碼pl, p2, p3為地址變量,pi的初始值為IndexAddr, p2為保存結(jié)果地址,p3是數(shù)據(jù)單元的結(jié)束地址。
p2為對(duì)應(yīng)輸入拼音的單元音條,獲取該單元音條p2的偏移量Offset,然后 加上BaseAddr就可以得到字庫中的漢字組了 ,將漢字組顯示。
本發(fā)明實(shí)施例首先接收用戶輸入的拼音,獲取聲母,根據(jù)聲母在表格中找 到對(duì)應(yīng)的數(shù)據(jù)單元,然后在數(shù)據(jù)單元中查找匹配的單元音條,找到后保存該單 元音條的偏移量。由于該偏移量是字庫中對(duì)應(yīng)拼音相同的字組成的,利用字庫 在內(nèi)存中的起始地址加上偏移量,即可獲得該^拼音對(duì)應(yīng)的漢字組了 ,即DestAddr =BaseAddr + Offset。
本發(fā)明實(shí)施例通過采用上述優(yōu)化的代碼和簡(jiǎn)單的函數(shù)結(jié)構(gòu),用戶可以對(duì)系 統(tǒng)的字庫自由的加載,即用戶可以根據(jù)需要自由的添加某些生僻的漢字等。
而且,由于本發(fā)明實(shí)施例的算法基于數(shù)組位置查找,可以極大的提高查找 效率。圖2示出了本發(fā)明實(shí)施例提供的漢字查找裝置的結(jié)構(gòu)。
漢字分類排序模塊21將漢字按照中文拼音字母進(jìn)行分類排序,其中,構(gòu)成 拼音的字母相同的放在同 一類。
優(yōu)選的,漢字分類排序模塊21具體包括數(shù)據(jù)單元設(shè)置模塊211、單元音條 填充模塊212、偏移量標(biāo)識(shí)模塊213以及數(shù)據(jù)單元存儲(chǔ)模塊214:
其中,凝:據(jù)單元設(shè)置模塊211用于將相同聲母組成的漢字設(shè)置為一個(gè)數(shù)據(jù) 單元;
單元音條填充模塊212用于在每個(gè)數(shù)據(jù)單元內(nèi)填充由本單元聲母所有可能 組成的單元音條;
偏移量標(biāo)識(shí)模塊213對(duì)所述單元音條填充模塊212填充的單元音條所有可 能組成的拼音進(jìn)行偏移量的標(biāo)識(shí);
數(shù)據(jù)單元存儲(chǔ)模塊214將所述偏移量標(biāo)識(shí)模塊213進(jìn)行偏移量標(biāo)識(shí)后的數(shù) 據(jù)單元生成表格后存儲(chǔ)。
請(qǐng)繼續(xù)參閱圖2,在用戶輸入拼音后,聲母獲取模塊22用于接收用戶輸入 的拼音,獲取該拼音中的聲母;
數(shù)據(jù)單元查找模塊23用于查找用戶輸入拼音的聲母對(duì)應(yīng)的數(shù)據(jù)單元。其 中,在查找時(shí),是根據(jù)上述數(shù)據(jù)單元存儲(chǔ)模塊214存儲(chǔ)的表格內(nèi)查詢。
偏移量獲取模塊24在數(shù)據(jù)單元中查找用戶輸入的拼音對(duì)應(yīng)的單元音條,找 到后保存該單元音條的偏移量。
漢字顯示模塊25根據(jù)上述偏移量獲取模塊23獲取的偏移量以及用戶輸入
Offset, 并將獲取的漢字組顯示。
具體的標(biāo)識(shí)以及查找過程在前文已述,此處不再贅述。
本發(fā)明實(shí)施例還提供一種手持終端,所述手持終端包含上述的漢字查找裝 置,鑒于該漢字查找裝置在上文已做詳細(xì)的描述,此處不再贅述。
本發(fā)明實(shí)施例通過設(shè)置漢字對(duì)應(yīng)拼音的標(biāo)識(shí)以及聲母對(duì)應(yīng)的數(shù)據(jù)單元,在用戶輸入拼音查找漢字時(shí),查找所述聲母對(duì)應(yīng)的數(shù)據(jù)單元,在查找到的數(shù)據(jù)單 元中獲取所述拼音對(duì)應(yīng)的標(biāo)識(shí)(即偏移量),根據(jù)聲母的初始地址以及所述標(biāo) 識(shí)獲取相應(yīng)的漢字組并顯示,移植性好,可用于各種操作系統(tǒng)和平臺(tái),極大地 拓展了終端漢字的查找顯示功能。
以上所述^f又為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明 的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種漢字查找方法,其特征在于,所述方法包括接收用戶輸入的拼音,獲取所述拼音中的聲母;根據(jù)系統(tǒng)的設(shè)置,查找所述拼音的聲母對(duì)應(yīng)的數(shù)據(jù)單元;根據(jù)系統(tǒng)的設(shè)置,查找所述拼音對(duì)應(yīng)的單元音條,找到后保存該單元音條對(duì)應(yīng)的標(biāo)識(shí),其中,所述標(biāo)識(shí)為所述拼音的偏移量;根據(jù)所述拼音的聲母在內(nèi)存中的起始地址結(jié)合所述拼音的偏移量,獲取所述拼音對(duì)應(yīng)的漢字組并顯示。
2、 如權(quán)利要求1所述的漢字查找方法,其特征在于,在所述接收用戶輸入 的拼音,獲取所述拼音中的聲母的步驟之前,所述方法還包括將漢字按照中文拼音字母進(jìn)行分類排序,其中,構(gòu)成拼音的字母相同的放 在同一類。
3、 如權(quán)利要求2所述的漢字查找方法,其特征在于,所述將漢字按照中文 拼音字母進(jìn)行分類排序的步驟具體包括將相同聲母組成的漢字設(shè)置為一個(gè)數(shù)據(jù)單元; 在每個(gè)數(shù)據(jù)單元內(nèi)填充由本單元聲母所有可能組成的拼音; 對(duì)所有可能組成的拼音進(jìn)行偏移量的標(biāo)識(shí); 將進(jìn)行偏移量標(biāo)識(shí)后的數(shù)據(jù)單元生成表格后存儲(chǔ)。
4、 一種漢字查找裝置,其特征在于,所述裝置包括 聲母獲取模塊,用于接收用戶輸入的拼音,獲取所述拼音中的聲母; 數(shù)據(jù)單元查找模塊,用于根據(jù)系統(tǒng)的設(shè)置,查找所述拼音的聲母對(duì)應(yīng)的數(shù)據(jù)單元;偏移量獲取模塊,用于根據(jù)系統(tǒng)的設(shè)置,查找所述拼音對(duì)應(yīng)的單元音條, 找到后保存該單元音條對(duì)應(yīng)的標(biāo)識(shí),其中,所述標(biāo)識(shí)為所述拼音的偏移量;漢字顯示模塊,用于根據(jù)所述拼音的聲母在內(nèi)存中的起始地址結(jié)合所述拼 音的偏移量,獲取所述拼音對(duì)應(yīng)的漢字組并顯示。
5、 如權(quán)利要求4所述的漢字查找裝置,其特征在于,所述裝置還包括 漢字分類排序模塊,用于將漢字按照中文拼音字母進(jìn)行分類排序,其中,構(gòu)成拼音的字母相同的放在同 一類。
6、 如權(quán)利要求5所述的漢字查找裝置,其特征在于,所述漢字分類排序模 塊具體包括數(shù)據(jù)單元設(shè)置才莫塊,用于將相同聲母組成的漢字設(shè)置為一個(gè)數(shù)據(jù)單元; 單元音條填充^f莫塊,用于在每個(gè)數(shù)據(jù)單元內(nèi)填充由本單元聲母所有可能組 成的拼音;偏移量標(biāo)識(shí)才莫塊,用于對(duì)所有可能組成的拼音進(jìn)行偏移量的標(biāo)識(shí); 數(shù)據(jù)單元存儲(chǔ)才莫塊,用于將進(jìn)行偏移量標(biāo)識(shí)后的數(shù)據(jù)單元生成表格存儲(chǔ)。
7、 一種手持終端,其特征在于,所述終端包括一種漢字查找裝置,所述裝 置包括聲母獲取模塊,用于接收用戶輸入的拼音,獲取所述拼音中的聲母; 數(shù)據(jù)單元查找模塊,用于根據(jù)系統(tǒng)的設(shè)置,查找所述拼音的聲母對(duì)應(yīng)的數(shù) 據(jù)單元;偏移量獲取模塊,用于根據(jù)系統(tǒng)的設(shè)置,查找所述拼音對(duì)應(yīng)的單元音條, 找到后保存該單元音條對(duì)應(yīng)的標(biāo)識(shí),其中,所述標(biāo)識(shí)為所述拼音的偏移量;漢字顯示模塊,用于根據(jù)所述拼音的聲母在內(nèi)存中的起始地址結(jié)合所述拼 音的偏移量,獲取所述拼音對(duì)應(yīng)的漢字組并顯示。
8、 如權(quán)利要求7所述的手持終端,其特征在于,所述裝置還包括 漢字分類排序模塊,用于將漢字按照中文拼音字母進(jìn)行分類排序,其中,構(gòu)成拼音的字母相同的放在同 一類。
9、 如權(quán)利要求7所述的手持終端,其特征在于,所述漢字分類排序模塊具 體包括數(shù)據(jù)單元設(shè)置模塊,用于將相同聲母組成的漢字設(shè)置為一個(gè)數(shù)據(jù)單元; 單元音條填充模塊,用于在每個(gè)數(shù)據(jù)單元內(nèi)填充由本單元聲母所有可能組成的拼音;偏移量標(biāo)識(shí)模塊,用于對(duì)所有可能組成的拼音進(jìn)行偏移量的標(biāo)識(shí);數(shù)據(jù)單元存儲(chǔ);漠塊,用于將進(jìn)行偏移量標(biāo)識(shí)后的數(shù)據(jù)單元生成表格存儲(chǔ)。
全文摘要
本發(fā)明適用于終端漢字顯示技術(shù)領(lǐng)域,提供了一種漢字查找方法、裝置及手持終端,所述方法包括接收用戶輸入的拼音,獲取所述拼音中的聲母;根據(jù)系統(tǒng)的設(shè)置,查找所述拼音的聲母對(duì)應(yīng)的數(shù)據(jù)單元;根據(jù)系統(tǒng)的設(shè)置,查找所述拼音對(duì)應(yīng)的單元音條,找到后保存該單元音條對(duì)應(yīng)的標(biāo)識(shí),其中,所述標(biāo)識(shí)為所述拼音的偏移量;根據(jù)所述拼音的聲母在內(nèi)存中的起始地址結(jié)合所述拼音的偏移量,獲取所述拼音對(duì)應(yīng)的漢字組并顯示。本發(fā)明通過設(shè)置漢字對(duì)應(yīng)拼音的標(biāo)識(shí)以及聲母對(duì)應(yīng)的數(shù)據(jù)單元,在用戶輸入拼音查找漢字時(shí),查找所述聲母對(duì)應(yīng)的數(shù)據(jù)單元,在查找到的數(shù)據(jù)單元中獲取所述拼音對(duì)應(yīng)的標(biāo)識(shí)(即偏移量),根據(jù)聲母的初始地址以及所述標(biāo)識(shí)獲取相應(yīng)的漢字組并顯示,移植性好,可用于各種操作系統(tǒng)和平臺(tái),極大地拓展了終端漢字的查找顯示功能。
文檔編號(hào)G06F3/023GK101661337SQ20091019025
公開日2010年3月3日 申請(qǐng)日期2009年9月24日 優(yōu)先權(quán)日2009年9月24日
發(fā)明者劉翰林, 趙新科 申請(qǐng)人:深圳創(chuàng)維-Rgb電子有限公司