我使用librsvg将SVG文件呈现给Cairo上下文。之后,我使用Pango“手动”在顶部呈现一些文本。
在呈现SVG时,我会收到Pango警告,它无法加载字体:
"couldn't load font "'Calibri' Not-Rotated 16", falling back to "Sans Not-Rotated 16", expect ugly output."
手动文本渲染通过Pango之后,工作非常好。我尝试了多个不同的字体系列,它们在没有任何警告的情况下都呈现得很好。
我甚至浏览了librsvg的源代码,看看它是如何使用Pango的,但是我看不到我正在做的事情有什么重大的区别。
我已经不知道如何继续调试这个问题,任何关于Pango如何在Windows下定位字体以及有什么可能影响其查找它们的能力的建议都是非常感谢的。
如果这有关系的话:
我从这里下载了所有需要的二进制文件:http://sourceforge.net/projects/ezwinports/files/
发布于 2014-10-28 20:52:34
我必须集中精力,不要去想浪费在这个问题上的时间,否则我的大脑就会融化。
不管怎么说,万一有人看到这篇文章,我会告诉大家我要想出的办法,直到它成功为止:
<text style="font-family:'Arial'; font-size:20;">Foo Bar</text>
这在我看来很好,但字型家族周围的单引号似乎包括在内,导致Pango无法找到字体“Arial”,因为字体名称实际上是Arial,而不是Arial,如果您知道我的意思的话。Pango消息处理程序
void PangoMessageHandler(const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data)
{
//TODO: handle log message
}
g_log_set_handler("Pango", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION, PangoMessageHandler, NULL);pango.modules
"pango-arabic-lang.dll" ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:*
"pango-basic-win32.dll" BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:
"pango-indic-lang.dll" devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:*
"pango-indic-lang.dll" bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:*
"pango-indic-lang.dll" guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:*
"pango-indic-lang.dll" gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:*
"pango-indic-lang.dll" oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:*
"pango-indic-lang.dll" tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:*
"pango-indic-lang.dll" teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:*
"pango-indic-lang.dll" kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:*
"pango-indic-lang.dll" mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:*
"pango-indic-lang.dll" sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:*https://stackoverflow.com/questions/26615767
复制相似问题