VxWorks汉字显示解决方案
*/
const UGL_BMF_FONT_DESC uglBMFFont_Song_16=
{
/*UGL_FONT_DESC结束*/
{
{16,16}, /*点阵大小*/
{UGL_FONT_BOLD_OFF,UGL_FONT_BOLD_OFF},
/*宽度*/
UGL_FONT_UPRIGHT, /*斜体*/
UGL_FONT_PROPORTIONAL,/*行间距属性*/
UGL_FONT_UNICODE, /*字符集*/
“Song 16x16Dot”, /*字体名称*/
“Song” /*字体系列名称*/
}/*点阵名称等点阵属性表*/
/*UGL_BMF_FONT_DESC结构*/
/*点阵表的属性和位置*/
2, /*行间距*/
14, /*最大上偏移位置*/
2, /*最大下偏移位置*/
14, /*最大宽度*/
pageArray /*字形页*/
};/*点阵描述结构*/
/*上表解析:
首先是定义属性表,然后是定义字模和间距,并定义总的点阵描述表指针。
*/
最后定义的const UGL_BMF_FONT_DESC uglBMFFont_Song_16包含了该点阵的所有信息。只要能定位该结构,则任何能在该点阵表内匹配出字码的字都可以显示出来。WindML选择不同的点阵就是选择不同的该结构去做点阵寻址,其实现的大体过程如下:
①WIND_BASE/target/src/ugl/config/uglBmfCfge文件描述了整个系统能使用的字符集,如:
extern const UGL_BMF_FONT_DESC uglBMFFont_Courier_12;
extern const uglBMFFont_Song_16;/*就是上面的例子*/
const UGL_BMF_FONT_DESC * uglBMFFontData[]=
{
&uglBMFFont_Courier_12,
&uglBMFFont_Song_16,
NULL
};
②通过如uglDriverFind (UGL_FONT_ENGINE_TYPE,0,(UGL_UINT32*)&fontDrvId)
《VxWorks汉字显示解决方案(第4页)》