Hi Werner,

Yes, Beat Stamm has supplied a great deal of interesting detail.

I don't think it is practical to change the system color space; too many things 
depend on the assumption of sRGB. You might consider changing the color space 
of a single application (e.g., to a linear space) but you'd have to convert 
back to a system color space before placing images in the frame buffer. The 
graphics chip settings Beat Stamm is talking about affect the global system 
display. I think it is best used for monitor calibration to a standard color 
space.

Anti-aliased text can be produced for any color space. It is simply the case 
that the blending of foreground and background ought to be done in a linear 
space. In general:

1. get the background pixel and convert to a linear space
2. get the foreground pixel (text color) and convert to a linear space
3. combine the two colors in linear proportion to the text density (alpha 
value) for the pixel
4. convert the result back to the system color space

Steps 1,2 and 4 can be done with lookup tables, to sufficient accuracy.

The gamma value that Windows uses for this blending is store in the registry. 
GDI uses a single value, but DirectWrite uses a value per display, and has 
separate 32- and 64-bit registry keys.

TrueType fonts would produce very similar results when it comes to blending 
gamma, as would any antialiased graphics. That's an important point: any 
antialias blending should use linear blending. That includes line art. Text is 
not unique, it just tends to have more edges.

One difference with TrueType is that stem darkening of glyph outlines would 
interact with the hints in a totally different way than CFF.

-Dave

On 10/31/2013 10:31 PM, Werner LEMBERG wrote:
Dave,


thanks a lot for your good demonstration images!

I believe column 3 is what we want to achieve.
Yes, indeed!  By the way, here is another page which goes into great
detail on gamma correction and TrueType font rendering:

   http://www.beatstamm.com/typography/RTRCh5.htm#Sec3

It might be interesting to see your tests applied to common TrueType
fonts also.  Beat Stamm writes about GDI ClearType:

   In Windows, text rendered in full-pixel anti-aliasing is displayed
   with a gamma correction done in software and using a gamma value of
   about 2.3 – to determine this γ value, I displayed a gray ramp in
   Word, inspected the RGB value of middle gray as rendered (189),
   solved L = V(1/γ) (the formula for γ correction, as opposed to γ
   response) for γ, and substituted the normalized inspected gray value
   (189/255) for L while setting V to 0.5 (half the normalized voltage
   should yield middle gray). Thus γ = log(V)/log(L) =
   log(0.5)/log(189/255) ≅ 2.314.  This gamma correction appears to be
   in addition to what my premium graphics chip wants to do.  If I
   “under-correct” gamma on my graphics chip, all my photos look too
   dark in their midtones, but text rendered in full-pixel
   anti-aliasing looks more natural.  If I “correct” gamma for my
   photos, text rendered in full-pixel anti-aliasing looks “washed
   out.”  Windows (GDI) does not have any provisions to adjust or
   defeat the software gamma correction of full-pixel anti-aliasing
   (“standard font smoothing”).

So it seems that similar problems are affecting even major
platforms...


     Werner

_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to