The last time I was looking for this (for an iPhone game), I tried various options but couldn't find one that did everything I wanted. I needed to render a single texture using very small characters from a commercial TTF font. I needed to be able to specify character ranges so it would only contain the characters I needed. I wanted it to pack the glyphs as tightly as it could. I needed texture coordinates at runtime. I didn't care about "real" kerning, but I needed glyph measurements at runtime so it would be spaced sensibly. So I wrote a small Windows app that rendered all the characters and saved out the ABC spacings (as reported by Windows) along with texture coordinates.
BTW, if you want to render very small text (like less than 16 pixels high) under XP or Vista, you will run into shortcomings with Windows' anti-aliasing. An easy fix for me was to use http://drwatson.nobody.jp/gdi++/index-en.html to get transparent supersampling. If I were starting over, I'd probably take the same approach but look at FreeType2 instead of native text rendering.
If your text isn't updated often, you could just use the platform's text rendering (or maybe FreeType) to render whole chunks to texture as needed at runtime. Then you just need to render a single quad for each string, but the texture allocation gets more complicated. On the upside, though, you get flawless text rendering and layout for free on those difficult Asian languages along with your significantly faster GL code. Rendering lots of individual characters is expensive, even with degenerate tri strips or whatnot.