I am having some trouble understanding how openGL blend modes work. At first I was using
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
and it all looked fine except that I couldn't use any additive glowing effects simultaneously without changing blend modes all the time. So I was advised to use
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA) and textures with premultiplied alpha and now both additive and "normal" textures appear fine except that for some reason some textures have slightly jagged/thick outlines. I found that this only happens to images that have semi-transparent pixels but I'm not sure why.
This is an example of anti-aliased text with this kind of outline. The first is how it used to look and how I want it to look and the second is how it looks with the mode I'm trying to use. I don't want its color blended with the background. Is what I'm asking possible?