新聞中心

HZK16點(diǎn)陣字庫程序

作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
  1. /*******************************************************************************
  2. **程序名稱:演示使用HZK16點(diǎn)陣字庫的程序
  3. **程序描述:使用HZK16實(shí)現(xiàn)顯示16*16點(diǎn)陣漢字
  4. **性能提升:
  5. **程序版本:V1.0
  6. **程序作者:syrchina
  7. **最后修改:2011年8月16日
  8. *******************************************************************************/
  9. #include
  10. /*******************************************************************************
  11. **函數(shù)名稱:Bytes_Read_from_HZK16
  12. **函數(shù)描述:從字庫文件中讀取一個(gè)漢字的字模點(diǎn)陣數(shù)據(jù)
  13. **入口參數(shù):unsigned char*s 指向目標(biāo)漢字的指針,
  14. char*constchs 用于存儲(chǔ)字模的數(shù)組首地址
  15. **出口參數(shù):無
  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;//根據(jù)內(nèi)碼找出漢字在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. **函數(shù)名稱:Bytes_Display
  29. **函數(shù)描述:在屏幕上顯示一個(gè)漢字
  30. **入口參數(shù):char*constchs 存儲(chǔ)了漢字點(diǎn)陣數(shù)據(jù)的數(shù)組首地址
  31. **出口參數(shù):無
  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");//每行兩字節(jié),16X16點(diǎn)陣
  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. **函數(shù)名稱:main
  50. **函數(shù)描述:main 函數(shù)
  51. **入口參數(shù):無
  52. **出口參數(shù):無
  53. *******************************************************************************/
  54. intmain(void)
  55. {
  56. char chs[32];//16*16=256個(gè)點(diǎn)
  57. unsigned char s[]="中國";//要顯示的漢字
  58. Bytes_Read_from_HZK16(&s[0],chs);//去字庫中讀取漢字字模
  59. Bytes_Display(chs);//在屏幕上顯示這個(gè)漢字
  60. printf("n");
  61. Bytes_Read_from_HZK16(&s[2],chs);//去字庫中讀取漢字字模,注意每個(gè)漢字占2個(gè)char的存儲(chǔ)空間
  62. Bytes_Display(chs);//在屏幕上顯示這個(gè)漢字
  63. return 0;
  64. }


關(guān)鍵詞: HZK16點(diǎn)陣字庫程

評(píng)論


技術(shù)專區(qū)

關(guān)閉