最近比较忙而且blogspot 仍然被封锁中,因此很久没更新了,手头上的任务比较多阿,比如其中一个活儿就是为公司的一款老设备增加QPF 字体的支持,因为使用QPF,能进一步提高UI 的速度并减小占有的资源,现在已经做的差不多了(不然也没空来写这个了:-))。
那么什么是 QPF 呢,全称 Qt Prerendered Font ,是用于QT/Embedded下的不可缩放的字体,对于QPF 字体以相同格式的存储,所以在字体显示时,Qt只要读取字体,做相应分 析,然后显示就完成了,这样进一步减少了对RAM 资源的浪费,另外QPF字体是基于UNICODE 编码的,因此具有良好的可移植性。
我们定义的字体名称格式为:type-family-style-width-height-charset-encoding1[,encoding2,...]
另外QPF 结构的定义为:
typedef struct _QPFMETRICS
{
char ascent, descent;
char leftbearing, rightbearing;
unsigned char maxwidth;
char leading;
unsigned char flags;
unsigned char underlinepos;
unsigned char underlinewidth;
unsigned char reserved3;
} QPFMETRICS;
typedef struct
{
char font_name [LEN_UNIDEVFONT_NAME + 1];
unsigned int height;
unsigned int width;
unsigned int file_size;
QPFMETRICS* fm;
GLYPHTREE* tree;
} QPFINFO;
对于 QPF 字体就是围绕该结构体进行一系列的操作了。
没有评论:
发表评论