Le sextidi 16 thermidor, an CCXXV, rhkramer@gmail.com a ?crit :
Even worse, the anti-aliasing is done wrong:
it is done without taking gamma correction into account. That means
that when 50% intensity is wanted, it produces 22% intensity instead:
black-on-white is too thick, white-on-black is too thin.
Thank you for confirming something I suspected for a long time.
Do you know what program(s) is responsibe for the anti-aliasing,
against which a bug might be filed (or maybe a bug has already been
filed)?
It is hard to tell, there are several components working together, and
they all will try to shift the blame to each other. I tried filling it
years ago, and it gave me that:
http://bugs.freedesktop.org/show_bug.cgi?id=13431
If somebody dares tell me that the way of reading text that I chose is
"wrong", I think it is worthless to try to discuss.
The components in play are:
- fontconfig: at some point, the user needs to be able to tell that
gamma correction must be taken into account and what the gamma value
should be. Despite what kp wrote, it belongs in fontconfig, just as
much as lcdfilter or rgba.
- Freetype: it is the component that rasterizes the vector fonts,
including anti-aliasing, so it would be an easy place to adjust for
gamma. Unfortunately, Freetype does not know the color of the text and
background, its output could be considered an alpha map.
- The X11 RENDER extension: it is the component that performs the alpha
blending. It would be the correct place to implement the gamma
adjustment. Unfortunately, it has no provisions to do so.
- Xft: it is the glue that holds everything together. I do not think it
needs any work for this issue.
Good luck if you want to get things moving.
Regards,