專利名稱:一種基于阿拉伯字母名義形式編碼的文字輸入方法
技術(shù)領(lǐng)域:
本發(fā)明涉及輸入法領(lǐng)域,具體涉及一種基于阿拉伯字母名義形式 編碼的文字輸入法。
背景技術(shù):
阿拉伯文、波斯文、維吾爾文、哈薩克文、柯爾克孜文等使用阿 拉伯字母。此種字母組成的詞從右向左橫寫,大多數(shù)阿拉伯字母都有
名義形式和"頭符"、"中符"、"尾符"、"獨(dú)符"4種顯現(xiàn)形式(變體 形式),4種顯現(xiàn)形式用于該阿拉伯字母在詞中的不同部位。少數(shù)阿拉 伯字母只有名義形式和"獨(dú)符"、"尾符"兩種顯現(xiàn)形式?,F(xiàn)有的阿拉 伯文、波斯文、維吾爾文、哈薩克文、柯爾克孜文字輸入法顯示時(shí)一 般都做到了 "自動(dòng)選形",即選擇阿拉伯字母名義形式布置在鍵盤上, 在輸出其變體時(shí)由系統(tǒng)隨機(jī)自選。但仍有許多不盡如人意之處,如顯 示方式與人的書寫習(xí)慣相悖。以維文萄;'+'丄*, 一詞為例,如圖l 所示,現(xiàn)有輸入法中的顯示過程如下顯示詞的第一個(gè)阿拉伯字母時(shí) 顯示該字母的獨(dú)立形式即"獨(dú)符"。此后每鍵入一個(gè)阿拉伯字母都顯 示該字母的結(jié)尾形式即"尾符",仿佛這個(gè)詞已經(jīng)結(jié)束。等到鍵入下 一個(gè)字母之后再把前一個(gè)字母改為詞中形式即"中符",新輸入的字 母仍為結(jié)尾形式,等待下一個(gè)字母再來改正它。如此循環(huán)下去,直至 詞末。就是說,所見并非所欲。
另外,現(xiàn)有的輸入法中,所輸入的詞的長(zhǎng)度由程序自動(dòng)調(diào)整,例 如在最后一個(gè)詞的長(zhǎng)度較大時(shí)將其顯示在下一行,而上一行中的詞往 往被莫名其妙地、不成比例地拉長(zhǎng),而且只拉長(zhǎng)連線。從外形來看十 分不美觀,用戶不能根據(jù)需要調(diào)整詞的長(zhǎng)度
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于阿拉伯字母名義形式編碼的文字輸入方法,克服了現(xiàn)有技術(shù)中輸入時(shí)所見非所得的顯示缺陷,更符合人曰常的書寫習(xí)慣,另外還可以根據(jù)需要調(diào)整詞的長(zhǎng)度,顯示的效果更美觀。
為實(shí)現(xiàn)上述目的,本發(fā)明釆用如下技術(shù)方案
一種基于阿拉伯字母名義形式編碼的文字輸入方法,所選用的阿拉伯字母名義形式映射在鍵盤上,所述阿拉伯字母名義形式編碼符合
ISO/IEC國(guó)際標(biāo)準(zhǔn)10646- 1,其中
在通過鍵盤鍵入阿拉伯字母時(shí)還包括插入截?cái)喾牟襟E;
輸出時(shí)分析所鍵入的阿拉伯字母所處位置并輸出其對(duì)應(yīng)的顯現(xiàn)
形式,分析時(shí)所述截?cái)喾鳛橐痪哂兴姆N顯現(xiàn)形式的阿拉伯字母看
待,輸出時(shí)所述截?cái)喾鳛榱銓挷豢梢娮址?br>
優(yōu)選地,該方法中在鍵入詞的第一個(gè)阿拉伯字母時(shí)在其后自動(dòng)插
入截?cái)喾?,分析?dāng)前鍵入的阿拉伯字母在詞中的位置并輸出其對(duì)應(yīng)的
顯現(xiàn)形式;
之后每鍵入一個(gè)阿拉伯字母,將截?cái)喾詣?dòng)移位到新鍵入的阿拉伯字母后面,分析當(dāng)前鍵入的阿拉伯字母在詞中的位置并輸出其對(duì)應(yīng)的顯現(xiàn)形式;
該方法中通過輸入空格或標(biāo)點(diǎn)符號(hào)來確定所鍵入的為詞的最后一個(gè)阿拉伯字母,鍵入詞的最后一個(gè)阿拉伯字母之后點(diǎn)擊空格或標(biāo)點(diǎn)時(shí),自動(dòng)刪除所述截?cái)喾詈笠粋€(gè)阿拉伯字母隨之以其詞尾形式出現(xiàn)。
優(yōu)選地,該方法中所述截?cái)喾挥成湓阪I盤的一個(gè)鍵位上,插入截?cái)喾姆绞綖橥ㄟ^點(diǎn)擊所述鍵位插入;
在鍵入阿拉伯字母前點(diǎn)擊所述鍵位,或在鍵入阿拉伯字母后點(diǎn)擊所述鍵位,或在鍵入阿拉伯字母前后均點(diǎn)擊所述鍵位,即可得到該字母的單獨(dú)出現(xiàn)的起始形式、詞中形式、結(jié)尾形式,即"頭符"、"中符"、"尾符"。要想得到字母的獨(dú)立形式,只要順序點(diǎn)擊"空格一字母一空格"即可。這些單獨(dú)出現(xiàn)的顯現(xiàn)形式用于教學(xué)和其他必用的場(chǎng)合。
優(yōu)選地,該文字輸入方法用于輸入使用阿拉伯字母的各種文字如阿拉伯文、波斯文、維吾爾文、哈薩克文、柯爾克孜文等。
優(yōu)選地,該方法中映射時(shí)還包括在所述鍵盤上選擇一個(gè)鍵位映射延長(zhǎng)符的步驟,所述延長(zhǎng)符具有兩種顯現(xiàn)形式,其中一種顯現(xiàn)形式為不可連阿拉伯字母之間的空白,另 一種顯現(xiàn)形式為可連阿拉伯字母之
間的連線;
在需要加入延長(zhǎng)符的位置點(diǎn)擊該鍵位時(shí),根據(jù)所述位置前后相鄰阿拉伯字母的連接狀況確定所輸出的延長(zhǎng)符的顯現(xiàn)形式。
優(yōu)選地,需要加入延長(zhǎng)符的位置在詞中時(shí),若摁住Ctrl鍵在詞中
的任 一 處點(diǎn)擊所述鍵位,則從頭至尾在該詞的所有相鄰阿拉伯字母之間插入延長(zhǎng)符,根據(jù)相鄰阿拉伯字母的連接狀況確定所輸出的延長(zhǎng)符的顯現(xiàn)形式。
優(yōu)選地,該方法中摁住Ctrl鍵在詞中的任 一處點(diǎn)擊鍵位的次數(shù)為至少一次,每點(diǎn)擊一次,則從頭至尾在該詞的所有相鄰阿拉伯字母之間插入延長(zhǎng)符,根據(jù)相鄰阿拉伯字母的連接狀況確定所輸出的延長(zhǎng)符的顯現(xiàn)形式。
優(yōu)選地,如果點(diǎn)擊延長(zhǎng)符時(shí)光標(biāo)不處在兩個(gè)阿拉伯字母之間,則響鈴報(bào)錯(cuò)。
利用本發(fā)明提供的基于阿拉伯字母名義形式編碼的文字輸入法具有以下有益效果
1) 解決常用的如阿拉伯文、波斯文、維吾爾文、哈薩克文、柯爾克孜文字等基于阿拉伯字母名義形式編碼的文字輸入方法中顯示中出現(xiàn)的所見非所欲得的缺陷,顯示效果更符合人的書寫習(xí)慣;
2) 單獨(dú)錄入字母的各個(gè)變形顯現(xiàn)形式,以利教學(xué)之用;
3) 用戶利用可控空鉛可以根據(jù)需要靈活調(diào)整詞的長(zhǎng)度,顯示效果更美觀。
圖l為釆用現(xiàn)有輸入法輸入維吾爾文的顯示過程;圖2為釆用本發(fā)明文字輸入法輸入維吾爾文的顯示過程;圖3為本發(fā)明實(shí)施例1中輸入維吾爾文中單個(gè)阿拉伯字母的過程;圖4為本發(fā)明實(shí)施例1中輸入維吾爾文中空格或標(biāo)點(diǎn)的過程;圖5為本發(fā)明實(shí)施例2中輸入哈薩克文中單個(gè)阿拉伯字母的過程;圖6為本發(fā)明實(shí)施例3中輸入柯爾克孜文中單個(gè)阿拉伯字母的過程流程圖7為本發(fā)明實(shí)施例5中單插延長(zhǎng)符ttwl的流程圖8為本發(fā)明實(shí)施例5中詞內(nèi)遍插延長(zhǎng)符ttwl的流程圖9a為采用現(xiàn)有輸入方法的阿拉伯文輸出示例圖9b為本發(fā)明文字輸入方法的阿拉伯文輸出示例圖10a為釆用現(xiàn)有輸入方法的波斯文輸出示例圖10b為本發(fā)明文字輸入方法的阿拉伯文輸出示例圖。
具體實(shí)施例方式
本發(fā)明提出的基于阿拉伯字母名義形式編碼的文字輸入法,結(jié)合附圖和實(shí)施例說明如下。
本發(fā)明提出的基于阿拉伯字母名義形式編碼的文字輸入方法,所選用的阿拉伯字母名義形式映射在鍵盤上,阿拉伯字母名義形式編碼符合ISO/IEC國(guó)際標(biāo)準(zhǔn)10646- 1,以ISO/IEC國(guó)際標(biāo)準(zhǔn)10646 - 1中的阿拉伯字母顯現(xiàn)形式編碼為顯示碼,具體選用哪些阿拉伯字母、具體映射在鍵盤的哪些位置,根據(jù)所輸入的語言而定,本發(fā)明不關(guān)注這些內(nèi)容,釆用現(xiàn)有的方法即可,本發(fā)明的改進(jìn)在于輸出顯示步驟,具體為,在通過鍵盤鍵入阿拉伯字母時(shí)還包括由系統(tǒng)自動(dòng)插入截?cái)喾牟襟E;輸出時(shí)分析所鍵入的阿拉伯字母所處位置并輸出其對(duì)應(yīng)的顯現(xiàn)形式,分析時(shí)所述截?cái)喾鳛橐痪哂兴姆N顯現(xiàn)形式的阿拉伯字母看待,通過插入零寬不可見的截?cái)喾麃砀淖兯敵龅脑摪⒗帜傅娘@現(xiàn)形式,以得到人們期望看到的所鍵入的阿拉伯字母的顯現(xiàn)形式。
本發(fā)明所提出的輸入法適用于以ISO/正CG國(guó)際標(biāo)準(zhǔn)10646-1中的阿拉伯字母名義形式編碼為內(nèi)碼、以上述標(biāo)準(zhǔn)中的阿拉伯字母顯現(xiàn)形式編碼為顯示碼的文字輸入法,尤其適用于維吾爾文、哈薩克文、柯爾克孜文的文字輸入法,下面結(jié)合實(shí)施例詳細(xì)說明。
實(shí)施例l
在本實(shí)施例中,本發(fā)明提出的基于阿拉伯字母名義形式編碼的文字輸入法,所輸入的為維吾爾文,通過本發(fā)明的方法輸入維吾爾文中的詞時(shí),由于可以在詞中插入截?cái)喾麃砀淖儺?dāng)前所輸入的阿拉伯字母在詞中的位置,因此輸出時(shí)在整個(gè)詞沒有輸入完畢前可以得到第一個(gè)阿拉伯字母的"頭符"顯現(xiàn)形式,中間阿拉伯字母的"詞中"顯現(xiàn)形式及最后一個(gè)阿拉伯字母的"詞尾"顯現(xiàn)形式,如圖2所示,詞的整個(gè)輸入過程與人的書寫方式一致,所見即所欲。
本發(fā)明所說的截?cái)喾捎谧鳛榫哂?種顯現(xiàn)形式的普通阿拉伯字母對(duì)待,在輸入步驟插入供分析所鍵入的阿拉伯字母的位置使用而不進(jìn)行顯示,因此輸出顯示時(shí)該截?cái)喾麨榱銓挷豢梢娮址?Z-WJoin,200D ),在進(jìn)行位置分析時(shí)將該截?cái)喾鳛榫哂兴姆N顯現(xiàn)形式的阿拉伯字母,其中Z-WJoin代表截?cái)喾?00D為該截?cái)喾木幋a。釆用自動(dòng)方式插入截?cái)喾m合平常人們輸入詞的時(shí)候使用,本實(shí)施例中自動(dòng)插入截?cái)喾姆绞綖樵阪I入詞的第一個(gè)阿拉伯字母時(shí)在第一個(gè)阿拉伯字母后自動(dòng)插入,輸出時(shí)分析第一個(gè)阿拉伯字母所處位置輸出第一個(gè)阿拉伯字母的顯現(xiàn)形式,由于分析時(shí)截?cái)喾鳛橐痪哂兴姆N顯現(xiàn)形式的阿拉伯字母看待,因此第一個(gè)阿拉伯字母應(yīng)輸出"頭符"顯現(xiàn)形式,而不是象現(xiàn)有技術(shù)那樣輸出"獨(dú)符"的顯現(xiàn)形式;之后每鍵入一個(gè)阿拉伯字母,將截?cái)喾詣?dòng)移位到新鍵入的阿拉伯字母后面,輸出時(shí)分析新鍵入的阿拉伯字母所處的位置以決定其顯現(xiàn)形式,由于分析時(shí)截?cái)喾鳛橐痪哂兴姆N顯現(xiàn)形式的阿拉伯字母看待,因此第二個(gè)阿拉伯字母應(yīng)輸出"中符"顯現(xiàn)形式,而不是象現(xiàn)有技術(shù)那樣輸出"尾符"的顯現(xiàn)形式(如果該字母只有"獨(dú)符"和"尾符"
兩種顯現(xiàn)形式,則不論釆用哪種方法,此時(shí)都只會(huì)輸出"尾符");直
至詞的最后一個(gè)阿拉伯字母輸入完畢時(shí)由后續(xù)輸入的空格或標(biāo)點(diǎn)刪除所述截?cái)喾捎诮財(cái)喾粍h除,詞的最后一個(gè)阿拉伯字母很自然地以詞尾形式顯示出來。
如圖3所示為輸入維吾爾文中的詞的流程圖,該輸入步驟包括sll,獲取當(dāng)前被鍵入的字符k;
s12,查當(dāng)前被鍵入的字符k的前一個(gè)字符pre,因?yàn)檩敵鲲@示時(shí)需要分析所鍵入的阿拉伯字母所處的位置,因此需要分析當(dāng)前所鍵入的阿拉伯字母的前一個(gè)字符,判斷所鍵入的阿拉伯字母是處于詞首還是前面已鍵入阿拉伯字母;該步驟具體包括子步驟
s120,記錄內(nèi)存指針的初始位置,即標(biāo)記當(dāng)前鍵入的字符k在內(nèi)存中所處的位置;
s121,指針后移,即找到當(dāng)前被鍵入字符k之前被鍵入的字符;
s122,判斷指針是否指向ttwl、 NB的任一個(gè),若是,返回執(zhí)行步驟sl21,若否,執(zhí)行步驟123;
NB (no-break space):空鉛,用于勻行時(shí)填空,有兩個(gè)變體一個(gè)是forml即空白(編碼為00A0); —個(gè)是form4即NBHyph(non-breaking hyphen,編碼為2011,用來延長(zhǎng)阿拉伯字母之間的連線,本實(shí)施例中forml代表獨(dú)符顯現(xiàn)形式,form4代表中符顯現(xiàn)形式。
tatweel:醒目空鉛,用于把詞拉長(zhǎng),使之醒目,也有兩個(gè)變體一個(gè)是空白NBQD (編碼為2000); —個(gè)是tatwed (編碼為0640 ),用來延長(zhǎng)阿拉伯字母之間的連線,tatweel常略作ttwl。
因?yàn)樾枰业降氖钱?dāng)前所鍵入字符k的前一個(gè)字符,而指針后移有可能指向非字母,即上面的ttwl或NB,若執(zhí)行此類非字母,需要指針返回sl21繼續(xù)后移。(此處所謂"非字母"特指"非阿拉伯字母",
下同)
s123,判斷指針是否指向分行符、SHY的任一個(gè),若是,返回執(zhí)行步驟sl21,若否,執(zhí)行步驟124;
SHY ( soft hyphen):軟連線,只用于移行時(shí)使用。
同理,因?yàn)樾枰业降氖钱?dāng)前所鍵入字符k的前一個(gè)字母,而指針后移有可能指向非字母,即分行符或軟連線,若指向此類非字母,需要指針返回sl21繼續(xù)后移。
s124,判斷指針是否指向輔音字母,若是,將pre賦值為l,并執(zhí)行步驟sl27, 若不是輔音字母,則執(zhí)行步驟sl25;
s125,判斷指針是否指向元音字母,若是,將pre賦值為2,并執(zhí)行步驟sl27,若不是元音字母,則執(zhí)行步驟sl26
s126,將pre賦值為O,執(zhí)行步驟sl27;
若當(dāng)前被鍵入的字符的前一個(gè)字符既不是元音字母也不是輔音字母,則說明是非阿拉伯字母的字符,有可能是空格、標(biāo)點(diǎn)符號(hào)、數(shù)字等字符,此時(shí),說明當(dāng)前所鍵入的字符是詞的第一個(gè)阿拉伯字母。
s127,指針回到初始位置,即指針重新指向當(dāng)前所鍵入的字符;
s13,判斷當(dāng)前所鍵入的字符k是否為元音,若是,執(zhí)行步驟sl4,,若否,執(zhí)行步驟sl4;
維文中輸入的阿拉伯字母是元音時(shí),需要增加一個(gè)判斷,看看其前字符是"非阿拉伯字母"、元音的阿拉伯字母還是輔音的阿拉伯字母,就知道在該元音字母之前該不該加前綴hamza。如果是"非阿拉伯字母"或元音字母則加前綴hamza,如果是輔音字母則不加前綴hamza。
s14,,判斷當(dāng)前所鍵入的字符k的前一個(gè)字符是否是輔音的阿拉伯字母,若是,執(zhí)行步驟sl9,,若否,執(zhí)行步驟sl5,;
s15,,判斷當(dāng)前所鍵入的字符k的前一個(gè)字符是否是元音的阿拉伯字母,若是,執(zhí)行步 驟S18',若否,執(zhí)行步驟sl6,
sl6',插入零寬不可見的截?cái)喾?br>
s17,,指針后移,即指針指向所插入零寬不可見的截?cái)喾那耙晃恢茫?br>
s18,,插入前綴hamza,釆用現(xiàn)有常用的方法插入維文元音;s19,,插入當(dāng)前被鍵入的字符k,結(jié)東。
s14,判斷當(dāng)前所鍵入的字符k的前一個(gè)字符是否是輔音的阿拉伯字母,若是,執(zhí)行步驟sl7,若否,執(zhí)行步驟sl5;s15,插入零寬不可見的截?cái)喾?br>
s16,指針后移,即指針指向所插入零寬不可見的截?cái)喾那耙晃恢茫?br>
s18,插入當(dāng)前被鍵入的字符k,結(jié)東。
當(dāng)前所鍵入的阿拉伯字母是非元音字母的情況下,經(jīng)過步驟sl4 sl9,在當(dāng)前所鍵入的阿拉伯字母k的前一個(gè)字符是非阿拉伯字母的情況下,說明是空格、標(biāo)點(diǎn)符號(hào)、數(shù)字等非阿拉伯字母字符,此時(shí),說明當(dāng)前所鍵入的阿拉伯字母是詞的第一個(gè)阿拉伯字母,插入零寬不可見的截?cái)喾⒅赶蚪財(cái)喾闹羔樅笠撇迦氘?dāng)前所鍵入的阿拉伯字母k,使插入的截?cái)喾挥谒I入的阿拉伯字母k之后,輸出時(shí)分析所鍵入的阿拉伯字母k的位置而輸出其相應(yīng)的顯現(xiàn)形式;在當(dāng)前所鍵入的阿拉伯字母k的前一個(gè)字符是元音字母或輔音字母的情況下,說明當(dāng)前所鍵入的阿拉伯字母k不是詞的第一個(gè)阿拉伯字母,且在當(dāng)前指針?biāo)赶虻奈恢靡呀?jīng)插入有截?cái)喾?,則直接在當(dāng)前指針指向的位置插入所鍵入的阿拉伯字母k。
當(dāng)前所鍵入的阿拉伯字母是元音字母的情況下,經(jīng)過步驟sl4, sl9,,在當(dāng)前所鍵入的字符k的前一個(gè)字符既不是元音阿拉伯字母也不是輔音阿拉伯字母,則說明是非阿拉伯字母的字符,說明是空格、標(biāo)點(diǎn)符號(hào)、數(shù)字等非阿拉伯字母字符,此時(shí),說明當(dāng)前所鍵入的阿拉伯字母是詞的第一個(gè)阿拉伯字母,插入零寬不可見的截?cái)喾⒅赶蚪財(cái)喾闹羔樅笠撇迦氘?dāng)前所鍵入的阿拉伯字母k,使插入的截?cái)喾挥谒I入的阿拉伯字母k之后,輸出時(shí)分析所鍵入的阿拉伯
字母k的位置而輸出其相應(yīng)的顯現(xiàn)形式;在當(dāng)前所鍵入的字符k的前一
個(gè)字符是輔音的阿拉伯字母時(shí),說明當(dāng)前所鍵入的阿拉伯字母不是詞的第一個(gè)阿拉伯字母且不需要加前綴,且在當(dāng)前指針?biāo)赶虻奈恢靡呀?jīng)插入有截?cái)喾?,則直接在當(dāng)前指針指向的位置插入所鍵入的阿拉
伯字母k;在當(dāng)前所鍵入的字符k的前一個(gè)字符是元音字母時(shí),說明當(dāng)前所鍵入的阿拉伯字母不是詞的第一個(gè)阿拉伯字母且需要加前綴,且在當(dāng)前指針?biāo)赶虻奈恢靡呀?jīng)插入有截?cái)喾?,則加入前綴后在當(dāng)前指針指向的位置插入所鍵入的阿拉伯字母k。
本實(shí)施例中通過輸入空格或標(biāo)點(diǎn)符號(hào)來確定所鍵入為詞的最一個(gè)阿拉伯字母,如圖4所示,在當(dāng)前所鍵入的字符為空格或標(biāo)點(diǎn)符號(hào)時(shí),首先查當(dāng)前被鍵入的字符的前一個(gè)字符pre,查pre的步驟通圖3中的查pre的過程,在前一個(gè)字符pre為元音字母或輔音字母的情況下,說明輸入的詞結(jié)束,刪除所插入的截?cái)喾⒉迦肟崭窕驑?biāo)點(diǎn)輸出顯示,詞的輸入結(jié)東;在前一個(gè)字符pre為非阿拉伯字母的情況下,如
前面是個(gè)標(biāo)點(diǎn)符號(hào)或數(shù)字等,則直接插入空格或標(biāo)點(diǎn)并輸出顯示。實(shí)施例2
在本實(shí)施例中,本發(fā)明提出的基于阿拉伯字母名義形式編碼的文字輸入法,用于哈薩克文的文字輸入,同理,通過本發(fā)明的方法輸入哈薩克文中的詞時(shí),由于可以在詞中插入截?cái)喾麃砀淖儺?dāng)前所輸入的阿拉伯字母在詞中的位置,因此輸出時(shí)在整個(gè)詞沒有輸入完畢前可以得到第一個(gè)阿拉伯字母的"頭符"顯現(xiàn)形式,中間阿拉伯字母的"詞中"顯現(xiàn)形式及最后一個(gè)阿拉伯字母的"詞尾"顯現(xiàn)形式。另外,與實(shí)施例l不同的是,不需要對(duì)元音字母進(jìn)行加前綴的處理,其輸入流程如圖5所示,基本過程與輸入維文相同,這里不再贅述。不同的是哈薩克文共有9個(gè)元音字母,因此在插入當(dāng)前被鍵入的字符后需進(jìn)行
前元音符(fs)處理,前元音符(fs)處理可釆用現(xiàn)有的方法進(jìn)行處理。實(shí)施例3
在本實(shí)施例中,本發(fā)明提出的基于阿拉伯字母名義形式編碼的文字輸入法,用于柯爾克孜文的文字輸入,同理,通過本發(fā)明的方法輸入柯爾克孜文中的詞時(shí),由于可以在詞中插入截?cái)喾麃砀淖儺?dāng)前所輸入的阿拉伯字母在詞中的位置,因此輸出時(shí)在整個(gè)詞沒有輸入完畢前可以得到第一個(gè)阿拉伯字母的"頭符"顯現(xiàn)形式,中間阿拉伯字母的"詞中"顯現(xiàn)形式及最后一個(gè)阿拉伯字母的"詞尾"顯現(xiàn)形式。另外,與實(shí)施例l不同的是,不需要對(duì)元音字母進(jìn)行加前綴的處理,與實(shí)施例2不同的是,不需要進(jìn)行前元音符處理,其輸入流程如圖6所示,基本過程與輸入維文、哈文相同,這里不再贅述。
另外,使用阿拉伯字母編碼的阿拉伯文和波斯文,釆用同樣的方法進(jìn)行輸入,如圖9a、圖9b分別給出了釆用現(xiàn)有方法和釆用本發(fā)明方法的阿拉伯文輸出顯示過程,圖10a、圖10b給出了釆用現(xiàn)有方法和釆用本發(fā)明方法的波斯文的輸出顯示過程。具體過程這里不再贅述。
實(shí)施例4
本發(fā)明所提出的基于阿拉伯字母名義形式編碼的文字輸入法中,在通過鍵盤鍵入阿拉伯字母時(shí)還包括插入截?cái)喾牟襟E,截?cái)喾迦氲姆绞郊瓤梢酝ㄟ^程序自動(dòng)插入,也可以通過鍵盤方式插入,實(shí)施例1 3給出了程序自動(dòng)插入的方式,截?cái)喾詣?dòng)插入到鍵入阿拉伯字母的后面,適于日常輸入時(shí)詞的輸入,以滿足符合人的書寫習(xí)慣的顯示方式。而本實(shí)施例中通過鍵盤方式插入截?cái)喾?,既可以將截?cái)喾逶谒I入的阿拉伯字母的前面、也可以將截?cái)喾迦朐谒I入的阿拉伯字母的前面、或前后都插入截?cái)喾?,用于單?dú)錄入阿拉伯字母的各個(gè)變形顯現(xiàn)形式,以利教學(xué)之用。
具體實(shí)施方式
為在標(biāo)準(zhǔn)鍵盤的一個(gè)鍵位如大寫J的位置上另外專門設(shè)有一個(gè)"截?cái)喾I"(Z-WJoin,200D),本實(shí)施例中分別用維、哈、柯文標(biāo)記為^"""、 ^~^、 ^~"5。借助該截?cái)喾?不可見"特性,在鍵入某個(gè)阿拉伯字母之前或之后敲擊此鍵,或在字母前后均敲擊此鍵,便可得到該阿拉伯字母的單獨(dú)存在的各個(gè)顯現(xiàn)形式。當(dāng)然也可以得到我們需要的詞的非正常形式——截頭去尾的形式。因此,可供教學(xué)使用。實(shí)施例5
本發(fā)明所提出的基于阿拉伯字母名義形式編碼的文字輸入法中,通過插入截?cái)喾麃砀淖儺?dāng)前所輸入的阿拉伯字母在詞中的位置,以輸出需要的顯現(xiàn)形式?,F(xiàn)有技術(shù)中通過程序自動(dòng)調(diào)整詞的長(zhǎng)度,而本發(fā)明在詞輸入完成后,可以根據(jù)需要在詞中需要加空鉛的地方填塞一延長(zhǎng)線或者空白。
具體實(shí)施方式
詳述如下。
該方法中映射時(shí)還包括在鍵盤上選擇一個(gè)鍵位映射延長(zhǎng)符的步驟,如映射在標(biāo)準(zhǔn)鍵盤大寫T的位置上,分別標(biāo)作維、哈、柯文的"拉長(zhǎng)符"一詞,所述延長(zhǎng)符具有兩種顯現(xiàn)形式(變體),其中一種顯現(xiàn)形式為不可連阿拉伯字母之間的空白,另 一種顯現(xiàn)形式為可連阿拉伯字母之間的連線;在需要加入延長(zhǎng)符的位置點(diǎn)擊該鍵位時(shí),根據(jù)所述位置前后相鄰阿拉伯字母的連接狀況確定所輸出的延長(zhǎng)符的顯現(xiàn)形式(單插ttwl)。本實(shí)施例中將延長(zhǎng)符稱為"可控空鉛"?,F(xiàn)有技術(shù)中在程序中自動(dòng)使用NB和ttwl,本發(fā)明將ttwl標(biāo)記為延長(zhǎng)符映射在鍵盤上,由用戶根據(jù)需要鍵入,由程序根據(jù)鍵入位置的前后字符來判斷使用哪個(gè)變體形式??梢赃_(dá)到用戶期望的顯示效果。需要加入延長(zhǎng)符的位置在詞中時(shí),若摁住Ctrl鍵在詞中的任一處點(diǎn)擊所述鍵位,則從頭至尾在該詞的所有相鄰阿拉伯字母之間插入連接符,根據(jù)相鄰阿拉伯字母的連接狀況確定所輸出的延長(zhǎng)符的顯現(xiàn)形式(詞內(nèi)遍插ttwl )。下面結(jié)合附圖詳述單插ttwl和詞內(nèi)遍插ttwl的步驟。
如圖7所示,在需要加入延長(zhǎng)符的位置點(diǎn)擊該鍵位時(shí)插入連接符具體包括步驟
s21,查詢需加入延長(zhǎng)符的位置之前后相鄰阿拉伯字母Rar、 Lar, 其具體包括子步驟
s210,記錄內(nèi)存指針的初始位置,此時(shí),內(nèi)存指針指向需加入延 長(zhǎng)符的位置;
s211,指針后移;
s212,判斷指針是否指向ttwl、 NB、分行符和SHY等非字母,若 是,返回步驟s211繼續(xù)后移,若否,說明找到右邊字母,執(zhí)行步驟s213;
s213,將指針指向的字符賦值給Rar, Rar代表需加入延長(zhǎng)符的位 置的右邊字符;
s214,指針回到初始位置,即指針重新指向需加入延長(zhǎng)符的位置; s215,記錄內(nèi)存指針的初始位置; s216,指針前移;
s217,判斷指針是否指向ttwl、 NB、分行符和SHY等非字母,若 是,返回步驟s216繼續(xù)前移,若否,說明找到了左邊字母,執(zhí)行步驟 s218;
s218,將指針指向的字符賦值給Lar, Lar代表需加入延長(zhǎng)符的位 置的左邊字符;
s219,指針回到初始位置,即指針重新指向需加入延長(zhǎng)符的位置;
s22,判斷Rar、 Lar是否均大于0,若否,說明有錯(cuò)誤直接報(bào)錯(cuò)并 結(jié)東,若是,則指向步驟s23;
s23,判斷Rar、 Lar中的值是否有一個(gè)等于0627或0675,若是, 執(zhí)行步驟s24,若否,指向步驟s28;
s24,指針后移,即指向Rar或Lar的前一字符;
s25,判斷指針是否指向0644,若是,說明不能加入延長(zhǎng)符,執(zhí) 行步驟s26,若否,說明可以加入延長(zhǎng)符,執(zhí)行步驟s27;
s26,指針前移,回到需加入延長(zhǎng)符的位置并報(bào)錯(cuò),結(jié)束;s27,指針前移,回到需加入延長(zhǎng)符的位置,執(zhí)行步驟s28;
s28,在需加入延長(zhǎng)符的位置插入延長(zhǎng)符,根據(jù)Rar、 Lar確定所 輸出的延長(zhǎng)符的顯現(xiàn)形式。
上述0627、 0675、 0644分別代表ISO/IEC國(guó)際標(biāo)準(zhǔn)10646 - 1中編 碼值為0627、 0675、 0644的阿拉伯字母,由于0627和0644、 0675和0644 分別組成合體字V兀在0627和0644之間、0675和0644之間不能加入 延長(zhǎng)符,所以增加了上述判斷是否能加入延長(zhǎng)符的步驟。
如圖8所示,遍插ttwl具體包括步驟
判斷指針指向的阿拉伯字母是否為非阿拉伯字母,若為非阿拉伯 字母,報(bào)錯(cuò)并結(jié)束,若指向阿拉伯字母,將n初始化為0,圖中ar 代表阿拉伯字母(阿字、波字、哈字、維字、柯字),圖中
ar=0:非阿拉伯字母
ar=l:具有一種顯現(xiàn)形式的阿拉伯字母
ar=2:具有兩種顯現(xiàn)形式的阿拉伯字母
ar=3:代表tatweel ( - ), SHY ( - ), NB
ar=4:具有四種顯現(xiàn)形式的阿拉伯字母;
。 的,如k/ ar = k的ar
T:內(nèi)存指針,簡(jiǎn)稱指針,也表示所指字符
T退一指針后移
T=ttwl:指針指向ttwl
f ar:指針指向的阿拉伯字母有幾種顯現(xiàn)形式
如圖8所示,經(jīng)過圖中的"到詞首"、"定當(dāng)前位置"部分,經(jīng)過 指針一直退回到詞首,通過n統(tǒng)計(jì)出當(dāng)前位置距詞首有幾個(gè)阿拉伯字 母;
通過圖中的遍插ttwl部分,從詞首開始通過査左邊字符和右邊字 符依次在相鄰可插入延長(zhǎng)符的地方插入延長(zhǎng)符,在不能插入延長(zhǎng)符的 地方繼續(xù)向前走找下一個(gè)能插入延長(zhǎng)符的位置,直到遇到標(biāo)識(shí)詞結(jié)東的非阿拉伯字母時(shí)遍插結(jié)東;
圖中退至詞首部分表示,由于遍插過程中指針會(huì)逐步移至詞尾,
這一部分的功能是讓指針退回到詞首;
圖中回到原位部分表示,由于之前已記錄了當(dāng)前位置距詞首有幾 個(gè)阿拉伯字母,因此,可以再將指針前移到原位,方便用戶的下一步 操作。
以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān) 技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下, 還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明 的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1、一種基于阿拉伯字母名義形式編碼的文字輸入方法,所選用的阿拉伯字母名義形式映射在鍵盤上,所述阿拉伯字母名義形式編碼符合ISO/IEC國(guó)際標(biāo)準(zhǔn)10646-1,其特征在于,在通過鍵盤鍵入阿拉伯字母時(shí)還包括插入截?cái)喾牟襟E;輸出時(shí)分析所鍵入的阿拉伯字母所處位置并輸出其對(duì)應(yīng)的顯現(xiàn)形式,分析時(shí)所述截?cái)喾鳛橐痪哂兴姆N顯現(xiàn)形式的阿拉伯字母看待,輸出時(shí)所述截?cái)喾鳛榱銓挷豢梢娮址?br>
2、 根據(jù)權(quán)利要求l所述的方法,其特征在于,在鍵入詞的第一個(gè)阿拉伯字母時(shí)在其后自動(dòng)插入截?cái)喾?,分析?dāng)前鍵入的阿拉伯字母在詞中的位置并輸出其對(duì)應(yīng)的顯現(xiàn)形式;之后每鍵入一個(gè)阿拉伯字母,將截?cái)喾詣?dòng)移位到新鍵入的阿拉伯字母后面,分析當(dāng)前鍵入的阿拉伯字母在詞中的位置并輸出其對(duì)應(yīng)的顯現(xiàn)形式;直至鍵入詞的最后一個(gè)阿拉伯字母時(shí)刪除所述截?cái)喾?,輸出最后一個(gè)阿拉伯字母的詞尾形式。
3、 根據(jù)權(quán)利要求l所述的方法,其特征在于,該方法中所述截?cái)喾挥成湓阪I盤的一個(gè)鍵位上,插入截?cái)喾姆绞綖橥ㄟ^點(diǎn)擊所述鍵位插入;在鍵入阿拉伯字母前點(diǎn)擊所述鍵位,或在鍵入阿拉伯字母后點(diǎn)擊所述鍵位,或在鍵入阿拉伯字母前后均點(diǎn)擊所述鍵位。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法中通過輸入空格或標(biāo)點(diǎn)符號(hào)來確定此前所鍵入的字母為詞的最后一個(gè)阿拉伯字母。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,該文字輸入方法用于輸入使用阿拉伯字母的阿拉伯文、波斯文、維吾爾文、哈薩克文、柯爾克孜文。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法中映射時(shí) 還包括在所述鍵盤上選擇一個(gè)鍵位映射延長(zhǎng)符的步驟,所述延長(zhǎng)符具 有兩種顯現(xiàn)形式,其中一種顯現(xiàn)形式為不可連阿拉伯字母之間的空白,另一種顯現(xiàn)形式為可連阿拉伯字母之間的連線;在需要加入延長(zhǎng)符的位置點(diǎn)擊該鍵位時(shí),根據(jù)所述位置前后相鄰 阿拉伯字母的連接狀況確定所輸出的延長(zhǎng)符的顯現(xiàn)形式。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,需要加入延長(zhǎng)符 的位置在詞中時(shí),若摁住Ctrl鍵在詞中的任一處點(diǎn)擊所述鍵位,則從 頭至尾在該詞的所有相鄰阿拉伯字母之間插入延長(zhǎng)符,根據(jù)相鄰阿拉 伯字母的連接狀況確定所輸出的延長(zhǎng)符的顯現(xiàn)形式。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,該方法中摁住Ctrl 鍵在詞中的任一處點(diǎn)擊鍵位的次數(shù)為至少一次,每點(diǎn)擊一次,則從頭 至尾在該詞的所有相鄰阿拉伯字母之間插入延長(zhǎng)符,根據(jù)相鄰阿拉伯 字母的連接狀況確定所輸出的延長(zhǎng)符的顯現(xiàn)形式。
9、 根據(jù)權(quán)利要求6所述的方法,其特征在于,如果點(diǎn)擊延長(zhǎng)符 時(shí)光標(biāo)不處在兩個(gè)阿拉伯字母之間,則響鈴報(bào)錯(cuò)。
全文摘要
本發(fā)明涉及基于阿拉伯字母名義形式編碼的文字輸入方法,所選用的阿拉伯字母名義形式映射在鍵盤上,所述阿拉伯字母名義形式編碼符合ISO/IEC國(guó)際標(biāo)準(zhǔn)10646-1,在通過鍵盤鍵入阿拉伯字母時(shí)還包括插入截?cái)喾牟襟E;輸出時(shí)分析所鍵入的阿拉伯字母所處位置并輸出其對(duì)應(yīng)的顯現(xiàn)形式,分析時(shí)所述截?cái)喾鳛橐痪哂兴姆N顯現(xiàn)形式的阿拉伯字母看待,輸出時(shí)所述截?cái)喾鳛榱銓挷豢梢娮址?;另外還設(shè)有可控空鉛供用戶調(diào)整詞長(zhǎng)度。利用本發(fā)明可以達(dá)到人性化的顯示方式,采用可控空鉛調(diào)整詞的長(zhǎng)度使詞的顯示更美觀。
文檔編號(hào)G06F3/023GK101598977SQ20091008733
公開日2009年12月9日 申請(qǐng)日期2009年6月15日 優(yōu)先權(quán)日2009年6月15日
發(fā)明者師忠孝, 白雙成 申請(qǐng)人:內(nèi)蒙古蒙科立軟件有限責(zé)任公司