The gray value depends on how much the shape of the
glyph covers the area of the pixel. Fully covered pixels
become black, uncovered pixels white, and a 50% covered
pixel will be 50% gray.
To get the result you want, the shape of the glyph has to
be changed so that fewer pixels will be partially covered.
This is what hinting does: deform the outline to align with
the pixel grid.
at
Removing the FT_LOAD_NO_HINTING flag should affect the rendering
in the way you have been asking.
I tried removing that flag before and saw no difference in the
anti-aliasing. Perhaps I missed something or my test was incorrect. I'll
try that again and see if I can get it to have any effect.
Try it again, the difference between hinted and unhinted should
be pretty drastic.
Which font are you using by the way? Some fonts have better
hinting instructions than others. You should also make sure that
your freetype library is compiled with the bytecode interpreter
enabled if you want to match windows' rendering (look at ftoption.h).
-Tor