freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] State of autohinter stem darkening


From: Dave Arnold
Subject: Re: [ft-devel] State of autohinter stem darkening
Date: Thu, 22 Oct 2015 13:57:27 -0700
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0



On 10/22/2015 12:48 PM, Alexei Podtelezhnikov wrote:
Dave Arnold wrote:
I completely agree with Nikolaus. To state it a different way, correct
anti-aliasing requires that the compositing (alpha blending) is done in a
linear color space.
So I quoted your image
http://lists.nongnu.org/archive/html/freetype-devel/2013-10/msg00069.html
The bottom line is that FreeType has no business applying gamma
correction. It should produce images in linear space, perhaps
emboldened.
Thank you for linking that web page. In it, I am trying to argue that the 
center two columns, using gamma 1.8, show correct blending. That is, the 
apparent weight of the three examples is all the same. However, in column 2, 
all three colors show a reduced contrast at small sizes. This is corrected by 
stem darkening, in column 3.

Gamma is a way to fudge the reduced contrast, but it does so poorly. As you 
pointed out earlier, its effect depends on the foreground and background 
colors. And it causes subtle shape distortions, because the amount of darkening 
varies from pixel to pixel (e.g., gray pixels are affected, but black or white 
pixels are not). Stem darkening uniformly affects the entire glyph, regardless 
of color. So this is the way to solve the fade-to-gray problem.

And I agree with the last two sentences. FreeType depends on the graphics 
subsystem doing proper linear blending, but FreeType cannot adjust gamma 
itself. It produces a density map that is independent of color, and should be 
composited in a linear space.

If the graphics system fails to apply linear blending, then stem darkening 
should probably be disabled or reduced.

I think we basically agree, don't we?

Thanks.

-Dave




reply via email to

[Prev in Thread] Current Thread [Next in Thread]