【问题标题】:Disappearing characters in cairo font renderingcairo 字体渲染中消失的字符
【发布时间】:2010-02-19 00:30:28
【问题描述】:

我使用 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 的支持并用另一种方法解决了它。所以这个问题对我来说已经解决了。

标签: fonts cairo freetype pango


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-10
    • 2016-08-10
    • 2013-09-02
    • 2014-09-02
    • 2021-02-06
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多