On Thursday, 22 October 2020, 21:54:02 GMT+8, Alexei Podtelezhnikov
<[email protected]> wrote:
> 1) What is the Gray (case 0) compensation if not zero?
> 2) What is the Windows API to adjust it, if any?
> 3) Is that really enum? How sure you are? Why do we have to bend over
backwards to deal with case 3?
> Or, maybe just maybe, case 3 is simply equal to case 0 and be done with it.
> 4) Why can't I use undocumented/illegal/implementation-defined value
anyway I please?
See
https://docs.microsoft.com/en-us/typography/opentype/spec/tt_instructions#compensating-for-the-engine-characteristics
It says "three values are possible: gray=0..."
You cannot arbitrarily decide 3 is a valid value - it just isn't. Freetype
treats 3 the same as 0 (in an unofficial / undocumented way) because that's
what MS rasterizer does.