[发明专利]二维图形引擎中的点阵字符的缩进方法与中文处理方法无效
申请号: | 200610089009.X | 申请日: | 2006-07-28 |
公开(公告)号: | CN101114443A | 公开(公告)日: | 2008-01-30 |
发明(设计)人: | 王劲林;齐向东;王玲芳;张东滨;吴丽彬 | 申请(专利权)人: | 中国科学院声学研究所;北京中科智网科技有限公司 |
主分类号: | G09G5/24 | 分类号: | G09G5/24;G09G5/26;G09G5/30;G09G5/32;G06K15/10 |
代理公司: | 北京泛华伟业知识产权代理有限公司 | 代理人: | 高存秀 |
地址: | 100080北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二维 图形 引擎 中的 点阵 字符 缩进 方法 中文 处理 | ||
技术领域
本发明涉及使用2维图形引擎支持点阵字库的技术。特别涉及点阵字符的缩进算法。
背景技术
目前越来越多的嵌入式产品使用二维图形引擎来支持图文的电视OSD层显示。这就使得支持中文的显示技术成为必需。然而由于2D图形引擎的局限性,其不能够支持矢量字库,因此只能选择使用点阵字库作为支持中文所需的字库。
在点阵字符库中,包含了ASCII码和汉字以及其他符号,每个字符都用一个0、1位图来表示。其中如果某一位为1,则表示此字符在该位上是需要被填充的,因此该位的颜色应置为字符颜色。如果此位为0,则表示此位是不需要被填充的,对应于此位的颜色应置为背景颜色。在实际应用中,可以通过Windows中使用的矢量ASCII码和汉字转换为点阵字字库,因而可以有多种字体(如宋体、楷体、黑体、幼园等),每种字体又有多种大小型号,这样可以根据实际需求来选择所需的字体和字符型号。
在西文环境下显示汉字的方法是调用中文汉字库进行汉字显示。国标码汉字的内码是从AO-FF,第一字节称为区,第二字节称为位,可用汉字只有96区*96位个。字符集中的ASCII码是1个Byte,其16进制最大的为FFH,即255个西文字符,这就是常见的字符,如“+”、“^”等,另外还包括图形字符等。中文字符由两个字节组成,早期国家定义是1个Word(2个Byte)代表一个汉字。国家标准规定:汉字库分94个区,每个区有94个汉字(以位作区别),每个汉字在汉字库中有确定的区和位编号,这就是汉字的区位码。每个汉字在库中是以点阵字模形式存储的,一般采用16×16点阵(32字节)、24×24点阵(72字节),每个点用一个二进制位(0或1)表示,对应在屏幕上显示出来就是相应的汉字。
由于在中文环境下,输入的是汉字的内码,因此必须将之转换成区位码,算出偏移量,从字库中找到对应的汉字,将其字模显示即可。
然而,使用点阵字符也有其存在的缺点。其主要的缺点就是对于一个无法填满24点阵的字符来说(这里以24点阵字库为例说明),在24*24的显示空间中将会有很大部分时被空着的。这就造成了某些字符显示出来后的效果极其松散。如果碰到连续的ASCII字符,则点阵字库显示出来的效果是无法让人接受的。如,对于一个英文的词汇“lily”来说,由于使用24点阵字库,显示出来的效果则变成了“lily”。因此点阵字库显示技术还有待改进。
发明内容
本发明的目的在于克服点阵字库由于受固定点阵所限,在多ASCII字符连续显示时所出现的字符松散的问题,从而提供一种能够有效地对点阵字符进行缩进处理的方法。
为了实现上述目的,本发明提供了一种二维图形引擎中的点阵字符的缩进方法,包括以下步骤:
a)、从读入的一段字符中取出一个字符,判断当前字符是否超出了本段字符的总字节长度,若没有超过,则执行下一步,否则,中断执行,跳出循环;以字节个数进行循环计算;
b)、辨别当前字符为中文字符还是英文字符或符号,若为中文字符,执行下一步,若为英文字符或符号,执行步骤d);
c)、将中文字符由16进制内码转化为区位码,然后执行步骤e);
d)、将英文字符或符号由16进制内码转化为区位码,然后执行步骤e);
e)、通过区位码对所述步骤2)中所打开的点阵字库文件进行定位检索,读出字符的点阵字符的字模,并存入一个二维数组中;
f)、对二维数组的每个值分别作“与”运算,得到并记录点阵字符中最左边的点和最右边的点的位置,将最右边的点的位置与最左边的点的位置相减,即可得到一个字符的实际长度,并对于左右两侧的空白部分进行剪裁;
g)、返回到步骤a)。
一种应用所述的二维图形引擎中的点阵字符的缩进方法的中文处理方法,包括:
1)、从二维图形引擎的接收数据缓存中读取字符数据,并设置标记以识别是否需要继续读取;
2)、打开点阵字库文件备用;
3)、对字符数据中的加密字符进行处理;
4)、利用点阵字符的缩进方法计算读入的每个字符的实际长度,然后累加各个字符的实际长度得到所有读入字符的总长度;
5)、处理字符的高度以及行间距,把字符的高度与行间距相加得到字符的纵向位置;
6)、将步骤4)中得到的字符总长度与屏幕宽度进行比较,若字符的总宽度超过屏幕的宽度,则对超出屏幕的字符作省略处理或是作换行处理,并记录所能显示的字符的总长度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科智网科技有限公司,未经中国科学院声学研究所;北京中科智网科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610089009.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:吸入设备以及液体剂喷射盒
- 下一篇:确定透平构件缺陷的方法和设备