Board logo

标题: 有了字库文件,怎么在DOS下显示汉字 [打印本页]

作者: ub     时间: 2004-2-22 00:00    标题: 有了字库文件,怎么在DOS下显示汉字

如题!
作者: Kinglion     时间: 2004-4-24 00:00    标题: 我编写的显示汉字的C语言头文件

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define Byte unsigned char
#define Word unsigned int
int flag16, flag24;
void out16hz(int,int,int,int,char *);
void out24hz(int,int,int,int,int,int,char *);
int convert(Byte ch,int n);

void out16hz(int x,int y,int z,int color,char *p)
{
    Word num, QM,WM,flag=0;
    int recod,i,j,k;
    long pointer;
    char Bit[32];
    flag16=open("c:\\ccdos\\hzk16", O_RDWR|O_BINARY);
    if(flag16==-1){ printf("cannot open hz16\n"; exit(1);}
       while((num=*p++)!=0)
       {
        if(num>0xA1)
           if(flag==0)
              { QM=(num-0xA1)&0x07F; flag=1; }
           else
           {
            WM=(num-0xA1)&0x07F;
            flag=0;
            recod=QM*94+WM;
            pointer=recod*32L;
            lseek(flag16,pointer,SEEK_SET);
            read(flag16,Bit,32);
            for(i=0;i<16;i++)
                for(j=0;j<2;j++)
                    for(k=0;k0xA1)
        if(flag==0)
        { QM=(num-15-0xA1)&0x07F; flag=1; }
        else
        {
         WM=(num-0xA1)&0x07F;
         flag=0;
         record=QM*94+WM;
         pointer=record*72L;
         lseek(flag24,pointer,SEEK_SET);
         read(flag24,Bit,72);
         for(i=0;i<24*m;i=i+m)
             for(width=0;width<m;width++)
                 for(j=0;j<=2;j++)
                     for(k=0;k<8;k++)
                         if(convert(Bit[i/m*3+j],7-k))
                            for(height=0;height>n)&0x01);
}

希望大家批评指正!
作者: alhan     时间: 2004-5-11 00:00
呵呵。根本不需要那么多头文件。
作者: Kinglion     时间: 2004-5-11 00:00
此文件是我将其它的自编写函数删除后上传的,其它的函数需要用到这些头文件的。我犯懒没有删除而已。