Open
Description
Before:
After:
To people who work on video games this is probably a piece of cake. To anyone else, I hope this suffices:
The key here is that we accumulate the ClearType weights separately from the foreground colors via max()
and only then blend it with the foreground color into the resulting image. The max()
ensures that no emboldening occurs on overlaps, unlike with regular alpha blending (two semi-transparent colors result in one slightly opaquer).