I have been messing around with using Java Fonts and rendering them using JOGL. I got a lot of ideas from the code at http://lwjgl.org/forum/viewtopic.php?t=1430 I use a PathIterator from GlyphVector from the text/font combo to get an outline and use a GLUtessellator to create the polygon text. For 3D text a mirror of the polygon text is writen at depth z and then the sides are drawn based on the outline.
I have a display list for 2D text and display lists and VBO’s for 3D extruded text. I am going to attempt to refactor the tesselator callback to store all the vertices in one big array and then use seperate array indices for the top, bottom, and sides of the text since the current implmentation uses triangle arrays so there is effectively no vertice reuse. Rename the txt file to zip and rename the packages as needed.