www.pudn.com > hrfont.rar > hrfont.c


/*************************************************** 
** 
** 
**	ÊäÈë·¨²âÊÔ³ÌÐò 
** 
****************************************************/ 
 
#include  
 
#include  
 
#include  
 
typedef unsigned char uchar; 
typedef unsigned int uint; 
 
typedef	 struct _hzfont{ 
		uchar				m_fontcode[2]; 
		struct _hzfont *	m_pPre; 
		struct _hzfont *	m_pNext; 
}hzfont,*phzfont; 
 
typedef	 struct _hzlist{ 
		struct _hzlist *	m_plist[26]; 
		phzfont				m_pfont; 
}hzlist,*phzlist; 
 
 
hzlist hrlist; 
 
int InsertCode(char* pcode,char *pname) 
{ 
	phzlist pnewlist,ptmplist; 
	phzfont pnewfont,ptmpfont; 
	ptmplist = &hrlist; 
	while(*pcode) 
	{ 
		if(ptmplist->m_plist[*pcode - 0x61] == NULL) 
		{ 
			pnewlist = (phzlist)malloc(sizeof(hzlist)); 
 
			memset(pnewlist,0,sizeof(hzlist)); 
		 
			ptmplist->m_plist[*(pcode) - 0x61] = pnewlist; 
		} 
		ptmplist = ptmplist->m_plist[*(pcode++) - 0x61]; 
	} 
	ptmpfont = ptmplist->m_pfont; 
/*	pnewfont = (phzfont)malloc(sizeof(hzfont)); 
	pnewfont->m_fontcode[0] = *pname; 
	pnewfont->m_fontcode[1] = *(pname+1); 
	pnewfont->m_pPre = NULL; 
	pnewfont->m_pNext = NULL; 
*/ 
	if(ptmpfont) 
	{ 
		while(ptmpfont->m_pNext) 
			ptmpfont = ptmpfont->m_pNext; 
		 
//		pnewfont->m_pPre = ptmpfont; 
//		ptmpfont->m_pNext = pnewfont; 
	} 
	else //ptmplist->m_pfont = pnewfont; 
	{ 
		pnewfont = (phzfont)malloc(sizeof(hzfont)); 
		pnewfont->m_fontcode[0] = *(pname++); 
		pnewfont->m_fontcode[1] = *(pname++); 
		pnewfont->m_pPre = NULL; 
		pnewfont->m_pNext = NULL; 
 
		ptmplist->m_pfont = pnewfont; 
		ptmpfont = pnewfont; 
	} 
	while(*pname) 
	{ 
		pnewfont = (phzfont)malloc(sizeof(hzfont)); 
		pnewfont->m_fontcode[0] = *(pname++); 
		pnewfont->m_fontcode[1] = *(pname++); 
		pnewfont->m_pPre = NULL; 
		pnewfont->m_pNext = NULL; 
		 
		pnewfont->m_pPre = ptmpfont; 
		ptmpfont->m_pNext = pnewfont; 
 
		ptmpfont = ptmpfont->m_pNext; 
	} 
	return 0; 
} 
 
int SearchFontCode(phzlist plist,char *pcode) 
{ 
	phzfont ptmpfont = NULL; 
	int loop = 0; 
	int count = 0; 
	if(!plist) return 0; 
	 
	ptmpfont = plist->m_pfont ; 
	while(ptmpfont) 
	{ 
		pcode[loop++] = ptmpfont->m_fontcode[0]; 
		pcode[loop++] = ptmpfont->m_fontcode[1]; 
		ptmpfont = ptmpfont->m_pNext; 
	} 
//µÝ¹éµ÷ÓÃ,µÃµ½ÏàËÆ×ÖÌå 
	for(count = 0 ; count < 26 ; count++) 
		loop += SearchFontCode(plist->m_plist[count],pcode+loop); 
 
	return loop; 
} 
 
int SearchCode(char *pcode , char *pname) 
{ 
	phzlist ptmplist = NULL; 
	phzfont ptmpfont = NULL; 
	phzlist ptmplist2 = NULL; 
	 
	int loop = 0; 
	int serindex = 0; 
	ptmplist = &hrlist; 
	while(*pcode) 
	{ 
		ptmplist = ptmplist->m_plist[*(pcode++) - 0x61]; 
		if(!ptmplist) return 0; 
	} 
	return SearchFontCode(ptmplist,pname); 
} 
 
int FreeFontCach(phzlist plist) 
{ 
	int i = 0; 
 
	phzfont ptmpfont1 = NULL; 
	phzfont ptmpfont2 = NULL; 
	 
	if(!plist) return 0; 
	ptmpfont1 = plist->m_pfont; 
	while(ptmpfont1) 
	{ 
		ptmpfont2 = ptmpfont1->m_pNext; 
		free(ptmpfont1); 
		ptmpfont1 = ptmpfont2; 
	} 
	for(i = 0; i < 26 ; i++) 
	{ 
		FreeFontCach(plist->m_plist[i]); 
	} 
/*	if(plist) 
	{ 
		free(plist); 
		plist = NULL; 
	} 
*/ 
	return 0; 
} 
 
void Init_Font_Code(void) 
{ 
	InsertCode("a","°¢°¡ß¹ï¹àĺÇëç"); 
	InsertCode("ai","°¥°§°¦°£°¤°¨°©°«°ª°¬°®°¯°­"); 
	InsertCode("an","°²°±°°°³°¶°´°¸°·°µ"); 
	InsertCode("ang","°¹°º°»"); 
	InsertCode("ao","°¼°½°¾°¿°À°Á°Â°Ä°Ã"); 
 
	InsertCode("ba","°Ë°Í°È°Ç°É°Å°Ì°Æ°Ê°Î°Ï°Ñ°Ð°Ó°Ö°Õ°Ô"); 
	InsertCode("bai","°×°Ù°Û°Ø°Ú°Ü°Ý°Þ"); 
	InsertCode("ban","°â°à°ã°ä°ß°á°å°æ°ì°ë°é°ç°è°í°ê"); 
	InsertCode("bang","°î°ï°ð°ó°ñ°ò°ö°ø°ô°ù°õ°÷"); 
	InsertCode("bao","°ü°ú°û°ý±¢±¦±¥±£±¤±¨±§±ª±«±©±¬°þ±¡ÆÙ"); 
	InsertCode("bei","±°±­±¯±®±±±´±·±¸±³±µ±¶±»±¹±º±²"); 
	InsertCode("ben","±¼±¾±½±¿º»"); 
	InsertCode("beng","±À±Á±Â±Ã±Å±Ä"); 
	InsertCode("bi","±Æ±Ç±È±Ë±Ê±É±Ò±Ø±Ï±Õ±Ó±Ñ±Ý±Ð±Ö±Ô±Í±×±Ì±Î±Ú±Ü±Û"); 
	InsertCode("bian","±ß±à±Þ±á±â±å±ã±ä±é±æ±ç±è"); 
    InsertCode("biao","±ë±ê±ì±í"); 
	InsertCode("bie","±ï±î±ð±ñ"); 
	InsertCode("bin","±ö±ò±ó±õ±ô±÷"); 
	InsertCode("bing","±ù±ø±û±ü±ú±þ±ý²¢²¡"); 
	InsertCode("bo","²¦²¨²£²§²±²¤²¥²®²µ²¯²´²ª²¬²°²©²³²«²­²²²·"); 
	InsertCode("bu","²¹²¸²¶²»²¼²½²À²¿²º²¾"); 
 
	InsertCode("ca","²Áàêíå"); 
	InsertCode("cai","²Â²Å²Ä²Æ²Ã²É²Ê²Ç²È²Ë²Ì"); 
	InsertCode("can","²Î²Í²Ð²Ï²Ñ²Ò²Ó"); 
	InsertCode("cang","²Ö²×²Ô²Õ²Ø"); 
	InsertCode("cao","²Ù²Ú²Ü²Û²Ý"); 
	InsertCode("ce","²á²à²Þ²â²ß"); 
	InsertCode("cen","²ã²äÔø"); 
	InsertCode("cha","²æ²å²é²ç²è²ë²ì²ê²í²ï²îɲ"); 
	InsertCode("chai","²ð²ñ²ò"); 
	InsertCode("chan","²ô²ó²÷²ö²ø²õ²ú²ù²û²ü"); 
	InsertCode("chang","²ý²þ³¦³¢³¥³£³§³¡³¨³©³«³ª"); 
	InsertCode("chao","³­³®³¬³²³¯³°³±³³³´´Â"); 
	InsertCode("che","³µ³¶³¹³¸³·³º"); 
	InsertCode("chen","³»³¾³¼³À³Á³½³Â³¿³Ä³Ã"); 
	InsertCode("cheng","³Æ³Å³É³Ê³Ð³Ï³Ç³Ë³Í³Ì³Î³È³Ñ³Ò³Ó"); 
	InsertCode("chi","³Ô³Õ³Ú³Ø³Û³Ù³Ö³ß³Þ³Ý³Ü³â³à³ã³á"); 
	InsertCode("chong","³ä³å³æ³ç³è"); 
	InsertCode("chou","³é³ð³ñ³ë³î³í³ï³ê³ì³ó³ò³ô"); 
	InsertCode("chu","³ö³õ³ý³ø³ü³ú³û³÷³ù´¡´¢³þ´¦´¤´¥´£Ðó"); 
	InsertCode("chuai","´§"); 
	InsertCode("chuan","´¨´©´«´¬´ª´­´®"); 
	InsertCode("chuang","´³´¯´°´²´´"); 
	InsertCode("chui","´µ´¶´¹´·´¸"); 
	InsertCode("chun","´º´»´¿´½´¾´¼´À"); 
	InsertCode("chuo","´Á"); 
	InsertCode("ci","´Ã´Ê´Ä´É´È´Ç´Å´Æ´Ë´Î´Ì´Í"); 
	InsertCode("cong","´Ñ´Ó´Ò´Ð´Ï´Ô"); 
	InsertCode("cou","´Õ"); 
	InsertCode("cu","´Ö´Ù´×´Ø"); 
	InsertCode("cuan","´Ú´Ü´Û"); 
	InsertCode("cui","´Þ´ß´Ý´à´ã´á´â´ä"); 
	InsertCode("cun","´å´æ´ç"); 
	InsertCode("cuo","´ê´è´é´ì´ë´í"); 
 
	InsertCode("da","´î´ï´ð´ñ´ò´ó"); 
	InsertCode("dai","´ô´õ´ö´ú´ø´ýµ¡´ù´û´ü´þ´÷"); 
	InsertCode("dan","µ¤µ¥µ£µ¢µ¦µ¨µ§µ©µ«µ®µ¯µ¬µ­µ°µª"); 
	InsertCode("dang","µ±µ²µ³µ´µµ"); 
	InsertCode("dao","µ¶µ¼µºµ¹µ·µ»µ¸µ½µ¿µÁµÀµ¾"); 
	InsertCode("de","µÄµØµÃµÂï½"); 
	InsertCode("deng","µÆµÇµÅµÈµËµÊµÉ"); 
	InsertCode("di","µÍµÌµÎµÒµÏµÐµÓµÑµÕµ×µÖµØµÜµÛµÝµÚµÞµÙ"); 
	InsertCode("dian","µàµáµßµäµãµâµçµèµéµêµæµëµíµìµîµå"); 
	InsertCode("diao","µóµðµòµïµñµõµöµô"); 
	InsertCode("die","µùµøµüµýµþµúµû"); 
	InsertCode("ding","¶¡¶£¶¢¶¤¶¥¶¦¶©¶¨¶§"); 
	InsertCode("diu","¶ª"); 
	InsertCode("dong","¶«¶¬¶­¶®¶¯¶³¶±¶²¶°¶´"); 
	InsertCode("dou","¶¼¶µ¶·¶¶¶¸¶¹¶º¶»"); 
	InsertCode("du","¶½¶¾¶Á¶¿¶À¶Â¶Ä¶Ã¶Ê¶Å¶Ç¶È¶É¶Æ"); 
	InsertCode("duan","¶Ë¶Ì¶Î¶Ï¶Ð¶Í"); 
	InsertCode("dui","¶Ñ¶Ó¶Ô¶Ò"); 
	InsertCode("dun","¶Ö¶Ø¶Õ¶×¶Ü¶Û¶Ù¶Ý"); 
	InsertCode("duo","¶à¶ß¶á¶Þ¶ä¶â¶ã¶ç¶é¶æ¶è¶å"); 
	 
	InsertCode("e","¶ï¶í¶ð¶ë¶ì¶ê¶î¶ò¶ó¶ñ¶ö¶õ¶ô"); 
	InsertCode("en","¶÷"); 
	InsertCode("er","¶ù¶ø¶û¶ú¶ý¶ü¶þ·¡"); 
 
	InsertCode("fa","·¢·¦·¥·£·§·¤·¨·©"); 
	InsertCode("fan","·«·¬·­·ª·²·¯·°·³·®·±·´·µ·¸·º·¹·¶··"); 
	InsertCode("fang","·½·»·¼·À·Á·¿·¾·Â·Ã·Ä·Å"); 
	InsertCode("fei","·É·Ç·È·Æ·Ê·Ë·Ì·Í·Ï·Ð·Î·Ñ"); 
	InsertCode("fen","·Ö·Ô·×·Ò·Õ·Ó·Ø·Ú·Ù·Û·Ý·Ü·Þ·ß·à"); 
	InsertCode("feng","·á·ç·ã·â·è·å·é·æ·ä·ë·ê·ì·í·ï·î"); 
	InsertCode("fo","·ð"); 
	InsertCode("fou","·ñ"); 
	InsertCode("fu","·ò·ô·õ·ó¸¥·ü·ö·÷·þ·ý·ú¸¡¸¢·û¸¤·ù¸£·ø¸§¸¦¸®¸«¸©¸ª¸¨¸­¸¯¸¸¸¼¸¶¸¾¸º¸½¸À¸·¸´¸°¸±¸µ¸»¸³¸¿¸¹¸²"); 
	 
	InsertCode("ga","¸Â¸Á"); 
	InsertCode("gai","¸Ã¸Ä¸Æ¸Ç¸È¸Å"); 
	InsertCode("gan","¸É¸Ê¸Ë¸Î¸Ì¸Í¸Ñ¸Ï¸Ò¸Ð¸Ó"); 
	InsertCode("gang","¸Ô¸Õ¸Ú¸Ù¸Ø¸×¸Ö¸Û¸Ü"); 
	InsertCode("gao","¸Þ¸á¸ß¸à¸Ý¸â¸ã¸å¸ä¸æ"); 
	InsertCode("ge","¸ê¸í¸ç¸ì¸ë¸î¸é¸è¸ó¸ï¸ñ¸ð¸ô¸ö¸÷¸õ¿©"); 
	InsertCode("gei","¸ø"); 
	InsertCode("gen","¸ù¸ú"); 
	InsertCode("geng","¸ü¸ý¸û¸þ¹¡¹¢¹£"); 
	InsertCode("gong","¹¤¹­¹«¹¦¹¥¹©¹¬¹§¹ª¹¨¹®¹¯¹°¹²¹±"); 
	InsertCode("gou","¹´¹µ¹³¹·¹¶¹¹¹º¹¸¹»"); 
	InsertCode("gu","¹À¹¾¹Ã¹Â¹Á¹½¹¼¹¿¹Å¹È¹É¹Ç¹Æ¹Ä¹Ì¹Ê¹Ë¹Í"); 
	InsertCode("gua","¹Ï¹Î¹Ð¹Ñ¹Ò¹Ó"); 
	InsertCode("guai","¹Ô¹Õ¹Ö"); 
	InsertCode("guan","¹Ø¹Û¹Ù¹Ú¹×¹Ý¹Ü¹á¹ß¹à¹Þ"); 
	InsertCode("guang","¹â¹ã¹ä"); 
	InsertCode("gui","¹é¹ç¹ê¹æ¹ë¹è¹å¹ì¹î¹ï¹í¹ô¹ñ¹ó¹ð¹ò"); 
	InsertCode("gun","¹õ¹ö¹÷"); 
	InsertCode("guo","¹ù¹ø¹ú¹û¹ü¹ý"); 
 
	InsertCode("ha","¸ò¹þ"); 
	InsertCode("hai","º¢º¡º£º¥º§º¦º¤"); 
	InsertCode("han","º¨º©º¬ºªº¯º­º®º«º±º°ººº¹ºµº·º´º¸º¶º³º²"); 
	InsertCode("hang","º¼º½ÐÐ"); 
	InsertCode("hao","ºÁºÀº¿º¾ºÃºÂºÅºÆºÄ"); 
	InsertCode("he","ºÇºÈºÌºÏºÎºÍºÓºÒºËºÉºÔºÐºÊºØºÖºÕº×"); 
	InsertCode("hei","ºÚºÙ"); 
	InsertCode("hen","ºÛºÜºÝºÞ"); 
	InsertCode("heng","ºàºßºãºáºâ"); 
	InsertCode("hong","ºäºåºæºëºìºêºéºçºè"); 
	InsertCode("hou","ºîºíºïºðºóºñºò"); 
	InsertCode("hu","ºõºôºö»¡ºüºúºøºþºùº÷ºýºû»¢»£»¥»§»¤»¦"); 
	InsertCode("hua","»¨»ª»©»¬»«»¯»®»­»°"); 
	InsertCode("huai","»³»²»´»±»µ"); 
	InsertCode("huan","»¶»¹»·»¸»º»Ã»Â»½»»»Á»¼»À»¾»¿"); 
	InsertCode("huang","»Ä»Å»Ê»Ë»Æ»Ì»Í»È»Ç»É»Ð»Î»Ñ»Ï"); 
	InsertCode("hui","»Ò»Ö»Ó»Ô»Õ»Ø»×»Ú»Ü»ã»á»ä»æ»å»â»ß»Þ»à»Ý»Ù»Û"); 
	InsertCode("hun","ȏȍȎȑȐȓ"); 
	InsertCode("huo","»í»î»ð»ï»ò»õ»ñ»ö»ó»ô"); 
 
	InsertCode("ji","¼¥»÷¼¢»ø»ú¼¡¼¦¼£¼§»ý»ù¼¨¼©»û»þ»ü¼¤¼°¼ª¼³¼¶¼´¼«¼±¼²¼¬¼¯¼µ¼­¼®¼¸¼º¼·¼¹¼Æ¼Ç¼¿¼Í¼Ë¼É¼¼¼Ê¼Á¼¾¼È¼Ã¼Ì¼Å¼Ä¼Â¼À¼»¼½½å"); 
	InsertCode("jia","¼Ó¼Ð¼Ñ¼Ï¼Ò¼Î¼Ô¼Õ¼×¼Ö¼Ø¼Û¼Ý¼Ü¼Ù¼Þ¼ÚЮ"); 
	InsertCode("jian","¼é¼â¼á¼ß¼ä¼ç¼è¼æ¼à¼ã¼ê¼å¼ð¼ó¼í¼ë¼ñ¼õ¼ô¼ì¼ï¼ò¼î¼û¼þ½¨½¤½£¼ö¼ú½¡½§½¢½¥½¦¼ù¼ø¼ü¼ý"); 
	InsertCode("jiang","½­½ª½«½¬½©½®½²½±½°½¯½³½µ½´"); 
	InsertCode("jiao","½»½¼½¿½½½¾½º½·½¹½¶½¸½Ç½Æ½Ê½È½Ã½Å½Â½Á½Ë½É½Ð½Î½Ï½Ì½Ñ½Í¾õ½À"); 
	InsertCode("jie","½×½Ô½Ó½Õ½Ò½Ö½Ú½Ù½Ü½à½á½Ý½Þ½Ø½ß½ã½â½é½ä½æ½ì½ç½ê½ë½è"); 
	InsertCode("jin","½í½ñ½ï½ð½ò½î½ó½ö½ô½÷½õ¾¡¾¢½ü½ø½ú½þ½ý½û½ù"); 
	InsertCode("jing","¾©¾­¾¥¾£¾ª¾§¾¦¾¬¾¤¾«¾¨¾®¾±¾°¾¯¾»¾¶¾·¾º¾¹¾´¾¸¾³¾²¾µ"); 
	InsertCode("jiong","¾¼¾½"); 
	InsertCode("jiu","¾À¾¿¾¾¾Å¾Ã¾Ä¾Á¾Â¾Æ¾É¾Ê¾Ì¾Î¾Ç¾È¾Í¾Ë"); 
	InsertCode("ju","¾Ó¾Ð¾Ñ¾Ô¾Ò¾Ï¾Ö½Û¾Õ¾×¾Ú¾Ù¾Ø¾ä¾Þ¾Ü¾ß¾æ¾ã¾ç¾å¾Ý¾à¾â¾Û¾á"); 
	InsertCode("jua","¾ê¾è¾é¾í¾ë¾î¾ì"); 
	InsertCode("jue","¾ï¾ö¾÷¾ñ¾ø¾ó¾ò¾ô¾ð"); 
	InsertCode("jun","¾ü¾ý¾ù¾û¾ú¿¡¿¤¾þ¿£¿¥¿¢"); 
 
	InsertCode("ka","¿§¿¦¿¨"); 
	InsertCode("kai","¿ª¿«¿­¿®¿¬"); 
	InsertCode("kan","¼÷¿¯¿±¿°¿²¿³¿´"); 
	InsertCode("kang","¿µ¿¶¿·¿¸¿º¿¹¿»"); 
	InsertCode("kao","¿¼¿½¿¾¿¿"); 
	InsertCode("ke","¿À¿Á¿Â¿Æ¿Ã¿Å¿Ä¿Ç¿È¿É¿Ê¿Ë¿Ì¿Í¿Î"); 
	InsertCode("ken","¿Ï¿Ñ¿Ò¿Ð"); 
	InsertCode("keng","¿Ô¿Ó"); 
	InsertCode("kong","¿Õ¿×¿Ö¿Ø"); 
	InsertCode("kou","¿Ù¿Ú¿Û¿Ü"); 
	InsertCode("ku","¿Ý¿Þ¿ß¿à¿â¿ã¿á"); 
	InsertCode("kua","¿ä¿å¿æ¿è¿ç"); 
	InsertCode("kuai","¿é¿ì¿ë¿ê"); 
	InsertCode("kuan","¿í¿î"); 
	InsertCode("kuang","¿ï¿ð¿ñ¿ö¿õ¿ó¿ò¿ô"); 
	InsertCode("kui","¿÷¿ù¿ø¿ú¿ü¿û¿ý¿þÀ¢À£À¡"); 
	InsertCode("kun","À¤À¥À¦À§"); 
	InsertCode("kuo","À©À¨À«Àª"); 
 
	InsertCode("la","À¬À­À²À®À°À¯À±"); 
	InsertCode("lai","À´À³Àµ"); 
	InsertCode("lan","À¼À¹À¸À·À»À¶À¾À½ÀºÀÀÀ¿ÀÂÀÁÀÃÀÄ"); 
	InsertCode("lang","ÀÉÀÇÀÈÀÅÀÆÀÊÀË"); 
	InsertCode("lao","ÀÌÀÍÀÎÀÏÀÐÀÑÀÔÀÓÀÒ"); 
	InsertCode("le","ÀÖÀÕÁË"); 
	InsertCode("lei","À×ÀØÀÝÀÚÀÙÀÜÀßÀáÀàÀÛÀÞ"); 
	InsertCode("leng","ˉˋˊ"); 
	InsertCode("li","ÀåÀæÀêÀëÀòÀçÀìÁ§ÀèÀéÀñÀîÀïÁ¨ÀíÀðÁ¦ÀúÀ÷Á¢ÀôÀöÀûÀøÁ¤ÀýÁ¥ÀþÀóÀõÀùÁ£ÀüÁ¡"); 
	InsertCode("lian","Á¬Á±Á¯Á°Á«ÁªÁ®Á­Á²Á³Á·Á¶ÁµÁ´"); 
	InsertCode("liang","Á©Á¼Á¹ÁºÁ¸Á»Á½ÁÁÁÂÁ¾ÁÀÁ¿"); 
	InsertCode("liao","ÁÊÁÉÁÆÁÄÁÅÁÈÁÎÁÃÁÇÁÍÁÏÁÌ"); 
	InsertCode("lie","ÁÐÁÓÁÒÁÔÁÑ"); 
	InsertCode("lin","ÁÚÁÖÁÙÁÜÁÕÁØÁ×ÁÛÁÝÁßÁÞÁà"); 
	InsertCode("ling","ÁæÁéÁëÁáÁèÁåÁêÁçÁâÁãÁäÁìÁîÁí"); 
	InsertCode("liu","ÁïÁõÁ÷ÁôÁðÁòÁóÁñÁöÁøÁù"); 
	InsertCode("long","ÁúÁüÁýÁû¡Áþ¤¢£"); 
	InsertCode("lou","¦¥§¨ª©"); 
	InsertCode("lu","¶¬®«¯­±²°³½¼¸¹»µ·¾º´"); 
	InsertCode("luang","ÂÏÂÍÂÎÂÐÂÑÂÒ"); 
	InsertCode("lue","ÂÓÂÔï²"); 
	InsertCode("lun","ÂÕÂØÂ×ÂÙÂÚÂÖÂÛàð"); 
	InsertCode("luo","ÂÞÂÜÂßÂàÂáÂâÂÝÂãÂåÂçÂæÂä"); 
	InsertCode("lv","ÂË¿ÂÀÂÂÂÃÂÁÂÅÂÆÂÄÂÉÂÇÂÊÂÌÂÈ"); 
 
	InsertCode("ma","ÂèÂéÂíÂêÂëÂìÂîÂðÂï"); 
	InsertCode("mai","ÂñÂòÂõÂóÂôÂö"); 
	InsertCode("man","ÂùÂøÂ÷ÂúÂüáÂýÂþÂû"); 
	InsertCode("mang","æâäãçå"); 
	InsertCode("mao","èëìéêîíïðóñò"); 
	InsertCode("me","ô"); 
	InsertCode("mei","ûöõü÷ýúøùÿÃÀþÃÃÃÁÃÄÃÂ"); 
	InsertCode("men","ÃÅÃÆÃÇ"); 
	InsertCode("meng","ÃÈÃËÃÊÃÍÃÉÃÌÃÏÃÎ"); 
	InsertCode("mi","ÃÖÃÔÃÕÃÑÃÓÃÒÃ×ÃÐÃÚÃÙÃØÃÜÃÝÃÛ"); 
	InsertCode("mian","ÃßÃàÃÞÃâÃãÃäÃáÃåÃæ"); 
	InsertCode("miao","̍̏̎̑̓̐̔̒"); 
	InsertCode("mie","ÃðÃï"); 
	InsertCode("min","̛̖̗̘̙̚"); 
	InsertCode("ming","ÃûÃ÷ÃùÃúÃøÃü"); 
	InsertCode("miu","Ãý"); 
	InsertCode("mo","ºÑÃþġģĤĦĥĢħĨĩĭİĪįĮīĬ"); 
	InsertCode("mou","IJıij"); 
	InsertCode("mu","ĸĶĵķĴľĿÄÁļĹĻÄÀĽĺÄÂ"); 
	 
	InsertCode("na","ÄÃÄÄÄÇÄÉÄÈÄÆÄÅ"); 
	InsertCode("nai","ÄËÄÌÄÊÄÎÄÍ"); 
	InsertCode("nan","ÄÐÄÏÄÑ"); 
	InsertCode("nang","ÄÒ"); 
	InsertCode("nao","ÄÓÄÕÄÔÄÖÄ×"); 
	InsertCode("ne","ÄØ"); 
	InsertCode("nei","ÄÚÄÙ"); 
	InsertCode("nen","ÄÛ"); 
	InsertCode("neng","ÄÜ"); 
	InsertCode("ni","ÄÝÄáÄàÄßÄÞÄãÄâÄæÄäÄçÄå"); 
	InsertCode("nian","ÄéÄêÄíÄìÄëÄîÄè"); 
	InsertCode("niang","ÄïÄð"); 
	InsertCode("niao","ÄñÄò"); 
	InsertCode("nie","ÄóÄùÄôÄöÄ÷ÄøÄõ"); 
	InsertCode("nin","Äú"); 
	InsertCode("ning","ÄþÅ¡ÄüÄûÄýÅ¢"); 
	InsertCode("niu","ţŤŦť"); 
	InsertCode("nong","ũŨŧŪ"); 
	InsertCode("nu","ūŬŭ"); 
	InsertCode("nuan","ů"); 
	InsertCode("nue","űŰ"); 
	InsertCode("nuo","ŲŵųŴ"); 
	InsertCode("nv","Å®"); 
 
	InsertCode("o","Ŷ"); 
	InsertCode("ou","ŷŹŸŻżźŽ"); 
 
	InsertCode("pa","ſžÅÀ°ÒÅÃÅÁÅÂ"); 
	InsertCode("pai","ÅÄÅÇÅÅÅÆÅÉÅÈ"); 
	InsertCode("pan","ÅËÅÊÅÌÅÍÅÐÅÑÅÎÅÏ"); 
	InsertCode("pang","ÅÒÅÓÅÔÅÕÅÖ"); 
	InsertCode("pao","Å×ÅÙÅØÅÚÅÛÅÜÅÝ"); 
	InsertCode("pei","ÅÞÅßÅãÅàÅâÅáÅæÅåÅä"); 
	InsertCode("pen","ÅçÅè"); 
	InsertCode("peng","ÅêÅéÅëÅóÅíÅïÅðÅîÅôÅìÅñÅòÅõÅö"); 
	InsertCode("pi","±ÙÅúÅ÷ÅûÅøÅüÅùƤÅþƣơÅýƢƥƦƨƧƩ"); 
	InsertCode("pian","Ƭƫƪƭ"); 
	InsertCode("piao","ƯƮưƱ"); 
	InsertCode("pie","ƲƳ"); 
	InsertCode("pin","ƴƶƵƷƸ"); 
	InsertCode("ping","ƹƽÆÀƾƺƻÆÁƿƼ"); 
	InsertCode("po","ÆÂÆÃÆÄÆÅÆÈÆÆÆÉÆÇ"); 
	InsertCode("pou","ÆÊ"); 
	InsertCode("pu","¸¬ÆÍÆËÆÌÆÎÆÐÆÑÆÓÆÔÆÒÆÖÆÕÆ×ÆØ"); 
	 
	InsertCode("qi","ÆßÆãÆÞÆâÆàÆÜÆÝÆÚÆÛÆáÆîÆëÆäÆæÆçÆíÆêÆéÆèÆïÆåÆìÆòÆóÆñÆôÆðÆøÆýÆùÆúÆûÆüÆõÆöÆ÷"); 
	InsertCode("qia","ÆþǡǢ"); 
	InsertCode("qian","ǧǪǤǨǥǣǦǫǩǰǮǯǬDZǭdzDzǴǷǵǶǸ"); 
	InsertCode("qiang","ǺǼǹǻǿǽǾÇÀ"); 
	InsertCode("qiao","ÇÄÇÃÇÂÇÁÇÇÇÈÇÅÇÆÇÉÇÎÇÍÇÏÇÌÇËÇÊ"); 
	InsertCode("qie","ÇÐÇÑÇÒÇÓÇÔ"); 
	InsertCode("qin","Ç×ÇÖÇÕÇÛÇØÇÙÇÝÇÚÇÜÇÞÇß"); 
	InsertCode("qing","ÇàÇâÇáÇãÇäÇåÇçÇèÇæÇêÇëÇì"); 
	InsertCode("qiong","ÇîÇí"); 
	InsertCode("qiu","ÇðÇñÇïÇôÇóÇöÇõÇò"); 
	InsertCode("qu","ÇøÇúÇýÇüÇùÇûÇ÷ÇþȡȢȣȥȤ"); 
	InsertCode("quan","ȦȫȨȪȭȬȩȧȮȰȯ"); 
	InsertCode("que","Ȳȱȳȴȸȷȵȶ"); 
	InsertCode("qun","ȹȺ"); 
	 
	InsertCode("ra","ȻȼȽȾ"); 
	InsertCode("ran","È¿ÈÂÈÀÈÁÈÃ"); 
	InsertCode("rao","ÈÄÈÅÈÆ"); 
	InsertCode("re","ÈÇÈÈßö"); 
	InsertCode("ren","ÈËÈÊÈÉÈÌÈÐÈÏÈÎÈÒÈÑÈÍ"); 
	InsertCode("reng","ÈÓÈÔ"); 
	InsertCode("ri","ÈÕóR"); 
	InsertCode("rong","ÈÖÈÞÈ×ÈÙÈÝÈÜÈØÈÛÈÚÈß"); 
	InsertCode("rou","ÈáÈàÈâ"); 
	InsertCode("ru","ÈçÈãÈåÈæÈäÈêÈéÈèÈëÈì"); 
	InsertCode("ruan","ÈîÈí"); 
	InsertCode("rui","ÈïÈñÈð"); 
	InsertCode("run","ÈòÈó"); 
	InsertCode("ruo","ÈôÈõ"); 
	 
	InsertCode("sa","ÈöÈ÷Èø"); 
	InsertCode("sai","ÈûÈùÈúÈü"); 
	InsertCode("san","ÈýÈþɡɢ"); 
	InsertCode("sang","ɣɤɥ"); 
	InsertCode("sao","ɦɧɨɩ"); 
	InsertCode("se","ɫɬɪ"); 
	InsertCode("sen","É­"); 
	InsertCode("seng","É®"); 
	InsertCode("sha","ɱɳɴɰɯɵɶɷÏÃ"); 
	InsertCode("shai","ɸɹõ§"); 
	InsertCode("shan","ɽɾɼÉÀɺɿÉÁÉÂÉÇÉ»ÉÈÉÆÉÉÉÃÉÅÉÄÕ¤"); 
	InsertCode("shang","ÉËÉÌÉÊÉÑÉÎÉÍÉÏÉÐ"); 
	InsertCode("shao","ÉÓÉÒÉÕÉÔÉ×ÉÖÉØÉÙÉÛÉÜÉÚ"); 
	InsertCode("she","ÉÝÉÞÉàÉßÉáÉèÉçÉäÉæÉâÉåÉã"); 
	InsertCode("shen","ÉêÉìÉíÉëÉðÉïÉéÉîÉñÉòÉóÉôÉöÉõÉøÉ÷ʲ"); 
	InsertCode("sheng","ÉýÉúÉùÉüʤÉûÉþʡʥʢʣ"); 
	InsertCode("shi","³×ʬʧʦʭʫʩʨʪʮʯʱʶʵʰʴʳʷʸʹʼʻʺʿÊÏÊÀÊËÊÐʾʽÊÂÊÌÊÆÊÓÊÔÊÎÊÒÊÑÊÃÊÇÊÁÊÊÊÅÊÍÊÈÊÄÊÉËÆ"); 
	InsertCode("shou","ÊÕÊÖÊØÊ×ÊÙÊÜÊÞÊÛÊÚÊÝ"); 
	InsertCode("shu","ÊéÊãÊåÊàÊâÊáÊçÊèÊæÊäÊßÊëÊêÊìÊîÊòÊðÊóÊñÊíÊïÊõÊùÊøÊöÊ÷ÊúË¡ÊüÊýÊûÊþÊô"); 
	InsertCode("shua","ˢˣà§"); 
	InsertCode("shui","˥ˤ˦˧"); 
	InsertCode("shuan","˩˨"); 
	InsertCode("shuang","˫˪ˬ"); 
	InsertCode("shui","˭ˮ˰˯˵"); 
	InsertCode("shun","˱˳˴˲"); 
	InsertCode("shuo","˵˸˷˶"); 
	InsertCode("si","˿˾˽˼˹˻˺ËÀËÈËÄËÂËÅËÇËÃËÁ"); 
	InsertCode("song","ËÉËËËÊËÏËÎËÐËÍËÌ"); 
	InsertCode("sou","ËÔËÑËÒËÓ"); 
	InsertCode("su","ËÕËÖË×ËßËàËØËÙËÚËÜËÝËÛ"); 
	InsertCode("suan","ËáËâËãâ¡"); 
	InsertCode("sui","ËäËçËåËæËèËêËîËìËéËíËë"); 
	InsertCode("sun","ËïËðËñ"); 
	InsertCode("suo","ËôËóËòËõËùË÷ËöËø"); 
	 
	InsertCode("ta","ËýËûËüËúËþ̡̢̤̣"); 
	InsertCode("tai","̨̧̥̦̫̭̬̩̪"); 
	InsertCode("tan","̸̵̷̶̴̮̰̯̲̱̳̹̻̺̼̾̿̽"); 
	InsertCode("tang","ÌÀÌÆÌÃÌÄÌÁÌÂÌÅÌÇÌÈÌÊÌÉÌÌÌË"); 
	InsertCode("tao","ÌÎÌÐÌÍÌÏÌÓÌÒÌÕÌÔÌÑÌÖÌ×"); 
	InsertCode("te","ÌØìý߯ï«í«"); 
	InsertCode("teng","ÌÛÌÚÌÜÌÙ"); 
	InsertCode("ti","ÌÞÌÝÌàÌßÌäÌáÌâÌãÌåÌëÌêÌéÌèÌæÌç"); 
	InsertCode("tian","ÌìÌíÌïÌñÌðÌîÌóÌò"); 
	InsertCode("tiao","µ÷ÌôÌõÌöÌ÷Ìø"); 
	InsertCode("tie","ÌùÌúÌûÝÆ÷Ñ"); 
	InsertCode("ting","ÌüÍ¡ÌýÌþͤͥͣͦͧ͢"); 
	InsertCode("tong","ͨͬͮͩͭͯͪͫͳͱͰͲʹ"); 
	InsertCode("tou","͵ͷͶ͸"); 
	InsertCode("tu","͹ͺͻͼͽͿ;ÍÀÍÁÍÂÍÃ"); 
	InsertCode("tuan","ÍÄÍÅî¶ÞÒåè"); 
	InsertCode("tui","ÍÆÍÇÍÈÍËÍÉÍÊ"); 
	InsertCode("tun","¶ÚÍÌÍÍÍÎ"); 
	InsertCode("tuo","ÍÐÍÏÍÑÍÔÍÓÍÕÍÒÍ×ÍÖÍØÍÙ"); 
	 
	InsertCode("wa","ÍÛÍÞÍÚÍÝÍÜÍßÍà"); 
	InsertCode("wai","ÍáÍâáË"); 
	InsertCode("wan","ÍäÍåÍãÍèÍêÍæÍçÍéÍðÍìÍíÍñÍïÍîÍëÍòÍó"); 
	InsertCode("wang","ÍôÍöÍõÍøÍùÍ÷ÍýÍüÍúÍû"); 
	InsertCode("wei","ΣÍþ΢ΡΪΤΧΥΦΨΩάΫΰαβγέίήÎÀδλζηθξνιμεοκ"); 
	InsertCode("wen","ÎÂÎÁÎÄÎÆÎÅÎÃÎÇÎÉÎÈÎÊ"); 
	InsertCode("weng","ÎÌÎËÎÍ"); 
	InsertCode("wo","ÎÎÎÐÎÑÎÏÎÒÎÖÎÔÎÕÎÓ"); 
	InsertCode("wu","ÎÚÎÛÎØÎ×ÎÝÎÜÎÙÎÞÎãÎâÎáÎßÎàÎåÎçÎéÎëÎäÎêÎæÎèÎðÎñÎìÎïÎóÎòÎîÎí"); 
	 
	InsertCode("xi","ϦϫÎ÷ÎüÏ£ÎôÎöÎùÏ¢ÎþÏ¤Ï§Ï©ÎøÎúϬϡϪÎýϨÎõÎûϥϰϯϮϱϭϴϲϷϵϸ϶"); 
	InsertCode("xia","ϺϹϻÏÀÏ¿ÏÁϾϽϼÏÂÏÅÏÄ"); 
	InsertCode("xian","ϳÏÉÏÈÏËÏÆÏÇÏÊÏÐÏÒÏÍÏÌÏÑÏÏÏÎÏÓÏÔÏÕÏØÏÖÏßÏÞÏÜÏÝÏÚÏÛÏ×ÏÙ"); 
	InsertCode("xiang","ÏçÏàÏãÏáÏæÏäÏåÏâÏêÏéÏèÏíÏìÏëÏòÏïÏîÏóÏñÏð"); 
	InsertCode("xiao","ÏüÏûÏôÏõÏúÏöÏùÏýСÏþÐ¢Ð¤ÏøÐ§Ð£Ð¦Ð¥"); 
	InsertCode("xie","ЩШЪЫЭавбгЯЬдйкжмелиз"); 
	InsertCode("xin","ÐÄÐÃоÐÁÐÀпÐÂнÐÅÐÆ"); 
	InsertCode("xing","ÐËÐÇÐÊÐÉÐÈÐÌÐÏÐÎÐÍÐÑÐÓÐÕÐÒÐÔ"); 
	InsertCode("xiong","Ð×ÐÖÐÙÐÚÐØÐÛÐÜ"); 
	InsertCode("xiu","ËÞÐÝÐÞÐßÐàÐãÐåÐäÐâÐá"); 
	InsertCode("xu","ÐçÐëÐéÐêÐèÐæÐìÐíÐñÐòÐðÐôÐ÷ÐøÐïÐöÐõÐîÓõ"); 
	InsertCode("xua","ÐùÐûÐúÐþÐüÐýѡѢѤѣ"); 
	InsertCode("xue","Ï÷ѥѦѨѧѩѪ"); 
	InsertCode("xun","ѫѬѰѲѮѱѯѭѵѶѴѸѷѳ"); 
	 
	InsertCode("ya","ѾѹѽѺѻѼÑÀÑ¿ÑÁÑÂÑÄÑÃÑÆÑÅÑÇÑÈ"); 
	InsertCode("yan","ÑÊÑÌÑÍÑÉÑËÑÓÑÏÑÔÑÒÑØÑ×ÑÐÑÎÑÖÑÑÑÕÑÙÑÜÑÚÑÛÑÝÑáÑåÑâÑäÑçÑÞÑéÑèÑßÑæÑãÑà"); 
	InsertCode("yang","ÑëÑêÑíÑìÑïÑòÑôÑîÑðÑñÑóÑöÑøÑõÑ÷ÑùÑú"); 
	InsertCode("yao","½ÄÑýÑüÑûÒ¢Ò¦Ò¤Ò¥Ò¡Ò£ÑþÒ§Ò¨Ò©ÒªÒ«Ô¿"); 
	InsertCode("ye","Ò¬Ò­Ò¯Ò®Ò²Ò±Ò°ÒµÒ¶Ò·Ò³Ò¹Ò´ÒºÒ¸"); 
	InsertCode("yi","Ò»ÒÁÒÂÒ½ÒÀÒ¿Ò¼Ò¾ÒÇÒÄÒÊÒËÒÌÒÈÒÆÒÅÒÃÒÉÒÍÒÒÒÑÒÔÒÓÒÏÒÐÒÎÒåÒÚÒäÒÕÒéÒàÒÙÒìÒÛÒÖÒëÒØÒ×ÒïÒèÒßÒæÒêÒîÒÝÒâÒçÒÞÒáÒãÒíÒÜ"); 
	InsertCode("yin","ÒòÒõÒöÒðÒñÒôÒóÒ÷ÒúÒùÒøÒüÒýÒûÒþÓ¡"); 
	InsertCode("ying","Ó¦Ó¢Ó¤Ó§Ó£Ó¥Ó­Ó¯Ó«Ó¨Ó©ÓªÓ¬Ó®Ó±Ó°Ó³Ó²"); 
	InsertCode("yo","Ó´"); 
	InsertCode("yong","Ó¶ÓµÓ¸Ó¹ÓºÓ·ÓÀÓ½Ó¾ÓÂÓ¿ÓÁÓ¼Ó»ÓÃ"); 
	InsertCode("you","ÓÅÓÇÓÄÓÆÓÈÓÉÓÌÓÊÓÍÓËÓÎÓÑÓÐÓÏÓÖÓÒÓ×ÓÓÓÕÓÔ"); 
	InsertCode("yu","ÓØÓÙÓåÓÚÓèÓàÓÛÓãÓáÓéÓæÓçÓäÓâÓÞÓÜÓÝÓßÓëÓîÓìÓðÓêÓíÓïÓñÔ¦ÓóÓýÓôÓüÓøÔ¡Ô¤ÓòÓûÓ÷Ô¢ÓùÔ£ÓöÓúÓþÔ¥"); 
	InsertCode("yuan","Ô©Ô§Ô¨ÔªÔ±Ô°Ô«Ô­Ô²Ô¬Ô®ÔµÔ´Ô³Ô¯Ô¶Ô·Ô¹ÔºÔ¸"); 
	InsertCode("yue","Ô»Ô¼ÔÂÔÀÔÃÔÄÔ¾ÔÁÔ½"); 
	InsertCode("yun","ÔÆÔÈÔÇÔÅÔÊÔÉÔÐÔËÔÎÔÍÔÏÔÌ"); 
	 
	InsertCode("za","ÔÑÔÓÔÒÕ¦"); 
	InsertCode("zai","ÔÖÔÕÔÔÔ×ÔØÔÙÔÚ×Ð"); 
	InsertCode("zan","ÔÛÔÜÔÝÔÞ"); 
	InsertCode("zang","ÔßÔàÔá"); 
	InsertCode("zao","ÔâÔãÔäÔçÔæÔéÔèÔåÔîÔíÔìÔëÔïÔê"); 
	InsertCode("ze","ÔòÔñÔóÔð"); 
	InsertCode("zei","Ôô"); 
	InsertCode("zen","Ôõ"); 
	InsertCode("zeng","ÔöÔ÷Ôù"); 
	InsertCode("zha","ÔûÔüÔúÔýÔþÕ¢Õ¡Õ£Õ§Õ©Õ¨Õ¥×õ"); 
	InsertCode("zhai","Õ«ÕªÕ¬µÔÕ­Õ®Õ¯"); 
	InsertCode("zhan","Õ´Õ±Õ³Õ²Õ°Õ¶Õ¹ÕµÕ¸Õ·Õ¼Õ½Õ»Õ¾ÕÀÕ¿Õº"); 
	InsertCode("zhang","³¤ÕÅÕÂÕÃÕÄÕÁÕÇÕÆÕÉÕÌÕÊÕÈÕÍÕËÕÏÕÎ"); 
	InsertCode("zhao","ÕÐÕÑÕÒÕÓÕÙÕ×ÕÔÕÕÕÖըצ"); 
	InsertCode("zhe","ÕÚÕÛÕÜÕÝÕÞÕßÕàÕâÕãÕá×Å"); 
	InsertCode("zhen","ÕêÕëÕìÕäÕæÕèÕåÕçÕéÕïÕíÕîÕóÕñÕòÕðÖ¡"); 
	InsertCode("zheng","ÕùÕ÷ÕúÕõÕøÕöÕôÕüÕûÕýÖ¤Ö£ÕþÖ¢"); 
	InsertCode("zhi","Ö®Ö§Ö­Ö¥Ö¨Ö¦ÖªÖ¯Ö«Ö¬Ö©Ö´Ö¶Ö±ÖµÖ°Ö²Ö³Ö¹Ö»Ö¼Ö·Ö½Ö¸ÖºÖÁÖ¾ÖÆÖÄÖÎÖËÖÊÖÅÖ¿ÖÈÖÂÖÀÖÌÖÏÖÇÖÍÖÉÖÃ"); 
	InsertCode("zhong","ÖÐÖÒÖÕÖÑÖÓÖÔÖ×ÖÖÖÙÖÚÖØ"); 
	InsertCode("zhou","ÖÝÖÛÖßÖÜÖÞÖàÖáÖâÖãÖäÖæÖçÖåÖè"); 
	InsertCode("zhu","ÖìÖïÖêÖéÖîÖíÖëÖñÖòÖðÖ÷ÖôÖóÖöÖõסÖú×¢ÖüפÖù×£ÖøÖûÖþÖý"); 
	InsertCode("zhua","×¥"); 
	InsertCode("zhuai","×§"); 
	InsertCode("zhuan","רשת׫׭"); 
	InsertCode("zhuang","ױׯ׮װ׳״´±×²"); 
	InsertCode("zhui","׷׵׶׹׺׸"); 
	InsertCode("zhun","×»×¼"); 
	InsertCode("zhuo","׿׾׽×Àׯ×Â×Ç×Ã×Ä×Á"); 
	InsertCode("zi","×Î×È×É×Ë×Ê×Í×Ì×Ñ×Ó×Ï×Ò×Ö×Ô×Õ"); 
	InsertCode("zong","×Ú×Ûר×Ù×××Ü×Ý"); 
	InsertCode("zou","×Þ×ß×à×á"); 
	InsertCode("zu","×â×ã×ä×å×ç×è×é׿"); 
	InsertCode("zuan","׬×ë×ê"); 
	InsertCode("zui","×ì×î×ï×í"); 
	InsertCode("zun","×ð×ñ"); 
	InsertCode("zuo","×ò×ó×ô×÷×ø×ù×ö"); 
 
	return ; 
} 
 
 
int main(int argc,char *argv[]) 
{ 
	uchar out[1024]; 
	int count = 0; 
	char input[50]; 
	Init_Font_Code(); 
	while(1) 
	{ 
		printf("ÊäÈëÆ´Òô : "); 
		scanf("\n%s",input); 
		if(strncmp(input,"exit",4) == 0) 
			break; 
		count = SearchCode(input,out); 
		out[count] = 0; 
		printf("%s = %s\n",input,out); 
	} 
	FreeFontCach(&hrlist); 
	return 0; 
}