HzData 为字库数据(16点阵) num char *get_hz_data(unsigned char *SrcHz,int width,int height)
{
int num=-1 ;    
if (HzData==NULL) return NULL;
if((SrcHz[0]&0x80)==0)   /*ASCII*/
{
num=188+SrcHz[0]-33;
}
else
{
if (Sware_HZ_Mode=='G') /*简体*/
{
num = (SrcHz[0]-161)*94+SrcHz[1]-161;
}
else  /*繁体*/
{
if ((SrcHz[0]>=0xA4)&&(SrcHz[0]<=0xC6))   /*A440-C67E*/
{
if ((SrcHz[1]>=0x40)&&(SrcHz[1]<=0x7E))  /*xx40-xx7E*/
num = (SrcHz[0] - 0xA4)*157+(SrcHz[1] - 0x40);
if ((SrcHz[1]>=0xA1)&&(SrcHz[1]<=0xFE))  /*xxA1-xxFE*/
num = (SrcHz[0] - 0xA4)*157+(0x7E - 0x40 +1)+(SrcHz[1] - 0xA1);
}
if ((SrcHz[0]>=0xC9)&&(SrcHz[0]<=0xF9)) 
{
if ((SrcHz[1]>=0x40)&&(SrcHz[1]<=0x7E))
num = 5401+(SrcHz[0] - 0xC9)*157+(SrcHz[1] - 0x40);
if ((SrcHz[1]>=0xA1)&&(SrcHz[1]<=0xD5))
num = 5401+(SrcHz[0] - 0xC9)*157+(0x7E - 0x40 +1)+(SrcHz[1] - 0xA1);
}
if ((SrcHz[0]==0xF9)&&(SrcHz[1]>=0xD6)&&(SrcHz[1]<=0xFE)) num = 5401+7652+(SrcHz[1]- 0xD6);
if ((SrcHz[0]>=0xA1)&&(SrcHz[0]<=0xA3))    /*A140-A3BF*/
{
if ((SrcHz[1]>=0x40)&&(SrcHz[1]<=0x7E))
num = (13094)+(SrcHz[0] - 0xA1)*157+(SrcHz[1] - 0x40);
if ((SrcHz[1]>=0xA1)&&(SrcHz[1]<=0xFE))
num = (13094)+(SrcHz[0] - 0xA1)*157+(0x7E - 0x40 +1)+(SrcHz[1] - 0xA1);
}
}
}
if (num<0) return NULL;
if ((width*height*(num+1))>=HzDataSize) return NULL;
return HzData+(width*height)*num;
}