[cairo-bugs] [Bug 28549] New: Gamma-corrected alpha blending for text output
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Jun 15 05:21:12 PDT 2010
https://bugs.freedesktop.org/show_bug.cgi?id=28549
Summary: Gamma-corrected alpha blending for text output
Product: cairo
Version: 1.9.9
Platform: All
OS/Version: Linux (All)
Status: NEW
Severity: enhancement
Priority: medium
Component: freetype font backend
AssignedTo: david at freetype.org
ReportedBy: alankila at bel.fi
QAContact: cairo-bugs at cairographics.org
I'm soliciting interest for improving text rendering on the Linux desktop by
applying gamma correction for the text. I have written a couple of JavaScript
demos (for use in chromium or firefox) that can demonstrate the problem and
what I think should be done about it.
To view these demos, a TFT display with RGB subpixel order is required.
Chromium is preferred because of faster JavaScript execution. I have not tested
the demo on other browsers.
Firstly, a screenshot highlighting the difference between Linux and Windows 7
font rendering. The gnome font settings are set to 'no hinting', and LCD with
RGB subpixel order. I've also installed the msttcorefonts to have the Arial
font used on the demo:
http://bel.fi/~alankila/lcd/lcd.png
The Linux browser's rendering on the bottom left shows a dirty halo around the
text on black-on-white, clear color fringing on white-on-black, and significant
darkening of the green-on-violet test cases. In summary, the javascript results
are similar on both linux and windows, and the windows 7 output resembles the
javascript output much more than linux output. Subjectively, the linux results
are far worse than the others.
The actual demo can be played with here:
http://bel.fi/~alankila/lcd/
The demo renders the text anew on changes to text field input value. For
instance, replacing the gamma 2.0 value with neutral gamma 1.0 produces
javascript results that are distinctly similar to those given by linux
browsers. Therefore it seems likely that lacking gamma correction on text
output is the reason for the poor results on Linux.
As additional evidence, executing "xgamma -gamma 2.0" makes the Linux browser
results seem fairly similar as the javascript results are with normal gamma
value, indicating that Linux font rendering can be remedied by use of linear
gamma display.
More information about the cairo-bugs
mailing list