我也不知道哈,但可以用VC++来编C,可以显示中文
网上找来的!不过Hzk16.dat你要另外去找
#include <graphics.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#include <stdlib.h>
#include <conio.h>
#define row 1 //纵坐标放大倍数
#define col 2 //横坐标放大倍数
void main()
{
 int x,y;
 char *s="汉字显示程序";
 FILE *fp;
 char buffer[32]; //buffer用来存储一个汉字
 register m,n,i,j,k;
 unsigned char qh,wh;
 unsigned long offset;
 int gd=DETECT,gm; //图形屏幕初始化
 initgraph(&gd,&gm,"");
 if ((fp=fopen("hzk16.dat","rb"))==NULL)
 //打开汉字库,该字库可以在ucdos中找到
 { printf("can't open haz16,please add it");
 getch(); closegraph(); exit(0);
 }
 x=20; y=100; //显示位置设置
 while(*s)
 { qh=*(s)-0xa0; //汉字区位码
 wh=*(s+1)-0xa0;
 offset=(94*(qh-1)+(wh-1))*32l; //计算该汉字在字库中偏移量
 fseek(fp,offset,SEEK_SET);
 fread(buffer,32,1,fp); //取出汉字32字节的点阵字模存入buffer中(一个汉字)
 for (i=0;i<16;i++) //将32位字节的点阵按位在屏幕上打印出来(1:打印,0:不打印), 显示汉字
 for(n=0;n<row;n++)
  for(j=0;j<2;j++)
  for(k=0;k<8;k++)
  for(m=0;m<col;m++)
 if (((buffer[i*2+j]>>(7-k))&0x1)!=NULL)
 putpixel(x+8*j*col+k*col+m,y+i*row+n,GREEN);
  s+=2; //因为一个汉字内码占用两个字节,所以s必须加2
  x+=30;
  }
  getch();
  closegraph();
 }
 
