FreeType显示ttf内嵌点阵字体的问题

needallcodes 2007-06-14 09:36:04
搜了一些文章,提到需要用特殊方法读取TTF内嵌点阵字库,但是据说freetype没有提供直接访问TTF的接口,我不知道
(我用的是最新的2.3.4版,没仔细看文档,不知道现在是不是可以支持了)

奇怪的是,我在Opengl的c程序里调用了windows的宋体字simsun.ttc, 当文字大小设置成16x16以下时,Freetype就自动使用了中文的内嵌位图点阵(1bit位图), 然后我只要把字节对齐就可以正常显示中文了

但是英文字体我怎么看都是反锯齿过的outline灰度字体,因为字体尺寸已经很小了,反锯齿+灰度后看不清楚,我强制MONO(单色+没有反锯齿),就更没法看了...只是英文字体这样,中文是正常的单色字体

总之英文部分怎么搞都弄不出来windows里的样子, 我实际是要windows中的9号(小五号)宋体字中+英. 在CSDN里搜到lichen8566的问题帖:
http://topic.csdn.net/t/20041017/06/3463180.html

似乎和我的问题一样,但是好像已经解决了, 无奈怎么也联系不到他。。。哪位高手指点一二??
PS:俺不用TextOut之类的东西...
...全文
1579 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
浩哥大 2012-04-26
  • 打赏
  • 举报
回复
你好,支持的
needallcodes 2007-06-15
  • 打赏
  • 举报
回复
..... 这个问题已经解决了...

原来要这样才可以:

// 参数2在simsun.ttc可以是0至5,可以用ftdump.exe找出来;
// 或者查询face->num_fixed_sizes成员;
FT_Select_Size(face, 0);

//参数3表示,载入并渲染 | 无自动调整(和FT_LOAD_NO_HINTING不同) | 单色方式
FT_Load_Char(face, c, FT_LOAD_RENDER | FT_LOAD_NO_AUTOHINT | FT_LOAD_MONOCHROME);

然后就可以画字了 T_T 55

文档里两个宏的意思好像写反了...晕

这帖子我自己结了...

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧