關於T9輸入法的核心程序(由朋友Nix提供),共兩個文件,一個是NixInputMethod.h,還有一個是T9.c; 參見附錄。
具體輸入法的實現方法如下:
1. 首先創建一個對話框,然後在其中放入兩個控件:IDC_EDIT1 和 IDC_WORD (STATIC控件)
2. 爲了實現在Edit中一邊輸入,STATIC中會出現智能的功能,所以我們的實現如下:
a) 重載函數PreTranslateMessage ,使其能夠捕捉到鍵盤的所有事件,故其實現如下:
BOOL IDD_DIALOG1::PreTranslateMessage(MSG* pMsg)
{
try {
CWnd* pCtrl = GetFocus();
/*
可以通過Enter建進行光標焦點的切換
*/
if (pMsg->message == WM_KEYDOWN && GetAsyncKeyState(VK_TAB))
{
// get the char index of the caret position
int nPos = LOWORD(m_MyEditCtl.CharFromPos(m_MyEditCtl.GetCaretPos()));
// select zero chars
m_MyEditCtl.SetSel(nPos, nPos);
// then replace that selection with a TAB
m_MyEditCtl.ReplaceSel("/t", TRUE);
// no need to do a msg translation, so quit.
//that way no further processing gets done
return TRUE;
} else
if (GetAsyncKeyState(VK_RETURN)) // Enter
{
switch(pCtrl->GetDlgCtrlID()) {
case IDOK:
if (!reset) {
AfxMessageBox("OK");
reset = 1;
} else {
reset = 0;
GetDlgItem(IDC_STATIC)->SetFocus();
}
break;
default:
pMsg->wParam = VK_TAB;
}
} else
/*
* 通過1、2、3....選擇第幾個字
*/
if (pMsg->message == WM_KEYDOWN && (isdigit(pMsg->wParam) || (pMsg->wParam >64 && pMsg->wParam < 91)))
{
CString str;
if (isdigit(pMsg->wParam))
{
GetDlgItem(IDC_WORD)->GetWindowText(str);
char* temp = str.GetBuffer(100);
char zi[3];
zi[0] = temp[2*(pMsg->wParam - 48)-2];
zi[1] = temp[2*(pMsg->wParam - 48)-1];
zi[2] = '/0';
pCtrl->SetWindowText(zi);
str.ReleaseBuffer();
return TRUE;
}
UpdateData();
pCtrl->GetWindowText(str);
str += (pMsg->wParam + 32);
CShincoInputMethod pIME;
GetDlgItem(IDC_WORD)->SetWindowText(pIME.GetInputString((unsigned char*)str.GetBuffer(100)));
str.ReleaseBuffer();
}
return CDialog::PreTranslateMessage(pMsg);
}
catch (...)
{
// AfxMessageBox("Error");
}
return TRUE;
}
這樣基本就可以實現一個輸入法了,如果你加上詞庫的話,就可以實現類似智能ABC之類的東西了,當然那樣的話,你還需要多努力努力!
上面程序只是測試用的,你自己可以重新試試看輸入法的實現,如果需要代碼,請聯繫我。
附錄:
// NixInputMethod.h: interface for the CShincoInputMethod
class.
//
//////////////////////////////////////////////////////////////////////
#if
!defined(AFX_SHINCOINPUTMETHOD_H__40148888_4731_4A49_87CC_4F9CFCAF77A5__INCLUDED_)
#define
AFX_SHINCOINPUTMETHOD_H__40148888_4731_4A49_87CC_4F9CFCAF77A5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CNixInputMethod
{
public:
unsigned long py_mb_begin;
CString GetInputString(BYTE input_py_val[]);
BYTE *py_ime(BYTE input_py_val[]);
CNixInputMethod();
virtual ~CNixInputMethod();
};
#endif //
!defined(AFX_SHINCOINPUTMETHOD_H__40148888_4731_4A49_87CC_4F9CFCAF77A5__INCLUDED_)
/*
* T9.c
*/
#include "stdafx.h"
#include "NixInputMethod.h"
BYTE PY_mb_a[][255]=
{
{"阿啊吖錒嗄呵醃"},
{"哎哀唉埃挨皚癌矮藹艾愛隘礙"},
{"安氨鞍俺岸按案胺暗"},
{"骯昂盎"},
{"凹敖熬翱襖傲奧澳懊"},
{"八巴叭扒吧芭疤捌笆拔跋把靶壩爸罷霸"},
{"白百佰柏擺敗拜稗"},
{"扳班般頒斑搬板版辦半伴扮拌絆瓣"},
{"邦幫梆綁榜膀蚌傍棒謗磅鎊"},
{"包苞胞褒雹寶飽保堡報抱豹鮑暴爆剝薄瀑"},
{"卑杯悲碑北貝狽備背鋇倍被憊焙輩"},
{"奔本苯笨夯"},
{"崩繃甭泵迸蹦"},
{"逼鼻比彼筆鄙幣必畢閉庇毖陛斃敝痹蓖弊碧蔽壁避臂"},
{"邊編鞭貶扁卞便變遍辨辯辮"},
{"彪標膘表"},
{"憋鱉別癟"},
{"賓彬斌濱瀕擯"},
{"冰兵丙秉柄炳餅並病"},
{"撥波玻鉢脖菠播伯駁帛泊勃鉑舶博渤搏箔膊卜"},
{"補哺捕不布步怖部埠簿"},
{"擦嚓礤"},
{"猜才材財裁採彩睬踩菜蔡"},
{"參餐殘蠶慚慘燦"},
{"倉滄蒼艙藏"},
{"操糙曹槽草"},
{"冊側廁測策"},
{"層蹭曾"},
{"叉插查茬茶搽察碴岔詫差剎"},
{"拆柴豺"},
{"摻攙讒饞纏蟬產鏟闡顫"},
{"昌猖腸嘗償常廠場敞暢倡唱"},
{"抄鈔超巢朝嘲潮吵炒綽"},
{"車扯徹掣撤澈"},
{"郴塵臣忱沉辰陳晨襯趁"},
{"稱撐成呈承誠城乘懲程澄橙逞騁秤"},
{"吃癡弛池馳遲持尺侈齒恥斥赤熾翅"},
{"充衝蟲崇寵"},
{"抽仇綢疇愁稠籌酬躊醜瞅臭"},
{"出初除廚滁鋤雛櫥躇礎儲楚處搐觸矗畜"},
{"揣"},
{"川穿傳船椽喘串"},
{"闖瘡窗牀創"},
{"吹炊垂捶錘"},
{"春椿純脣淳醇蠢"},
{"戳"},
{"疵詞茨瓷慈辭磁雌此次刺賜"},
{"囪從匆蔥聰叢"},
{"湊"},
{"粗促醋簇"},
{"躥竄篡"},
{"崔催摧脆淬瘁粹翠"},
{"村存寸"},
{"搓磋撮挫措錯"},
{"搭達答瘩打大"},
{"呆歹傣代帶待怠殆貸袋逮戴"},
{"丹單擔耽鄲膽撣旦但誕彈憚淡蛋氮"},
{"當擋黨蕩檔"},
{"刀導島倒搗禱蹈到悼盜道稻"},
{"的地得德鍀"},
{"燈登蹬等鄧凳瞪"},
{"低堤滴狄迪敵滌笛嫡底抵地弟帝遞第締蒂"},
{"掂滇顛典點碘電佃甸店墊惦澱奠殿靛"},
{"刁叼凋碉雕吊釣掉"},
{"爹跌迭諜疊碟蝶"},
{"丁叮盯釘頂鼎訂定錠"},
{"丟"},
{"東冬董懂動凍侗恫棟洞"},
{"都兜鬥抖陡豆逗痘"},
{"督毒讀犢獨堵賭睹妒杜肚度渡鍍"},
{"端短段斷緞鍛"},
{"堆隊對兌"},
{"噸敦墩蹲盾鈍頓遁"},
{"多哆奪掇朵垛躲剁墮舵惰跺"},
{"訛俄娥峨鵝蛾額厄扼惡餓鄂遏"},
{"恩"},
{"兒而爾耳洱餌二貳"},
{"發乏伐罰閥筏法琺"},
{"帆番翻藩凡礬釩煩樊繁反返犯泛飯範販"},
{"方坊芳防妨房肪仿訪紡放"},
{"飛非啡菲肥匪誹吠廢沸肺費"},
{"分吩紛芬氛酚墳汾焚粉份奮忿憤糞"},
{"豐風楓封瘋峯烽鋒蜂馮逢縫諷鳳奉"},
{"佛"},
{"否"},
{"夫膚孵敷弗伏扶拂服俘氟浮涪符袱幅福輻撫甫府斧俯釜輔腑腐父訃付婦負附咐阜復赴副傅富賦縛腹覆"},
{"嘎噶"},
{"該改鈣蓋溉概"},
{"幹甘杆肝柑竿稈趕敢感贛"},
{"岡剛崗綱肛缸鋼港槓"},
{"皋羔高膏篙糕搞稿鎬告"},
{"戈疙哥胳鴿割擱歌閣革格葛隔個各鉻咯"},
{"給"},
{"根跟"},
{"更庚耕羹埂耿梗"},
{"工弓公功攻供宮恭躬龔鞏汞拱共貢"},
{"勾溝鉤狗苟構購垢夠"},
{"估咕姑孤沽菇辜箍古谷股骨蠱鼓固故顧僱"},
{"瓜刮剮寡掛褂"},
{"乖拐怪"},
{"關觀官冠棺館管貫慣灌罐"},
{"光廣逛"},
{"歸圭龜規閨硅瑰軌詭癸鬼劊櫃貴桂跪"},
{"輥滾棍"},
{"郭鍋國果裹過"},
{"蛤哈"},
{"孩骸海亥駭害氦"},
{"酣憨含邯函涵寒韓罕喊漢汗旱悍捍焊憾撼翰"},
{"杭航行"},
{"毫豪嚎壕好郝號浩耗"},
{"呵喝禾合何和河閡核荷涸盒菏賀褐赫鶴"},
{"黑嘿"},
{"痕很狠恨"},
{"亨哼恆橫衡"},
{"轟哄烘弘紅宏洪虹鴻"},
{"侯喉猴吼後厚候"},
{"乎呼忽弧狐胡壺湖葫瑚糊蝴虎唬互戶護滬"},
{"花華譁滑猾化劃畫話"},
{"懷徊淮槐壞"},
{"歡還環桓緩幻宦喚換渙患煥瘓豢"},
{"荒慌皇凰黃惶煌蝗磺簧恍晃謊幌"},
{"灰恢揮輝徽回蛔悔卉匯會諱繪誨燴賄晦穢惠毀慧"},
{"昏葷婚渾魂混"},
{"豁活火夥或貨獲禍惑霍"},
{"譏擊飢圾機肌雞跡姬積基績緝畸箕稽激及吉汲級即極急疾棘集嫉輯籍幾己擠脊計記伎紀妓忌技際劑季既濟繼寂寄悸祭薊冀藉"},
{"加夾佳枷家嘉莢頰甲賈鉀價駕架假嫁稼挾"},
{"奸尖堅殲間肩艱兼監箋緘煎揀儉柬繭撿減剪檢礆簡鹼見件建餞劍薦賤健澗艦漸濺踐鑑鍵箭"},
{"江姜將漿僵疆講獎槳蔣匠降醬"},
{"交郊嬌澆驕膠椒焦蕉礁角狡絞餃矯腳鉸攪剿繳叫轎較教窖酵覺嚼"},
{"階皆接秸揭街節劫傑潔結捷睫截竭姐解介戒芥屆界疥誡借"},
{"巾今斤金津筋襟僅緊謹錦盡勁近進晉浸燼禁靳"},
{"京經莖荊驚晶睛粳兢精鯨井頸景警淨徑痙競竟敬靖境靜鏡"},
{"炯窘"},
{"糾究揪九久灸玖韭酒舊臼咎疚廄救就舅"},
{"居拘狙駒疽鞠局桔菊咀沮舉矩句巨拒具炬俱劇懼據距鋸聚踞"},
{"娟捐鵑卷倦絹眷"},
{"撅決訣抉絕倔掘爵攫"},
{"軍君均鈞菌俊郡峻浚駿竣"},
{"咖喀卡"},
{"開揩凱慨楷"},
{"檻刊勘堪坎砍看"},
{"康慷糠扛亢抗炕"},
{"考拷烤靠"},
{"坷苛柯科棵顆磕殼咳可渴克刻客課"},
{"肯墾懇啃"},
{"吭坑"},
{"空孔恐控"},
{"摳口扣寇"},
{"枯哭窟苦庫褲酷"},
{"誇垮挎胯跨"},
{"塊快儈筷"},
{"寬款"},
{"匡筐狂況曠礦框眶"},
{"虧巋盔窺奎葵魁傀愧潰饋"},
{"坤昆捆困"},
{"擴括闊廓"},
{"垃拉啦喇臘蠟辣"},
{"來萊賴"},
{"蘭攔欄婪闌藍讕瀾籃覽攬纜懶爛濫"},
{"郎狼廊琅榔朗浪"},
{"撈勞牢老佬姥澇烙酪"},
{"樂勒了"},
{"雷鐳壘磊蕾儡肋淚類累擂"},
{"棱楞冷"},
{"釐梨狸離莉犁漓璃黎籬禮李裏哩理鯉力歷厲立吏麗利勵瀝例隸俐荔慄礫粒傈痢"},
{"連簾憐漣蓮聯廉鐮斂臉練煉戀鏈"},
{"倆良涼樑糧粱兩亮諒輛晾量"},
{"潦遼療聊僚寥廖撩燎鐐料撂"},
{"列劣烈獵裂"},
{"鄰林臨淋琳霖磷鱗凜吝賃拎"},
{"伶靈嶺玲凌鈴陵羚菱零齡領令另"},
{"溜劉流留琉硫餾榴瘤柳六"},
{"龍嚨籠聾隆窿隴壟攏"},
{"婁樓摟簍陋漏"},
{"露盧廬蘆爐顱滷虜擄魯陸錄賂鹿祿碌路戮潞麓"},
{"孿巒攣灤卵亂"},
{"掠略鋝"},
{"掄侖倫淪綸輪論圇"},
{"羅蘿邏鑼籮騾螺裸洛絡駱落"},
{"濾驢呂侶旅鋁屢縷履律慮率綠氯"},
{"媽麻馬瑪碼螞罵嗎嘛"},
{"埋買邁麥賣脈"},
{"蠻饅瞞滿曼謾慢漫蔓"},
{"忙芒盲茫莽氓"},
{"貓毛矛茅錨卯鉚茂冒貿帽貌"},
{"麼"},
{"沒枚玫眉梅媒煤酶黴每美鎂妹昧媚寐"},
{"門悶們"},
{"萌盟檬猛蒙錳孟夢"},
{"彌迷謎醚糜靡米眯泌覓祕密冪蜜"},
{"眠綿棉免勉娩冕緬面"},
{"苗描瞄秒渺藐妙廟"},
{"滅蔑"},
{"民皿抿閩憫敏"},
{"名明鳴銘螟命"},
{"謬"},
{"貉摸摹模膜摩磨蘑魔抹末沫陌莫寞漠墨默"},
{"牟謀某"},
{"母畝牡姆拇木目牧募墓幕睦慕暮穆"},
{"拿哪那納娜鈉吶"},
{"乃奶氖奈耐"},
{"男南難"},
{"囊"},
{"撓惱腦鬧淖"},
{"呢"},
{"內餒"},
{"嫩"},
{"能"},
{"妮尼泥倪霓你擬逆匿溺膩"},
{"拈年捻攆碾念蔫"},
{"娘釀"},
{"鳥尿"},
{"捏涅聶齧鑷鎳孽"},
{"您"},
{"寧擰獰檸凝濘"},
{"牛扭紐鈕"},
{"農濃膿弄"},
{"奴努怒"},
{"暖"},
{"瘧虐"},
{"挪諾懦糯"},
{"女"},
{"哦"},
{"歐毆鷗嘔偶藕漚"},
{"趴啪爬耙琶帕怕"},
{"拍徘排牌派湃"},
{"潘攀盤磐判叛盼畔"},
{"乓龐旁耪胖"},
{"拋刨咆炮袍跑泡"},
{"呸胚陪培賠裴沛佩配"},
{"噴盆"},
{"抨砰烹朋彭棚硼蓬鵬澎篷膨捧碰"},
{"闢批坯披砒劈霹皮毗疲啤琵脾匹痞屁僻譬"},
{"片偏篇騙"},
{"漂飄瓢票"},
{"撇瞥"},
{"拼貧頻品聘"},
{"乒平評憑坪蘋屏瓶萍"},
{"坡潑頗婆迫破粕魄"},
{"剖"},
{"脯僕撲鋪莆菩葡蒲樸圃埔浦普譜曝"},
{"七沏妻柒悽棲戚期欺漆祁齊其奇歧祈臍崎畦騎棋旗乞企豈啓起氣訖迄棄汽泣契砌器"},
{"掐恰洽"},
{"千仟扦遷釺牽鉛謙籤前錢鉗乾潛黔淺遣譴欠塹嵌歉"},
{"嗆羌槍腔強牆薔搶"},
{"悄敲鍬橇喬僑橋瞧巧俏峭竅翹撬鞘"},
{"切茄且怯竊"},
{"親侵欽芹秦琴禽勤擒寢沁"},
{"青氫輕傾卿清情晴氰擎頃請慶"},
{"窮瓊"},
{"丘邱秋囚求泅酋球"},
{"區曲驅屈蛆軀趨渠取娶齲去趣"},
{"圈全權泉拳痊醛顴犬勸券"},
{"炔缺瘸卻雀確鵲榷"},
{"裙羣"},
{"然燃冉染"},
{"瓤嚷壤攘讓"},
{"饒擾繞"},
{"惹熱喏"},
{"人仁壬忍刃認任紉妊韌"},
{"扔仍"},
{"日馹"},
{"戎絨茸榮容溶蓉熔融冗"},
{"柔揉肉"},
{"如茹儒孺蠕汝乳辱入褥"},
{"阮軟"},
{"蕊銳瑞"},
{"閏潤"},
{"若弱"},
{"撒灑薩"},
{"塞腮鰓賽"},
{"三叄傘散"},
{"桑嗓喪"},
{"搔騷掃嫂"},
{"色澀瑟"},
{"森"},
{"僧"},
{"殺沙紗砂莎傻啥煞廈"},
{"篩曬釃"},
{"山刪杉衫珊煽閃陝汕苫扇善繕擅膳贍柵"},
{"傷商墒裳晌賞上尚"},
{"捎梢燒稍勺芍韶少邵紹哨"},
{"奢賒舌蛇舍設社射涉赦懾攝"},
{"申伸身呻紳娠砷深神沈審嬸腎甚滲慎什"},
{"升生聲牲勝甥繩省聖盛剩"},
{"匙屍失師蝨詩施獅溼十石時識實拾蝕食史矢使始駛屎士氏世仕市示式事侍勢視試飾室恃拭是柿適逝釋嗜誓噬似"},
{"收手守首壽受獸售授瘦"},
{"書抒叔樞殊梳淑疏舒輸蔬孰贖熟暑黍署鼠蜀薯曙術戍束述樹豎恕庶數墅漱屬"},
{"刷耍唰"},
{"衰摔甩帥"},
{"拴栓"},
{"雙霜爽"},
{"誰水稅睡說"},
{"吮順舜瞬"},
{"說爍朔碩"},
{"絲司私思斯嘶撕死巳四寺伺飼嗣肆"},
{"鬆慫聳訟宋誦送頌"},
{"嗽搜艘擻"},
{"蘇酥俗訴肅素速粟塑溯僳"},
{"酸蒜算狻"},
{"雖綏隋隨髓歲祟遂碎隧穗"},
{"孫損筍"},
{"唆梭蓑縮所索瑣鎖"},
{"她他它塌塔獺撻踏蹋"},
{"胎臺擡苔太汰態泰酞"},
{"坍貪攤灘癱壇談痰譚潭檀坦袒毯嘆炭探碳"},
{"湯唐堂棠塘搪膛糖倘淌躺燙趟"},
{"濤絛掏滔逃桃陶淘萄討套"},
{"特忑忒鋱慝"},
{"疼騰謄藤"},
{"剔梯銻踢啼提題蹄體屜剃涕惕替嚏"},
{"天添田恬甜填腆舔"},
{"調挑條迢眺跳"},
{"貼鐵帖萜餮"},
{"廳汀聽烴廷亭庭停挺艇"},
{"通同彤桐銅童酮瞳統捅桶筒痛"},
{"偷頭投透"},
{"凸禿突圖徒塗途屠土吐兔"},
{"湍團疃摶彖"},
{"推頹腿退蛻褪"},
{"囤吞屯臀"},
{"託拖脫馱陀駝鴕妥橢拓唾"},
{"哇娃挖窪蛙瓦襪"},
{"歪外崴"},
{"彎灣豌丸完玩頑烷宛挽晚婉惋皖碗萬腕"},
{"汪亡王網往枉妄忘旺望"},
{"危威微巍爲韋圍違桅唯惟維濰偉僞尾緯葦委萎衛未位味畏胃尉謂喂渭蔚慰魏"},
{"溫瘟文紋聞蚊吻紊穩問"},
{"翁嗡甕"},
{"撾渦窩蝸我沃臥握斡"},
{"烏污嗚巫屋誣鎢無毋吳吾蕪梧五午伍塢武侮捂舞勿務戊物誤悟晤霧"},
{"夕汐西吸希昔析矽息犧悉惜烯硒晰犀稀溪錫熄熙嘻膝習席襲媳檄洗喜戲系細隙"},
{"蝦瞎匣俠峽狹暇轄霞下嚇夏"},
{"銑仙先纖掀杴鮮閒弦賢鹹涎舷銜嫌顯險縣現線限憲陷餡羨獻腺"},
{"鄉相香廂湘箱襄鑲詳祥翔享響想向巷項象像橡"},
{"宵消蕭硝銷霄囂淆小曉孝肖哮效校笑嘯"},
{"些楔歇蠍協邪脅斜諧攜鞋寫泄瀉卸屑械謝懈蟹"},
{"心忻芯辛欣鋅新薪信釁"},
{"興星惺猩腥刑邢形型醒杏姓幸性"},
{"兇兄匈洶胸雄熊"},
{"宿休修羞朽秀繡袖鏽嗅"},
{"戌須虛噓需墟徐許旭序敘恤緒續酗婿絮蓄籲"},
{"軒宣喧玄懸旋選癬絢眩"},
{"削靴薛穴學雪血"},
{"勳薰尋巡旬馴詢循訓訊汛迅遜殉"},
{"丫壓呀押鴉鴨牙芽蚜崖涯衙啞雅亞訝"},
{"咽煙淹焉閹延嚴言巖沿炎研鹽閻蜒顏奄衍掩眼演厭彥硯唁宴豔驗諺堰焰雁燕"},
{"央殃秧鴦揚羊陽楊佯瘍洋仰養氧癢樣漾"},
{"僥妖腰邀堯姚窯謠搖遙瑤咬舀藥要耀鑰"},
{"椰噎爺耶也冶野業葉曳頁夜掖液腋"},
{"一伊衣醫依銥壹揖儀夷沂宜姨胰移遺頤疑彝乙已以矣蟻倚椅義億憶藝議亦屹異役抑譯邑易繹詣疫益誼翌逸意溢肄裔毅翼臆"},
{"因陰姻茵蔭音殷吟寅淫銀尹引飲隱印"},
{"應英嬰纓櫻鷹迎盈熒瑩螢營蠅贏穎影映硬"},
{"喲"},
{"傭擁癰庸雍臃永詠泳勇涌恿蛹踊用"},
{"優憂幽悠尤由猶郵油鈾遊友有酉又右幼佑誘釉"},
{"迂淤渝於予餘盂魚俞娛漁隅愉逾愚榆虞輿與宇嶼羽雨禹語玉馭芋育鬱獄峪浴預域欲喻寓御裕遇愈譽豫"},
{"冤鴛淵元員園垣原圓袁援緣源猿轅遠苑怨院願"},
{"曰約月嶽悅閱躍粵越"},
{"雲勻鄖耘允隕孕運暈醞韻蘊"},
{"匝雜砸咋"},
{"災哉栽宰載再在仔"},
{"咱攢暫贊"},
{"贓髒葬"},
{"遭糟鑿早棗蚤澡藻竈皁造噪燥躁"},
{"則擇澤責"},
{"賊"},
{"怎"},
{"增憎贈"},
{"喳渣扎札軋閘鍘眨乍詐炸榨柞"},
{"齋摘宅翟窄債寨"},
{"沾氈粘詹瞻斬展盞嶄輾佔戰棧站綻湛蘸"},
{"長張章彰漳樟漲掌丈仗帳杖脹賬障瘴"},
{"招昭找沼召兆趙照罩肇爪"},
{"遮折哲蟄轍者鍺這浙蔗着"},
{"貞針偵珍真砧斟甄臻診枕疹陣振鎮震幀"},
{"爭徵怔掙猙睜蒸拯整正證鄭政症"},
{"之支汁芝吱枝知織肢脂蜘執侄直值職植殖止只旨址紙指趾至志制幟治炙質峙摯秩致擲痔窒智滯稚置"},
{"中忠終盅鍾衷腫種仲衆重"},
{"州舟謅周洲粥軸肘帚咒宙晝皺驟"},
{"朱誅株珠諸豬蛛竹燭逐主拄煮囑矚住助注貯駐柱祝著蛀築鑄"},
{"抓"},
{"拽"},
{"專磚轉撰篆"},
{"妝莊樁裝壯狀幢撞"},
{"追椎錐墜綴贅"},
{"諄準"},
{"卓拙捉桌灼茁濁酌啄琢"},
{"孜茲諮姿資淄滋籽子紫滓字自漬"},
{"宗綜棕蹤鬃總縱"},
{"鄒走奏揍"},
{"租足卒族詛阻組祖"},
{"賺纂鑽"},
{"嘴最罪醉"},
{"尊遵"},
{"昨左佐作坐座做"},
};
//索引:
BYTE PY_index_a[][9]={
{0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00},
{'i',0x20,0x20,0x20,0x20,0x20,0xFF,0x00,0x00},
{'n',0x20,0x20,0x20,0x20,0x20,0xFE,0x01,0x00},
{'n','g',0x20,0x20,0x20,0x20,0xFD,0x02,0x00},
{'o',0x20,0x20,0x20,0x20,0x20,0xFC,0x03,0x00}
};
BYTE PY_index_b[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xFB,0x04,0x00},
{'a','i',0x20,0x20,0x20,0x20,0xFA,0x05,0x00},
{'a','n',0x20,0x20,0x20,0x20,0xF9,0x06,0x00},
{'a','n','g',0x20,0x20,0x20,0xF8,0x07,0x00},
{'a','o',0x20,0x20,0x20,0x20,0xF7,0x08,0x00},
{'e','i',0x20,0x20,0x20,0x20,0xF6,0x09,0x00},
{'e','n',0x20,0x20,0x20,0x20,0xF5,0x0A,0x00},
{'e','n','g',0x20,0x20,0x20,0xF4,0x0B,0x00},
{'i',0x20,0x20,0x20,0x20,0x20,0xF3,0x0C,0x00},
{'i','a','n',0x20,0x20,0x20,0xF2,0x0D,0x00},
{'i','a','o',0x20,0x20,0x20,0xF1,0x0E,0x00},
{'i','e',0x20,0x20,0x20,0x20,0xF0,0x0F,0x00},
{'i','n',0x20,0x20,0x20,0x20,0xEF,0x10,0x00},
{'i','n','g',0x20,0x20,0x20,0xEE,0x11,0x00},
{'o',0x20,0x20,0x20,0x20,0x20,0xED,0x12,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0xEC,0x13,0x00}
};
BYTE PY_index_c[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xEB,0x14,0x00},
{'a','i',0x20,0x20,0x20,0x20,0xEA,0x15,0x00},
{'a','n',0x20,0x20,0x20,0x20,0xE9,0x16,0x00},
{'a','n','g',0x20,0x20,0x20,0xE8,0x17,0x00},
{'a','o',0x20,0x20,0x20,0x20,0xE7,0x18,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0xE6,0x19,0x00},
{'e','n','g',0x20,0x20,0x20,0xE5,0x1A,0x00},
{'h','a',0x20,0x20,0x20,0x20,0xE4,0x1B,0x00},
{'h','a','i',0x20,0x20,0x20,0xE3,0x1C,0x00},
{'h','a','n',0x20,0x20,0x20,0xE2,0x1D,0x00},
{'h','a','n','g',0x20,0x20,0xE1,0x1E,0x00},
{'h','a','o',0x20,0x20,0x20,0xE0,0x1F,0x00},
{'h','e',0x20,0x20,0x20,0x20,0xDF,0x20,0x00},
{'h','e','n',0x20,0x20,0x20,0xDE,0x21,0x00},
{'h','e','n','g',0x20,0x20,0xDD,0x22,0x00},
{'h','i',0x20,0x20,0x20,0x20,0xDC,0x23,0x00},
{'h','o','n','g',0x20,0x20,0xDB,0x24,0x00},
{'h','o','u',0x20,0x20,0x20,0xDA,0x25,0x00},
{'h','u',0x20,0x20,0x20,0x20,0xD9,0x26,0x00},
{'h','u','a','i',0x20,0x20,0xD8,0x27,0x00},
{'h','u','a','n',0x20,0x20,0xD7,0x28,0x00},
{'h','u','a','n','g',0x20,0xD6,0x29,0x00},
{'h','u','i',0x20,0x20,0x20,0xD5,0x2A,0x00},
{'h','u','n',0x20,0x20,0x20,0xD4,0x2B,0x00},
{'h','u','o',0x20,0x20,0x20,0xD3,0x2C,0x00},
{'i',0x20,0x20,0x20,0x20,0x20,0xD2,0x2D,0x00},
{'o','n','g',0x20,0x20,0x20,0xD1,0x2E,0x00},
{'o','u',0x20,0x20,0x20,0x20,0xD0,0x2F,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0xCF,0x30,0x00},
{'u','a','n',0x20,0x20,0x20,0xCE,0x31,0x00},
{'u','i',0x20,0x20,0x20,0x20,0xCD,0x32,0x00},
{'u','n',0x20,0x20,0x20,0x20,0xCC,0x33,0x00},
{'u','o',0x20,0x20,0x20,0x20,0xCB,0x34,0x00}
};
BYTE PY_index_d[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xCA,0x35,0x00},
{'a','i',0x20,0x20,0x20,0x20,0xC9,0x36,0x00},
{'a','n',0x20,0x20,0x20,0x20,0xC8,0x37,0x00},
{'a','n','g',0x20,0x20,0x20,0xC7,0x38,0x00},
{'a','o',0x20,0x20,0x20,0x20,0xC6,0x39,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0xC5,0x3A,0x00},
{'e','n','g',0x20,0x20,0x20,0xC4,0x3B,0x00},
{'i',0x20,0x20,0x20,0x20,0x20,0xC3,0x3C,0x00},
{'i','a','n',0x20,0x20,0x20,0xC2,0x3D,0x00},
{'i','a','o',0x20,0x20,0x20,0xC1,0x3E,0x00},
{'i','e',0x20,0x20,0x20,0x20,0xC0,0x3F,0x00},
{'i','n','g',0x20,0x20,0x20,0xBF,0x40,0x00},
{'i','u',0x20,0x20,0x20,0x20,0xBE,0x41,0x00},
{'o','n','g',0x20,0x20,0x20,0xBD,0x42,0x00},
{'o','u',0x20,0x20,0x20,0x20,0xBC,0x43,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0xBB,0x44,0x00},
{'u','a','n',0x20,0x20,0x20,0xBA,0x45,0x00},
{'u','i',0x20,0x20,0x20,0x20,0xB9,0x46,0x00},
{'u','n',0x20,0x20,0x20,0x20,0xB8,0x47,0x00},
{'u','o',0x20,0x20,0x20,0x20,0xB7,0x48,0x00}
};
BYTE PY_index_e[][9]={
{0x20,0x20,0x20,0x20,0x20,0x20,0xB6,0x49,0x00},
{'n',0x20,0x20,0x20,0x20,0x20,0xB5,0x4A,0x00},
{'r',0x20,0x20,0x20,0x20,0x20,0xB4,0x4B,0x00}
};
BYTE PY_index_f[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xB3,0x4C,0x00},
{'a','n',0x20,0x20,0x20,0x20,0xB2,0x4D,0x00},
{'a','n','g',0x20,0x20,0x20,0xB1,0x4E,0x00},
{'e','i',0x20,0x20,0x20,0x20,0xB0,0x4F,0x00},
{'e','n',0x20,0x20,0x20,0x20,0xAF,0x50,0x00},
{'e','n','g',0x20,0x20,0x20,0xAE,0x51,0x00},
{'o',0x20,0x20,0x20,0x20,0x20,0xAD,0x52,0x00},
{'o','u',0x20,0x20,0x20,0x20,0xAC,0x53,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0xAB,0x54,0x00}
};
BYTE PY_index_g[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xAA,0x55,0x00},
{'a','i',0x20,0x20,0x20,0x20,0xA9,0x56,0x00},
{'a','n',0x20,0x20,0x20,0x20,0xA8,0x57,0x00},
{'a','n','g',0x20,0x20,0x20,0xA7,0x58,0x00},
{'a','o',0x20,0x20,0x20,0x20,0xA6,0x59,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0xA5,0x5A,0x00},
{'e','i',0x20,0x20,0x20,0x20,0xA4,0x5B,0x00},
{'e','n',0x20,0x20,0x20,0x20,0xA3,0x5C,0x00},
{'e','n','g',0x20,0x20,0x20,0xA2,0x5D,0x00},
{'o','n','g',0x20,0x20,0x20,0xA1,0x5E,0x00},
{'o','u',0x20,0x20,0x20,0x20,0xA0,0x5F,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x9F,0x60,0x00},
{'u','a',0x20,0x20,0x20,0x20,0x9E,0x61,0x00},
{'u','a','i',0x20,0x20,0x20,0x9D,0x62,0x00},
{'u','a','n',0x20,0x20,0x20,0x9C,0x63,0x00},
{'u','a','n','g',0x20,0x20,0x9B,0x64,0x00},
{'u','i',0x20,0x20,0x20,0x20,0x9A,0x65,0x00},
{'u','n',0x20,0x20,0x20,0x20,0x99,0x66,0x00},
{'u','o',0x20,0x20,0x20,0x20,0x98,0x67,0x00}
};
BYTE PY_index_h[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0x97,0x68,0x00},
{'a','i',0x20,0x20,0x20,0x20,0x96,0x69,0x00},
{'a','n',0x20,0x20,0x20,0x20,0x95,0x6A,0x00},
{'a','n','g',0x20,0x20,0x20,0x94,0x6B,0x00},
{'a','o',0x20,0x20,0x20,0x20,0x93,0x6C,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0x92,0x6D,0x00},
{'e','i',0x20,0x20,0x20,0x20,0x91,0x6E,0x00},
{'e','n',0x20,0x20,0x20,0x20,0x90,0x6F,0x00},
{'e','n','g',0x20,0x20,0x20,0x8F,0x70,0x00},
{'o','n','g',0x20,0x20,0x20,0x8E,0x71,0x00},
{'o','u',0x20,0x20,0x20,0x20,0x8D,0x72,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x8C,0x73,0x00},
{'u','a',0x20,0x20,0x20,0x20,0x8B,0x74,0x00},
{'u','a','i',0x20,0x20,0x20,0x8A,0x75,0x00},
{'u','a','n',0x20,0x20,0x20,0x89,0x76,0x00},
{'u','a','n','g',0x20,0x20,0x88,0x77,0x00},
{'u','i',0x20,0x20,0x20,0x20,0x87,0x78,0x00},
{'u','n',0x20,0x20,0x20,0x20,0x86,0x79,0x00},
{'u','o',0x20,0x20,0x20,0x20,0x85,0x7A,0x00}
};
BYTE PY_index_j[][9]={
{'i',0x20,0x20,0x20,0x20,0x20,0x84,0x7B,0x00},
{'i','a',0x20,0x20,0x20,0x20,0x83,0x7C,0x00},
{'i','a','n',0x20,0x20,0x20,0x82,0x7D,0x00},
{'i','a','n','g',0x20,0x20,0x81,0x7E,0x00},
{'i','a','o',0x20,0x20,0x20,0x80,0x7F,0x00},
{'i','e',0x20,0x20,0x20,0x20,0x7F,0x80,0x00},
{'i','n',0x20,0x20,0x20,0x20,0x7E,0x81,0x00},
{'i','n','g',0x20,0x20,0x20,0x7D,0x82,0x00},
{'i','o','n','g',0x20,0x20,0x7C,0x83,0x00},
{'i','u',0x20,0x20,0x20,0x20,0x7B,0x84,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x7A,0x85,0x00},
{'u','a','n',0x20,0x20,0x20,0x79,0x86,0x00},
{'u','e',0x20,0x20,0x20,0x20,0x78,0x87,0x00},
{'u','n',0x20,0x20,0x20,0x20,0x77,0x88,0x00}
};
BYTE PY_index_k[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0x76,0x89,0x00},
{'a','i',0x20,0x20,0x20,0x20,0x75,0x8A,0x00},
{'a','n',0x20,0x20,0x20,0x20,0x74,0x8B,0x00},
{'a','n','g',0x20,0x20,0x20,0x73,0x8C,0x00},
{'a','o',0x20,0x20,0x20,0x20,0x72,0x8D,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0x71,0x8E,0x00},
{'e','n',0x20,0x20,0x20,0x20,0x70,0x8F,0x00},
{'e','n','g',0x20,0x20,0x20,0x6F,0x90,0x00},
{'o','n','g',0x20,0x20,0x20,0x6E,0x91,0x00},
{'o','u',0x20,0x20,0x20,0x20,0x6D,0x92,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x6C,0x93,0x00},
{'u','a',0x20,0x20,0x20,0x20,0x6B,0x94,0x00},
{'u','a','i',0x20,0x20,0x20,0x6A,0x95,0x00},
{'u','a','n',0x20,0x20,0x20,0x69,0x96,0x00},
{'u','a','n','g',0x20,0x20,0x68,0x97,0x00},
{'u','i',0x20,0x20,0x20,0x20,0x67,0x98,0x00},
{'u','n',0x20,0x20,0x20,0x20,0x66,0x99,0x00},
{'u','o',0x20,0x20,0x20,0x20,0x65,0x9A,0x00}
};
BYTE PY_index_l[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0x64,0x9B,0x00},
{'a','i',0x20,0x20,0x20,0x20,0x63,0x9C,0x00},
{'a','n',0x20,0x20,0x20,0x20,0x62,0x9D,0x00},
{'a','n','g',0x20,0x20,0x20,0x61,0x9E,0x00},
{'a','o',0x20,0x20,0x20,0x20,0x60,0x9F,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0x5F,0xA0,0x00},
{'e','i',0x20,0x20,0x20,0x20,0x5E,0xA1,0x00},
{'e','n','g',0x20,0x20,0x20,0x5D,0xA2,0x00},
{'i',0x20,0x20,0x20,0x20,0x20,0x5C,0xA3,0x00},
{'i','a','n',0x20,0x20,0x20,0x5B,0xA4,0x00},
{'i','a','n','g',0x20,0x20,0x5A,0xA5,0x00},
{'i','a','o',0x20,0x20,0x20,0x59,0xA6,0x00},
{'i','e',0x20,0x20,0x20,0x20,0x58,0xA7,0x00},
{'i','n',0x20,0x20,0x20,0x20,0x57,0xA8,0x00},
{'i','n','g',0x20,0x20,0x20,0x56,0xA9,0x00},
{'i','u',0x20,0x20,0x20,0x20,0x55,0xAA,0x00},
{'o','n','g',0x20,0x20,0x20,0x54,0xAB,0x00},
{'o','u',0x20,0x20,0x20,0x20,0x53,0xAC,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x52,0xAD,0x00},
{'u','a','n',0x20,0x20,0x20,0x51,0xAE,0x00},
{'u','e',0x20,0x20,0x20,0x20,0x50,0xAF,0x00},
{'u','n',0x20,0x20,0x20,0x20,0x4F,0xB0,0x00},
{'u','o',0x20,0x20,0x20,0x20,0x4E,0xB1,0x00},
{'v',0x20,0x20,0x20,0x20,0x20,0x4D,0xB2,0x00}
};
BYTE PY_index_m[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0x4C,0xB3,0x00},
{'a','i',0x20,0x20,0x20,0x20,0x4B,0xB4,0x00},
{'a','n',0x20,0x20,0x20,0x20,0x4A,0xB5,0x00},
{'a','n','g',0x20,0x20,0x20,0x49,0xB6,0x00},
{'a','o',0x20,0x20,0x20,0x20,0x48,0xB7,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0x47,0xB8,0x00},
{'e','i',0x20,0x20,0x20,0x20,0x46,0xB9,0x00},
{'e','n',0x20,0x20,0x20,0x20,0x45,0xBA,0x00},
{'e','n','g',0x20,0x20,0x20,0x44,0xBB,0x00},
{'i',0x20,0x20,0x20,0x20,0x20,0x43,0xBC,0x00},
{'i','a','n',0x20,0x20,0x20,0x42,0xBD,0x00},
{'i','a','o',0x20,0x20,0x20,0x41,0xBE,0x00},
{'i','e',0x20,0x20,0x20,0x20,0x40,0xBF,0x00},
{'i','n',0x20,0x20,0x20,0x20,0x3F,0xC0,0x00},
{'i','n','g',0x20,0x20,0x20,0x3E,0xC1,0x00},
{'i','u',0x20,0x20,0x20,0x20,0x3D,0xC2,0x00},
{'o',0x20,0x20,0x20,0x20,0x20,0x3C,0xC3,0x00},
{'o','u',0x20,0x20,0x20,0x20,0x3B,0xC4,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x3A,0xC5,0x00}
};
BYTE PY_index_n[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0x39,0xC6,0x00},
{'a','i',0x20,0x20,0x20,0x20,0x38,0xC7,0x00},
{'a','n',0x20,0x20,0x20,0x20,0x37,0xC8,0x00},
{'a','n','g',0x20,0x20,0x20,0x36,0xC9,0x00},
{'a','o',0x20,0x20,0x20,0x20,0x35,0xCA,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0x34,0xCB,0x00},
{'e','i',0x20,0x20,0x20,0x20,0x33,0xCC,0x00},
{'e','n',0x20,0x20,0x20,0x20,0x32,0xCD,0x00},
{'e','n','g',0x20,0x20,0x20,0x31,0xCE,0x00},
{'i',0x20,0x20,0x20,0x20,0x20,0x30,0xCF,0x00},
{'i','a','n',0x20,0x20,0x20,0x2F,0xD0,0x00},
{'i','a','n','g',0x20,0x20,0x2E,0xD1,0x00},
{'i','a','o',0x20,0x20,0x20,0x2D,0xD2,0x00},
{'i','e',0x20,0x20,0x20,0x20,0x2C,0xD3,0x00},
{'i','n',0x20,0x20,0x20,0x20,0x2B,0xD4,0x00},
{'i','n','g',0x20,0x20,0x20,0x2A,0xD5,0x00},
{'i','u',0x20,0x20,0x20,0x20,0x29,0xD6,0x00},
{'o','n','g',0x20,0x20,0x20,0x28,0xD7,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x27,0xD8,0x00},
{'u','a','n',0x20,0x20,0x20,0x26,0xD9,0x00},
{'u','e',0x20,0x20,0x20,0x20,0x25,0xDA,0x00},
{'u','o',0x20,0x20,0x20,0x20,0x24,0xDB,0x00},
{'v',0x20,0x20,0x20,0x20,0x20,0x23,0xDC,0x00}
};
BYTE PY_index_o[][9]={
{0x20,0x20,0x20,0x20,0x20,0x20,0x22,0xDD,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x21,0xDE,0x00}
};
BYTE PY_index_p[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0x20,0xDF,0x00},
{'a','i',0x20,0x20,0x20,0x20,0x1F,0xE0,0x00},
{'a','n',0x20,0x20,0x20,0x20,0x1E,0xE1,0x00},
{'a','n','g',0x20,0x20,0x20,0x1D,0xE2,0x00},
{'a','o',0x20,0x20,0x20,0x20,0x1C,0xE3,0x00},
{'e','i',0x20,0x20,0x20,0x20,0x1B,0xE4,0x00},
{'e','n',0x20,0x20,0x20,0x20,0x1A,0xE5,0x00},
{'e','n','g',0x20,0x20,0x20,0x19,0xE6,0x00},
{'i',0x20,0x20,0x20,0x20,0x20,0x18,0xE7,0x00},
{'i','a','n',0x20,0x20,0x20,0x17,0xE8,0x00},
{'i','a','o',0x20,0x20,0x20,0x16,0xE9,0x00},
{'i','e',0x20,0x20,0x20,0x20,0x15,0xEA,0x00},
{'i','n',0x20,0x20,0x20,0x20,0x14,0xEB,0x00},
{'i','n','g',0x20,0x20,0x20,0x13,0xEC,0x00},
{'o',0x20,0x20,0x20,0x20,0x20,0x12,0xED,0x00},
{'o','u',0x20,0x20,0x20,0x20,0x11,0xEE,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x10,0xEF,0x00}
};
BYTE PY_index_q[][9]={
{'i',0x20,0x20,0x20,0x20,0x20,0x0F,0xF0,0x00},
{'i','a',0x20,0x20,0x20,0x20,0x0E,0xF1,0x00},
{'i','a','n',0x20,0x20,0x20,0x0D,0xF2,0x00},
{'i','a','n','g',0x20,0x20,0x0C,0xF3,0x00},
{'i','a','o',0x20,0x20,0x20,0x0B,0xF4,0x00},
{'i','e',0x20,0x20,0x20,0x20,0x0A,0xF5,0x00},
{'i','n',0x20,0x20,0x20,0x20,0x09,0xF6,0x00},
{'i','n','g',0x20,0x20,0x20,0x08,0xF7,0x00},
{'i','o','n','g',0x20,0x20,0x07,0xF8,0x00},
{'i','u',0x20,0x20,0x20,0x20,0x06,0xF9,0x00},
{'u',0x20,0x20,0x20,0x20,0x20,0x05,0xFA,0x00},
{'u','a','n',0x20,0x20,0x20,0x04,0xFB,0x00},
{'u','e',0x20,0x20,0x20,0x20,0x03,0xFC,0x00},
{'u','n',0x20,0x20,0x20,0x20,0x02,0xFD,0x00}
};
BYTE PY_index_r[][9]={
{'a','n',0x20,0x20,0x20,0x20,0x01,0xFE,0x00},
{'a','n','g',0x20,0x20,0x20,0x00,0xFF,0x00},
{'a','o',0x20,0x20,0x20,0x20,0xFF,0xFF,0x00},
{'e',0x20,0x20,0x20,0x20,0x20,0xFF,0x00,0x01},
{'e','n',0x20,0x20,0x20,0x20,0xFE,0x01,0x01},
{'e','n','g',0x20,0x20,0x20,0xFD,0x02,0x01},
{'i',0x20,0x20,0x20,0x20,0x20,0xFC,0x03,0x01},
{'o','n','g',0x20,0x20,0x20,0xFB,0x04,0x01},
{'o','u',0x20,0x20,0x20,0x20,0xFA,0x05,0x01},
{'u',0x20,0x20,0x20,0x20,0x20,0xF9,0x06,0x01},
{'u','a','n',0x20,0x20,0x20,0xF8,0x07,0x01},
{'u','i',0x20,0x20,0x20,0x20,0xF7,0x08,0x01},
{'u','n',0x20,0x20,0x20,0x20,0xF6,0x09,0x01},
{'u','o',0x20,0x20,0x20,0x20,0xF5,0x0A,0x01}
};
BYTE PY_index_s[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xF4,0x0B,0x01},
{'a','i',0x20,0x20,0x20,0x20,0xF3,0x0C,0x01},
{'a','n',0x20,0x20,0x20,0x20,0xF2,0x0D,0x01},
{'a','n','g',0x20,0x20,0x20,0xF1,0x0E,0x01},
{'a','o',0x20,0x20,0x20,0x20,0xF0,0xF,0x01},
{'e',0x20,0x20,0x20,0x20,0x20,0xEF,0x10,0x01},
{'e','n',0x20,0x20,0x20,0x20,0xEE,0x11,0x01},
{'e','n','g',0x20,0x20,0x20,0xED,0x12,0x01},
{'h','a',0x20,0x20,0x20,0x20,0xEC,0x13,0x01},
{'h','a','i',0x20,0x20,0x20,0xEB,0x14,0x01},
{'h','a','n',0x20,0x20,0x20,0xEA,0x15,0x01},
{'h','a','n','g',0x20,0x20,0xE9,0x16,0x01},
{'h','a','o',0x20,0x20,0x20,0xE8,0x17,0x01},
{'h','e',0x20,0x20,0x20,0x20,0xE7,0x18,0x01},
{'h','e','n',0x20,0x20,0x20,0xE6,0x19,0x01},
{'h','e','n','g',0x20,0x20,0xE5,0x1A,0x01},
{'h','i',0x20,0x20,0x20,0x20,0xE4,0x1B,0x01},
{'h','o','u',0x20,0x20,0x20,0xE3,0x1C,0x01},
{'h','u',0x20,0x20,0x20,0x20,0xE2,0x1D,0x01},
{'h','u','a',0x20,0x20,0x20,0xE1,0x1E,0x01},
{'h','u','a','i',0x20,0x20,0xE0,0x1F,0x01},
{'h','u','a','n',0x20,0x20,0xDF,0x20,0x01},
{'h','u','a','n','g',0x20,0xDE,0x21,0x01},
{'h','u','i',0x20,0x20,0x20,0xDD,0x22,0x01},
{'h','u','n',0x20,0x20,0x20,0xDC,0x23,0x01},
{'h','u','o',0x20,0x20,0x20,0xDB,0x24,0x01},
{'i',0x20,0x20,0x20,0x20,0x20,0xDA,0x25,0x01},
{'o','n','g',0x20,0x20,0x20,0xD9,0x26,0x01},
{'o','u',0x20,0x20,0x20,0x20,0xD8,0x27,0x01},
{'u',0x20,0x20,0x20,0x20,0x20,0xD7,0x28,0x01},
{'u','a','n',0x20,0x20,0x20,0xD6,0x29,0x01},
{'u','i',0x20,0x20,0x20,0x20,0xD5,0x2A,0x01},
{'u','n',0x20,0x20,0x20,0x20,0xD4,0x2B,0x01},
{'u','o',0x20,0x20,0x20,0x20,0xD3,0x2C,0x01}
};
BYTE PY_index_t[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xD2,0x2D,0x01},
{'a','i',0x20,0x20,0x20,0x20,0xD1,0x2E,0x01},
{'a','n',0x20,0x20,0x20,0x20,0xD0,0x2F,0x01},
{'a','n','g',0x20,0x20,0x20,0xCF,0x30,0x01},
{'a','o',0x20,0x20,0x20,0x20,0xCE,0x31,0x01},
{'e',0x20,0x20,0x20,0x20,0x20,0xCD,0x32,0x01},
{'e','n','g',0x20,0x20,0x20,0xCC,0x33,0x01},
{'i',0x20,0x20,0x20,0x20,0x20,0xCB,0x34,0x01},
{'i','a','n',0x20,0x20,0x20,0xCA,0x35,0x01},
{'i','a','o',0x20,0x20,0x20,0xC9,0x36,0x01},
{'i','e',0x20,0x20,0x20,0x20,0xC8,0x37,0x01},
{'i','n','g',0x20,0x20,0x20,0xC7,0x38,0x01},
{'o','n','g',0x20,0x20,0x20,0xC6,0x39,0x01},
{'o','u',0x20,0x20,0x20,0x20,0xC5,0x3A,0x01},
{'u',0x20,0x20,0x20,0x20,0x20,0xC4,0x3B,0x01},
{'u','a','n',0x20,0x20,0x20,0xC3,0x3C,0x01},
{'u','i',0x20,0x20,0x20,0x20,0xC2,0x3D,0x01},
{'u','n',0x20,0x20,0x20,0x20,0xC1,0x3E,0x01},
{'u','o',0x20,0x20,0x20,0x20,0xC0,0x3F,0x01}
};
BYTE PY_index_w[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xBF,0x40,0x01},
{'a','i',0x20,0x20,0x20,0x20,0xBE,0x41,0x01},
{'a','n',0x20,0x20,0x20,0x20,0xBD,0x42,0x01},
{'a','n','g',0x20,0x20,0x20,0xBC,0x43,0x01},
{'e','i',0x20,0x20,0x20,0x20,0xBB,0x44,0x01},
{'e','n',0x20,0x20,0x20,0x20,0xBA,0x45,0x01},
{'e','n','g',0x20,0x20,0x20,0xB9,0x46,0x01},
{'o',0x20,0x20,0x20,0x20,0x20,0xB8,0x47,0x01},
{'u',0x20,0x20,0x20,0x20,0x20,0xB7,0x48,0x01}
};
BYTE PY_index_x[][9]={
{'i',0x20,0x20,0x20,0x20,0x20,0xB6,0x49,0x01},
{'i','a',0x20,0x20,0x20,0x20,0xB5,0x4A,0x01},
{'i','a','n',0x20,0x20,0x20,0xB4,0x4B,0x01},
{'i','a','n','g',0x20,0x20,0xB3,0x4C,0x01},
{'i','a','o',0x20,0x20,0x20,0xB2,0x4D,0x01},
{'i','e',0x20,0x20,0x20,0x20,0xB1,0x4E,0x01},
{'i','n',0x20,0x20,0x20,0x20,0xB0,0x4F,0x01},
{'i','n','g',0x20,0x20,0x20,0xAF,0x50,0x01},
{'i','o','n','g',0x20,0x20,0xAE,0x51,0x01},
{'i','u',0x20,0x20,0x20,0x20,0xAD,0x52,0x01},
{'u',0x20,0x20,0x20,0x20,0x20,0xAC,0x53,0x01},
{'u','a','n',0x20,0x20,0x20,0xAB,0x54,0x01},
{'u','e',0x20,0x20,0x20,0x20,0xAA,0x55,0x01},
{'u','n',0x20,0x20,0x20,0x20,0xA9,0x56,0x01}
};
BYTE PY_index_y[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0xA8,0x57,0x01},
{'a','n',0x20,0x20,0x20,0x20,0xA7,0x58,0x01},
{'a','n','g',0x20,0x20,0x20,0xA6,0x59,0x01},
{'a','o',0x20,0x20,0x20,0x20,0xA5,0x5A,0x01},
{'e',0x20,0x20,0x20,0x20,0x20,0xA4,0x5B,0x01},
{'i',0x20,0x20,0x20,0x20,0x20,0xA3,0x5C,0x01},
{'i','n',0x20,0x20,0x20,0x20,0xA2,0x5D,0x01},
{'i','n','g',0x20,0x20,0x20,0xA1,0x5E,0x01},
{'o',0x20,0x20,0x20,0x20,0x20,0xA0,0x5F,0x01},
{'o','n','g',0x20,0x20,0x20,0x9F,0x60,0x01},
{'o','u',0x20,0x20,0x20,0x20,0x9E,0x61,0x01},
{'u',0x20,0x20,0x20,0x20,0x20,0x9D,0x62,0x01},
{'u','a','n',0x20,0x20,0x20,0x9C,0x63,0x01},
{'u','e',0x20,0x20,0x20,0x20,0x9B,0x64,0x01},
{'u','n',0x20,0x20,0x20,0x20,0x9A,0x65,0x01}
};
BYTE PY_index_z[][9]={
{'a',0x20,0x20,0x20,0x20,0x20,0x99,0x66,0x01},
{'a','i',0x20,0x20,0x20,0x20,0x98,0x67,0x01},
{'a','n',0x20,0x20,0x20,0x20,0x97,0x68,0x01},
{'a','n','g',0x20,0x20,0x20,0x96,0x69,0x01},
{'a','o',0x20,0x20,0x20,0x20,0x95,0x6A,0x01},
{'e',0x20,0x20,0x20,0x20,0x20,0x94,0x6B,0x01},
{'e','i',0x20,0x20,0x20,0x20,0x93,0x6C,0x01},
{'e','n',0x20,0x20,0x20,0x20,0x92,0x6D,0x01},
{'e','n','g',0x20,0x20,0x20,0x91,0x6E,0x01},
{'h','a',0x20,0x20,0x20,0x20,0x90,0x6F,0x01},
{'h','a','i',0x20,0x20,0x20,0x8F,0x70,0x01},
{'h','a','n',0x20,0x20,0x20,0x8E,0x71,0x01},
{'h','a','n','g',0x20,0x20,0x8D,0x72,0x01},
{'h','a','o',0x20,0x20,0x20,0x8C,0x73,0x01},
{'h','e',0x20,0x20,0x20,0x20,0x8B,0x74,0x01},
{'h','e','n',0x20,0x20,0x20,0x8A,0x75,0x01},
{'h','e','n','g',0x20,0x20,0x89,0x76,0x01},
{'h','i',0x20,0x20,0x20,0x20,0x88,0x77,0x01},
{'h','o','n','g',0x20,0x20,0x87,0x78,0x01},
{'h','o','u',0x20,0x20,0x20,0x86,0x79,0x01},
{'h','u',0x20,0x20,0x20,0x20,0x85,0x7A,0x01},
{'h','u','a',0x20,0x20,0x20,0x84,0x7B,0x01},
{'h','u','a','i',0x20,0x20,0x83,0x7C,0x01},
{'h','u','a','n',0x20,0x20,0x82,0x7D,0x01},
{'h','u','a','n','g',0x20,0x81,0x7E,0x01},
{'h','u','i',0x20,0x20,0x20,0x80,0x7F,0x01},
{'h','u','n',0x20,0x20,0x20,0x7F,0x80,0x01},
{'h','u','o',0x20,0x20,0x20,0x7E,0x81,0x01},
{'i',0x20,0x20,0x20,0x20,0x20,0x7D,0x82,0x01},
{'o','n','g',0x20,0x20,0x20,0x7C,0x83,0x01},
{'o','u',0x20,0x20,0x20,0x20,0x7B,0x84,0x01},
{'u',0x20,0x20,0x20,0x20,0x20,0x7A,0x85,0x01},
{'u','a','n',0x20,0x20,0x20,0x79,0x86,0x01},
{'u','i',0x20,0x20,0x20,0x20,0x78,0x87,0x01},
{'u','n',0x20,0x20,0x20,0x20,0x77,0x88,0x01},
{'u','o',0x20,0x20,0x20,0x20,0x76,0x89,0x01}
};
BYTE PY_index_end[][9]={0x20,0x20,0x20,0x20,0x20,0x20,0,0,0};
BYTE (* PY_index_pointer[27])[9]=
{
PY_index_a,PY_index_b,PY_index_c,PY_index_d,PY_index_e,
PY_index_f,PY_index_g,PY_index_h,PY_index_j,PY_index_j,
PY_index_k,PY_index_l,PY_index_m,PY_index_n,PY_index_o,
PY_index_p,PY_index_q,PY_index_r,PY_index_s,PY_index_t,
PY_index_w,PY_index_w,PY_index_w,PY_index_x,PY_index_y,
PY_index_z,PY_index_end
};
// 查詢代碼
CNixInputMethod::CNixInputMethod()
{
py_mb_begin=(unsigned long)&PY_mb_a[0][0];
}
CNixInputMethod::~CNixInputMethod()
{
}
BYTE *CNixInputMethod::py_ime(BYTE input_py_val[])
{
BYTE (* p1)[9],(* p2)[9],(* p3)[9];
BYTE i=1;
long dwTemp=0;
if (input_py_val[0]==0) return(0); //"如果輸入空字符返回0"
if (input_py_val[0]=='i') return(0);
if (input_py_val[0]=='u') return(0);
if (input_py_val[0]=='v') return(0);
p1=p2=PY_index_pointer[input_py_val[0]-0x61];
//"計算入口樹根"
p3=PY_index_pointer[input_py_val[0]-0x60]; //"設置指針界限"
if (p1==0) return(0);
//"查詢失敗返回0"
if(input_py_val[1]>0)
{
while (p1<p3)
{
if ((*p1)[0]==input_py_val[1])
{
p2=p1;
break;
}
else
{
p1++;//"查詢第二個拼音"
}
}
}
p1=p2;
if(input_py_val[1]>0)
{
while (p1<p3)
{//"階梯法查詢餘下拼音"
if
(((*p1)[i]==input_py_val[i+1])&&((*p1)[i-1]==input_py_val[i]))
{
p2=p1;
i++;
}
else
{
p1++;
}
}
}
dwTemp=(*p2)[6]+(*p2)[7]*256+(*p2)[8]*65535+py_mb_begin;
return((BYTE *)(dwTemp)); //"返回查詢結果首地址"
}
CString CNixInputMethod::GetInputString(BYTE input_py_val[])
{
BYTE *pTemp;
pTemp=py_ime(input_py_val);
CString strTemp(pTemp);
return strTemp;
}
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1709652