QTE3.3.1中BDF转QPF可能遇到的一个BUG

weixin_38067813 2019-09-19 05:57:52
我在研究QTE3.3.1字体的过程中发现,对于特定的BDF(例如只有汉字的BDF字体文件)在转成QPF格式时候会出现段错误,但是该文件中的字体可以直接用于界面显示。追踪代码发现qmemorymanager_qws.cpp中void QMemoryManager::savePrerenderedFont(FontID id, bool all)函数有这么一句代码    if ( !mmf->tree )    mmf->tree = new QGlyphTree(32,32,mmf->renderer);// 32 = " " - likely to be in the font       这个32像注释说的 likely to be in the font。      修改为      if ( !mmf->tree ){       for (int ii=0; ii<=mmf->renderer->maxchar; ii++) {                   if ( mmf->renderer->inFont( ii ) ) {                            mmf->tree = new QGlyphTree(ii,ii,mmf->renderer);                            break;                       }           }    }    就不会出错了。。
...全文
21 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

430

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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