I rendered multiple symbols onto a texture atlas whose background is totally transparent(the texture atlas image got alpha channel, RGBA formate). After that, I use the texture atlas to draw all the symbols so long as the symbols appeared on the texture.
The problem is when the rendered symbol is not rotated, everything is fine. However, the symbol color appear to be incorrect when it's been rotated.
As the following picture shows: the left arrow symbol is not rotated and rendered correctly. The color at the edge of the right symbol which is rotated has somehow changed.
What might cause this?
EDIT:
As @BDL suggested, I changed the parameter to:
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
But some of the symbols still does not show as expected:

The triangle symbol on the right is correct.
I also tried:
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
Does not work either.
Should I change the color of the texture background the same as the symbols boundary pixel color and then use GL_LINEAR as texture filter option?
