freeType 使用经验

1.

虽然我们已经使用了FT_Set_Char_Size或FT_Set_Pixel_Sizes设定了字模的大小,但返回的字模并不都是一样大的。空白字符返回的字模,大小为0,逗号、句号返回的字模只有普通字的几分之一。这时就需要用glyph->bitmap_left和glyph->bitmap_top来指定起始位置。


2.  关于bitmap.pitch 和bitmap.width

pitch 指字模一行所占的字节数,在ft_render_mode_normal模式(即256灰度模式)下,pitch的值和width的值相等,但在ft_render_mode_mono模式(黑白模式)下,这两个值一般就不等了。黑白模式下printf(“%d”,bitmap.buffer[i * bitmap.width +j]?1:0)应改为

printf("%d,bitmap.buffer[i*bitmap.pitch + (j>>3)]<<(j%8)&0x80);


3. 小尺寸字体
    并不是所有的矢量字库都包含小字体的,例如微软的宋体就不支持小于20*20的字模,所以,使用小尺寸字体时,必须仔细选择字库


你可能感兴趣的:(freeType 使用经验)