- /*******************************************************************************
- **程序称号:演示运用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点阵字库程序
/*********************************************************************************程序名称:演示使用HZK16点阵字库
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/275288.html