中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS汉化世界 & 中文系统 (中文化室) » 有了字库文件,怎么在DOS下显示汉字
作者:
标题: 有了字库文件,怎么在DOS下显示汉字 上一主题 | 下一主题
ub
初级用户




积分 140
发帖 12
注册 2004-2-22
状态 离线
『楼 主』:  有了字库文件,怎么在DOS下显示汉字

如题!

2004-2-22 00:00
查看资料  发送邮件  发短消息 网志  OICQ (13078422)  编辑帖子  回复  引用回复
Kinglion
铂金会员

痴迷DOS者


积分 5792
发帖 1921
注册 2003-6-20
来自 金獅電腦軟體工作室
状态 离线
『第 2 楼』:  我编写的显示汉字的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);
}

希望大家批评指正!



熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
2004-4-24 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (79207959)  编辑帖子  回复  引用回复
alhan
初级用户




积分 125
发帖 11
注册 2004-5-9
状态 离线
『第 3 楼』:  

呵呵。根本不需要那么多头文件。

2004-5-11 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Kinglion
铂金会员

痴迷DOS者


积分 5792
发帖 1921
注册 2003-6-20
来自 金獅電腦軟體工作室
状态 离线
『第 4 楼』:  

此文件是我将其它的自编写函数删除后上传的,其它的函数需要用到这些头文件的。我犯懒没有删除而已。



熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
2004-5-11 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (79207959)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: