freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] gamma correction and FreeType


From: Søren Sandmann
Subject: Re: [ft-devel] gamma correction and FreeType
Date: Fri, 08 Nov 2013 00:59:14 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

Dave Arnold <address@hidden> writes:

> You are correct that gamma 2.2 is a better approximation to sRGB. I
> agree with using that gamma for large area regions. But there are two
> reasons why I prefer gamma 1.8 for text.
>
> The first is something I call "effective gamma". We first encountered
> this back in the era of CRT displays. Unlike image data, text is
> mostly edges. The area covered by stems is on the order of a pixel
> wide. If you look at text as a video signal, it is very high
> frequency—often close to the limit of the display device. Rather than
> seeing a vertical stem as a perfect square wave, the video electronics
> tend to round it off and reduce its amplitude slightly. Both of these
> effects move the active signal closer to the middle of the gamma
> curve, where the curve is flatter. This has the effect of reducing the
> gamma at high frequencies. Everything in the signal path contributes
> to this. Even video cables could make a significant difference in the
> appearance of text. I know less about the electronics in an LCD but,
> empirically, the effect seems to still be present.

The nonlinear and low-pass nature of human vision also explains some of
the difference for low- and high-frequency content.

Suppose you have a checkerboard pattern where the squares are 25% and
75% luminance (ie., measured in linear light) respectively. Then
consider two extremes:

1. The squares are so tiny that they are impossible to distinguish. In
   this case the pattern will look like a solid 50% luminance, which
   corresponds to 186 in sRGB.

2. The squares are so big that you can easily see them. In this case, if
   you had to choose one color to represent the whole pattern, you
   should pick the one that minimizes the overall perceptual error, for
   example by converting to sRGB, which is roughly perceptually uniform,
   and taking the average, producing an sRGB color of 118.

So what do you do for a display where the dots are merely *difficult* to
distinguish? I don't know the answer, and it's possible that picking a
gamma value of 1.4 or 1.8 is a good compromise, but the really correct
answer may involve both display resolution, viewing distance, and a
model of the per-frequency contrast sensitivity of human vision.


Søren



reply via email to

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