您的位置:首页 > 产品设计 > UI/UE

MiniGui varbitmapfont 研究

2016-06-09 11:27 549 查看
MiniGui varbitmap font 是一种变宽位图字体,对于不等宽字体采用这种位图字体格式是比较理想的;但MiniGui官方对这种字体的介绍资料很少(我找了很久都没找到 :=( ),只能研究MiniGui的源代码来了解这种位图字体文件格式。我这里研究的是varbitmap font 1.0版本。

MiniGui varbitmap字体的实现在varbitmap.c中, LoadVarBitmapFont 函数实现了位图文件的加载,通过这个函数的研究可以了解到verbitmap字体的大体文件格式。



version: 版本号,这里版本号是 vbf-1.0** ,占10个字节;

len_header: 文件头长度,文件头是指verion到font_size之间的字节数,这里是43个字节;

max_width: 最大字符宽度;

ave_width: 平均字符宽度;

height: 字符高度;

descent: 未知 :=(

first_char: 字库的第一个字符;

last_char: 最后一个字符;

def_char: 默认字符;

len_offsets: 字体点阵偏移区域的长度(对于变宽字体点阵,每个字体都有一个偏移指针,以便索引到该字体点阵,所有字体点阵的偏移指针都存放在offset区域中,offset区域的长度存放在len_offsets中);

len_width: 字体点阵宽度表的长度(对于变宽字体点阵,每个字体都有一个宽度值,所有字体的宽度值都存放在width区域中,width区域的长度存放在len_width中);

len_bits: 字体点阵的总长度;

font_size: 指整个varbitmap字体文件的长度;

font_name: varbitmap字体文件的名称,例如Arial--rrncnn-15-16-ISO8859-1.vbf;

offset: 字体点阵偏移区域;

width: 字体点阵宽度表;

bits: 字体点阵;
http://download.csdn.net/detail/fang437385323/9545140
这是一个测试程序,MiniGui代码中内置了3种varbitmapfont字体,但是是直接集成在代码中,此程序把代码中的点阵写入到.vbf文件中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息