Fonts cairo字体渲染中的字符消失

Fonts cairo字体渲染中的字符消失,fonts,cairo,freetype,pango,Fonts,Cairo,Freetype,Pango,我使用cairo在cairo曲面上渲染简单文本。我使用freetype字体(Vera.ttf,如果需要的话)。它可以工作,但有时字符会从输出中消失。事实上,只有数字。我画了一个文本“Demostream 1..”,有时“1”会从输出中消失,我完全不知道为什么。数字实际上是字符串的一部分。也没有内存损坏之类的问题。这是绘制文本的代码: font = cairo_ft_font_face_create_for_ft_face(ftFace, 0); cr = cairo_create(surface

我使用cairo在cairo曲面上渲染简单文本。我使用freetype字体(Vera.ttf,如果需要的话)。它可以工作,但有时字符会从输出中消失。事实上,只有数字。我画了一个文本“Demostream 1..”,有时“1”会从输出中消失,我完全不知道为什么。数字实际上是字符串的一部分。也没有内存损坏之类的问题。这是绘制文本的代码:

font = cairo_ft_font_face_create_for_ft_face(ftFace, 0);
cr = cairo_create(surface);

/* set the foreground color */
cairo_set_source_rgba(cr, ...);

/* render the text */
cairo_set_antialias(cr, CAIRO_ANTIALIAS_GRAY);
cairo_set_font_face(cr, font);
cairo_set_font_size(cr, size);
cairo_move_to(cr, x, y);

cairo_show_text(cr, text);

cairo_destroy(cr);
cairo_font_face_destroy(font);
ftFace是加载的freetype字体

我也会使用pango来呈现文本,但我没有fontcache可用-因此我不知道如何将字体加载到pango中,因为它显然只支持fontcache,而不支持直接加载字体


欢迎任何输入。

我删除了cairo支持-问题不再相关。

您确定不涉及某种剪辑吗?您能否发布演示该问题的整个程序(一个最小的示例)?当你说“有时”时,你的意思是第二次运行完全相同的代码会产生不同的结果?很抱歉没有更新。代码完全相同(在循环中运行)-但是我从应用程序中删除了cairo支持,并用另一种方法解决了它。所以这个问题已经为我解决了。