- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.5字符线宽线形与反走样
3.5 字符
字符指数字、字母、汉字等符号。计算机中字符由一个数字编码一标识。国际上最流行的字符集是美国信息交换用标准代码集简称ASCII码。它是用7位二进制数进行编码表示128个字符,包括字母、标点、运算符以及一些特殊符号。我国除采用ASCII码外,还另外制定了汉字编码的国家标准字符集GB 2312-80《信息交换用汉字编码字符集 基本集》。该字符集分为94个区,94个位,每个符号由一个区码和一个位码共同标识。区码和位码各用一个字节表示。6763个汉字,一级3755个,二级3008个,682个图形符号。
为了能够区分ASCII码与汉字编码,采用字节的最高位来标识:最高位为0表示ASCII码;最高位为1表示汉字编码。为了在显示器等输出设备上输出字符,系统中必须装备有相应的字库。字库中存储了每个字符的形状信息,字库分为矢量和点阵型两种。
(a)点阵字符 b)点阵字库中的位图表示 c)矢量轮廓字符
图 字符的种类常用的方法有点阵式、矢量式和编码式字符属性
字符属性字体字高字宽因子扩展/压缩字倾斜角对齐字色写方式
一般字体确定风格,字形确定外观,字号确定尺寸
字符属性的内容如下。
(1)字体仿宋体楷体黑体隶书字倾斜角倾斜对齐左对齐、中心对齐、右对齐字色
(5)写方式:替换方式时,对应字符掩模中空白区被置成背景色。方式时,这部分区域颜色不受影响。点阵字符在点阵字符库中,每个字符由一个位图表示该位为1表示字符的笔画经过此位,对应于此位的像素应置为字符颜色。该位为0表示字符的笔画不经过此位,对应于此位的像素应置为背景颜色。在实际应用中,有多种字体(如宋体、楷体等),每种字体又有多种大小型号,因此字库的存储空间是很庞大的。解决这个问题一般采用压缩技术。如黑白段压缩部件压缩轮廓字形压缩等。其中,轮廓字形法压缩比大,且能保证字符质量,是当今国际上最流行的一种方法。轮廓字形法采用直线或二/三次bezier曲线的集合来描述一个字符的轮廓线。轮廓线构成一个或若干个封闭的平面区域。轮廓线定义加上一些指示横宽、竖宽、基点、基线等控制信息就构成了字符的压缩数据。常用的点阵大小有57、79、8 8、1616等等点阵字符的显示分为两步。首先从字库中将它的位图检索出来。然后将检索到的位图写到帧缓冲器中。
使用点阵式字符时,需将字库中的矩形点阵拷贝到buffer中指定的单元中去。在拷贝过程中,可以施加变换,以获得简单的变化。图(b)-(d)列出了P字母原型的一些变化例子。相应的变换算法是:
???????????????????????
(a)?????? ?(b)??????????? (c)???????? (d)
图点阵式字符及其变化
图(b)变成粗体字。算法是:当字符原型中每个象素被写入帧缓存寄存器的指定位置xi, yi时,同时被写入xi+1, yi。
图(c)旋转90。算法是:把字符原型中每个象素的x, y坐标彼此交换,并使y值改变符号后,再写入帧缓存寄存器的指定位置。
图(d)斜体字。算法是:从底到顶逐行拷贝字符,每隔n行,左移一单元。
此外,还可以对点阵式字符作比例缩放等其他一些简单的变换。但是对点阵式字符作任意角度的旋转等变换,是比较困难的操作。
由于光栅扫描显示器的普遍使用,点阵式字符表示已经成为一种字符表示的主要形式。从字库中读出原字型,经过变换拷贝到buffer中去的操作,经常制成专门的硬件来完成。这就大大加快了字符生成的速度。矢量字符
矢量字符而不是整个位图,具有存储空间小,美观、变换方便等优点。对于字符的旋转、缩放等变换,点阵字符的变换需要对表示字符位图中的每一像素进行;而矢量字符的变换只要对其笔画端点进行变换就可以了。矢量字符的显示也分为两步。首先从字库中它的字符信息。然后取出端点坐标,对其进行适当的几何变换,再根据各端点的标志显示出字符。I,j,k,l表示,调用矢量字符过程相当于输出一个polyline,
3.5.4 方向编码式字符方向编码式字符用有限的若干种方向编码来表达一个字符,常用的如8方向编码。图2.4.3示出8个方向的编码为07,其中编码为偶数和0的固定长度为1,编码为奇数的固定长度为。一个字符就可以表示为一连串方向码。图2.4.4(a)示出字母“B”的方向矢量构成。这样,“B”就表示为8方向编码:{000012344400012344440666666}。方向编码式字符很容易被填入帧缓存寄存器中予以显示(图2.4.4(b)),方向编码所占的空间比较小,它也能接受一些特定的变换操作,如按比例在x和y两个方向放大或缩小以及以45角为单位的旋转,但难以进行任意角度的旋转。
??????????? ????????? ?
?????????? 图2.4.4
方向编码既可用于字符的显
文档评论(0)