VxWorks汉字显示解决方案
[09-13 16:45:06] 来源:http://www.88dzw.com 信息显示与光电技术 阅读:8673次
文章摘要:②每个字符点阵也有一个范围大小,其大小与每个字符有关。该大小一般不会填满整个字模空间。相关参数有:width——宽度。height——高度。ascent——点阵打点开始位置在baseline之上的偏移,如果是负数,则点阵在baseline之下开始打点。Ascent和height决定了点阵从字模的多少行开始打点,要打多少行。而列的打点起始位置,固定是0,即字模的最左边,所以只有width描述打点的宽度。③字符横向和纵向都要有额外空间,以防止字符粘接重叠。相关参数有:leading——行间距。④对字符的一些变换选项,字符读取的标志等。相关参数有:pixelSixe——平均行、列大小。weight—
VxWorks汉字显示解决方案,标签:显示及光电,光电显示技术,http://www.88dzw.com②每个字符点阵也有一个范围大小,其大小与每个字符有关。该大小一般不会填满整个字模空间。相关参数有:
width——宽度。
height——高度。
ascent——点阵打点开始位置在baseline之上的偏移,如果是负数,则点阵在baseline之下开始打点。
Ascent和height决定了点阵从字模的多少行开始打点,要打多少行。而列的打点起始位置,固定是0,即字模的最左边,所以只有width描述打点的宽度。
③字符横向和纵向都要有额外空间,以防止字符粘接重叠。相关参数有:
leading——行间距。
④对字符的一些变换选项,字符读取的标志等。相关参数有:
pixelSixe——平均行、列大小。
weight——行、列加粗属性。
italic——斜体属性。
spacing——字符行间距属性。
charSet——字符集标志。
faceName——字符集名称。
familyName——字符集的家族名称。
scalable——字符放大缩小比例。
WindML显示字符时,以maxAscent+maxDescend作为字符高度(不加leading),以width作为字符宽度(不以maxAdvance,不判断spacing);根据字符ascent和字符height取出字符点阵数据,进行weight、italic、scalable等运算(很多运算需要用户开发),然后输出到屏幕。
4 WindML的点阵存储结构和操作方法
WindML双字节编码显示的参数和实现思路集中体现在点阵存储文件的结构上,该文件的框架如下(这些文件在WIND_BASE/target/src/ugl/fonts/bmf目录下):
UGL_LOCAL const unsigned char UGL_FAR_DATA
page0Data[]=
{…
/*0x0023('#')*/
0,/*page*/
0x23,/*index*/
0,/*size(MSB)*/
20,/*size(LSB)*/
8,/*width*/
16,/*high*/
14,/*ascent*/
0x00,0x00,0x00,0x00,0x44,0x44,0x44,0xfe,0x44,0x44,0x44,0xfe,0x44,0x44,0x44,0x00,/*数据*/
/*0x0024和其它字符*/
…
/*结束*/
0,0,0,0
}/*西文扩展为双字节编码的点阵表*/
/*上表解析:
page+index就是该字符的ASCII编码,过扩成了双字节;
size(MSB)+size(LSB)是该字节的点阵信息长度,注意实际描述体的长度是2(2字节page,index)+该长度+1(从0开始编大小,所以从1数据要加1),而ascent之后的真正点阵数据的大小是该大小减4;
width+height是该点阵资料的宽度和高度;
ascent是点阵处在baseline以上的偏移位置,baseline的位置要看整个字符表描述结构的定义;
data是按行扫描得到的点阵资料,是列递增把行显示效果排成一个连续空间后,按字节来描述每位的打点状态;如果行宽是8位的整数倍,不会把位补0去凑8位整数倍 。
字符点阵描述数据依次往下排列,直到以4个0标志结束。
《VxWorks汉字显示解决方案》相关文章
- › VxWorks汉字显示解决方案
- › Vxworks介绍
- › 什么是VxWorks操作系统
- 在百度中搜索相关文章:VxWorks汉字显示解决方案
- 在谷歌中搜索相关文章:VxWorks汉字显示解决方案
- 在soso中搜索相关文章:VxWorks汉字显示解决方案
- 在搜狗中搜索相关文章:VxWorks汉字显示解决方案