- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
怎样利用点阵转换字库
怎样使用点阵字库(转)
前不久,在网上看到一个生成点阵字的网站.觉得很有意思!到底什么是点阵字,点阵字和字模之间有什么关系?让我们先看一个点阵汉字和一个英文字母:这就是点阵字,也就是根据字符的字模用符号画出来的,当然你可以把*号#号改成其它的任何符号都可以.是不是觉得很有意思了?汉字内码:我们都知道,英文只有少数的几十个字符,在计算机中用一个字节可以很容易的表示出来(也就是ASCII码);而汉字由于结构本身的原因,数量很大,常用的也有几千个.显然计算机中按照英文字符的方式对处理汉字是不可取的.由是前人们就将ASCII表的高128位很少用到的数值以两个为一组来表示汉字,这就是汉字的内码.而剩下的低128位则留给英文字符使用,即英文的内码.看一个C程序示例:程序代码main ( )unsigned char * s , * e = A , * c = 王 ;clrscr ( ) ;printf ( English char = ) ;s = e ;while ( * s ! = 0 )printf ( =, , * s ) ;s + + ;printf ( \nChinease char= ) ;s = c ;while ( * s ! = 0 )printf ( =, , * s ) ;s + + ;getch ( ) ;编译运行以后,输出的结果为:English char = 65,Chinease char= 205,245,查ASCII码字符表,很容易得到A的ASCII码为65.我们可以查ASCII码表,得到出ASCII码对应的字符,那我们有什么办法来知道一个汉字内码对应的汉字了?让我们先来认识一下区位码:1981 年5月,我国国家标准总局颁布了《信息交换用汉字编码字符集》(GB2312-80),简称国家标准汉字编码,也叫国标码.国标码共收进标准字符7445 个.其中一级汉字3755个,二级汉字3008个,共计6763个汉字. 由于汉字的字符多,一个字节(即8位二进制代码)不足以表示所有的常用汉字.汉字国标码的每个汉字或符号在计算机中都使用2个字节(16位二进制)代码来 表示.在GB2312-80代码表中,纵向分为0~93,共94行.将行号称为区号,列号称为位号,分别有94个区和94个位.区号和位号用十进 制表示,不足两位前面补0.这样每个汉字或符号都可用4位十进制表示.这就是我们常说的区位码.每一区共有94个汉字,而位记录该汉字在该区中的具体位 置.(记得我们以前读书的时候,报考计算机考试,填写姓名都要我们用区位码填,我们都拿着自己的姓名一个个去查,我们查的那个东东就是区位码.现在想想, 真是心寒呀.还好,我后来就没有查了,弄了个excel的宏.把班上人的姓名全部放到一个excel中,然后一点鼠标,哈哈…… 区位码全自动出来了).现在我们知道,可以从区位码得到汉字,也可以从汉字反查出区位码.那么我们如何从内码得到区位吗?汉字内码与区位码之间有一个简单的数学关系:内码高字节 = 区码+A0H = 区码+160内码低字节 = 位码+A0H = 区码+160这个转换关系,我也不清楚原因,有谁知道还望指点.网上的大师们说这样转换,咱们就这样转换吧.我们刚刚输出王的内码为:205(高字节),245(低字节).由上面的换算关系,可以得到王字的区位码为:区码=205-160=45位码=245-160=85查一下区位码表,4585所表示的汉字正好是王.也可以打开输入法,选择内码输入法,然后选择区位码,输入4585,就会输出王字.汉字字模:现在让我们来认识一下什么是字模,所谓字模就是是汉字(或者字符)的形态.字模中保存了汉字的点阵信息,记录组成一个字符的点在何处显示,在何处不显示.我们只要得到汉字的字模,我们就可以很容易的程序来控制,把这个字符画出来.我们刚刚得到的仅仅是汉字的内码,并根据汉字内码得到区位码,由区位码查表得到汉字.那么我们如何来得到汉字的字模了?用 过UCDOS(或者CCDOS,估计现在只有少数人还知道UCDOS是什么东东)的人应该知道,通过UCDOS可以让DOS系统下正确的显示中文目录.不 通过UCDOS之类的软件,在纯DOS下,我们看到的中文目录会是一堆的乱码,而英文目录能够正确显示,这是什么原因了.这是因为,英文的字模信 息是一般固化在ROM里.中文字模信息一般记录在一个专门的文件中,这个文件在UCDOS和CCDOS中都有,文件名是HZK16.也就是16x16点阵 的汉字字模信息,所谓16x16,就是说这个汉字在横向有16个点,和纵向16个点的区域里显示.还有24x24,32x32等.我们也可以在UCDOS下找到英文字模的信
文档评论(0)