不依赖高点阵字库实的现屏幕汉字显示.docVIP

不依赖高点阵字库实的现屏幕汉字显示.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
不依赖高点阵字库实的现屏幕汉字显示

不依赖高点阵字库实现屏幕汉字显示 在设计软件封面或菜单标题时,常需用到放大的汉字显示。通常采用的方法是一边从高点阵字库中读取汉字的字形码,一边加以变换在图形方式下绘点;但高点阵字库占有较大存储空间,例如 :2.13汉字系统中四种字体(宋、仿宋、黑、楷)的40X40点阵字库共占用近5M字节的硬盘空间。一般汉字操作系统中的汉字显示都采用16X16点阵字库(仅占约260K字节);而由于硬盘空间的限制,并不是每台微机上都装有高点阵字库。如何使汉字放大显示程序不依赖高点阵字库而独立运行?本文提供一种方法,将需要放大显示的汉字串的字形码一次性从2.13I高点阵字库(40X40点阵)读入一个SUBHZK文件,以后每次显示放大汉字时只需从该文件读取字模信息,而SUBHZK比高点阵字库要小的多。这样,汉字显示程序运行时就彻底摆脱了高点阵字库(只需打开文件SUBHZK),可在西文方式或任何中文方式下运行。程序采用Turbo C2.0编写,汉字放大显示程序DISPHZ运行时只需将SUBHZK和相应显示器的图形驱动程序(如CGA.BGI、EGAVGA.BGI)随DISPHZ.EXE放在同一目录下即可。须注意的是,40X40点阵字模(字形码)实际上由40×36点阵组成,其汉字字形码排列格式为@@T5S06100.GIF;图1@@程序清单:/*程序READGHZ.C:将需放大显示的汉字串的字形码从2.13系统40X40点阵字库读入文件SUBHZK*/#includelt;stdio.hgt;#includelt;io.hgt;int openhzk40(int);FILE *fp,*fptr; /*定义全局文件指针*/char *hzk-table[]={“c:213hzk40s”,”c:231hzk40f”,”c:213hzk40h”,”c:213hzk40k”};main(){unsigned char *string=“管理信息系统”;/*需放大的汉字串*/unsigned char inter-code ,zone-code,bit-code;int locate,hzk-num,flag=0char *p,dot-arrays[180];if((fptr=fopen(“subhzk”,”wb”))==NULL){printf(“Cannot open filen”);exit(1);} /*打开或创建文件SUBHZK */openhzk40(1);p=string;while(*p){inter-code=*p++;if(inter-codegt;0xal)if(flag==0){zone-code=(inter-code-0xa0)amp;0x7f;/*汉字区码*/flag=1;}eles{bit-code=(inter-code-0xa0)amp;0x7f;/*汉字位码*/flag=0;locate=(zone-code-0x10)*94+bit-code-1;/*汉字字模地址*/fseek(fp,locate*180L,SEEK-SET);/*置文件指针于汉字字模地址*/fread(dot-arrays,sizeof(dot-arrays),1,fp);/*读汉字字模于数组中*/fwrite(dot-arrays,sizeof(dot-arrays),1,fptr);/*写汉字字模到文件*/}}fclose(fp);fclose(fptr);return 0;}int openhzk40(int hzk-num)/*打开2.13系统40X40点阵字库文件*/{if((fp=fopen(hzk-table[hzk-num],”rb”))==NULL){cputs(“Error on open file”);getch();exit(1);}return 0;}/*程序DISPHZ.C:从文件SUBHZK中读取汉字字形码信息并放大显示*/#include lt;graphics.hgt;#include lt;stdio.hgt;#include lt;fcntl.hgt;#define RED 4#define grOK 0#define STRLEN 6/*要显示的汉字串所含汉字个数*/int writehz (int,int,int,int,int,int);void init-graph();void far restorecr tmode();FILE *fp;main (){init-graph(); /*初始化图形模式*/if((fp=fopen(“subhzk”,”rb”))==NULL){printf(“Cannot open file/n”);exit(1);}writehz(30,30,10,2,2,RED);fclos

文档评论(0)

ayangjiayu3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档