⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hzprintf.c

📁 mp4的源码,主要包括loader,usb driver,mp3 decoder,jpeg decoder,mpeg decoder部分.引导部分是基于arm9的s3c2410,部分代码未经过完善.
💻 C
字号:
/*汉字在hzk16中是以区位码来存储的,每区存放94个汉字,因此   记录号=区号*94+位号,而每个汉字的字模信息占32个字节,因此   字模在文件中的地址=记录号*32.再从这个地址往下读32个字节即是它的字模信息.   
 *可以根据汉字的机器内码计算出汉字的区位码,规则:区号=机器内码高字节-0xa1   位号=机器内码低字节-0xa1.
 */
  #include   <graphics.h>   
  #include   <stdio.h>   
  #include   <dos.h>   
    
  int   InitHz(void);   
  int   OutHzxy(int   x,   int   y,   char   *str);   
    
  static   FILE   *fphz;   
    
  int   InitHz(void)   
  {   
          if(VGAHI   ==   getgraphmode())   
          {   
  if((fphz   =   fopen("hzk16",   "rb"))   !=   0)   
          return   0;   
  else   
          return   1;   
          }   
          else   
  return   2;   
  }   
    
  int   OutHzxy(int   x,   int   y,   char   *str)   
  {   
          //用setcolor()设置字的颜色   
          unsigned   int   qu,   wei,   rec,   i,   j;   
          long   len;   
          unsigned   char   buf,   bufch   =   {0};   
          struct   linesettingstype   ls;   
          struct   textsettingstype   ts;   
    
          setcolor(WHITE);   
          gettextsettings(&ts);   
          settextstyle(SMALL_FONT,   HORIZ_DIR,   6);   
          getlinesettings(&ls);   
    
          while(*str)   
          {   
    
  if((*str   &   0x80)   &&   (*(str   +   1)   &   0x80))   
  {   
          qu   =   (*str++   -   0xa1)   &   0x7f;   
          wei   =   (*str++   -   0xa1)   &   0x7f;   
          rec   =   qu   *   94   +   wei;   
          len   =   rec   *   32L;   
          fseek(fphz,   len,   SEEK_SET);   
          fread(buf,   32,   1,   fphz);   
          for(i   =   0;i   <   16;i++)   
          {   
  j   =   buf;   
  j   =   (j   <<   8)   |   buf;   
  setlinestyle(USERBIT_LINE,   j,   NORM_WIDTH);   
  line(x   +   15,   y   +   i,   x,   y   +   i);   
          }   
          x   +=   16;   
  }   
  else   
  {   
    
          bufch   =   *str++;   
          outtextxy(x,   y   -   3,   (char   *)   bufch);   
          x   +=   8;   
  }   
          }   
          setlinestyle(ls.linestyle,   ls.upattern,   ls.thickness);   
          settextstyle(ts.font,   ts.direction,   ts.charsize);   
          return   0;   
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -