基于嵌入式平台的小型字库设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式平台的小型字库设计   摘要:开发适用于嵌入式设备的小型字库系统,介绍了字库系统的设计原则及各字库的编码和显示原理,系统已成功应用于一款有线数字电视接收机。   关键词:点阵字库;矢量字库;嵌入式设备;查表法;地址映射   中图分类号:TP334文献标识码:A文章编号:1009-3044(2008)34-1683-02   Designed of Small Font Based on Embedded Platform   CHEN Hui   (Zhongshan Institute, University of Electronic Science and Technology, Zhongshan 528402, china)   Abstract: This paper develops small font system for embedded devices, introduced the character of the system design principles and character encoding and display principles, the system has been success-fully applied to a cable digital TV receiver.   Key words: dot-matrix font; vector font; embedded devices; look-up table method; address mapping   1 引言   文本显示是用户界面最基本的功能,为了增加界面的灵活性和美感,就需要有较为完备的字库系统的支持。由于嵌入式设备的硬件条件不如PC机,因此我们不可能应用现在较为流行的TTF字库。由于点阵字库比较小,嵌入式设备目前主要使用点阵字库,但点阵字库不便于设计缩放、旋转等,因此,小型矢量字库已应用于很多嵌入式设备。本字库系统就是结合使用了点阵字库和矢量字库。   2 字库简介   点阵字库是把每一个字符定义成矩阵,点阵中的每个点只有一种状态,有笔画或无笔画[1]。然后用每个点的虚实来表示汉字的轮廓,对应于二进制数字1表示有笔画,对应于此位的象素应置为字符颜色,0表示没有笔画,对应于此位的象素应置为背景颜色或不改变。   矢量字库是基于汉字笔划存储的,每笔汉字边缘用封闭多边形描述,存储时只需保存多边形各顶点坐标即可,但为了节省存储空间,采用压缩存储方式,每笔先给一个起点坐标(x0,y0),其余顶点采用相对于(x0,y0)的偏移量(△x,△y)表示,用(x0+△x,y0+△y)获取其实际坐标。   3 字库设计与实现   结合嵌入式设备存储空间的限制,我们选用了ucdos3.x部分矢量字库,TurboC2.0的西文矢量字库和16、24点阵字库。ucdos3.x矢量字库及Turbo的西文矢量字库存储方法简单,解码算法容易,占用极少的存储空间,容易实现字型的变换。16、24点阵字库占用存储空间少,显示速度相对于矢量字库较快,但不容易进行变换。由于16、24点阵字库是用户界面较为常用的字体,结合使用这两种字库,即可以满足存储空间的要求,又能加快文本的显示速度。下面将具体介绍两种字库的结构和显示原理。   3.1 广泛汉字矢量字库的编码与显示   在ucdos3.x矢量字库中,每个汉字的矢量数据都由一指针指向,指针区在每个汉字字库的开头0xBB3E字节。每个汉字矢量数据指针占6个字节,前4个字节为汉字的矢量数据在文件中的偏移量,后两个字节为汉字矢量数据的长度。矢量数据格式为:控制码+坐标值。共有十种控制码:1)若控制码第7,6位为11,清除码,结束当前笔划,在第一个坐标与当前坐标之间建立连线;建立新笔划(x,y),各占7位,从控制码的第5位开始,即11XXXXXXXYYYYYYY;2)   若控制码的高4位小于等于0x40,控制码低4位表示坐标值的个数(即有多少个坐标值),每个坐标占一个字节,(x,y)各占4位,各自的最高位为符号位,即FXXXFYYY;3)若控制码的高4位等于4,控制码低4位表示坐标值的个数(即有多少个坐标值),每个坐标占一个字节,(x,y)各占4位,X,Y均为正,即+XXXX+YYYY;4)若控制码的高4位等于5,控制码低4位表示坐标值的个数,每个坐标占一个字节,(x,y)各占4位,X为负,Y为正,即-XXXX+YYYY;5)若控制码的高4位等于6,控制码低4位表示坐标值的个数,每个坐标占一个字节,(x,y)各占4位,X,Y均为正,即-XXXX+YYYY;6)若控制码的高4位等于7,控制码低4位表示坐标值的个数,每个坐标占一个字节,(x,y)各占4位,X

文档评论(0)

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

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档