Сглаживание шрифтов cairo - PullRequest
3 голосов
/ 17 октября 2010

Я пытаюсь сгладить рендеринг текста с помощью сглаживания.Но это не сглаживание.

http://tinypic.com/r/2h7dy1i/4 http://oi38.tinypic.com/2h7dy1i.jpg

Первая строка - изображение в формате png, созданное с использованием панго и каира.Вторая строка - это тег html <span>.Это в Firefox, Ubuntu с Gnome DE.Разницу можно лучше понять, если сравнить «W» и «v» между двумя строками.

Код, ответственный за рисование текста, можно найти в http://pastie.org/1073683 Параметры шрифта установлены в строках 17 и20 вот так:

// setting up antialiasing
cairo_font_options_set_antialias(cfo, CAIRO_ANTIALIAS_GRAY);

// set the font options to cairo
cairo_set_font_options(this->cro, cfo);

Может кто-нибудь сказать, пожалуйста, как мне сделать так, чтобы эти две линии выглядели одинаково?

1 Ответ

2 голосов
/ 17 октября 2010
cairo_font_options_set_antialias(cfo, CAIRO_ANTIALIAS_GRAY);

Вы просили об этом, вы получили это.Чтобы получить совпадение, вам понадобится CAIRO_ANTIALIAS_SUBPIXEL.Это, однако, не подходит для рисования текста на изображении, которое может отображаться на другом компьютере.Нет гарантии, что монитор на этом компьютере представляет собой ЖК-панель с полосами RGB в предсказуемом порядке.Или что это в альбомной ориентации.Или чтобы он отображался с точным оригинальным размером.При несоответствии текст будет выглядеть очень плохо.

...