Исчезающие символы в рендеринге шрифтов Каира - PullRequest
0 голосов
/ 19 февраля 2010

Я использую Каир для рендеринга простого текста на поверхность Каира. Я использую шрифт 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 - загруженный шрифт шрифта свободного типа.

Я бы также использовал pango для рендеринга текста, но у меня нет доступного кеша шрифтов - поэтому я понятия не имею, как загрузить шрифт в pango, поскольку он, очевидно, поддерживает только fontcache и не загружает напрямую шрифт.

Любые входные данные приветствуются.

1 Ответ

0 голосов
/ 08 марта 2010

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

...