游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2561|回复: 4

FreeType的Bug?

[复制链接]

2

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-10-29 18:08:00 | 显示全部楼层 |阅读模式
最近在做界面,使用freetype的时候发现一个问题,当字体大小为12的时候,使用simsong.ttc和其他几个字库时都有问题。以下是测试源码
if(FT_Load_Char(face,this-&gtreLocatedChar,FT_LOAD_DEFAULT))
{
   return ERROR_CODE_8;
}
FT_Glyph glyph;
if(FT_Get_Glyph(face->glyph,&glyph))
{
  return ERROR_CODE_9;
}
FT_Error error = FT_Glyph_To_Bitmap( &glyph, ft_render_mode_normal, 0, 1 );

FT_BitmapGlyph bitmap_glyph = (FT_BitmapGlyph)glyph;
FT_Bitmap& bitmap=bitmap_glyph->bitmap;

假设输入的是"靠",该代码没有任何问题,但是如果是"临"那么最后的到的bitmap的buffer要小于bitmap的rows * width.直接造成out of bound.换句话说bitmap.buffer[bitmap->width * bitmap->rows - 1] 直接导致程序崩溃。这个情况只在字体大小为12时出现,其他大小都没有问题。这个究竟是freetype的bug还是我创建文字bitmap时的问题呢?还请各位高手帮忙看看。

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2008-10-29 20:36:00 | 显示全部楼层

Re: FreeType的Bug?

字库问题

你不该取12点以下的字。你应该直接取矢量路径,自行光栅化出来。

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2008-10-30 13:31:00 | 显示全部楼层

Re: FreeType的Bug?

simsong.ttf是哪个字体?我用simsun.ttc是没啥问题的。11我都试过。就是效果不好而已。

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2008-10-30 14:41:00 | 显示全部楼层

Re: FreeType的Bug?

有些字库是取不出来12点以下的。

2

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2008-10-30 23:31:00 | 显示全部楼层

Re: FreeType的Bug?

问题已解决,谢谢大家。事实上是我忘记要FT_Done_Glyph( glyph );呵呵,自己觉得相当的小白。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 00:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表