您的位置 首页 传感器

HZK16点阵字库程序

/*********************************************************************************程序名称:演示使用HZK16点阵字库

  1. /*******************************************************************************
  2. **程序称号:演示运用HZK16点阵字库的程序
  3. **程序描绘:运用HZK16完成显现16*16点阵汉字
  4. **功能提高:
  5. **程序版别:V1.0
  6. **程序作者:syrchina
  7. **最终修正:2011年8月16日
  8. *******************************************************************************/
  9. #include
  10. /*******************************************************************************
  11. **函数称号:Bytes_Read_from_HZK16
  12. **函数描绘:从字库文件中读取一个汉字的字模点阵数据
  13. **进口参数:unsigned char*s 指向方针汉字的指针,
  14. char*constchs 用于存储字模的数组首地址
  15. **出口参数:无
  16. *******************************************************************************/
  17. void Bytes_Read_from_HZK16(unsigned char*s,char*constchs)
  18. {
  19. FILE*fp;
  20. unsigned long offset;
  21. offset=((s[0]-0xa1)*94+(s[1]-0xa1))*32;//依据内码找出汉字在HZK16中的偏移方位
  22. if((fp=fopen(“HZK16″,”r”))==NULL)return;//翻开字库文件
  23. fseek(fp,offset,SEEK_SET);//文件指针偏移到要找的汉字处
  24. fread(chs,32,1,fp);//读取该汉字的字模
  25. fclose(fp);
  26. }
  27. /*******************************************************************************
  28. **函数称号:Bytes_Display
  29. **函数描绘:在屏幕上显现一个汉字
  30. **进口参数:char*constchs 存储了汉字点阵数据的数组首地址
  31. **出口参数:无
  32. *******************************************************************************/
  33. void Bytes_Display(char*constchs)
  34. {
  35. inti,j;
  36. for(i=0;i<32;i++)//显现
  37. {
  38. if(i%2==0)printf(“\n”);//每行两字节,16X16点阵
  39. for(j=7;j>=0;j–)
  40. {
  41. if(chs[i]&(0x1<
  42. {printf(“O”);}//由高到低,为1则输出O,反之输出-;
  43. else
  44. {printf(“-“);}
  45. }
  46. }
  47. }
  48. /*******************************************************************************
  49. **函数称号:main
  50. **函数描绘:main 函数
  51. **进口参数:无
  52. **出口参数:无
  53. *******************************************************************************/
  54. intmain(void)
  55. {
  56. char chs[32];//16*16=256个点
  57. unsigned char s[]=”我国”;//要显现的汉字
  58. Bytes_Read_from_HZK16(&s[0],chs);//去字库中读取汉字字模
  59. Bytes_Display(chs);//在屏幕上显现这个汉字
  60. printf(“\n”);
  61. Bytes_Read_from_HZK16(&s[2],chs);//去字库中读取汉字字模,留意每个汉字占2个char的存储空间
  62. Bytes_Display(chs);//在屏幕上显现这个汉字
  63. return 0;
  64. }

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/275288.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部