Just look for an edge detector - should work fine (just detect changes in alpha).
Another solution (that might be slower but won't require shaders) would be rendering the same text multiple times:
Render in black at an offset of (-1, -1), (0, -1), (1, -1), etc. (8 positions), then render the final (and colored) text in the center (offset (0,0)). That way you'll get a nice thin outline, but you have to essentially draw the text 9 times. Depending on what you're doing, this might be acceptable or slow you down too much.
To mix, this would as well work by rendering into a RenderTexture, so you don't have to redraw everything every frame.