![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-26 12:30 |
共 47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行 |
| DOS汉化世界 & 中文系统 (中文化室) » 有了字库文件,怎么在DOS下显示汉字 |
| 可打印版本 1,699 / 3 |
| 第1楼 ub | 发表于 2004-02-22 00:00 |
| 初级用户 发帖 12 积分 140 | |
|
有了字库文件,怎么在DOS下显示汉字 如题!
|
|
| 第2楼 Kinglion | 发表于 2004-04-24 00:00 |
| 铂金会员 发帖 1,924 积分 5,798 来自 金獅電腦軟體工作室 | |
|
我编写的显示汉字的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; 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,7-k)) for(height=0;height>n)&0x01); } 希望大家批评指正! |
|
| 第3楼 alhan | 发表于 2004-05-11 00:00 |
| 初级用户 发帖 11 积分 125 | |
|
呵呵。根本不需要那么多头文件。
|
|
| 第4楼 Kinglion | 发表于 2004-05-11 00:00 |
| 铂金会员 发帖 1,924 积分 5,798 来自 金獅電腦軟體工作室 | |
|
此文件是我将其它的自编写函数删除后上传的,其它的函数需要用到这些头文件的。我犯懒没有删除而已。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |