Вопрос

Я использую 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 для рендеринга текста, но у меня нет доступного кэша шрифтов, поэтому я понятия не имею, как загрузить шрифт в pango, поскольку он, очевидно, поддерживает только кэш шрифтов и не загружает шрифт напрямую.

Любой вклад приветствуется..

Это было полезно?

Решение

я удалил поддержку cairo - проблема больше не актуальна.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top