Я нашел отличный пример рендеринга текста с использованием расширения XRender. Но шрифт загружается из Freetype в формате оттенков серого. Есть ли способ использовать XRender для рисования субпиксельных (ЖК-дисплеев) сглаженных глифов? Если да, то как?
Как субпиксельно отображать глифы с расширением XRender
Ответы (1)
Глифы могут быть в любом формате, который вы видите в ответе QueryPictFormats (но все глифы в наборе глифов имеют одинаковый формат). По сути, вы визуализируете субпиксельные сглаженные глифы с помощью freetype, загружаете их в набор глифов rgba32, а в остальном все так же, как при использовании a8 (только альфа-канал, см. https://github.com/ereslibre/x11/blob/master/xrender/rendertext.c#L46-L47)
person
Andrey Sidorov
schedule
23.05.2015
Я создал рабочий пример на GitHub на основе вашего предложения. github.com/exebook/xrender-subpixel-glyph
- person exebook; 23.05.2015
Вы должны включить ЖК-фильтр FreeType, чтобы рендеринг субпикселей выглядел нормально, иначе вы получите очень заметные цветные полосы.
#include FT_LCD_FILTER_H
и позвоните FT_Library_SetLcdFilter(library, FT_LCD_FILTER_DEFAULT);
- person 12Me21; 27.05.2021