利用c语言编程实现小型矢量汉字库的创建及调用

利用c语言编程实现小型矢量汉字库的创建及调用

ID:33602784

大小:142.84 KB

页数:4页

时间:2019-02-27

利用c语言编程实现小型矢量汉字库的创建及调用_第1页
利用c语言编程实现小型矢量汉字库的创建及调用_第2页
利用c语言编程实现小型矢量汉字库的创建及调用_第3页
利用c语言编程实现小型矢量汉字库的创建及调用_第4页
资源描述:

《利用c语言编程实现小型矢量汉字库的创建及调用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、维普资讯http://www.cqvip.com编程语言RoGRALANGUAGE利用C语言编程实trill

2、型矢量汉字库昀创建及调用西安通信学院董有积摘要本文简要介绍利用c语言编写程序,建立一个小型是量汉字库的方法关键词点阵字库,矢量字库,索引信息我们在编写图形界面应用程序时,往往在应用要进行矢量汉字显示,首先根据其机内码按下面软件的封面要用到较大的字体做标题。如果用点阵字公式:库进行放大显示.则会在显示字体边缘出现锯齿状,汉字的索引信息首址一((汉字机匈码高位字节产生失真,不美观;若用高点阵的字库,速度卫太慢一0Xal+汉字机内

3、码低位字节一0Xa1)×6但改用矢量字库进行显示,效果就不同,不仅显示计算出其索引信息首址,然后从指定的矢量字库按索速度快而且字体边缘平滑无失真,同时还可任意进行引地址连续读出6个字节的索引信息,再根据索引信无级缩放息中字形数据在库中的位置及字形数据的长度.从库设计软件封面仅需步量的汉字.为此若带一个庞中读出相应的字形数据,最后裤码还原得到其轮廓多大的是量字库,就太不划算本文讨论如何利用c语边形的各点坐标,画出多边形并填充,即可得到矢量言编写程序.创建一个小型矢量汉字库,可供应用程序调用的问题。汉字要建立小型矢蹙汉字库,首先必须搞清

4、楚矢量字了解了一般矢量汉字库的结构,不难看出,要建库的结构。矢量汉字库与点阵汉字库不同。点阵字库立一个小型矢量汉字库,小字库的结构也必须包括索(如24点阵)汉字是由纵横各24个点组成,凡有笔划引信息和矢量数据区两部分,所不同的是小型矢量汉的为1,无笔划的点为⋯0,这样一个汉字的字模字库的索引信息并非按汉字的区位码顺序排列,这样可用72个字节二进制数表示,每个汉字的字模长度必然会给检索带来麻烦。为解决此问题,就必须在小都相等,按其区位码顺序存放在字库中,而矢量字体型矢量字库的索引信息中,再增加其区位码信息。如并不是用点阵信息描述汉字的

5、笔划,而是将汉字的笔此一来,在小型矢量字库中,每个汉字的索引信息长划边缘用直线段描述成封闭的曲线,并将线段各端点度为8个字节,其前两个字节为汉字的区位码,接着的坐标经压缩存储,它是图形信息建库的。由于每的四个字节是字形数据在库中的位置,后两个字节为个汉字的笔划不一样,所以每个汉字在库中所占长度是不相同的这样,矢量字库不能象阵字库那样定汉字字形数据的长度。位,只能采用索引的方法。因而每种矢量字库都是由比较一下.原来矢量字库的索引信息表结构是两部分组成,一部分是汉字的索引信息,它包括每个lypedefstrucl{unsignedIon

6、goddr;,字形数据的地址*汉字的矢量数据在库中的位置地址以及汉字字形数unsignedintsiZe;,*字形数据的长度*,据的长度,存放在字库的前面部分,按汉字的区位码。SlP;顺序存放;另一部分是汉字的字形数据,包括控制信而小型矢量字库的索引信皂表结构应为息和各点坐标信息,是字库的主体.放在字库的后面。typedefstructc如UCDOS3.X的矢量字库HZJSISTJ(宋体简体)、unsignedint0wm},*汉字的区位码*/unsLgnedlongaddr;/*字形数据的地址*HZKSLFSJ(仿朱简体)、HZK

7、SLKTJ(楷体简体)、u㈣gnedtn【sze},*字嘭数据的长度,HZKSIHTJ(黑体简体),其索引信息眭度为6个字}sire节-前面两个字节是汉字矢量数据在库中的起始位建立小型矢量汉字库,首先将要显示的汉字用文置,后两个字节为汉字字形数据的长度。字处理软件(WPS的N方式或ccED)编成文本文件28电脑编程技巧与维护·1998年第9期维普资讯http://www.cqvip.comP编撰语言_HZ.TxT,注意取掉重复的汉字库,首先根据要显示的汉字区位码,在打开的小型矢然后根据HZ.TxT文件确定小字库存放汉字的量字库的索引

8、信息中寻找,找到后根据其提供的地个数,后面程序中的字符常量MAx定义为32,就可址、长度信息在矢量数据区读出相应的矢量数据,然存放32个汉字。由于每个汉字的索引信息为8个字后解码还原,得到其轮廓多边形各顶点的坐标,用节,小型矢量字库的索引信息区长度为256字节,矢fillpoly()函数画出多边形并填充,即可显示矢量汉量数据区将从字库第257字节处开始存放第一个汉字字的矢量数据。若要增加存放汉字的数量,只需修改/xslzk.c创建小型矢量汉字库源程序/符号常量MAx的数值#Inolude”stdlo.最后用c语言编写程序,编程的思路

9、是这样的:#defineMAX32首先根据运行程序所带的参数打开相应的矢量字库,typedefstruct{unsignedlongaddr如果没带参数,则程序终止并提示操作方法;如果要unsignedin1size;打开的矢量字库不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。