藏文輸入法的輸出方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明提供了藏文輸入法的輸出方法及裝置,包括:接收用于選擇藏文字符編碼形式的觸擊指令;其中,編碼形式包括以下中的一種:Unicode編碼、方正編碼、華光編碼、班智達(dá)編碼以及同元編碼;根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);調(diào)用與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);根據(jù)調(diào)用的編碼數(shù)據(jù)庫(kù)輸出字符串。本發(fā)明能夠輸出Unicode編碼、方正編碼、華光編碼、班智達(dá)編碼以及同元編碼等五種編碼方式,用戶(hù)可根據(jù)需要選擇合適的輸出方式,功能豐富,為用戶(hù)提了較大的便利,實(shí)用性較好,并且還能夠?qū)崿F(xiàn)超長(zhǎng)字符的輸出,不局限于256個(gè)字節(jié),使得輸出快速、準(zhǔn)確且簡(jiǎn)單。
【專(zhuān)利說(shuō)明】藏文輸入法的輸出方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及藏文輸出領(lǐng)域,具體而言,涉及一種藏文輸入法的輸出方法及裝置。
【背景技術(shù)】
[0002] 目前,隨著藏文文字的快速發(fā)展,藏文輸入法也得到了廣泛的應(yīng)用;其中,華光藏 文排版系統(tǒng)、同元藏文字處理系統(tǒng)、藏文0CR(0ptical Character Recognition,光學(xué)字符 識(shí)別)以及班智達(dá)藏文字處理系統(tǒng)等為代表的藏文文字處理軟件的相續(xù)開(kāi)發(fā),以及國(guó)外的 藏文輸入法軟件SAMBH0TA和藏文字處理軟件MONLAM的推出,都極大地推動(dòng)了藏文字信息 化建設(shè)步伐。
[0003] 具體的,用戶(hù)通過(guò)選擇安裝任意一種藏文輸入法的軟件,并通過(guò)觸擊鍵盤(pán)完成藏 文文字的輸入,極大的方便了用戶(hù)的使用。例如,用戶(hù)根據(jù)自己的需要安裝同元藏文字處理 系統(tǒng),用以輸出藏文文字,其主要實(shí)現(xiàn)技術(shù)是通過(guò)W0RDAPI的動(dòng)態(tài)鏈接庫(kù)DLL嵌入藏文輸入 法,并在WINDOWS下掛接一個(gè)TRUETYPE字庫(kù)實(shí)現(xiàn)藏文文字的輸出,并通過(guò)其特有的同元編 碼輸出藏文文字;再例如,微軟輸入法Microsoft Himalaya則是通過(guò)基于Unicode國(guó)際標(biāo) 準(zhǔn)藏文編碼字符集輸出Himalaya字符串。
[0004] 但是,相關(guān)的藏文文字處理軟件只能通過(guò)其特有的一種編碼輸出藏文文字,功能 單一,實(shí)用性較差。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提供藏文輸入法的輸出方法及裝置,以解決上述的問(wèn)題。
[0006] 在本發(fā)明的實(shí)施例中提供了 一種藏文輸入法的輸出方法,包括:
[0007] 接收用于選擇藏文字符編碼形式的觸擊指令;其中,編碼形式包括以下中的一種: Unicode編碼、方正編碼、華光編碼、班智達(dá)編碼以及同兀編碼;
[0008] 根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);
[0009] 調(diào)用與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);
[0010] 根據(jù)調(diào)用的編碼數(shù)據(jù)庫(kù)輸出字符串。
[0011] 進(jìn)一步的,該藏文輸入法的輸出方法中,根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編 碼數(shù)據(jù)庫(kù)包括:
[0012] 讀取Unicode編碼中每一個(gè)Himalaya字符的字節(jié)長(zhǎng)度;
[0013] 根據(jù)觸擊指令及字節(jié)長(zhǎng)度,查詢(xún)觸擊指令對(duì)應(yīng)的編碼形式與Himalaya字符串的 對(duì)照表。
[0014] 進(jìn)一步的,該藏文輸入法的輸出方法中,調(diào)用與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù),包 括:
[0015] 依次讀取Himalaya字符串中的字符;
[0016] 將Himalaya字符串轉(zhuǎn)換為與觸擊指令對(duì)應(yīng)的編碼形式。
[0017] 進(jìn)一步的,該藏文輸入法的輸出方法中,將Himalaya字符串轉(zhuǎn)換為與觸擊指令對(duì) 應(yīng)的編碼形式之后,還包括:
[0018] 判斷Himalaya字符串是否全部轉(zhuǎn)換完成;
[0019] 若全部轉(zhuǎn)換完成,則根據(jù)編碼數(shù)據(jù)庫(kù)輸出與觸擊指令對(duì)應(yīng)的藏文文字;
[0020] 若未全部轉(zhuǎn)換完成,則繼續(xù)讀取下一個(gè)Himalaya字符串。
[0021] 進(jìn)一步的,該藏文輸入法的輸出方法中,接收用于選擇藏文字符編碼形式的觸擊 指令之后,根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù)之前,還包括:
[0022] 判斷觸擊指令對(duì)應(yīng)的編碼形式是否為Unicode編碼;
[0023] 若觸擊指令對(duì)應(yīng)的編碼形式為Unicode編碼,則直接輸出Himalaya字符串;
[0024] 若觸擊指令對(duì)應(yīng)的編碼形式為預(yù)設(shè)編碼形式,則繼續(xù)根據(jù)觸擊指令進(jìn)行下一次查 詢(xún);其中,預(yù)設(shè)編碼形式包括以下中的一種:方正編碼、華光編碼、班智達(dá)編碼以及同元編 碼。
[0025] 進(jìn)一步的,該藏文輸入法的輸出方法中,在判斷觸擊指令對(duì)應(yīng)的編碼形式為 Unicode編碼之后,還包括:
[0026] 判斷當(dāng)前操作系統(tǒng)使用的語(yǔ)言是否為藏文;
[0027] 若不是藏文,則通知當(dāng)前操作系統(tǒng)將使用的語(yǔ)言轉(zhuǎn)換為藏文,以便后續(xù)輸出 Himalaya字符串;
[0028] 在判斷觸擊指令對(duì)應(yīng)的編碼形式為預(yù)設(shè)編碼形式之后,還包括:
[0029] 判斷當(dāng)前操作系統(tǒng)使用的語(yǔ)言是否為簡(jiǎn)體中文;
[0030] 若不是簡(jiǎn)體中文,則通知當(dāng)前操作系統(tǒng)將使用的語(yǔ)言轉(zhuǎn)換為簡(jiǎn)體中文,以便后續(xù) 輸出與預(yù)設(shè)編碼形式對(duì)應(yīng)的字符串。
[0031] 進(jìn)一步的,該藏文輸入法的輸出方法中,根據(jù)調(diào)用的編碼數(shù)據(jù)庫(kù)輸出字符串之后, 還包括:
[0032] 判斷輸出的字符串長(zhǎng)度是否大于256字節(jié);
[0033] 若大于256字節(jié),則通過(guò)虛擬鍵盤(pán)線程對(duì)輸出的字符串進(jìn)行處理,并輸出處理后 的字符串;
[0034] 若小于或者等于256字節(jié),則直接輸出字符串。
[0035] 進(jìn)一步的,該藏文輸入法的輸出方法中,通過(guò)虛擬鍵盤(pán)線程對(duì)輸出的字符串進(jìn)行 處理,并輸出處理后的字符串,包括:
[0036] 向虛擬鍵盤(pán)線程發(fā)送請(qǐng)求指令;請(qǐng)求指令用于請(qǐng)求擊鍵消息;擊鍵消息用于輸出 小于或者等于256字節(jié)的字符串;
[0037] 接收虛擬鍵盤(pán)線程發(fā)送的擊鍵消息;
[0038] 根據(jù)擊鍵消息,從字符串中拆分出小于等于256字節(jié)的拆分字符串;
[0039] 輸出拆分字符串;
[0040] 進(jìn)一步的,輸出拆分字符串之后還包括:
[0041] 判斷Himalaya字符串中所有的藏文字符是否全部發(fā)送完畢;其中,Himalaya字符 由Unicode編碼所得;
[0042] 若未全部發(fā)送完畢,則繼續(xù)執(zhí)行向虛擬鍵盤(pán)線程發(fā)送請(qǐng)求指令。
[0043] 在本發(fā)明的實(shí)施例中提供了 一種藏文輸入法的輸出裝置,包括:
[0044] 接收單元,用于選擇藏文字符編碼形式的觸擊指令;其中,編碼形式包括以下中的 一種:Unicode編碼、方正編碼、華光編碼、班智達(dá)編碼以及同兀編碼;
[0045] 查詢(xún)單元,用于根據(jù)接收單元接收的觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù) 庫(kù);
[0046] 調(diào)用單元,用于調(diào)用查詢(xún)單元查詢(xún)的與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);
[0047] 輸出單元,用于根據(jù)調(diào)用單元調(diào)用的編碼數(shù)據(jù)庫(kù)輸出字符串。
[0048] 進(jìn)一步的,查詢(xún)單元包括:
[0049] 第一讀取模塊,用于根據(jù)接收單元接收的觸擊指令,讀取Unicode編碼中每一個(gè) Himalaya字符的字節(jié)長(zhǎng)度;其中,Himalaya字符由Unicode編碼所得;
[0050] 查詢(xún)模塊,用于根據(jù)第一讀取模塊讀取的字節(jié)長(zhǎng)度,查詢(xún)與觸擊指令對(duì)應(yīng)的編碼 形式與Himalaya字符串的對(duì)照表。
[0051] 本發(fā)明實(shí)施例提供的藏文輸入法的輸出方法及裝置,包括:接收用于選擇藏文字 符編碼形式的觸擊指令;其中,編碼形式包括以下中的一種:Unicode編碼、方正編碼、華光 編碼、班智達(dá)編碼以及同元編碼;根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);調(diào)用 與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);根據(jù)調(diào)用的編碼數(shù)據(jù)庫(kù)輸出字符串。
[0052] 與現(xiàn)有技術(shù)中的藏文文字處理軟件只能通過(guò)其特有的一種編碼輸出藏文文字,功 能單一,實(shí)用性較差的方案相比,本發(fā)明能夠輸出Unicode編碼、方正編碼、華光編碼、班智 達(dá)編碼以及同元編碼等五種編碼方式,用戶(hù)可根據(jù)需要選擇合適的輸出方式,功能豐富,為 用戶(hù)提了較大的便利,實(shí)用性較好。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0053] 圖1示出了本發(fā)明實(shí)施例提供的一種藏文輸入法的輸出方法的流程圖;
[0054] 圖2示出了本發(fā)明實(shí)施例中根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù)的 流程圖;
[0055] 圖3示出了本發(fā)明實(shí)施例提供的另一種藏文輸入法的輸出方法的流程圖;
[0056] 圖4示出了本發(fā)明實(shí)施例中通過(guò)虛擬鍵盤(pán)線程對(duì)輸出的字符串進(jìn)行處理,并輸出 處理后的字符串的流程圖;
[0057] 圖5示出了本發(fā)明實(shí)施例提供的一種藏文輸入法的輸出裝置的結(jié)構(gòu)示意圖;
[0058] 圖6示出了本發(fā)明實(shí)施例提供的一種藏文輸入法的輸出裝置中查詢(xún)單元的結(jié)構(gòu) 示意圖;
[0059] 圖7示出了本發(fā)明實(shí)施例提供的一種藏文輸入法的輸出裝置中調(diào)用單元的結(jié)構(gòu) 示意圖;
[0060] 圖8示出了本發(fā)明實(shí)施例提供的另一種藏文輸入法的輸出裝置的結(jié)構(gòu)示意圖; [0061] 圖9示出了本發(fā)明實(shí)施例提供的一種藏文輸入法的輸出裝置中處理單元的結(jié)構(gòu) 示意圖。
【具體實(shí)施方式】
[0062] 下面通過(guò)具體的實(shí)施例子并結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述。
[0063] 本發(fā)明實(shí)施例提供了一種藏文輸入法的輸出方法,如圖1所示,包括:
[0064] 101、接收用于選擇藏文字符編碼形式的觸擊指令;其中,編碼形式包括以下中的 一種:Unicode編碼、方正編碼、華光編碼、班智達(dá)編碼以及同兀編碼。
[0065] 具體的,用戶(hù)打開(kāi)藏文輸入法(即"簡(jiǎn)捷多功能藏文輸入法"),然后通過(guò)鍵盤(pán)或者 鼠標(biāo)發(fā)送觸擊指令,用于選擇該藏文輸入法中的一種編碼方式;本發(fā)明實(shí)施例中的編碼形 式包括Unicode編碼、方正編碼、華光編碼、班智達(dá)編碼以及同元編碼;其中,上述輸入法的 編碼方式都是現(xiàn)有的成熟技術(shù),本實(shí)施例對(duì)此不做具體說(shuō)明。另外,本發(fā)明中并不限于上述 輸入法。
[0066] 102、根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù)。
[0067] 具體的,本發(fā)明實(shí)施例的藏文輸入法(即"簡(jiǎn)捷多功能藏文輸入法")的數(shù)據(jù) 庫(kù)中,預(yù)先存儲(chǔ)有上述Unicode編碼數(shù)據(jù)庫(kù)、方正編碼數(shù)據(jù)庫(kù)、華光編碼數(shù)據(jù)庫(kù)、班智達(dá) 編碼數(shù)據(jù)庫(kù)、同元編碼的數(shù)據(jù)庫(kù)以及"Himalaya――輸入法編碼(即Unicode編碼)對(duì) 照表"、"Himalaya――班智達(dá)編碼轉(zhuǎn)換對(duì)照表"、"Himalaya――同元編碼轉(zhuǎn)換對(duì)照表"、 "Himalaya――方正編碼轉(zhuǎn)換對(duì)照表"以及"Himalaya――華光編碼轉(zhuǎn)換對(duì)照表"的數(shù)據(jù) 庫(kù)。當(dāng)該"簡(jiǎn)捷多功能藏文輸入法"接收到觸擊指令后,即從上述數(shù)據(jù)庫(kù)中查詢(xún)相應(yīng)的輸入 法的數(shù)據(jù)庫(kù),以便后續(xù)進(jìn)行調(diào)用。
[0068] 103、調(diào)用與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù)。
[0069] 具體的,根據(jù)步驟102查詢(xún)的數(shù)據(jù)庫(kù),調(diào)用與上述數(shù)據(jù)庫(kù)對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù),以便 后續(xù)根據(jù)該數(shù)據(jù)庫(kù)的編碼形式,對(duì)藏文字符進(jìn)行編碼,用以輸出用戶(hù)需要的藏文文字。
[0070] 104、根據(jù)調(diào)用的編碼數(shù)據(jù)庫(kù)輸出字符串。
[0071] 具體的,藏文輸入法(即"簡(jiǎn)捷多功能藏文輸入法")系統(tǒng)即根據(jù)用戶(hù)選擇的數(shù)據(jù) 庫(kù)的編碼形式,對(duì)藏文字符進(jìn)行編碼,輸出字符串,以便在顯示器上顯示用戶(hù)需要形式的藏 文文字;例如,Himalaya藏文字符、方正編碼的字符、華光編碼的字符或者班智達(dá)編碼的字 符等。
[0072] 本發(fā)明實(shí)施例提供的藏文輸入法的輸出方法,包括:接收用于選擇藏文字符編碼 形式的觸擊指令;其中,編碼形式包括以下中的一種:Unicode編碼、方正編碼、華光編碼、 班智達(dá)編碼以及同元編碼;根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);調(diào)用與編 碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù);根據(jù)調(diào)用的編碼數(shù)據(jù)庫(kù)輸出字符串。
[0073] 與現(xiàn)有技術(shù)中的藏文文字處理軟件只能通過(guò)其特有的一種編碼輸出藏文文字,功 能單一,實(shí)用性較差的方案相比,本發(fā)明能夠輸出Unicode編碼、方正編碼、華光編碼、班智 達(dá)編碼以及同元編碼等五種編碼方式,用戶(hù)可根據(jù)需要選擇合適的輸出方式,功能豐富,為 用戶(hù)提了較大的便利,實(shí)用性較好。
[0074] 進(jìn)一步的,如圖2所示,該藏文輸入法的輸出方法中,根據(jù)觸擊指令,查詢(xún)與編碼 形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù)包括:
[0075] 201、讀取Unicode編碼中每一個(gè)Himalaya字符的字節(jié)長(zhǎng)度;其中,Himalaya字符 由Unicode編碼所得。
[0076] 具體的,本發(fā)明實(shí)施例中的藏文輸入法(即"簡(jiǎn)捷多功能藏文輸入法")默認(rèn)的輸 出編碼形式為Unicode編碼,即輸出Himalaya字符串;當(dāng)該藏文輸入法系統(tǒng)接收到觸擊指 令時(shí),其首先讀取藏文字符的Unicode編碼后,輸出的Himalaya字符串中每一個(gè)字節(jié)的長(zhǎng) 度,以便該"簡(jiǎn)捷多功能藏文輸入法"后續(xù)根據(jù)預(yù)先存儲(chǔ)的數(shù)據(jù)庫(kù)實(shí)現(xiàn)五種編碼之間的轉(zhuǎn) 換。
[0077] 202、根據(jù)觸擊指令及字節(jié)長(zhǎng)度,查詢(xún)觸擊指令對(duì)應(yīng)的編碼形式與Himalaya字符 串的對(duì)照表。
[0078] 具體的,該"簡(jiǎn)捷多功能藏文輸入法"根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的"Himalaya--輸入法 編碼(即Unicode編碼)對(duì)照表"、"Himalaya^--^班智達(dá)編碼轉(zhuǎn)換對(duì)照表"、"Himalaya^--^ 同元編碼轉(zhuǎn)換對(duì)照表"、"Himalaya――方正編碼轉(zhuǎn)換對(duì)照表"以及"Himalaya――華光編 碼轉(zhuǎn)換對(duì)照表",實(shí)現(xiàn)默認(rèn)的Unicode編碼與其他編碼方式之間的轉(zhuǎn)換。
[0079] 并且,若用戶(hù)首先選擇了一種其他編碼形式(如方正編碼),后續(xù)又選擇了另 一種編碼方式,(如華光編碼),該"簡(jiǎn)捷多功能藏文輸入法"即根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的 "Himalaya――華光編碼轉(zhuǎn)換對(duì)照表"實(shí)現(xiàn)Himalaya字符串和華光編碼的轉(zhuǎn)換。
[0080] 另外,用戶(hù)在其他編碼方式之間進(jìn)行選擇,該"簡(jiǎn)捷多功能藏文輸入法"同樣可以 根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的"班智達(dá)編碼-同元編碼對(duì)照表,班智達(dá)編碼-方正編碼對(duì)照表、班智 達(dá)編碼-華光編碼對(duì)照表、同元編碼-方正編碼對(duì)照表、同元編碼-華光編碼對(duì)照表以及方 正編碼-華光編碼對(duì)照表"實(shí)現(xiàn)其他編碼方式之間的轉(zhuǎn)換。
[0081] 進(jìn)一步的,該藏文輸入法的輸出方法中,調(diào)用與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù),包 括:
[0082] 203、依次讀取Himalaya字符串中的字符。
[0083] 具體的,若該"簡(jiǎn)捷多功能藏文輸入法"系統(tǒng)默認(rèn)的Himalaya字符串有多個(gè)字符, 則按順序(一般來(lái)說(shuō)按照輸出字符串的正常順序)讀取其中的每一個(gè)字符,以便后續(xù)將每 一個(gè)字符進(jìn)行轉(zhuǎn)換。
[0084] 204、將Himalaya字符串轉(zhuǎn)換為與觸擊指令對(duì)應(yīng)的編碼形式。
[0085] 具體的,將上述讀取的每一個(gè)字符轉(zhuǎn)換為與觸擊指令對(duì)應(yīng)的編碼形式。
[0086] 進(jìn)一步的,如圖2所示,該藏文輸入法的輸出方法中,將Himalaya字符串轉(zhuǎn)換為與 觸擊指令對(duì)應(yīng)的編碼形式之后,還包括:
[0087] 205、判斷Himalaya字符串是否全部轉(zhuǎn)換完成;若全部轉(zhuǎn)換完成,則執(zhí)行步驟206 ; 若未全部完成,則繼續(xù)步驟203,即繼續(xù)讀取下一個(gè)Himalaya字符串。
[0088] 具體的,"簡(jiǎn)捷多功能藏文輸入法"系統(tǒng)會(huì)核實(shí)Himalaya字符串是否全部轉(zhuǎn)換完 成,以便更準(zhǔn)確的輸出與用戶(hù)敲擊鍵盤(pán)的指令對(duì)應(yīng)的藏文文字。
[0089] 206、根據(jù)編碼數(shù)據(jù)庫(kù)輸出與觸擊指令對(duì)應(yīng)的藏文文字。
[0090] 進(jìn)一步的,該藏文輸入法的輸出方法中,接收用于選擇藏文字符編碼形式的觸擊 指令之后,根據(jù)觸擊指令,查詢(xún)與編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù)之前,還包括:
[0091] 步驟301、判斷觸擊指令對(duì)應(yīng)的編碼形式是否為Unicode編碼。若觸擊指令對(duì)應(yīng)的 編碼形式為Unicode編碼,執(zhí)行步驟302 ;若觸擊指令對(duì)應(yīng)的編碼形式為預(yù)設(shè)編碼形式,則 執(zhí)行步驟102,即繼續(xù)根據(jù)觸擊指令進(jìn)行下一次查詢(xún);其中,預(yù)設(shè)編碼形式包括以下中的一 種:方正編碼、華光編碼、班智達(dá)編碼以及同元編碼。
[0092] 具體的,若用戶(hù)選擇其他編碼形式(即方正編碼、華光編碼、班智達(dá)編碼或者同元 編碼),則根據(jù)"簡(jiǎn)捷多功能藏文輸入法"系統(tǒng)中數(shù)據(jù)庫(kù)中預(yù)存的"對(duì)照表"進(jìn)行查詢(xún)和轉(zhuǎn)換。
[0093] 步驟302、直接輸出Himalaya字符串。
[0094] 具體的,若用戶(hù)直接選擇輸出Himalaya字符串,或者用戶(hù)未進(jìn)行任何選擇,則直 接輸出Himalaya字符串。
[0095] 進(jìn)一步的,該藏文輸入法的輸出方法中,在判斷觸擊指令對(duì)應(yīng)的編碼形式為 Unicode編碼之后,還包括:
[0096] 步驟303、判斷當(dāng)前操作系統(tǒng)使用的語(yǔ)言是否為藏文;若不是藏文,則執(zhí)行步驟 304。
[0097] 步驟304、通知當(dāng)前操作系統(tǒng)將使用的語(yǔ)言轉(zhuǎn)換為藏文,以便后續(xù)輸出Himalaya 字符串。
[0098] 具體的,如果用戶(hù)選擇以Himalaya編碼輸出,該"簡(jiǎn)捷多功能藏文輸入法"首先判 斷當(dāng)前Windows系統(tǒng)使用的語(yǔ)言是否為藏文,若不是,則通知系統(tǒng)要輸出的字符編碼語(yǔ)言 為藏文,然后輸出Himalaya字符。
[0099] 在判斷觸擊指令對(duì)應(yīng)的編碼形式為預(yù)設(shè)編碼形式之后,還包括:
[0100] 步驟305、判斷當(dāng)前操作系統(tǒng)使用的語(yǔ)言是否為簡(jiǎn)體中文;若不是簡(jiǎn)體中文,則執(zhí) 行步驟306 ;
[0101] 步驟306、通知當(dāng)前操作系統(tǒng)將使用的語(yǔ)言轉(zhuǎn)換為簡(jiǎn)體中文,以便后續(xù)輸出與預(yù)設(shè) 編碼形式對(duì)應(yīng)的字符串。
[0102] 具體的,如果用戶(hù)選擇以非Himalaya(班智達(dá)、或者同元、或者方正、或者華 光)編碼輸出,以同元為例,《簡(jiǎn)捷多功能藏文輸入法》首先判斷當(dāng)前Windows系統(tǒng)使用 的語(yǔ)言是否為簡(jiǎn)體中文,不是,則通知系統(tǒng)要輸出的字符編碼語(yǔ)言為簡(jiǎn)體中文,然后根據(jù) "Himalaya〈- >同元編碼轉(zhuǎn)換對(duì)照表"將Himalaya編碼的字符串轉(zhuǎn)換為同元編碼的字符 串,再將轉(zhuǎn)換后的同元編碼的字符串發(fā)送給應(yīng)用程序。
[0103] 另外,一般的應(yīng)用程序一次只能接收256字節(jié)長(zhǎng)度的字符串,尤其是在Windows XP下,所以也沒(méi)有輸出超過(guò)256字節(jié)長(zhǎng)度的字符串的輸入法。但是,相關(guān)的輸入法中,當(dāng)鍵 盤(pán)接收到用戶(hù)觸擊指令時(shí),則會(huì)輸出藏文,但是藏文的輸入的編碼長(zhǎng)度不超過(guò)256 ;當(dāng)輸入 的編碼長(zhǎng)度超過(guò)預(yù)設(shè)字節(jié)時(shí),相關(guān)輸入法則不能輸入該藏文文字,實(shí)用性較差。
[0104] 本發(fā)明提供的"簡(jiǎn)捷多功能藏文輸入法"收錄的常用佛經(jīng)咒語(yǔ),其長(zhǎng)度都遠(yuǎn)遠(yuǎn)超過(guò) 了 256字節(jié),最長(zhǎng)的達(dá)到18962字節(jié)(9481個(gè)字符)
[0105] 進(jìn)一步的,如圖3所示,該藏文輸入法的輸出方法中,根據(jù)調(diào)用的編碼數(shù)據(jù)庫(kù)輸出 與觸擊指令對(duì)應(yīng)的藏文文字之后,還包括:
[0106] 401、判斷輸出的字符串長(zhǎng)度是否大于256字節(jié);若大于256字節(jié),則執(zhí)行步驟 403 ;若小于或者等于256字節(jié)則執(zhí)行步驟402。
[0107] 402、直接輸出字符串。
[0108]403、通過(guò)虛擬鍵盤(pán)線程對(duì)輸出的字符串進(jìn)行處理,并輸出處理后的字符串。
[0109] 其中,"簡(jiǎn)捷多功能藏文輸入法"輸出超長(zhǎng)字符串的主要算法是:
[0110] "簡(jiǎn)捷多功能藏文輸入法"設(shè)計(jì)了一個(gè)虛擬鍵盤(pán)VirtualSoftKeyboard線程,當(dāng)輸 出超長(zhǎng)字符串時(shí),會(huì)自動(dòng)啟用該線程,該線程模擬硬件鍵盤(pán),產(chǎn)生虛擬"擊鍵",并向系統(tǒng)發(fā) 送"擊鍵"消息,系統(tǒng)收到"擊鍵"消息,就會(huì)詢(xún)問(wèn)"簡(jiǎn)捷多功能藏文輸入法"是否要吃掉(即 處理)該鍵,"簡(jiǎn)捷多功能藏文輸入法"回答是,則該"擊鍵"消息將不會(huì)再發(fā)送給其他應(yīng)用 程序;其中,"簡(jiǎn)捷多功能藏文輸入法"每吃掉一個(gè)"擊鍵"消息,就會(huì)輸出不大于256字節(jié)字 符長(zhǎng)度的字符串,這樣直到所有字符全部輸出到應(yīng)用程序,結(jié)束VirtualSoftKeyboard線 程。
[0111] 進(jìn)一步的,如圖4所示,該藏文輸入法的輸出方法中,通過(guò)虛擬鍵盤(pán)線程對(duì)輸出的 字符串進(jìn)行處理,并輸出處理后的字符串,包括:
[0112] 501、向虛擬鍵盤(pán)線程發(fā)送請(qǐng)求指令;請(qǐng)求指令用于請(qǐng)求擊鍵消息;擊鍵消息用于 輸出小于或者等于256字節(jié)的字符串。
[0113] 502、接收虛擬鍵盤(pán)線程發(fā)送的擊鍵消息。
[0114] 503、根據(jù)擊鍵消息,從字符串中拆分出小于等于256字節(jié)的拆分字符串。
[0115] 504、輸出拆分字符串。
[0116] 進(jìn)一步的,輸出拆分字符串之后還包括:
[0117] 505、判斷Himalaya字符串中所有的藏文字符是否全部發(fā)送完畢;其中,Himalaya 字符由Unicode編碼所得;若未全部發(fā)送完畢,則執(zhí)行步驟501 ;即繼續(xù)執(zhí)行向虛擬鍵盤(pán)線 程發(fā)送請(qǐng)求指令。
[0118] 另外,在"簡(jiǎn)捷多功能藏文輸入法"中,虛擬鍵盤(pán)部分的程序工作流程如下:
[0119] 步驟1、判斷鼠標(biāo)是否進(jìn)行軟鍵盤(pán)窗口;
[0120] 步驟2,若是,則接收鼠標(biāo)的觸擊指令;
[0121] 步驟3、對(duì)鼠標(biāo)的處理指令進(jìn)行處理,即觸擊指令模擬成鍵盤(pán)消息(具體是虛擬鍵 盤(pán)消息)。
[0122] 步驟4、將虛擬鍵盤(pán)消息發(fā)送給應(yīng)用程序,以便應(yīng)用程序進(jìn)行輸出。
[0123] 下面具體介紹基于"簡(jiǎn)捷多功能藏文輸入法"的程序部分的介紹:
[0124] 〈 一〉減文基本知識(shí):
[0125] 〈1>、如表1所示,輔音字(30個(gè)):
【權(quán)利要求】
1. 一種藏文輸入法的輸出方法,其特征在于,包括: 接收用于選擇藏文字符編碼形式的觸擊指令;其中,所述編碼形式包括以下中的一種: Unicode編碼、方正編碼、華光編碼、班智達(dá)編碼以及同兀編碼; 根據(jù)所述觸擊指令,查詢(xún)與所述編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù); 調(diào)用與所述編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù); 根據(jù)調(diào)用的所述編碼數(shù)據(jù)庫(kù)輸出字符串。
2. 根據(jù)權(quán)利要求1所述的藏文輸入法的輸出方法,其特征在于,所述根據(jù)所述觸擊指 令,查詢(xún)與所述編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù)包括: 讀取所述Unicode編碼中每一個(gè)Himalaya字符的字節(jié)長(zhǎng)度; 根據(jù)所述觸擊指令及所述字節(jié)長(zhǎng)度,查詢(xún)所述觸擊指令對(duì)應(yīng)的編碼形式與Himalaya 字符串的對(duì)照表。
3. 根據(jù)權(quán)利要求2所述的藏文輸入法的輸出方法,其特征在于,所述調(diào)用與所述編碼 形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù),包括: 依次讀取所述Himalaya字符串中的字符; 將所述Himalaya字符串轉(zhuǎn)換為與所述觸擊指令對(duì)應(yīng)的編碼形式。
4. 根據(jù)權(quán)利要求3所述的藏文輸入法的輸出方法,其特征在于,所述將所述Himalaya 字符串轉(zhuǎn)換為與所述觸擊指令對(duì)應(yīng)的編碼形式之后,還包括: 判斷所述Himalaya字符串是否全部轉(zhuǎn)換完成; 若全部轉(zhuǎn)換完成,則根據(jù)所述編碼數(shù)據(jù)庫(kù)輸出與所述觸擊指令對(duì)應(yīng)的藏文文字; 若未全部轉(zhuǎn)換完成,則繼續(xù)讀取下一個(gè)Himalaya字符串。
5. 根據(jù)權(quán)利要求4所述的藏文輸入法的輸出方法,其特征在于,所述接收用于選擇藏 文字符編碼形式的觸擊指令之后,所述根據(jù)所述觸擊指令,查詢(xún)與所述編碼形式對(duì)應(yīng)的編 碼數(shù)據(jù)庫(kù)之前,還包括: 判斷所述觸擊指令對(duì)應(yīng)的編碼形式是否為Unicode編碼; 若所述觸擊指令對(duì)應(yīng)的所述編碼形式為Unicode編碼,則直接輸出Himalaya字符串; 若所述觸擊指令對(duì)應(yīng)的所述編碼形式為預(yù)設(shè)編碼形式,則繼續(xù)根據(jù)所述觸擊指令進(jìn)行 下一次查詢(xún);其中,所述預(yù)設(shè)編碼形式包括以下中的一種:方正編碼、華光編碼、班智達(dá)編 碼以及同兀編碼。
6. 根據(jù)權(quán)利要求5所述的藏文輸入法的輸出方法,其特征在于,在判斷所述觸擊指令 對(duì)應(yīng)的編碼形式為Unicode編碼之后,還包括: 判斷當(dāng)前操作系統(tǒng)使用的語(yǔ)言是否為藏文; 若不是藏文,則通知當(dāng)前操作系統(tǒng)將使用的語(yǔ)言轉(zhuǎn)換為藏文,以便后續(xù)輸出Himalaya 字符串; 在判斷所述觸擊指令對(duì)應(yīng)的所述編碼形式為預(yù)設(shè)編碼形式之后,還包括: 判斷當(dāng)前操作系統(tǒng)使用的語(yǔ)言是否為簡(jiǎn)體中文; 若不是簡(jiǎn)體中文,則通知當(dāng)前操作系統(tǒng)將使用的語(yǔ)言轉(zhuǎn)換為簡(jiǎn)體中文,以便后續(xù)輸出 與所述預(yù)設(shè)編碼形式對(duì)應(yīng)的字符串。
7. 根據(jù)權(quán)利要求1所述的藏文輸入法的輸出方法,其特征在于,所述根據(jù)調(diào)用的所述 編碼數(shù)據(jù)庫(kù)輸出字符串之后,還包括: 判斷輸出的字符串長(zhǎng)度是否大于256字節(jié); 若大于256字節(jié),則通過(guò)虛擬鍵盤(pán)線程對(duì)輸出的所述字符串進(jìn)行處理,并輸出處理后 的所述字符串; 若小于或者等于256字節(jié),則直接輸出所述字符串。
8. 根據(jù)權(quán)利要求7所述的藏文輸入法的輸出方法,其特征在于,所述通過(guò)虛擬鍵盤(pán)線 程對(duì)輸出的所述字符串進(jìn)行處理,并輸出處理后的所述字符串,包括: 向所述虛擬鍵盤(pán)線程發(fā)送請(qǐng)求指令;所述請(qǐng)求指令用于請(qǐng)求擊鍵消息;所述擊鍵消息 用于輸出小于或者等于256字節(jié)的字符串; 接收所述虛擬鍵盤(pán)線程發(fā)送的擊鍵消息; 根據(jù)所述擊鍵消息,從所述字符串中拆分出小于等于256字節(jié)的拆分字符串; 輸出所述拆分字符串; 所述輸出所述拆分字符串之后還包括: 判斷Himalaya字符串中所有的藏文字符是否全部發(fā)送完畢;其中,所述Himalaya字符 由Unicode編碼所得; 若未全部發(fā)送完畢,則繼續(xù)執(zhí)行向所述虛擬鍵盤(pán)線程發(fā)送所述請(qǐng)求指令。
9. 一種藏文輸入法的輸出裝置,其特征在于,包括: 接收單元,用于選擇藏文字符編碼形式的觸擊指令;其中,所述編碼形式包括以下中的 一種:Unicode編碼、方正編碼、華光編碼、班智達(dá)編碼以及同兀編碼; 查詢(xún)單元,用于根據(jù)所述接收單元接收的所述觸擊指令,查詢(xún)與所述編碼形式對(duì)應(yīng)的 編碼數(shù)據(jù)庫(kù); 調(diào)用單元,用于調(diào)用所述查詢(xún)單元查詢(xún)的與所述編碼形式對(duì)應(yīng)的編碼數(shù)據(jù)庫(kù); 輸出單元,用于根據(jù)所述調(diào)用單元調(diào)用的所述編碼數(shù)據(jù)庫(kù)輸出字符串。
10. 根據(jù)權(quán)利要求9所述的藏文輸入法的輸出裝置,其特征在于,所述查詢(xún)單元包括: 第一讀取模塊,用于根據(jù)所述接收單元接收的觸擊指令,讀取Unicode編碼中每一個(gè) Himalaya字符的字節(jié)長(zhǎng)度;其中,Himalaya字符由Unicode編碼所得; 查詢(xún)模塊,用于根據(jù)所述第一讀取模塊讀取的字節(jié)長(zhǎng)度,查詢(xún)與所述觸擊指令對(duì)應(yīng)的 編碼形式與Himalaya字符串的對(duì)照表。
【文檔編號(hào)】G06F3/023GK104238766SQ201410460773
【公開(kāi)日】2014年12月24日 申請(qǐng)日期:2014年9月10日 優(yōu)先權(quán)日:2014年9月10日
【發(fā)明者】扎西松寶, 宋秀偉 申請(qǐng)人:扎西松寶, 宋秀偉