HZK16点阵字库程序
时间:11-11
来源:互联网
点击:
- /*******************************************************************************
- **程序名称:演示使用HZK16点阵字库的程序
- **程序描述:使用HZK16实现显示16*16点阵汉字
- **性能提升:
- **程序版本:V1.0
- **程序作者:syrchina
- **最后修改:2011年8月16日
- *******************************************************************************/
- #include
- /*******************************************************************************
- **函数名称:Bytes_Read_from_HZK16
- **函数描述:从字库文件中读取一个汉字的字模点阵数据
- **入口参数:unsigned char*s 指向目标汉字的指针,
- char*constchs 用于存储字模的数组首地址
- **出口参数:无
- *******************************************************************************/
- void Bytes_Read_from_HZK16(unsigned char*s,char*constchs)
- {
- FILE*fp;
- unsigned long offset;
- offset=((s[0]-0xa1)*94+(s[1]-0xa1))*32;//根据内码找出汉字在HZK16中的偏移位置
- if((fp=fopen("HZK16","r"))==NULL)return;//打开字库文件
- fseek(fp,offset,SEEK_SET);//文件指针偏移到要找的汉字处
- fread(chs,32,1,fp);//读取该汉字的字模
- fclose(fp);
- }
- /*******************************************************************************
- **函数名称:Bytes_Display
- **函数描述:在屏幕上显示一个汉字
- **入口参数:char*constchs 存储了汉字点阵数据的数组首地址
- **出口参数:无
- *******************************************************************************/
- void Bytes_Display(char*constchs)
- {
- inti,j;
- for(i=0;i<32;i++)//显示
- {
- if(i%2==0)printf("\n");//每行两字节,16X16点阵
- for(j=7;j>=0;j--)
- {
- if(chs[i]&(0x1
- {printf("O");}//由高到低,为1则输出O,反之输出-;
- else
- {printf("-");}
- }
- }
- }
- /*******************************************************************************
- **函数名称:main
- **函数描述:main 函数
- **入口参数:无
- **出口参数:无
- *******************************************************************************/
- intmain(void)
- {
- char chs[32];//16*16=256个点
- unsigned char s[]="中国";//要显示的汉字
- Bytes_Read_from_HZK16(&s[0],chs);//去字库中读取汉字字模
- Bytes_Display(chs);//在屏幕上显示这个汉字
- printf("\n");
- Bytes_Read_from_HZK16(&s[2],chs);//去字库中读取汉字字模,注意每个汉字占2个char的存储空间
- Bytes_Display(chs);//在屏幕上显示这个汉字
- return 0;
- }
HZK16点阵字库程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)