T9輸入法全名為智能輸入法,字庫(kù)容量九千多字,支持十多種語(yǔ)言,是由美國(guó)特捷通訊軟件公司開(kāi)發(fā)的,該輸入法解決了小型掌上設(shè)備的文字輸入問(wèn)題,已經(jīng)成為全球手機(jī)文字輸入的標(biāo)準(zhǔn)之一。
一般手機(jī)拼音輸入鍵盤(pán)如圖:
在這個(gè)鍵盤(pán)上,我們對(duì)比下傳統(tǒng)的輸入法和T9 輸入法,輸入“中國(guó)”兩個(gè)字需要的按鍵次數(shù)。傳統(tǒng)的方法,先按4次9,輸入字母z,再按2 次4 ,輸入字母h ,再按3 次6,輸入字母o,再按2 次6,輸入字母n ,最后按1次4,輸入字母g 。這樣,輸入“中”字,要按鍵12次,接著同樣的方法,輸入“國(guó)”字,需要按6次,總共就是18 次按鍵。 如果是 T9,我們輸入“中”字,只需要輸入:9、4、6、6、4,即可實(shí)現(xiàn)輸入“中”字,在選擇中字之后,T9會(huì)聯(lián)想出一系列同中字組合的次,如文、國(guó)、斷、山等。這樣輸入“國(guó)”字,我們直接選擇即可,所以輸入“國(guó)”字按鍵0次,這樣T9 總共只需要5 次按鍵。 這就是T9 智能輸入法的優(yōu)越之處。正因?yàn)門(mén)9 輸入法高效便捷的輸入方式得到了眾多手機(jī)廠商的采用,以至于T9成為了使用頻率最高知名度最大的手機(jī)輸入法。
先將漢語(yǔ)拼音所有可能的組合全部列出來(lái),如下所示:
const u8 PY_mb_space[]={""};
const u8 PY_mb_a []={"啊阿腌吖錒厑嗄錒呵腌"}; const u8 PY_mb_ai []={"愛(ài)埃挨哎唉哀皚癌藹矮艾礙隘捱噯嗌嬡璦曖砹锿靄"}; const u8 PY_mb_an []={"安俺按暗岸案鞍氨諳胺埯揞犴庵桉銨鵪黯"};
更多組合見(jiàn)代碼:
//"拼音輸入法漢字排列表"
const unsigned char PY_mb_space [] = {""}; //來(lái) 自 :ST_M8._C N const unsigned char PY_mb_a[]= {"啊阿吖嗄腌錒呵安按愛(ài)暗埃"}; const unsigned char PY_mb_ai[]= {"愛(ài)埃礙矮挨唉哎哀皚癌藹艾隘呆捱噯嗌嬡璦曖砹锿靄"}; const unsigned char PY_mb_an[]= {"安按暗岸案俺氨胺鞍諳埯揞犴庵桉銨鵪黯廣廠"}; const unsigned char PY_mb_ang[]= {"昂骯盎"}; const unsigned char PY_mb_ao[]= {"凹奧敖熬翱襖傲懊澳囂坳拗嗷岙廒遨媼驁獒聱螯鏊鰲鏖"}; const unsigned char PY_mb_b[]= {"不部本鮑柏畢變比并別百報(bào)步辦表"}; const unsigned char PY_mb_ba[]= {"把八吧巴拔霸罷爸壩芭捌扒叭笆疤跋靶耙茇菝岜灞鈀粑鲅魃"}; const unsigned char PY_mb_bai[]= {"百白敗擺伯柏佰拜稗捭掰"}; const unsigned char PY_mb_ban[]= {"辦半板班般版拌搬斑扳伴頒扮瓣絆阪坂鈑瘢癍舨"}; const unsigned char PY_mb_bang[]= {"幫棒邦榜梆膀綁磅蚌鎊傍謗蒡浜"}; const unsigned char PY_mb_bao[]= {"報(bào)保包剝薄胞暴寶飽抱爆炮堡刨苞褒雹豹鮑曝瀑葆孢煲鴇褓趵齙勹宀"}; const unsigned char PY_mb_bei[]= {"北被倍備背輩貝杯卑臂悲碑鋇狽憊焙孛陂邶埤萆蓓唄悖碚鵯褙鐾鞴"}; const unsigned char PY_mb_ben[]= {"本奔苯笨夯畚坌賁錛"}; const unsigned char PY_mb_beng[]= {"泵崩蚌繃甭蹦迸嘣甏"}; const unsigned char PY_mb_bi []= {"比必避閉辟筆壁臂畢彼逼幣鼻蔽秘鄙碧蓖斃毖庇痹敝弊陛拂泌匕俾埤芘蓽荸萆薜吡嗶狴庳愎?jié)уㄥ鲥炬澡蒂S睥畀鉍秕裨篳箅篦舭襞蹕髀"}; const unsigned char PY_mb_bian[]= {"變邊便編遍辯扁辨鞭貶卞辮匾弁芐忭汴緶飚煸砭碥窆褊蝙籩鳊彼岸"}; //來(lái) 自 :ST_M8._C N const unsigned char PY_mb_biao[]= {"表標(biāo)彪膘勺婊驃杓颮飆鏢鑣瘭裱鰾髟"}; const unsigned char PY_mb_bie[]= {"別鱉憋癟蹩"}; const unsigned char PY_mb_bin[]= {"賓彬斌瀕濱擯儐豳繽玢檳殯臏鑌髕鬢"}; const unsigned char PY_mb_bing[]= {"并病兵柄冰丙餅秉炳屏稟邴摒檳"}; const unsigned char PY_mb_bo[]= {"波播剝伯撥薄博勃駁玻泊柏卜菠缽搏鉑箔帛舶脖膊渤魄孛亳啵餑檗掰擘礴鈸鵓簸趵跛踣"}; const unsigned char PY_mb_bu[]= {"不部步布補(bǔ)捕埔卜堡哺埠簿怖卟逋瓿晡钚鈽醭"}; const unsigned char PY_mb_c[]= {"產(chǎn)成程陳蔡曹崔楚褚池仇晁岑從此處車(chē)場(chǎng)傳廠才次查"}; const unsigned char PY_mb_ca[]= {"擦拆嚓礤"}; const unsigned char PY_mb_cai[]= {"采才材菜財(cái)裁彩猜睬踩蔡"}; const unsigned char PY_mb_can[]= {"參殘蠶燦餐慚慘孱驂璨粲黲"}; const unsigned char PY_mb_cang[]= {"藏倉(cāng)蒼艙滄"}; const unsigned char PY_mb_cao[]= {"草槽操糙曹嘈漕螬艚"}; const unsigned char PY_mb_ce[]= {"測(cè)策側(cè)冊(cè)廁惻"}; const unsigned char PY_mb_cen[]= {"參岑涔"}; const unsigned char PY_mb_ceng[]= {"層曾蹭噌"}; const unsigned char PY_mb_ch[]= {"差長(zhǎng)常昌超陳程城持重出初"}; const unsigned char PY_mb_cha[]= {"查差插察茶叉茬碴搽岔詫剎喳嚓猹馇汊姹杈楂槎檫鍤镲衩"}; const unsigned char PY_mb_chai[]= {"差柴拆豺儕釵瘥蠆"}; const unsigned char PY_mb_chan[]= {"產(chǎn)單鏟闡攙摻蟬饞讒纏顫囅諂蕆廛懺潺澶孱羼嬋驏覘禪鐔蟾躔"}; const unsigned char PY_mb_chang[]= {"長(zhǎng)常場(chǎng)廠唱腸昌倡償暢猖嘗敞裳倘倀鬯萇菖徜悵惝閶娼嫦昶氅鯧"}; const unsigned char PY_mb_chao[]= {"朝超潮巢抄鈔嘲吵炒綽剿怊晁焯耖"}; const unsigned char PY_mb_che[]= {"車(chē)徹尺撤扯掣澈坼硨"}; const unsigned char PY_mb_chen[]= {"陳沉稱(chēng)襯塵臣晨沈郴辰忱趁傖諶讖抻嗔宸琛櫬磣齔"}; const unsigned char PY_mb_cheng[]= {"成程稱(chēng)城承乘呈盛撐誠(chéng)橙懲澄逞騁秤丞埕噌棖檉塍瞠鋮鐺裎蟶酲"}; const unsigned char PY_mb_chi[]= {"持尺齒吃赤池遲翅斥恥癡匙弛馳侈熾傺坻墀茌叱哧啻嗤彳飭媸敕眵鴟瘛褫蚩螭笞篪豉踟魑"}; const unsigned char PY_mb_chong[]= {"種蟲(chóng)重充沖崇涌寵茺忡憧銃舂艟"}; const unsigned char PY_mb_chou[]= {"抽仇臭酬疇躊稠愁籌綢瞅丑儔幬惆瘳讎"}; const unsigned char PY_mb_chu[]= {"出處除初礎(chǔ)觸楚鋤儲(chǔ)畜櫥廚躇雛滁矗搐亍芻怵憷絀杵楮樗褚蜍躕黜屮"}; const unsigned char PY_mb_chuai[]= {"揣搋啜嘬膪踹"}; const unsigned char PY_mb_chuan[]= {"傳船穿串川椽喘舛遄巛氚釧舡"}; const unsigned char PY_mb_chuang[]={"床創(chuàng)窗闖瘡幢愴"}; const unsigned char PY_mb_chui[]= {"吹垂錘椎炊捶陲棰槌"}; const unsigned char PY_mb_chun[]= {"春純醇椿唇淳蠢莼鶉蝽"}; const unsigned char PY_mb_chuo[]= {"戳綽啜輟踔齪"}; const unsigned char PY_mb_ci[]= {"此次刺磁雌詞茨疵辭慈瓷賜伺茲茈呲祠鶿糍"}; const unsigned char PY_mb_cong[]= {"從叢聰蔥囪匆蓯淙驄琮璁"}; const unsigned char PY_mb_cou[]= {"湊楱輳腠"}; const unsigned char PY_mb_cu[]= {"粗促醋簇卒蔟徂猝殂酢蹙蹴"}; const unsigned char PY_mb_cuan[]= {"篡躥竄攢汆攛爨镩"}; const unsigned char PY_mb_cui[]= {"催脆淬粹摧衰崔瘁翠萃啐悴璀榱毳隹"}; //來(lái) 自 :ST_M8._C N const unsigned char PY_mb_cun[]= {"存村寸蹲忖皴"}; const unsigned char PY_mb_cuo[]= {"錯(cuò)措撮磋搓挫厝嵯脞銼矬痤瘥鹺蹉"}; const unsigned char PY_mb_d[]= {"的大地杜董段戴鄧丁竇狄翟刁電黨定等當(dāng)隊(duì)點(diǎn)代道"}; const unsigned char PY_mb_da[]= {"大打達(dá)答搭塔瘩耷噠嗒怛妲沓疸褡笪靼韃"}; const unsigned char PY_mb_dai[]= {"大代帶待袋戴呆歹傣殆貸逮怠埭甙呔岱迨駘紿玳黛"}; const unsigned char PY_mb_dan[]= {"單但彈擔(dān)石蛋淡膽氮丹旦耽鄲撣憚?wù)Q儋萏啖澹殫賧眈疸癉聃簞"}; const unsigned char PY_mb_dang[]= {"黨當(dāng)檔擋蕩讜凼菪宕碭襠"}; const unsigned char PY_mb_dao[]= {"到道導(dǎo)刀倒稻島搗盜蹈禱悼叨幬忉氘燾纛"}; const unsigned char PY_mb_de[]= {"的得地德底锝"}; const unsigned char PY_mb_deng[]= {"等燈登鄧澄蹬瞪凳噔嶝戥磴鐙簦"}; const unsigned char PY_mb_di[]= {"的地第低敵底提帝抵滴弟遞堤迪笛狄滌翟嫡蒂締氐糴詆諦邸坻荻嘀娣綈柢棣覿砥碲睇鏑羝骶"}; const unsigned char PY_mb_dia[]= {"嗲"}; const unsigned char PY_mb_dian[]= {"電點(diǎn)墊典店顛淀掂滇碘靛佃甸惦奠殿阽坫巔玷鈿癜癲簟踮"}; const unsigned char PY_mb_diao[]= {"調(diào)掉吊鳥(niǎo)碉叼雕凋刁釣铞銚貂鯛"}; const unsigned char PY_mb_die[]= {"迭跌爹碟蝶諜疊垤堞揲喋牒瓞耋踮蹀鰈"}; const unsigned char PY_mb_ding[]= {"定頂釘丁訂盯叮鼎錠仃啶玎腚碇町鋌疔耵酊"}; const unsigned char PY_mb_diu[]= {"丟銩"}; const unsigned char PY_mb_dong[]= {"動(dòng)?xùn)|冬懂洞凍董棟侗恫垌咚崠峒氡胨胴硐鶇"}; const unsigned char PY_mb_dou[]= {"斗都豆讀兜抖陡逗痘蔸竇蚪篼"}; const unsigned char PY_mb_du[]= {"度都毒獨(dú)讀渡杜堵鍍頓督犢睹賭肚妒芏嘟瀆櫝牘蠹篤髑黷"}; const unsigned char PY_mb_duan[]= {"斷端段短鍛緞椴煅籪"}; const unsigned char PY_mb_dui[]= {"對(duì)隊(duì)堆敦兌懟憝碓"}; const unsigned char PY_mb_dun[]= {"盾?chē)嶎D蹲敦墩囤鈍遁沌燉砘礅盹鐓躉"}; const unsigned char PY_mb_duo[]= {"多度奪朵掇哆垛躲跺舵剁惰墮馱咄哚沲綞柁鐸裰踱"}; const unsigned char PY_mb_e[]= {"惡額恩俄耳餌蛾餓峨鵝訛娥厄扼遏鄂噩諤堊苊莪萼呃愕屙婀軛腭鋨鍔鶚顎鱷"}; const unsigned char PY_mb_ei[]= {"誒"}; const unsigned char PY_mb_en[]= {"恩蒽摁"}; const unsigned char PY_mb_er[]= {"而二爾兒耳餌洱貳佴邇珥鉺鴯鮞"}; const unsigned char PY_mb_f[]= {"分發(fā)范樊方馮反放復(fù)風(fēng)防非封富翻"}; const unsigned char PY_mb_fa[]= {"發(fā)法閥乏伐罰筏琺垡砝"}; const unsigned char PY_mb_fan[]= {"反翻范犯飯繁泛番凡煩返藩帆樊礬釩販蕃蘩幡梵燔畈蹯"}; const unsigned char PY_mb_fang[]= {"方放防訪房紡仿妨芳肪坊邡彷枋鈁舫魴"}; const unsigned char PY_mb_fei[]= {"非肥飛費(fèi)廢肺沸菲匪啡誹吠芾狒悱淝妃緋榧腓斐扉鐨痱蜚篚翡霏鯡"}; const unsigned char PY_mb_fen[]= {"分粉奮份糞紛芬憤酚吩氛墳焚汾忿僨瀵玢棼鲼鼢"}; const unsigned char PY_mb_feng[]= {"風(fēng)封蜂豐縫峰鋒瘋奉楓烽逢馮諷鳳俸酆葑唪灃砜"}; const unsigned char PY_mb_fo[]= {"佛"}; const unsigned char PY_mb_fou[]= {"否缶"}; const unsigned char PY_mb_fu[]= {"復(fù)服副府夫負(fù)富附福伏符幅腐浮輔付腹婦孵覆扶輻傅佛縛父弗甫膚氟敷拂俘涪袱撫俯釜斧脯腑赴賦阜訃咐匐鳧郛芙芾苻茯莩菔拊呋幞怫滏艴孚駙紱紼桴賻?kù)痦身觏腩凤ヲ厄蒡痱篼燉悯契V鰒"}; const unsigned char PY_mb_g[]= {"個(gè)國(guó)工過(guò)高郭戈葛耿鞏龔甘干古賈谷顧關(guān)管各革公根更改光廣果格共搞"}; const unsigned char PY_mb_ga[]= {"夾噶嘎胳尬尕尜旮釓"}; //來(lái) 自 :ST_M8._C N const unsigned char PY_mb_gai[]= {"改該蓋概鈣溉芥丐陔垓戤賅"}; const unsigned char PY_mb_gan[]= {"干桿感敢趕甘肝稈柑竿贛乾坩苷尷搟泔淦澉紺橄旰矸疳酐"}; const unsigned char PY_mb_gang[]= {"剛鋼缸綱崗港杠岡肛扛戇罡筻"}; const unsigned char PY_mb_gao[]= {"高搞告稿膏篙皋羔糕鎬睪誥郜藁縞槔槁杲鋯"}; const unsigned char PY_mb_ge[]= {"個(gè)各革合格割歌隔蓋哥葛鉻閣戈擱鴿胳疙蛤咯屹鬲仡哿圪塥嗝紇搿膈硌鎘袼頜虼舸骼"}; const unsigned char PY_mb_gei[]= {"給"}; const unsigned char PY_mb_gen[]= {"根跟亙茛哏艮"}; const unsigned char PY_mb_geng[]= {"更耕頸庚羹埂耿梗哽賡綆鯁"}; const unsigned char PY_mb_gong[]= {"工公共供功攻紅鞏貢汞宮恭龔躬弓拱珙肱蚣觥"}; const unsigned char PY_mb_gou[]= {"夠構(gòu)溝句狗鉤勾購(gòu)茍垢佝詬岣遘媾緱枸覯彀笱篝鞲"}; const unsigned char PY_mb_gu[]= {"鼓固古骨故顧股谷估雇孤姑賈辜菇咕箍沽蠱嘏詁菰呱崮汩梏轱牯牿臌轂瞽罟鈷錮鴣鵠痼蛄酤觚鲴鶻"}; const unsigned char PY_mb_gua[]= {"掛刮瓜括剮寡褂卦詿呱栝胍鴰"}; const unsigned char PY_mb_guai[]= {"怪乖拐摑"}; const unsigned char PY_mb_guan[]= {"關(guān)管觀官灌貫慣冠館罐棺綸倌莞摜涫盥鸛矜鰥"}; const unsigned char PY_mb_guang[]={"光廣逛咣獷桄胱"}; const unsigned char PY_mb_gui[]= {"規(guī)貴歸硅鬼軌龜桂瑰圭閨詭癸柜跪劊傀炔匭劌庋宄媯檜炅晷皈簋鮭鱖"}; const unsigned char PY_mb_gun[]= {"滾輥棍袞緄磙鯀"}; const unsigned char PY_mb_guo[]= {"國(guó)過(guò)果鍋郭渦裹馘堝摑咼幗崞猓槨虢聒蜾蟈"}; const unsigned char PY_mb_h[]= {"和會(huì)后何黃胡洪侯賀霍扈韓華郝化好合還活很回號(hào)毫花或海話紅火害"}; const unsigned char PY_mb_ha[]= {"哈蛤蝦鉿"}; const unsigned char PY_mb_hai[]= {"還海害孩骸氦亥駭嘿咳嗨胲醢"}; const unsigned char PY_mb_han[]= {"含焊旱喊漢寒汗函韓酣憨邯涵罕翰撼捍憾悍邗菡撖闞瀚晗焓頇頷蚶鼾"}; const unsigned char PY_mb_hang[]= {"行航夯杭吭巷沆絎珩頏"}; const unsigned char PY_mb_hao[]= {"好號(hào)毫耗豪郝浩鎬壕嚎貉蒿薅嗥嚆濠灝昊皓顥蠔"}; const unsigned char PY_mb_he[]= {"和合河何核赫荷褐喝賀呵禾嚇盒菏貉閡涸鶴訶劾壑嗬闔紇曷盍頜蚵翮"}; const unsigned char PY_mb_hei[]= {"黑嘿嗨"}; const unsigned char PY_mb_hen[]= {"很狠痕恨"}; const unsigned char PY_mb_heng[]= {"橫衡恒哼亨蘅行珩桁"}; const unsigned char PY_mb_hong[]= {"紅洪轟烘哄虹鴻宏弘黌訇訌葒蕻薨閎泓"}; const unsigned char PY_mb_hou[]= {"后候厚侯喉猴吼堠後逅瘊篌糇鱟骺"}; const unsigned char PY_mb_hu[]= {"和護(hù)互湖呼戶(hù)弧乎胡糊虎忽核瑚戲壺葫蝴狐唬滬冱唿囫岵猢怙惚滸滹琥槲轷觳烀煳戽扈祜瓠鵠鶘鹱笏醐斛"}; const unsigned char PY_mb_hua[]= {"化花話劃滑華畫(huà)嘩猾豁驊樺砉鏵"}; const unsigned char PY_mb_huai[]= {"壞懷劃淮槐徊踝"}; const unsigned char PY_mb_huan[]= {"還環(huán)換歡緩患幻煥桓喚瘓豢渙宦郇奐萑擐圜獾洹浣漶寰逭繯鍰鯇鬟"}; const unsigned char PY_mb_huang[]= {"黃簧荒皇慌蝗磺凰惶煌晃幌恍謊隍徨湟潢遑璜肓癀蟥篁鰉"}; const unsigned char PY_mb_hui[]= {"會(huì)回灰揮輝匯毀慧恢繪惠徽潰墮徊蛔悔卉晦賄穢燴諱誨詼茴薈蕙咴噦喙隳洄澮彗繢琿檜暉恚虺蟪麾"}; const unsigned char PY_mb_hun[]= {"混渾葷昏婚魂諢餛閽溷"}; const unsigned char PY_mb_huo[]= {"和活或火貨獲伙霍豁惑禍劐藿攉嚯夥鈥锪鑊耠蠖"}; const unsigned char PY_mb_j[]= {"級(jí)賈江蔣姜焦金靳晉就進(jìn)加經(jīng)家結(jié)階間件及解較機(jī)軍接教極九見(jiàn)"}; const unsigned char PY_mb_ji[]= {"級(jí)及機(jī)極幾積給基其記己期系革計(jì)集即際季激濟(jì)技擊繼急劑既紀(jì)寄擠雞跡績(jī)齊奇吉脊輯籍疾肌棘畸圾稽箕饑譏姬緝汲嫉薊冀伎祭悸寂忌妓藉丌亟乩剞佶偈詰墼芨芰薺蒺蕺掎嘰咭嚌唧岌嵴洎屐驥畿璣楫殛戟戢赍覬犄齏磯羈嵇稷瘠蟣笈笄暨躋跽霽鱭鯽髻麂"}; const unsigned char PY_mb_jia[]= {"加家架價(jià)甲夾假鉀賈稼駕嘉枷佳莢頰嫁茄挾嘏伽郟葭岬浹迦珈戛胛恝鋏鎵痂瘕袷蛺笳袈跏"}; const unsigned char PY_mb_jian[]= {"間件見(jiàn)建堅(jiān)減檢踐尖簡(jiǎn)堿剪艱漸肩鍵健柬鑒劍殲監(jiān)兼淺奸箭繭艦儉箋煎緘鹼揀撿薦檻賤餞濺澗僭諫谫菅蒹搛囝湔蹇謇縑枧楗戔戩牮犍毽腱瞼锏鶼裥筧翦趼踺鰹韉"}; const unsigned char PY_mb_jiang[]= {"將降講強(qiáng)江漿蔣獎(jiǎng)疆僵姜槳匠醬茳洚絳韁犟礓耩糨豇"}; const unsigned char PY_mb_jiao[]= {"較教交角叫腳膠澆焦覺(jué)校蕉攪酵郊鉸窖椒礁驕嬌嚼矯僥狡餃繳絞剿轎佼僬艽茭撟噍嶠徼姣敫皎鷦蛟醮跤鮫"}; const unsigned char PY_mb_jie[]= {"結(jié)階解接節(jié)家界截介借價(jià)屆街揭潔杰竭皆秸劫桔捷睫姐戒藉芥疥誡楷偈訐詰拮喈嗟婕孑桀碣癤頡蚧羯鮚骱"}; const unsigned char PY_mb_jin[]= {"進(jìn)金近緊斤今盡僅勁浸禁津筋錦晉巾襟謹(jǐn)靳燼巹藎堇噤饉廑妗縉瑾槿贐覲衿矜"}; const unsigned char PY_mb_jing[]= {"經(jīng)精京徑井靜竟晶凈境鏡景警勁莖敬驚睛競(jìng)荊兢鯨粳痙靖剄儆阱菁獍憬?jīng)苻煆嗘弘旅勲骒红n"}; const unsigned char PY_mb_jiong[]= {"炯窘迥炅扃"}; const unsigned char PY_mb_jiu[]= {"就九舊究久救酒糾揪玖韭灸廄臼舅咎疚僦啾鬮柩桕鳩鷲赳鬏"}; const unsigned char PY_mb_ju[]= {"具據(jù)局舉車(chē)句聚距巨居鋸劇矩拒柜桔鞠拘狙疽駒菊咀沮踞俱懼炬倨詎苣苴莒掬遽屨琚枸椐榘櫸橘犋颶鉅鋦窶裾趄醵踽齟雎瞿鞫"}; const unsigned char PY_mb_juan[]= {"卷捐鵑娟倦眷絹俊鄄狷涓桊蠲錈鐫雋"}; const unsigned char PY_mb_jue[]= {"決覺(jué)絕角腳掘嚼撅攫抉倔爵訣厥劂譎矍蕨嗟噘噱崛獗孓玨桷橛爝镢蹶觖巨額"}; const unsigned char PY_mb_jun[]= {"軍均菌君龜鈞峻俊竣浚郡駿捃皸筠麇"}; const unsigned char PY_mb_k[]= {"可開(kāi)看蒯克孔鄺寇科口空苦快考刻靠況塊困寬礦抗卡"}; const unsigned char PY_mb_ka[]= {"卡喀咖咯佧咔胩"}; const unsigned char PY_mb_kai[]= {"開(kāi)凱揩楷慨剴塏蒈愾愷鎧锎鍇"}; const unsigned char PY_mb_kan[]= {"看刊坎檻堪勘砍嵌侃莰闞戡龕瞰"}; const unsigned char PY_mb_kang[]= {"抗康炕慷糠扛亢伉閌鈧"}; const unsigned char PY_mb_kao[]= {"考靠拷烤尻栲犒銬"}; const unsigned char PY_mb_ke[]= {"可克科刻客殼顆棵柯呵坷苛磕咳渴課嗑岢恪溘騍緙珂軻氪瞌鈳錁稞疴窠頦蝌髁"}; const unsigned char PY_mb_ken[]= {"肯啃墾懇裉"}; const unsigned char PY_mb_keng[]= {"坑吭鏗"}; const unsigned char PY_mb_kong[]= {"孔空控恐倥崆箜"}; const unsigned char PY_mb_kou[]= {"口扣摳寇芤蔻叩眍筘"}; const unsigned char PY_mb_ku[]= {"苦庫(kù)枯酷哭窟褲刳堀嚳绔骷"}; const unsigned char PY_mb_kua[]= {"跨夸垮挎胯侉"}; const unsigned char PY_mb_kuai[]= {"會(huì)快塊筷儈蒯鄶噲獪澮膾"}; const unsigned char PY_mb_kuan[]= {"寬款髖"}; const unsigned char PY_mb_kuang[]= {"況礦狂框匡筐眶曠誆誑鄺壙夼哐纊貺"}; const unsigned char PY_mb_kui[]= {"奎潰饋虧盔巋窺葵魁傀愧馗匱夔隗蕢揆喹喟悝憒逵暌睽聵蝰簣跬"}; const unsigned char PY_mb_kun[]= {"困昆坤捆悃閫琨錕醌鯤髡"}; const unsigned char PY_mb_kuo[]= {"擴(kuò)括適闊廓栝蛞"}; const unsigned char PY_mb_l[]= {"了來(lái)賴(lài)羅呂劉魯李林雷廖盧梁厲廉陸龍黎鹿量理路里論兩利領(lǐng)流力立料連老六輪類(lèi)列"}; const unsigned char PY_mb_la[]= {"拉落啦蠟臘藍(lán)垃喇辣剌邋旯砬瘌"}; const unsigned char PY_mb_lai[]= {"來(lái)賴(lài)萊崍徠淶瀨賚睞錸癩籟"}; const unsigned char PY_mb_lan[]= {"蘭爛藍(lán)覽欄婪攔籃闌瀾讕攬懶纜濫嵐漤欖斕罱鑭襤"}; const unsigned char PY_mb_lang[]= {"浪朗郎狼瑯榔廊莨蒗啷閬鋃稂螂"}; const unsigned char PY_mb_lao[]= {"老勞落牢澇撈絡(luò)佬姥酪烙潦嘮嶗栳銠鐒癆耢醪"}; const unsigned char PY_mb_le[]= {"了樂(lè)勒肋仂叻泐鰳"}; const unsigned char PY_mb_lei[]= {"類(lèi)雷累勒壘淚鐳蕾磊儡擂肋羸誄嘞嫘縲檑耒酹"}; const unsigned char PY_mb_leng[]= {"冷棱楞塄愣"}; const unsigned char PY_mb_li[]= {"理里利力立離例歷粒厘禮李隸黎璃勵(lì)犁梨麗厲籬貍漓鯉莉荔吏栗礫傈俐痢瀝哩鬲儷俚酈壢藶蒞蘺藜嚦唳喱猁悝溧澧邐娌嫠驪縭櫪櫟轢戾礪詈罹鋰鸝癘疬蠣蜊蠡笠篥糲醴躒靂鱺鱧黧"}; const unsigned char PY_mb_lia[]= {"倆"}; const unsigned char PY_mb_lian[]= {"連聯(lián)練煉臉鏈蓮鐮廉憐漣簾斂戀蘞奩瀲濂璉楝殮臁褳襝蠊鰱立案"}; const unsigned char PY_mb_liang[]= {"量?jī)杉Z良亮梁涼輛粱晾諒墚莨椋踉靚魎"}; const unsigned char PY_mb_liao[]= {"了料療遼僚撩聊燎寥潦撂鐐廖蓼尥嘹獠寮繚釕鷯"}; const unsigned char PY_mb_lie[]= {"列裂烈劣獵冽埒捩咧洌趔躐鬣"}; const unsigned char PY_mb_lin[]= {"林磷臨鄰淋麟琳霖鱗凜賃吝藺啉嶙廩懔遴檁轔膦瞵粼躪"}; const unsigned char PY_mb_ling[]= {"領(lǐng)另零令靈嶺鈴齡凌棱陵拎玲菱伶羚酃苓呤囹泠綾柃欞瓴聆蛉翎鯪"}; const unsigned char PY_mb_liu[]= {"流六留劉硫柳陸?zhàn)s瘤溜琉榴碌瀏遛騮綹旒熘锍鎦鷚鎏"}; const unsigned char PY_mb_lo[]= {"咯"}; const unsigned char PY_mb_long[]= {"龍壟弄籠隆聾嚨窿攏隴垅蘢瀧瓏櫳朧礱癃"}; const unsigned char PY_mb_lou[]= {"漏露樓婁摟簍陋僂蔞嘍嶁鏤瘺耬螻髏"}; const unsigned char PY_mb_lu[]= {"路錄陸爐露蘆盧顱廬擄鹵虜魯麓碌賂鹿潞祿戮壚擼嚕瀘淥漉逯璐櫨櫓轤輅轆氌臚镥鸕鷺簏艫鱸六綠"}; const unsigned char PY_mb_luan[]= {"卵亂巒攣孿灤臠孌欒鸞鑾"}; const unsigned char PY_mb_lue[]= {"略掠鋝"}; const unsigned char PY_mb_lun[]= {"論輪倫掄侖淪綸圇"}; const unsigned char PY_mb_luo[]= {"落羅螺洛絡(luò)邏咯烙蘿鑼籮騾裸駱倮蠃犖捋摞玀濼漯珞欏腡硌鏍瘰雒"}; const unsigned char PY_mb_lv[]= {"率律旅慮驢呂鋁侶履屢縷氯濾綠捋閭櫚膂稆褸僂"}; const unsigned char PY_mb_m[]= {"面命馬孟穆梅糜們民毛茅苗莫沒(méi)米明么每門(mén)名磨美密滿(mǎn)畝目嘸"}; const unsigned char PY_mb_ma[]= {"馬么麻嗎媽罵嘛碼摩抹瑪螞嘜犸嬤榪蟆"}; const unsigned char PY_mb_mai[]= {"麥脈賣(mài)買(mǎi)埋邁勱荬霾"}; const unsigned char PY_mb_man[]= {"滿(mǎn)慢曼漫蔓瞞饅蠻謾墁幔縵熳鏝顢螨鰻鞔"}; const unsigned char PY_mb_mang[]= {"忙芒盲茫氓莽邙漭硭蟒"}; const unsigned char PY_mb_mao[]= {"毛矛冒貌貿(mào)帽貓茅錨鉚卯茂袤茆峁泖瑁昴牦耄旄懋瞀蟊髦"}; const unsigned char PY_mb_me[]= {"么麼"}; const unsigned char PY_mb_mei[]= {"沒(méi)每美煤霉酶梅妹眉玫枚媒鎂昧寐媚糜謎莓嵋猸浼湄楣镅鹛袂魅"}; const unsigned char PY_mb_men[]= {"們門(mén)悶捫燜懣鍆"}; const unsigned char PY_mb_meng[]= {"孟猛蒙盟夢(mèng)萌錳氓檬勐甍瞢懵朦礞虻蜢蠓艋艨"}; const unsigned char PY_mb_mi[]= {"米密迷蜜秘瞇醚靡糜謎彌覓泌冪羋謐蘼咪嘧獼汨宓弭脒禰敉糸縻麋"}; const unsigned char PY_mb_mian[]= {"面棉免綿眠冕勉娩緬沔澠湎靦眄"}; const unsigned char PY_mb_miao[]= {"苗秒描廟妙瞄藐渺喵邈緲繆杪淼眇鹋"}; const unsigned char PY_mb_mie[]= {"滅蔑乜咩蠛篾"}; const unsigned char PY_mb_min[]= {"民敏抿皿憫閩苠岷閔泯緡玟珉愍黽鳘"}; const unsigned char PY_mb_ming[]= {"命明名鳴螟盟銘冥茗溟暝瞑酩"}; const unsigned char PY_mb_miu[]= {"謬繆"}; const unsigned char PY_mb_mo[]= {"無(wú)磨沒(méi)萬(wàn)末模膜摸墨摩脈莫抹冒默貉嘿摹蘑魔沫漠寞陌謨茉驀饃嫫歿鏌秣瘼耱貊貘"}; const unsigned char PY_mb_mou[]= {"某謀牟侔哞繆眸蛑蝥鍪"}; const unsigned char PY_mb_mu[]= {"畝目木母墓模幕牧姆穆姥牟拇牡暮募慕睦仫坶苜沐毪鉬"}; const unsigned char PY_mb_n[]= {"年能內(nèi)那聶農(nóng)你南難呢女泥哪拿念牛寧腦粘尼納嗯"}; const unsigned char PY_mb_na[]= {"那南哪拿納呢鈉吶娜捺肭镎衲"}; const unsigned char PY_mb_nai[]= {"耐哪奶乃氖奈鼐艿萘柰"}; const unsigned char PY_mb_nan[]= {"南難男喃囝囡楠腩蝻赧"}; const unsigned char PY_mb_nang[]= {"囊攮囔馕曩"}; const unsigned char PY_mb_nao[]= {"腦鬧努撓惱淖孬垴呶猱瑙硇鐃蟯"}; const unsigned char PY_mb_ne[]= {"呢哪吶訥"}; const unsigned char PY_mb_nei[]= {"內(nèi)那哪餒"}; const unsigned char PY_mb_nen[]= {"嫩恁"}; const unsigned char PY_mb_neng[]= {"能"}; const unsigned char PY_mb_ni[]= {"你泥尼呢逆擬尿妮霓倪匿膩溺伲坭猊怩昵旎禰慝睨鈮鯢"}; const unsigned char PY_mb_nian[]= {"年念粘蔫拈碾攆捻釀廿埝輦黏鲇鯰"}; const unsigned char PY_mb_niang[]={"娘釀"}; const unsigned char PY_mb_niao[]= {"尿鳥(niǎo)溺蔦嬲脲裊"}; const unsigned char PY_mb_nie[]= {"鎳嚙涅捏聶孽鑷乜隉蘗囁顳臬躡"}; const unsigned char PY_mb_nin[]= {"您恁"}; const unsigned char PY_mb_ning[]= {"寧凝擰檸獰濘佞苧嚀甯聹"}; const unsigned char PY_mb_niu[]= {"牛扭鈕紐拗狃忸妞"}; const unsigned char PY_mb_nong[]= {"農(nóng)弄濃膿儂噥"}; const unsigned char PY_mb_nou[]= {"耨"}; const unsigned char PY_mb_nu[]= {"努奴怒弩胬孥駑"}; const unsigned char PY_mb_nuan[]= {"暖"}; const unsigned char PY_mb_nuo[]= {"諾娜挪懦糯儺搦喏锘"}; const unsigned char PY_mb_nv[]= {"女恧釹衄"}; const unsigned char PY_mb_nve[]= {"虐瘧"}; const unsigned char PY_mb_o[]= {"哦喔噢歐偶鷗毆藕嘔慪耦"}; const unsigned char PY_mb_ou[]= {"區(qū)歐偶鷗毆藕嘔漚謳慪甌耦"}; const unsigned char PY_mb_p[]= {"批平判潘彭龐裴蒲配片派破排品皮噴盤(pán)偏評(píng)怕培普貧跑炮"}; const unsigned char PY_mb_pa[]= {"怕派爬帕扒耙啪趴琶葩杷鈀筢"}; const unsigned char PY_mb_pai[]= {"派排拍牌迫哌徘湃俳蒎"}; const unsigned char PY_mb_pan[]= {"判盤(pán)叛番潘攀磐盼畔胖拚爿泮袢襻蟠蹣"}; const unsigned char PY_mb_pang[]= {"旁膀磅乓龐耪胖彷滂逄螃"}; const unsigned char PY_mb_pao[]= {"跑炮刨拋泡咆袍匏狍庖脬皰"}; const unsigned char PY_mb_pei[]= {"配培陪胚呸裴賠佩沛轡帔旆锫醅霈"}; const unsigned char PY_mb_pen[]= {"噴盆湓"}; const unsigned char PY_mb_peng[]= {"碰棚蓬朋捧膨砰抨烹澎彭硼篷鵬堋嘭怦蟛"}; const unsigned char PY_mb_pi[]= {"批皮壞否辟坯脾疲砒霹披劈琵毗啤匹痞僻屁譬丕仳陂陴邳郫圮埤鼙芘擗吡噼庀淠媲紕枇甓睥羆鈹癖裨疋蚍蜱貔"}; const unsigned char PY_mb_pian[]= {"片偏便篇騙扁諞駢緶犏胼翩蹁"}; const unsigned char PY_mb_piao[]= {"票漂樸飄瓢剽莩嘌嫖驃縹殍瞟螵"}; const unsigned char PY_mb_pie[]= {"撇瞥丿苤氕"}; const unsigned char PY_mb_pin[]= {"品貧頻拼蘋(píng)聘拚姘嬪榀牝顰"}; const unsigned char PY_mb_ping[]= {"平評(píng)瓶憑蘋(píng)馮乒坪萍屏俜娉枰鲆冖"}; const unsigned char PY_mb_po[]= {"破迫坡潑繁樸泊頗婆魄粕叵陂鄱濼珀攴釙钷鈸皤笸"}; const unsigned char PY_mb_pou[]= {"剖裒掊"}; const unsigned char PY_mb_pu[]= {"普譜撲埔鋪暴葡樸蒲堡脯仆莆菩圃浦曝瀑匍噗溥濮璞氆鏷鐠蹼"}; const unsigned char PY_mb_q[]= {"起前其錢(qián)喬齊祁秦屈邱戚瞿去氣全期群情區(qū)強(qiáng)切取七求清確權(quán)且青"}; const unsigned char PY_mb_qi[]= {"起其氣期七器齊奇汽企漆欺旗畦啟棄歧稽緝棲戚妻凄柒沏棋崎臍祈祁騎豈乞契砌迄泣訖亟亓俟圻芑芪薺萁萋葺蘄嘁屺岐嶇汔淇騏綺琪琦杞榿槭耆欹祺憩磧頎蠐蜞綦綮蹊鰭麒"}; const unsigned char PY_mb_qia[]= {"卡恰掐洽伽葜袷髂"}; const unsigned char PY_mb_qian[]= {"前千錢(qián)淺簽遷鉛潛牽鉗纖譴扦釬仟謙乾黔遣塹嵌欠歉倩僉阡芊芡茜蕁掮岍慳慊騫搴褰繾槧犍肷愆鈐虔箬箝"}; const unsigned char PY_mb_qiang[]= {"強(qiáng)將槍搶墻腔嗆羌薔戕嬙檣戧熗錆鏘鏹襁蜣羥蹌"}; const unsigned char PY_mb_qiao[]= {"橋瞧殼巧敲喬蕉橇鍬悄僑鞘撬翹峭俏竅雀劁誚譙蕎嶠愀憔繰樵磽蹺鞒"}; const unsigned char PY_mb_qie[]= {"切且砌茄怯竊伽郄愜慊妾挈鍥篋"}; const unsigned char PY_mb_qin[]= {"親侵勤秦欽琴芹擒禽寢沁芩撳吣嗪噙廑溱檎鋟矜覃螓衾"}; const unsigned char PY_mb_qing[]= {"情清青輕傾請(qǐng)親慶氫晴卿擎氰頃苘圊檠磬蜻罄箐綮謦鯖黥"}; const unsigned char PY_mb_qiong[]= {"窮瓊邛煢穹蛩筇跫銎"}; const unsigned char PY_mb_qiu[]= {"求球秋丘仇龜邱囚酋泅俅巰犰湫逑遒楸賕虬蚯蝤裘糗鰍鼽"}; const unsigned char PY_mb_qu[]= {"去區(qū)取曲且渠屈趨驅(qū)趣蛆軀娶齲戌詘劬苣蕖蘧嶇衢闃璩覷氍朐祛磲鴝癯蛐蠼麴瞿黢"}; const unsigned char PY_mb_quan[]= {"全權(quán)圈勸泉醛顴痊拳犬券詮荃悛綣輇畎銓蜷筌鬈"}; const unsigned char PY_mb_que[]= {"確卻缺炔瘸鵲榷雀闋闕愨"}; const unsigned char PY_mb_qun[]= {"群裙逡"}; const unsigned char PY_mb_r[]= {"人如日阮榮認(rèn)入任熱然容讓潤(rùn)弱燃染壤繞仁溶刃仍"}; const unsigned char PY_mb_ran[]= {"然燃染冉苒蚺髯"}; const unsigned char PY_mb_rang[]= {"讓壤嚷瓤攘禳穰"}; const unsigned char PY_mb_rao[]= {"繞擾饒蕘嬈橈"}; const unsigned char PY_mb_re[]= {"熱若惹"}; const unsigned char PY_mb_ren[]= {"人認(rèn)任仁刃忍壬韌妊紉仞荏葚飪軔稔衽"}; const unsigned char PY_mb_reng[]= {"仍扔"}; const unsigned char PY_mb_ri[]= {"日"}; const unsigned char PY_mb_rong[]= {"容溶榮熔融絨戎茸蓉冗嶸狨榕肜蠑"}; const unsigned char PY_mb_rou[]= {"肉揉柔糅蹂鞣"}; const unsigned char PY_mb_ru[]= {"如入儒乳茹蠕孺辱汝褥蓐薷嚅洳溽濡縟銣襦颥"}; const unsigned char PY_mb_ruan[]= {"軟阮朊"}; const unsigned char PY_mb_rui[]= {"瑞銳蕊芮蕤枘睿蚋"}; const unsigned char PY_mb_run[]= {"潤(rùn)閏"}; const unsigned char PY_mb_ruo[]= {"弱若偌箬"}; const unsigned char PY_mb_s[]= {"是上時(shí)孫宋蘇沈粟施邵佘申師帥沙隋石史生說(shuō)社深水所三十使事數(shù)四實(shí)少式山手"}; const unsigned char PY_mb_sa[]= {"撒薩灑卅仨挲脎颯"}; const unsigned char PY_mb_sai[]= {"塞思賽腮鰓噻"}; const unsigned char PY_mb_san[]= {"三散叁傘馓毿糝"}; const unsigned char PY_mb_sang[]= {"桑喪嗓搡磉顙"}; const unsigned char PY_mb_sao[]= {"掃梢搔騷嫂埽繅繰臊瘙鳋"}; const unsigned char PY_mb_se[]= {"色塞瑟澀嗇銫穡"}; const unsigned char PY_mb_sen[]= {"森"}; const unsigned char PY_mb_seng[]= {"僧"}; const unsigned char PY_mb_sh[]= {"數(shù)廈山刪商少召社設(shè)甚聲市師始手收守書(shū)屬術(shù)輸雙水誰(shuí)睡稅順"}; const unsigned char PY_mb_sha[]= {"沙殺砂啥紗莎剎傻煞杉廈唼嗄挲歃鎩痧裟霎鯊"}; const unsigned char PY_mb_shai[]= {"色篩曬"}; const unsigned char PY_mb_shan[]= {"山單閃善珊扇陜撣苫杉刪煽衫擅贍膳汕繕柵剡訕鄯埏芟潸姍嬗騸膻禪釤疝蟮舢跚鱔"}; const unsigned char PY_mb_shang[]= {"上商傷尚湯墑賞晌裳坰绱殤熵觴"}; const unsigned char PY_mb_shao[]= {"少燒稍紹召哨梢鞘捎芍勺韶邵劭苕潲杓蛸筲艄"}; const unsigned char PY_mb_she[]= {"社設(shè)射攝舌折涉舍蛇奢賒赦懾厙佘摺猞灄歙畬麝"}; const unsigned char PY_mb_shen[]= {"深身神什伸參甚滲沈腎審申慎砷呻娠紳嬸詵諗莘葚哂瀋椹胂矧蜃"}; const unsigned char PY_mb_sheng[]= {"生勝聲省升盛繩剩圣牲乘甥嵊澠晟眚笙"}; const unsigned char PY_mb_shi[]= {"是時(shí)十使事實(shí)式識(shí)世試石什示市史師始施士勢(shì)濕適食失視室氏似蝕詩(shī)釋殖拾飾駛匙獅尸虱矢屎柿拭誓逝嗜噬仕侍恃噓峙謚塒蒔蓍弒軾貰炻鈰螫舐筮釃豕鰣?chǎng)蹯赈?quot;}; const unsigned char PY_mb_shou[]= {"手受收首守熟授壽獸售瘦狩綬艏"}; const unsigned char PY_mb_shu[]= {"數(shù)書(shū)樹(shù)屬術(shù)輸述熟束鼠疏殊舒蔬薯叔署樞梳抒淑贖孰暑曙蜀黍戍豎墅庶漱恕俞丨倏塾菽攄沭澍姝紓毹腧殳秫"}; const unsigned char PY_mb_shua[]= {"刷耍唰"}; const unsigned char PY_mb_shuai[]= {"衰帥摔甩蟀"}; const unsigned char PY_mb_shuan[]= {"栓拴閂涮"}; const unsigned char PY_mb_shuang[]={"雙霜爽瀧孀"}; const unsigned char PY_mb_shui[]= {"水說(shuō)誰(shuí)睡稅"}; const unsigned char PY_mb_shun[]= {"順?biāo)彼菜?quot;}; const unsigned char PY_mb_shuo[]= {"說(shuō)數(shù)碩朔爍蒴搠妁槊鑠"}; const unsigned char PY_mb_si[]= {"四思死斯絲似司飼食私廁撕嘶肆寺嗣伺巳廝俟兕厶咝汜泗澌姒駟緦祀鍶鷥耜螄笥"}; const unsigned char PY_mb_song[]= {"松送宋頌聳慫訟誦凇菘崧嵩忪悚淞竦"}; const unsigned char PY_mb_sou[]= {"搜艘擻嗽叟藪嗖嗾餿溲颼瞍鎪螋"}; const unsigned char PY_mb_su[]= {"素速蘇塑縮俗訴宿肅酥粟僳溯夙謖蔌嗉愫涑簌觫穌"}; const unsigned char PY_mb_suan[]= {"算酸蒜狻"}; const unsigned char PY_mb_sui[]= {"隨穗碎雖歲尿隋綏髓遂隧祟誶荽濉邃燧眭睢"}; const unsigned char PY_mb_sun[]= {"損孫筍蓀猻飧榫隼"}; const unsigned char PY_mb_suo[]= {"所縮鎖索莎蓑梭唆瑣嗩嗦嗍娑桫挲脧羧"}; const unsigned char PY_mb_t[]= {"他同它唐譚陶湯童涂田佟提題體圖天頭通條特土團(tuán)統(tǒng)臺(tái)她太套鐵"}; const unsigned char PY_mb_ta[]= {"他它她塔踏塌獺撻蹋拓嗒闥溻漯遢榻沓鉈趿鰨"}; const unsigned char PY_mb_tai[]= {"臺(tái)太態(tài)胎抬泰苔酞汰邰薹呔駘肽炱鈦跆鮐"}; const unsigned char PY_mb_tan[]= {"談碳探炭彈坦貪灘坍?dāng)偘c壇檀痰潭譚毯袒嘆郯澹曇忐鉭錟鐔"}; const unsigned char PY_mb_tang[]= {"堂糖唐塘湯搪棠膛倘躺淌趟燙儻帑溏瑭樘鐋鏜耥螗螳羰醣"}; const unsigned char PY_mb_tao[]= {"套討逃陶萄桃掏濤滔絳淘鼗叨啕洮韜燾饕"}; const unsigned char PY_mb_te[]= {"特忒忑慝鋱"}; const unsigned char PY_mb_teng[]= {"騰疼藤謄滕"}; const unsigned char PY_mb_ti[]= {"提題體替梯惕剔踢銻蹄啼嚏涕剃屜倜荑悌逖綈緹鵜裼醍扌"}; const unsigned char PY_mb_tian[]= {"天田添填甜佃恬舔腆掭忝闐殄畋"}; const unsigned char PY_mb_tiao[]= {"條調(diào)跳挑迢眺佻苕祧窕蜩笤糶齠鰷髫"}; const unsigned char PY_mb_tie[]= {"鐵貼帖萜餮"}; const unsigned char PY_mb_ting[]= {"聽(tīng)停庭挺廷廳烴汀亭艇莛葶婷梃町鋌蜓霆"}; const unsigned char PY_mb_tong[]= {"同通統(tǒng)銅痛筒童桶侗恫桐酮瞳彤捅佟仝垌茼嗵峒慟潼砼"}; const unsigned char PY_mb_tou[]= {"頭投透偷鈄骰"}; const unsigned char PY_mb_tu[]= {"圖土突途徒凸涂吐兔屠禿堍荼菟釷酴"}; const unsigned char PY_mb_tuan[]= {"團(tuán)湍摶彖疃圖案"}; const unsigned char PY_mb_tui[]= {"推退腿頹蛻褪忒煺"}; const unsigned char PY_mb_tun[]= {"囤褪吞屯臀氽飩暾豚"}; const unsigned char PY_mb_tuo[]= {"脫拖托妥橢舵魄鴕陀馱駝拓唾乇佗坨庹沱柝柁橐砣鉈籜酡跎鼉"}; const unsigned char PY_mb_w[]= {"為我無(wú)王汪衛(wèi)魏吳韋聞烏鄔翁溫伍問(wèn)外五位物委完溫萬(wàn)文往武務(wù)圍誤晚"}; const unsigned char PY_mb_wa[]= {"瓦挖凹哇蛙洼娃襪佤媧膃"}; const unsigned char PY_mb_wai[]= {"外歪崴"}; const unsigned char PY_mb_wan[]= {"完萬(wàn)晚彎碗頑灣挽玩蔓娩豌丸烷皖惋宛婉腕剜芄莞菀紈綰琬脘畹蜿"}; const unsigned char PY_mb_wang[]= {"往王望網(wǎng)忘妄亡旺芒汪枉罔尢惘輞魍"}; const unsigned char PY_mb_wei[]= {"為位委圍維唯衛(wèi)微偉未威危尾謂喂味胃魏偽遺違韋畏緯巍桅惟濰葦萎蔚渭尉慰偎諉隈隗圩葳薇囗幃帷崴嵬猥猬闈溈洧潿逶娓瑋韙軎煒煨痿艉鮪"}; const unsigned char PY_mb_wen[]= {"問(wèn)溫文穩(wěn)紋聞蚊瘟吻紊刎閿汶璺雯亠"}; const unsigned char PY_mb_weng[]= {"嗡翁甕蓊蕹"}; const unsigned char PY_mb_wo[]= {"我握窩蝸渦沃撾臥斡倭萵喔幄渥肟硪齷"}; const unsigned char PY_mb_wu[]= {"無(wú)五物武務(wù)誤伍舞污悟霧午惡屋烏吳亡誣鎢巫嗚蕪梧吾毋捂侮塢戊晤勿兀仵阢鄔圬芴唔廡憮忤浯寤迕嫵婺騖杌牾於焐鵡鶩痦蜈鋈鼯"}; const unsigned char PY_mb_x[]= {"學(xué)下行許徐邢蕭肖薛熊解項(xiàng)習(xí)冼小線性新些想心向相系席現(xiàn)西修象先形"}; const unsigned char PY_mb_xi[]= {"系席西習(xí)細(xì)吸析喜洗銑稀戲隙希息襲錫烯犧悉惜溪臘棲昔熙硒矽晰嘻膝夕熄汐犀檄媳僖兮隰郗茜菥葸蓰奚唏徙餼鬩浠淅屣嬉璽樨曦覡欷歙熹禊禧皙穸裼蜥螅蟋舄舾羲粞翕醯蹊鼷"}; const unsigned char PY_mb_xia[]= {"下夏嚇狹霞唬瞎蝦匣轄暇峽俠廈呷狎遐瑕柙硤瘕罅黠"}; const unsigned char PY_mb_xian[]= {"線現(xiàn)先縣限見(jiàn)顯鮮獻(xiàn)險(xiǎn)陷憲纖洗掀弦銑腺锨仙咸賢銜舷閑涎嫌餡羨冼莧薟蘚峴獫暹嫻氙燹祆鷴癇蜆筅秈酰跣躚霰"}; const unsigned char PY_mb_xiang[]= {"想向相象響項(xiàng)箱鄉(xiāng)降香像詳橡享湘廂鑲襄翔祥巷薌葙餉庠驤緗蟓鲞饗"}; const unsigned char PY_mb_xiao[]= {"小消削效笑校銷(xiāo)硝蕭肖孝霄哮囂宵淆曉嘯嘵崤瀟逍驍綃梟枵蛸筱簫魈"}; const unsigned char PY_mb_xie[]= {"些解寫(xiě)斜謝協(xié)械葉血卸屑鞋歇邪脅蟹泄瀉契楔蝎挾攜諧懈偕褻勰燮薤擷獬廨渫瀣邂紲纈榭榍頡躞"}; const unsigned char PY_mb_xin[]= {"新心信鋅芯辛尋欣薪忻釁囟馨昕歆鐔鑫"}; const unsigned char PY_mb_xing[]= {"行性形型星興省醒姓幸腥猩惺刑邢杏陘荇滎擤餳悻硎"}; const unsigned char PY_mb_xiong[]= {"雄胸兄兇熊匈?zèng)败?quot;}; const unsigned char PY_mb_xiu[]= {"修銹休袖秀朽宿臭羞嗅繡咻岫饈庥溴鵂貅髹"}; const unsigned char PY_mb_xu[]= {"續(xù)許須需序虛絮畜敘蓄緒徐墟戌噓酗旭恤婿吁詡勖圩蓿洫滸溆頊栩煦砉盱胥糈醑"}; const unsigned char PY_mb_xuan[]= {"選旋宣懸玄券軒喧癬眩絢儇諼萱揎泫渲漩璇楦暄炫煊碹鉉鏇痃"}; const unsigned char PY_mb_xue[]= {"學(xué)血削雪穴靴薛謔噱澩踅鱈"}; const unsigned char PY_mb_xun[]= {"訓(xùn)旬迅訊尋循巡葷浚勛熏詢(xún)馴殉汛遜巽郇塤荀蕈薰峋徇獯恂洵潯曛窨醺鱘彐"}; const unsigned char PY_mb_y[]= {"一有楊嚴(yán)余閻姚顏袁燕俞岳惲樂(lè)葉羊尹尤用要以于也樣義與由壓?jiǎn)T月意又運(yùn)原油驗(yàn)"}; const unsigned char PY_mb_ya[]= {"壓亞呀牙芽雅蚜鴨匹押鴉丫崖衙涯啞訝伢埡揠岈迓婭琊椏氬砑睚痖"}; const unsigned char PY_mb_yan[]= {"驗(yàn)研嚴(yán)顏眼言鹽演巖沿?zé)熝友谘缪籽嘌茔U焉咽閹淹蜒閻奄艷堰厭硯雁唁彥焰諺殷厴贗剡儼偃兗讞阽郾鄢芫菸崦懨閆閼湮滟妍嫣琰檐晏胭腌焱罨筵釅?mèng)|饜鼴"}; const unsigned char PY_mb_yang[]= {"樣養(yǎng)氧揚(yáng)洋陽(yáng)羊秧央楊仰殃鴦佯瘍癢漾徉怏泱煬烊恙蛘鞅"}; const unsigned char PY_mb_yao[]= {"要藥約搖腰咬邀耀陶僥瘧妖瑤堯遙窯謠姚舀鑰夭爻吆崾徭幺珧杳軺曜肴銚?dān)_窈繇鰩"}; const unsigned char PY_mb_ye[]= {"也業(yè)頁(yè)葉液夜野爺冶邪嘩咽椰噎耶掖曳腋拽靨謁鄴揶曄燁铘"}; const unsigned char PY_mb_yi[]= {"一以義意已移醫(yī)議依易乙藝益異宜儀億遺伊役衣疑亦誼翼譯抑憶疫壹揖銥頤夷胰沂姨彝椅蟻倚矣邑屹臆逸肄裔毅溢詣翌繹刈劓仡佚佾詒圯埸懿苡荑薏弈奕挹弋囈咦咿嗌噫嶧嶷猗飴懌怡悒漪迤驛縊殪軼貽欹旖熠眙釔鎰鐿痍瘞癔翊蜴艤羿翳酏黟衤"}; const unsigned char PY_mb_yin[]= {"因引陰印音銀煙隱飲蔭茵殷姻吟淫寅尹胤鄞圻垠堙茚吲喑狺夤洇湮氤銦癮窨蚓霪齦"}; const unsigned char PY_mb_ying[]= {"應(yīng)影硬營(yíng)英映迎櫻嬰鷹纓瑩螢熒蠅贏盈穎嬴郢塋滎鶯縈鎣攖嚶膺瀅瀠瀛瑛瓔楹媵鸚癭潁罌"}; const unsigned char PY_mb_yo[]= {"育喲唷"}; const unsigned char PY_mb_yong[]= {"用勇永擁涌蛹庸傭臃癰雍踴詠泳恿俑壅墉喁慵邕鏞甬鳙饔"}; const unsigned char PY_mb_you[]= {"有由又油右友優(yōu)幼游尤誘猶幽悠憂(yōu)郵鈾酉佑釉卣攸侑莠莜蕕尢呦囿宥柚猷牖銪疣蚰蚴蝣蝤繇魷黝鼬"}; const unsigned char PY_mb_yu[]= {"于與育魚(yú)雨玉余遇預(yù)域語(yǔ)愈漁予羽愚御谷欲宇蔚尉迂淤盂榆虞輿俞逾愉渝隅娛嶼禹芋郁吁喻峪獄譽(yù)浴寓裕豫馭粥禺毓傴俁諛諭萸菀蕷揄圄圉崳狳飫馀庾閾鬻嫗妤紆瑜昱覦腴腧歟於煜熨燠聿鈺鵒鷸瘐瘀窬窳蜮蝓竽臾舁雩齬肀"}; const unsigned char PY_mb_yuan[]= {"員原圓源元遠(yuǎn)愿院緣援園怨鴛淵冤垣袁轅猿苑垸塬芫掾圜沅媛瑗櫞爰眢鳶螈箢黿"}; const unsigned char PY_mb_yue[]= {"月說(shuō)越約樂(lè)躍曰閱鑰岳粵悅龠瀹櫟樾刖鉞"}; const unsigned char PY_mb_yun[]= {"運(yùn)員云勻均允孕耘鄖隕蘊(yùn)醞暈韻鄆蕓狁惲慍紜韞殞昀氳熨"}; const unsigned char PY_mb_z[]= {"在這主中張章趙曾鄭周鄒朱種著祝甄莊宗詹臧祖左展?fàn)帒?zhàn)作正之制重組治只子自質(zhì)指"}; const unsigned char PY_mb_za[]= {"雜扎咱匝砸咋咂"}; const unsigned char PY_mb_zai[]= {"在再載栽災(zāi)仔哉宰崽甾"}; const unsigned char PY_mb_zan[]= {"贊咱暫攢拶瓚昝簪糌趲鏨"}; const unsigned char PY_mb_zang[]= {"藏臟葬贓奘駔臧"}; const unsigned char PY_mb_zao[]= {"造早遭燥鑿糟棗皂藻澡蚤躁噪灶唣"}; const unsigned char PY_mb_ze[]= {"則擇責(zé)側(cè)澤咋仄賾嘖幘迮昃笮簀舴"}; const unsigned char PY_mb_zei[]= {"賊"}; const unsigned char PY_mb_zen[]= {"怎譖"}; const unsigned char PY_mb_zeng[]= {"增曾綜憎贈(zèng)繒甑罾锃"}; const unsigned char PY_mb_zh[]= {"扎炸摘債戰(zhàn)展長(zhǎng)張章鐘著照找這真爭(zhēng)正政之制治只中周州主住抓轉(zhuǎn)專(zhuān)撰賺裝狀準(zhǔn)"}; const unsigned char PY_mb_zha[]= {"查扎炸閘鍘軋?jiān)炘耪フφгp柞揸吒咤哳喋楂砟痄蚱齄"}; const unsigned char PY_mb_zhai[]= {"寨側(cè)擇摘窄齋翟祭宅債砦瘵"}; const unsigned char PY_mb_zhan[]= {"戰(zhàn)展站占粘顫瞻氈詹沾盞斬輾嶄蘸棧湛綻譫搌旃"}; const unsigned char PY_mb_zhang[]={"長(zhǎng)張章掌仗障脹漲賬樟彰漳杖丈帳瘴仉鄣幛嶂獐嫜璋蟑"}; const unsigned char PY_mb_zhao[]= {"著照找招朝召趙爪罩沼兆嘲昭肇詔啁棹釗笊"}; const unsigned char PY_mb_zhe[]= {"這著者折哲浙遮蟄轍鍺蔗謫摺柘輒磔鷓褶蜇赭"}; const unsigned char PY_mb_zhen[]= {"真針陣鎮(zhèn)振震珍診斟甄砧臻貞偵枕疹圳蓁湞溱縝楨椹榛軫賑胗朕禎畛稹鴆箴"}; const unsigned char PY_mb_zheng[]= {"爭(zhēng)正政整證征蒸癥丁鄭掙睜猙怔拯幀諍崢徵鉦錚箏"}; const unsigned char PY_mb_zhi[]= {"之制治只質(zhì)指直支織止至置志值知識(shí)執(zhí)職植紙致枝殖脂智氏肢秩址滯汁芝吱蜘侄趾旨摯擲幟峙稚炙痔窒卮陟郅埴芷摭帙徵忮彘咫騭櫛枳梔桎軹輊贄胝膣祉祗黹雉鷙痣蛭縶酯跖躓躑豸觶"}; const unsigned char PY_mb_zhong[]= {"中種重眾鐘終忠腫仲盅衷冢忪鍾螽舯踵"}; const unsigned char PY_mb_zhou[]= {"軸周洲州皺驟舟謅粥肘帚咒宙晝荮啁妯紂縐胄碡籀繇酎"}; const unsigned char PY_mb_zhu[]= {"主注著住助豬朱鑄屬株筑柱術(shù)駐逐祝竹貯珠諸蛛誅燭煮拄矚囑蛀佇侏邾茱洙渚潴杼櫧橥炷銖疰瘃褚竺箸舳翥躅麈"}; const unsigned char PY_mb_zhua[]= {"抓爪撾"}; const unsigned char PY_mb_zhuai[]= {"轉(zhuǎn)曳拽嘬"}; const unsigned char PY_mb_zhuan[]= {"轉(zhuǎn)專(zhuān)傳磚撰賺篆囀饌沌顓"}; const unsigned char PY_mb_zhuang[]={"裝狀壯莊撞幢樁妝僮奘"}; const unsigned char PY_mb_zhui[]= {"追錐椎贅墜綴惴騅縋"}; const unsigned char PY_mb_zhun[]= {"準(zhǔn)屯諄肫窀"}; const unsigned char PY_mb_zhuo[]= {"著著捉桌繳拙卓琢茁酌啄灼濁倬諑擢浞涿濯棹焯禚斫鐲"}; const unsigned char PY_mb_zi[]= {"子自資字紫仔籽姿吱茲咨滋淄孜滓漬諮茈呲嵫姊孳緇梓輜貲恣眥錙秭耔笫粢趑觜訾齜鯔髭"}; const unsigned char PY_mb_zong[]= {"總縱宗綜棕鬃蹤傯樅腙粽"}; const unsigned char PY_mb_zou[]= {"走鄒奏揍諏陬鄹騶鯫"}; const unsigned char PY_mb_zu[]= {"組族足阻祖租卒詛俎菹鏃"}; const unsigned char PY_mb_zuan[]= {"鉆賺纂攥纘躦"}; const unsigned char PY_mb_zui[]= {"最罪嘴堆咀醉蕞"}; const unsigned char PY_mb_zun[]= {"尊遵撙樽鱒"}; const unsigned char PY_mb_zuo[]= {"作做左座坐昨撮鑿搓琢佐柞阼唑嘬怍胙祚笮"};
我們將這些組合稱(chēng)之為碼表,然后將這些碼表和其對(duì)應(yīng)的數(shù)字串對(duì)應(yīng)起來(lái),組成一個(gè)拼音索引表,如下所示:
const py_index py_index3[]=
{ {"","",(u8*)PY_mb_space}, {"2","a",(u8*)PY_mb_a}, …… {"586","lun",(u8*)PY_mb_lun}, {"586","luo",(u8*)PY_mb_luo}, {"586","kun",(u8*)PY_mb_kun}, {"586","kuo",(u8*)PY_mb_kuo}, …… {"94664","zhong",(u8*)PY_mb_zhong}, {"94824","zhuai",(u8*)PY_mb_zhuai}, {"94826","zhuan",(u8*)PY_mb_zhuan}, }
/*符號(hào)輸入查詢(xún)碼表*/
/*英文輸入查詢(xún)碼表*/ typedef struct { const char* key; const char* Letter; }T9EN_IDX; const T9EN_IDX t9EN_index[] = { {"2","abcABC"}, {"3","defDEF"}, {"4","ghiGHI"}, {"5","jklJKL"}, {"6","mnoMNO"}, {"7","pqrsPQRS"}, {"8","tuvTUV"}, {"9","wxyzWXYZ"} }; /*拼音輸入法查詢(xún)碼表*/ typedef struct { const char *T9; const char *PY; const unsigned char *MB; }T9PY_IDX; const T9PY_IDX t9PY_index[] ={ {"2","a",PY_mb_a}, {"2","b",PY_mb_b}, {"2","c",PY_mb_c}, {"3","d",PY_mb_d}, {"3","e",PY_mb_e}, {"3","f",PY_mb_f}, {"4","g",PY_mb_g}, {"4","h",PY_mb_h}, {"5","j",PY_mb_j}, {"5","k",PY_mb_k}, {"5","l",PY_mb_l}, {"6","m",PY_mb_m}, {"6","n",PY_mb_n}, {"6","o",PY_mb_o}, {"7","p",PY_mb_p}, {"7","q",PY_mb_q}, {"7","r",PY_mb_r}, {"7","s",PY_mb_s}, {"8","t",PY_mb_t}, {"9","w",PY_mb_w}, {"9","x",PY_mb_x}, {"9","y",PY_mb_y}, {"9","z",PY_mb_z}, {"22","ba",PY_mb_ba}, {"22","ca",PY_mb_ca}, {"23","ce",PY_mb_ce}, {"23","be",PY_mb_bei}, {"24","ai",PY_mb_ai}, {"24","bi",PY_mb_bi}, {"24","ch",PY_mb_ch}, {"24","ci",PY_mb_ci}, {"26","co",PY_mb_cou}, {"26","bo",PY_mb_bo}, {"26","an",PY_mb_an}, {"26","ao",PY_mb_ao}, {"28","bu",PY_mb_bu}, {"28","cu",PY_mb_cu}, {"32","da",PY_mb_da}, {"32","fa",PY_mb_fa}, {"33","de",PY_mb_de}, {"33","fe",PY_mb_fei}, {"34","di",PY_mb_di}, {"34","ei",PY_mb_ei}, {"36","en",PY_mb_en}, {"36","fo",PY_mb_fo}, {"37","er",PY_mb_er}, {"36","do",PY_mb_dou}, {"38","du",PY_mb_du}, {"38","fu",PY_mb_fu}, {"42","ga",PY_mb_ga}, {"42","ha",PY_mb_ha}, {"43","ge",PY_mb_ge}, {"43","he",PY_mb_he}, {"46","go",PY_mb_gou}, {"46","ho",PY_mb_hou}, {"48","gu",PY_mb_gu}, {"48","hu",PY_mb_hu}, {"52","ka",PY_mb_ka}, {"52","la",PY_mb_la}, {"53","le",PY_mb_le}, {"53","ke",PY_mb_ke}, {"54","ji",PY_mb_ji}, {"54","li",PY_mb_li}, {"56","ko",PY_mb_kou}, {"56","lo",PY_mb_lo}, {"58","lu",PY_mb_lu}, {"58","lv",PY_mb_lv}, {"58","ju",PY_mb_ju}, {"58","ku",PY_mb_ku}, {"62","ma",PY_mb_ma}, {"62","na",PY_mb_na}, {"63","me",PY_mb_me}, {"63","ne",PY_mb_ne}, {"64","mi",PY_mb_mi}, {"64","ni",PY_mb_ni}, {"66","mo",PY_mb_mo}, {"66","no",PY_mb_nou}, {"68","mu",PY_mb_mu}, {"68","nu",PY_mb_nu}, {"68","nv",PY_mb_nv}, {"68","ou",PY_mb_ou}, {"72","pa",PY_mb_pa}, {"72","pe",PY_mb_pei}, {"72","ra",PY_mb_ran}, {"72","sa",PY_mb_sa}, {"73","re",PY_mb_re}, {"73","se",PY_mb_se}, {"74","pi",PY_mb_pi}, {"74","qi",PY_mb_qi}, {"74","ri",PY_mb_ri}, {"74","sh",PY_mb_sh}, {"74","si",PY_mb_si}, {"76","so",PY_mb_sou}, {"76","po",PY_mb_po}, {"76","ro",PY_mb_rou}, {"78","pu",PY_mb_pu}, {"78","qu",PY_mb_qu}, {"78","ru",PY_mb_ru}, {"78","su",PY_mb_su}, {"82","ta",PY_mb_ta}, {"83","te",PY_mb_te}, {"84","ti",PY_mb_ti}, {"86","to",PY_mb_tou}, {"88","tu",PY_mb_tu}, {"92","wa",PY_mb_wa}, {"92","ya",PY_mb_ya}, {"92","za",PY_mb_za}, {"93","ze",PY_mb_ze}, {"93","ye",PY_mb_ye}, {"94","yi",PY_mb_yi}, {"94","xi",PY_mb_xi}, {"94","zh",PY_mb_zh}, {"94","zi",PY_mb_zi}, {"96","zo",PY_mb_zou}, {"96","wo",PY_mb_wo}, {"96","yo",PY_mb_yo}, {"98","wu",PY_mb_wu}, {"98","xu",PY_mb_xu}, {"98","yu",PY_mb_yu}, {"98","zu",PY_mb_zu}, {"224","bai",PY_mb_bai}, {"224","cai",PY_mb_cai}, {"226","can",PY_mb_can}, {"226","cao",PY_mb_cao}, {"226","ban",PY_mb_ban}, {"226","bao",PY_mb_bao}, {"234","bei",PY_mb_bei}, {"236","ben",PY_mb_ben}, {"236","cen",PY_mb_cen}, {"242","bia",PY_mb_bian}, {"242","cha",PY_mb_cha}, {"243","che",PY_mb_che}, {"243","bie",PY_mb_bie}, {"244","chi",PY_mb_chi}, {"246","bin",PY_mb_bin}, {"246","cho",PY_mb_chou}, {"248","chu",PY_mb_chu}, {"264","ang",PY_mb_ang}, {"266","con",PY_mb_cong}, {"268","cou",PY_mb_cou}, {"282","cua",PY_mb_cuan}, {"284","cui",PY_mb_cui}, {"286","cun",PY_mb_cun}, {"286","cuo",PY_mb_cuo}, {"324","dai",PY_mb_dai}, {"326","dan",PY_mb_dan}, {"326","dao",PY_mb_dao}, {"326","fan",PY_mb_fan}, {"334","fei",PY_mb_fei}, {"336","fen",PY_mb_fen}, {"336","den",PY_mb_deng}, {"342","dia",PY_mb_dia}, {"343","die",PY_mb_die}, {"346","din",PY_mb_ding}, {"348","diu",PY_mb_diu}, {"366","don",PY_mb_dong}, {"368","dou",PY_mb_dou}, {"368","fou",PY_mb_fou}, {"382","dua",PY_mb_duan}, {"384","dui",PY_mb_dui}, {"386","dun",PY_mb_dun}, {"386","duo",PY_mb_duo}, {"424","gai",PY_mb_gai}, {"424","hai",PY_mb_hai}, {"426","han",PY_mb_han}, {"426","gan",PY_mb_gan}, {"426","gao",PY_mb_gao}, {"426","hao",PY_mb_hao}, {"434","hei",PY_mb_hei}, {"434","gei",PY_mb_gei}, {"436","gen",PY_mb_gen}, {"436","hen",PY_mb_hen}, {"466","gon",PY_mb_gong}, {"466","hon",PY_mb_hong}, {"468","gou",PY_mb_gou}, {"468","hou",PY_mb_hou}, {"482","hua",PY_mb_hua}, {"482","gua",PY_mb_gua}, {"484","gui",PY_mb_gui}, {"484","hui",PY_mb_hui}, {"486","hun",PY_mb_hun}, {"486","huo",PY_mb_huo}, {"486","gun",PY_mb_gun}, {"486","guo",PY_mb_guo}, {"524","kai",PY_mb_kai}, {"524","lai",PY_mb_lai}, {"526","lan",PY_mb_lan}, {"526","kan",PY_mb_kan}, {"526","kao",PY_mb_kao}, {"526","lao",PY_mb_lao}, {"534","lei",PY_mb_lei}, {"536","len",PY_mb_leng}, {"536","ken",PY_mb_ken}, {"542","jia",PY_mb_jia}, {"542","lia",PY_mb_lia}, {"543","jie",PY_mb_jie}, {"543","lie",PY_mb_lie}, {"546","lin",PY_mb_lin}, {"546","jin",PY_mb_jin}, {"546","jio",PY_mb_jiong}, {"548","jiu",PY_mb_jiu}, {"548","liu",PY_mb_liu}, {"566","lon",PY_mb_long}, {"566","kon",PY_mb_kong}, {"568","kou",PY_mb_kou}, {"568","lou",PY_mb_lou}, {"582","lua",PY_mb_luan}, {"582","kua",PY_mb_kua}, {"582","jua",PY_mb_juan}, {"583","jue",PY_mb_jue}, {"583","lue",PY_mb_lue}, {"584","kui",PY_mb_kui}, {"586","lun",PY_mb_lun}, {"586","luo",PY_mb_luo}, {"586","kun",PY_mb_kun}, {"586","kuo",PY_mb_kuo}, {"586","jun",PY_mb_jun}, {"624","mai",PY_mb_mai}, {"624","nai",PY_mb_nai}, {"626","nan",PY_mb_nan}, {"626","man",PY_mb_man}, {"626","mao",PY_mb_mao}, {"626","nao",PY_mb_nao}, {"634","nei",PY_mb_nei}, {"634","mei",PY_mb_mei}, {"636","nen",PY_mb_nen}, {"636","men",PY_mb_men}, {"642","mia",PY_mb_mian}, {"642","nia",PY_mb_nian}, {"643","mie",PY_mb_mie}, {"643","nie",PY_mb_nie}, {"646","nin",PY_mb_nin}, {"646","min",PY_mb_min}, {"648","miu",PY_mb_miu}, {"648","niu",PY_mb_niu}, {"666","non",PY_mb_nong}, {"668","mou",PY_mb_mou}, {"668","nou",PY_mb_nou}, {"682","nua",PY_mb_nuan}, {"683","nve",PY_mb_nve}, {"686","nuo",PY_mb_nuo}, {"724","pai",PY_mb_pai}, {"734","pei",PY_mb_pei}, {"724","sai",PY_mb_sai}, {"726","san",PY_mb_san}, {"726","pan",PY_mb_pan}, {"726","pao",PY_mb_pao}, {"736","pen",PY_mb_pen}, {"726","ran",PY_mb_ran}, {"726","rao",PY_mb_rao}, {"726","sao",PY_mb_sao}, {"736","sen",PY_mb_sen}, {"736","ren",PY_mb_ren}, {"742","pia",PY_mb_pian}, {"742","qia",PY_mb_qia}, {"742","sha",PY_mb_sha}, {"743","pie",PY_mb_pie}, {"743","qie",PY_mb_qie}, {"743","she",PY_mb_she}, {"744","shi",PY_mb_shi}, {"748","shu",PY_mb_shu}, {"746","qin",PY_mb_qin}, {"746","pin",PY_mb_pin}, {"746","qio",PY_mb_qiong}, {"746","sho",PY_mb_shou}, {"748","qiu",PY_mb_qiu}, {"766","ron",PY_mb_rong}, {"768","pou",PY_mb_pou}, {"768","rou",PY_mb_rou}, {"766","son",PY_mb_song}, {"768","sou",PY_mb_sou}, {"782","sua",PY_mb_suan}, {"782","rua",PY_mb_ruan}, {"782","qua",PY_mb_quan}, {"783","que",PY_mb_que}, {"784","rui",PY_mb_rui}, {"784","sui",PY_mb_sui}, {"786","sun",PY_mb_sun}, {"786","suo",PY_mb_suo}, {"786","run",PY_mb_run}, {"786","ruo",PY_mb_ruo}, {"786","qun",PY_mb_qun}, {"824","tai",PY_mb_tai}, {"826","tan",PY_mb_tan}, {"826","tao",PY_mb_tao}, {"836","ten",PY_mb_teng}, {"842","tia",PY_mb_tian}, {"843","tie",PY_mb_tie}, {"846","tin",PY_mb_ting}, {"866","ton",PY_mb_tong}, {"868","tou",PY_mb_tou}, {"882","tua",PY_mb_tuan}, {"884","tui",PY_mb_tui}, {"886","tun",PY_mb_tun}, {"886","tuo",PY_mb_tuo}, {"924","wai",PY_mb_wai}, {"924","zai",PY_mb_zai}, {"926","zan",PY_mb_zan}, {"926","wan",PY_mb_wan}, {"926","yan",PY_mb_yan}, {"926","yao",PY_mb_yao}, {"926","zao",PY_mb_zao}, {"934","zei",PY_mb_zei}, {"934","wei",PY_mb_wei}, {"936","zen",PY_mb_zen}, {"936","wen",PY_mb_wen}, {"942","xia",PY_mb_xia}, {"942","zha",PY_mb_zha}, {"943","xie",PY_mb_xie}, {"943","zhe",PY_mb_zhe}, {"944","zhi",PY_mb_zhi}, {"946","zho",PY_mb_zhou}, {"946","xin",PY_mb_xin}, {"946","xio",PY_mb_xiong}, {"946","yin",PY_mb_yin}, {"948","xiu",PY_mb_xiu}, {"948","zhu",PY_mb_zhu}, {"966","yon",PY_mb_yong}, {"966","zon",PY_mb_zong}, {"968","you",PY_mb_you}, {"968","zou",PY_mb_zou}, {"982","zua",PY_mb_zuan}, {"982","yua",PY_mb_yuan}, {"982","xua",PY_mb_xuan}, {"983","xue",PY_mb_xue}, {"983","yue",PY_mb_yue}, {"984","zui",PY_mb_zui}, {"986","zun",PY_mb_zun}, {"986","zuo",PY_mb_zuo}, {"986","yun",PY_mb_yun}, {"986","xun",PY_mb_xun}, {"2264","bang",PY_mb_bang}, {"2364","beng",PY_mb_beng}, {"2426","bian",PY_mb_bian}, {"2426","biao",PY_mb_biao}, {"2464","bing",PY_mb_bing}, {"2264","cang",PY_mb_cang}, {"2364","ceng",PY_mb_ceng}, {"2424","chai",PY_mb_chai}, {"2426","chan",PY_mb_chan}, {"2426","chao",PY_mb_chao}, {"2436","chen",PY_mb_chen}, {"2466","chon",PY_mb_chong}, {"2468","chou",PY_mb_chou}, {"2482","chua",PY_mb_chuai}, {"2484","chui",PY_mb_chui}, {"2486","chun",PY_mb_chun}, {"2486","chuo",PY_mb_chuo}, {"2664","cong",PY_mb_cong}, {"2826","cuan",PY_mb_cuan}, {"3264","dang",PY_mb_dang}, {"3264","fang",PY_mb_fang}, {"3364","feng",PY_mb_feng}, {"3364","deng",PY_mb_deng}, {"3426","dian",PY_mb_dian}, {"3426","diao",PY_mb_diao}, {"3464","ding",PY_mb_ding}, {"3664","dong",PY_mb_dong}, {"3826","duan",PY_mb_duan}, {"4264","gang",PY_mb_gang}, {"4364","geng",PY_mb_geng}, {"4664","gong",PY_mb_gong}, {"4824","guai",PY_mb_guai}, {"4826","guan",PY_mb_guan}, {"4264","hang",PY_mb_hang}, {"4364","heng",PY_mb_heng}, {"4664","hong",PY_mb_hong}, {"4824","huai",PY_mb_huai}, {"4826","huan",PY_mb_huan}, {"5264","kang",PY_mb_kang}, {"5264","lang",PY_mb_lang}, {"5364","leng",PY_mb_leng}, {"5364","keng",PY_mb_keng}, {"5426","lian",PY_mb_lian}, {"5426","liao",PY_mb_liao}, {"5426","jian",PY_mb_jian}, {"5426","jiao",PY_mb_jiao}, {"5464","jing",PY_mb_jing}, {"5464","ling",PY_mb_ling}, {"5466","jion",PY_mb_jiong}, {"5664","long",PY_mb_long}, {"5664","kong",PY_mb_kong}, {"5824","kuai",PY_mb_kuai}, {"5826","kuan",PY_mb_kuan}, {"5826","luan",PY_mb_luan}, {"5826","juan",PY_mb_juan}, {"6264","mang",PY_mb_mang}, {"6264","nang",PY_mb_nang}, {"6364","meng",PY_mb_meng}, {"6364","neng",PY_mb_neng}, {"6426","mian",PY_mb_mian}, {"6426","miao",PY_mb_miao}, {"6426","nian",PY_mb_nian}, {"6426","niao",PY_mb_niao}, {"6464","ming",PY_mb_ming}, {"6464","ning",PY_mb_ning}, {"6664","nong",PY_mb_nong}, {"6826","nuan",PY_mb_nuan}, {"7264","pang",PY_mb_pang}, {"7364","peng",PY_mb_peng}, {"7264","rang",PY_mb_rang}, {"7264","sang",PY_mb_sang}, {"7364","seng",PY_mb_seng}, {"7364","reng",PY_mb_reng}, {"7424","shai",PY_mb_shai}, {"7426","shan",PY_mb_shan}, {"7426","shao",PY_mb_shao}, {"7426","pian",PY_mb_pian}, {"7426","piao",PY_mb_piao}, {"7426","qian",PY_mb_qian}, {"7426","qiao",PY_mb_qiao}, {"7436","shen",PY_mb_shen}, {"7464","ping",PY_mb_ping}, {"7464","qing",PY_mb_qing}, {"7466","qion",PY_mb_qiong}, {"7468","shou",PY_mb_shou}, {"7482","shua",PY_mb_shua}, {"7484","shui",PY_mb_shui}, {"7486","shun",PY_mb_shun}, {"7486","shuo",PY_mb_shuo}, {"7664","rong",PY_mb_rong}, {"7664","song",PY_mb_song}, {"7826","suan",PY_mb_suan}, {"7826","quan",PY_mb_quan}, {"7826","ruan",PY_mb_ruan}, {"8264","tang",PY_mb_tang}, {"8364","teng",PY_mb_teng}, {"8426","tian",PY_mb_tian}, {"8426","tiao",PY_mb_tiao}, {"8464","ting",PY_mb_ting}, {"8664","tong",PY_mb_tong}, {"8826","tuan",PY_mb_tuan}, {"9264","wang",PY_mb_wang}, {"9264","zang",PY_mb_zang}, {"9264","yang",PY_mb_yang}, {"9364","weng",PY_mb_weng}, {"9364","zeng",PY_mb_zeng}, {"9424","zhai",PY_mb_zhai}, {"9426","zhan",PY_mb_zhan}, {"9426","zhao",PY_mb_zhao}, {"9426","xian",PY_mb_xian}, {"9426","xiao",PY_mb_xiao}, {"9436","zhen",PY_mb_zhen}, {"9464","xing",PY_mb_xing}, {"9464","ying",PY_mb_ying}, {"9466","zhon",PY_mb_zhong}, {"9468","zhou",PY_mb_zhou}, {"9482","zhua",PY_mb_zhua}, {"9484","zhui",PY_mb_zhui}, {"9486","zhun",PY_mb_zhun}, {"9486","zhuo",PY_mb_zhuo}, {"9466","xion",PY_mb_xiong}, {"9664","yong",PY_mb_yong}, {"9664","zong",PY_mb_zong}, {"9826","yuan",PY_mb_yuan}, {"9826","xuan",PY_mb_xuan}, {"9826","zuan",PY_mb_zuan}, {"94264","xiang",PY_mb_xiang}, {"94264","zhang",PY_mb_zhang}, {"94364","zheng",PY_mb_zheng}, {"94664","xiong",PY_mb_xiong}, {"94664","zhong",PY_mb_zhong}, {"94824","zhuai",PY_mb_zhuai}, {"94826","zhuan",PY_mb_zhuan}, {"24264","chang",PY_mb_chang}, {"24364","cheng",PY_mb_cheng}, {"24664","chong",PY_mb_chong}, {"24824","chuai",PY_mb_chuai}, {"24826","chuan",PY_mb_chuan}, {"48264","guang",PY_mb_guang}, {"48264","huang",PY_mb_huang}, {"54264","jiang",PY_mb_jiang}, {"54264","liang",PY_mb_liang}, {"54664","jiong",PY_mb_jiong}, {"58264","kuang",PY_mb_kuang}, {"64264","niang",PY_mb_niang}, {"74264","qiang",PY_mb_qiang}, {"74264","shang",PY_mb_shang}, {"74364","sheng",PY_mb_sheng}, {"74664","qiong",PY_mb_qiong}, {"74824","shuai",PY_mb_shuai}, {"74826","shuan",PY_mb_shuan}, {"248264","chuang",PY_mb_chuang}, {"748264","shuang",PY_mb_shuang}, {"948264","zhuang",PY_mb_zhuang}, {"","",PY_mb_space} };
其中py_index 是一個(gè)結(jié)構(gòu)體,定義如下:
typedef struct
{ u8 *py_input; //輸入的字符串 u8 *py; //對(duì)應(yīng)的拼音 u8 *pymb; //碼表 }py_index;
py_input是與拼音對(duì)應(yīng)的數(shù)字串,比如“94824 ”。py是與py_input 數(shù)字串對(duì)應(yīng)的拼音,如果py_input=" 94824 ”,那么py 就是“zhuai ”。最后pymb,就是我們前面說(shuō)到的碼表。注意,一個(gè)數(shù)字串可以對(duì)應(yīng)多個(gè)拼音,也可以對(duì)應(yīng)多個(gè)碼表。
在有了這個(gè)拼音索引表(py_index3)之后,我們只需要將輸入的數(shù)字串和py_index3 索引 表里面所有成員的py_input 對(duì)比,將所有完全匹配的情況記錄下來(lái)(例如記錄在py_index**matchlist中),然后由用戶(hù)選擇可能的拼音組成(假設(shè)有多個(gè)匹配的項(xiàng)目),再選擇對(duì)應(yīng)的漢字,即完成一次漢字輸入。當(dāng)然還可能是找遍了索引表,也沒(méi)有發(fā)現(xiàn)一個(gè)完全符合要求的成員,那么我們會(huì)統(tǒng)計(jì)匹配數(shù)最多的情況,作為最佳結(jié)果,反饋給用戶(hù)。比如,用戶(hù)輸入“323”,找不到完全匹配的情況,那么我們就將能和“32”匹配的結(jié)果返回給用戶(hù)。這樣,用戶(hù)還是可以得到輸入結(jié)果,同時(shí)還可以知道輸入有問(wèn)題,提示用戶(hù)需要檢查輸入是否正確。
一個(gè)完整的T9 拼音輸入步驟(過(guò)程):
1)輸入拼音數(shù)字串
我們用到的T9 拼音輸入法的核心思想就是對(duì)比用戶(hù)輸入的拼音數(shù)字串,所以必 須先由用戶(hù)輸入拼音數(shù)字串。
2 )在拼音索引表里面查找和輸入字符串匹配的項(xiàng),并記錄
在得到用戶(hù)輸入的拼音數(shù)字串之后,在拼音索引表里面查找所有匹配的項(xiàng)目,如果有 完全匹配的項(xiàng)目,就全部記錄下來(lái),如果沒(méi)有完全匹配的項(xiàng)目,則記錄匹配情況最好的一個(gè)項(xiàng)目。
3 )顯示匹配清單里面所有可能的漢字,供用戶(hù)選擇.
將匹配項(xiàng)目的拼音和對(duì)應(yīng)的漢字顯示出來(lái),供用戶(hù)選擇。如果有多個(gè)匹配項(xiàng)(一個(gè)數(shù)字串對(duì)應(yīng)多個(gè)拼音的情況),則用戶(hù)還可以選擇拼音。
4 )用戶(hù)選擇匹配項(xiàng),并選擇對(duì)應(yīng)的漢字.
用戶(hù)對(duì)匹配的拼音和漢字進(jìn)行選擇,選中其真正想輸入的拼音和漢字,實(shí)現(xiàn)一次拼音輸入。
以上4 個(gè)步驟,就可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的T9 漢字拼音輸入法。
// 比較兩個(gè)字符串的匹配情況
//返回值:0xff,表示完全匹配. // 其他,匹配的字符數(shù) u8 str_match(u8*str1,u8*str2) { u8 i=0; while(1) { if(*str1!=*str2)break; //部分匹配 if(*str1=='\0'){i=0XFF;break;}//完全匹配 i++; str1++; str2++; } return i;//兩個(gè)字符串相等 } //獲取匹配的拼音碼表 //*strin,輸入的字符串,形如:"726" //**matchlist,輸出的匹配表. //返回值:[7],0,表示完全匹配;1,表示部分匹配(僅在沒(méi)有完全匹配的時(shí)候才會(huì)出現(xiàn)) // [6:0],完全匹配的時(shí)候,表示完全匹配的拼音個(gè)數(shù) // 部分匹配的時(shí)候,表示有效匹配的位數(shù) u8 get_matched_pymb(u8 *strin,py_index **matchlist) { py_index *bestmatch;//最佳匹配 u16 pyindex_len; u16 i; u8 temp,mcnt=0,bmcnt=0; bestmatch=(py_index*)&py_index3[0];//默認(rèn)為a 的匹配 pyindex_len=sizeof(py_index3)/sizeof(py_index3[0]);//得到py 索引表的大小. for(i=0;i<pyindex_len;i++) { temp=str_match(strin,(u8*)py_index3[i].py_input); if(temp) { if(temp==0XFF)matchlist[mcnt++]=(py_index*)&py_index3[i]; else if(temp>bmcnt)//找最佳匹配 { bmcnt=temp; bestmatch=(py_index*)&py_index3[i];//最好的匹配. } } } if(mcnt==0&&bmcnt)//沒(méi)有完全匹配的結(jié)果,但是有部分匹配的結(jié)果 { matchlist[0]=bestmatch; mcnt=bmcnt|0X80; //返回部分匹配的有效位數(shù) } return mcnt;//返回匹配的個(gè)數(shù) } //得到拼音碼表. //str:輸入字符串 //返回值:匹配個(gè)數(shù). u8 get_pymb(u8* str) { return get_matched_pymb(str,t9.pymb); } // 測(cè)試用 void test_py(u8 *inputstr) { ……代碼省略 }