Usually you have the font present in one color, that is blended into another one when needed. I don't know what tool set you use, so I cannot give you direct advice on how you can do it. Generally your font renderer (or loader) takes care of the font color.
Slick2d for example has two classes (AngelcodeFont and UnicodeFont) to handle font rendering. AngelcodeFont works with a pregenerated image and definition file (generated with a tool like hiero or the TWL font creator). UnicodeFont does basically the same, but it takes a *.ttf file as input and the images for the glyphs are generated directly in memory (so UnicodeFont takes a bit longer to load). Basically you instantiate a version of the font. Version in this context means that you apply settings like color, style (bold or italic), a font size etc. For each font and font style, you can keep an instance.
I think you can apply an outline effect with the unicode font. On the font class, you have a method "getEffects" to retrieve the active effects (at least I think thats what it does). => http://slick.cokeandcode.com/javadoc/org/newdawn/slick/UnicodeFont.html
There you can add a new OutlineEffect => http://slick.cokeandcode.com/javadoc/org/newdawn/slick/font/effects/OutlineEffect.html
If you wan't to have a better (or more suitable) explanation, you would have to provide more infos about what you work with (java2d, lwjgl, slick, jogl etc.)
I'm not your guy, friend!
I'm not your friend, buddy!