免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3278 | 回复: 1
打印 上一主题 下一主题

谁知道英文点阵字库的起始位置是怎么算的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-27 15:28 |只看该作者 |倒序浏览
比如我有一个24x24的英文点阵字库,我要想知道字母'A'在字库中的起始位置应该怎么算?

论坛徽章:
0
2 [报告]
发表于 2007-11-27 15:52 |只看该作者
我的代码是下面这样写的,谁帮我看看哪儿错了!

  1. #include <stdio.h>
  2. #include <string.h>
  3. #define FONTFILE "./Eng24x24.dat"
  4. void puts24(int x,int y,char s_to_deplay,unsigned char colour)
  5. {
  6.         register int i,j,k;
  7.         unsigned char buf[24*3+4];
  8.         unsigned long location = 24*3*(s_to_deplay);
  9.         FILE* fp = NULL;
  10.         unsigned long tmp = 0;

  11.         fp = fopen(FONTFILE, "rb");
  12.         if (NULL == fp)
  13.         {
  14.                 printf("fail to open font file\n");
  15.                 return ;
  16.         }
  17.         fseek(fp, location, SEEK_SET);
  18.         memset(buf, 0, sizeof(buf));
  19.         fread(buf, 24*3, 1, fp);

  20.         for(i=0;i<24;i++)
  21.         {
  22.                 tmp = (buf[i])|(buf[i+1]<<8)|(buf[i+2]<<16);
  23.                 //tmp = (buf[i]<<16)|(buf[i+1]<<8)|(buf[i+2]);
  24. #if 0
  25.                 printf("tmp[%x]\n", tmp);
  26. #else
  27.                 for(j=0;j<24;j++)
  28.                 {
  29.                         if(((tmp>>(23-j))&0x1)!=0)
  30.                         {
  31.                                 putchar('*');
  32.                         }
  33.                         else
  34.                         {
  35.                                 putchar(' ');
  36.                         }
  37.                 }
  38.                 putchar('\n');
  39. #endif
  40.         }
  41.         fclose(fp);
  42.         return ;
  43. }

  44. int main(int argc, char *argv[])
  45. {
  46.         char input = argv[1][0];
  47.         //printf("inut val is %x\n", input);
  48.         puts24(0,0,input,0);
  49.         return 0;
  50. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP