Hi Hin-Tak, > > Yes. There is bytecode-instructed rounding with 3 compensations and > > there are all other kinds of rounding (Ingenuity, etc). I thought it > > would be cleaner to reserve hard-zero for that. The out-of-spec > > instructions would use zero as well, while Gray can be patched in > > arbitrarily. > > That's where we disagree... Value 3 is a reserved / illegal value according > (?) to the truetype spec, but nonetheless occasionally seen and used in real > (buggy) fonts. Through consulting MS staff or actually just writing tests to > run on windows, it was discovered that the MS rasterizer treata case 3 as > case 0. You can't / shouldn't re-purpose value 3 for another meaning.
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? Alexei -- Alexei A. Podtelezhnikov, PhD