Hi again, The oversampling is implemented though inflating the outline and then averaging the increased number of cells using FT_RASTER_FLAG_DIRECT mechanism. The first two patches set the stage by splitting the code paths for LCD rendering out of the way and trying FT_RASTER_FLAG_DIRECT for FT_RENDER_MODE_LCD. The third one implements oversampling by replacing the normal rendering with oversampling if SCALE is 2 or 4 (as opposed to 1). Again the proposal is to have it as FT_RENDER_MODE_SLOW eventually. The slightly complicated averaging of cells is due to 255/4+255/4+255/4+255/4 = 252 instead of 255, so we have to do rounding, yet avoid overflowing.
Comments? Alexei
0002-DIRECT.patch
Description: Binary data
0001-SPLIT.patch
Description: Binary data
0003-SLOW.patch
Description: Binary data