那只能用程序写喽
TC下的中文显示
以前的帖子里有的是相关的技术
下面是我做的一个显示中文的程序
你看一下吧
#include <stdio.h>
#include <fcntl.h>
#include <graphics.h>
int HZK_File;
int ASC_File;
int HZ_x,HZ_y;
int HZK_Color=15;
void Init()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"");
}
void OpenHZFile()
{
if((HZK_File=open("HZK16",O_RDWR|O_BINARY))==-1)
{
printf("\n\n\t Open HZK16 error!");
getch();
exit(0);
}
if((ASC_File=open("ASC16",O_RDWR|O_BINARY))==-1)
{
printf("\n\n\t Open ASC16 error!");
getch();
exit(0);
}
}
int Out64kHZ(unsigned char *hz)
{
int i=0,j=0,k=0;
int x=0,y=0;
int r=0;
long p=0;
char bit[32];
unsigned int hzasc=0,qm=0,wm=0,flat=0;
x=HZ_x;
y=HZ_y;
rewind(HZK_File);
while(hzasc=*hz)
{
if(hzasc>0xa1)
if(flat==0)
{
qm=(hzasc-0xa1)&0x07f;
flat=1;
}
else
{
wm=(hzasc-0xa1)&0x07f;
r=qm*94+wm;
p=r*32l;
lseek(HZK_File,p,SEEK_SET);
read(HZK_File,bit,32);
for(i=0;i<16;i++)
for(j=0;j<2;j++)
for(k=0;k<8;k++)
if((bit[i*2+j]>>(7-k))&0x01)
putpixel(x+j*8+k,y+i,HZK_Color);
flat=0;
x+=16;
}
else
{
lseek(ASC_File,(*hz)*16l,SEEK_SET);
read(ASC_File,bit,16);
for(i=0;i<16;i++)
for(k=0;k<8;k++)
{
if((bit[i]>>(7-k))&0x01)
putpixel(x+k,y+i,HZK_Color);
}
x+=8;
}
*hz++;
}
}
void Out16HZ(unsigned char *hz)
{
HZ_x=wherex()<<3-16;
HZ_y=wherey()<<3-16;
Out64kHZ(hz);
}
void Out16HZxy(unsigned char *hz,int x,int y)
{
HZ_x=x;
HZ_y=y;
Out64kHZ(hz);
}
main()
{
Init();
OpenHZFile();
Out16HZ("bc-cn论坛欢迎您");
HZK_Color=6;
Out16HZxy("bc-cn论坛欢迎您",100,100);
getch();
}