> > The third color is documented as reserved. I just reserved "zero" > > rather than "same as gray", which is also zero. I never changed the > > mode actually, I just referenced the third color instead of passing > > zero explicitly in some cases. Where do you see a problem with that? > > Argh, I see what you are saying - but zero is not value zero, they are a set > of enums, really. And 3 is defined in freetype's code and not in the spec, > and a rather "unofficial" value.
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.