如何使用 XRender 扩展对字形进行子像素渲染

How to subpixel render glyphs with XRender extension

我发现 this great example 的文本渲染使用 XRender 扩展。 但是字体是以灰度格式从 Freetype 加载的,有没有办法利用 XRender 绘制 subpixel (LCD) 抗锯齿字形?如果是,如何?

字形可以是您在 QueryPictFormats 响应中看到的任何格式(但 glyphset 中的所有字形共享相同的格式)。基本上,您使用 freetype 渲染子像素抗锯齿字形,将其上传到 rgba32 字形集,其余部分与使用 a8 时相同(仅限 alpha,参见 https://github.com/ereslibre/x11/blob/master/xrender/rendertext.c#L46-L47