BitmapFont(); usage

I’m trying to figure out how to use this in conjunction with Lemur.

   TextField TF = new TextField("starting text"); //Lemur specific
   BitmapFont bf = new BitmapFont(); //JME
   TF.setFont(bf);

Which crashes, presumably because it’s an empty BitmapFont. I see the method Read:

  public void read(JmeImporter im) throws IOException

But I don’t know how to use the jmeimporter or know what to import if I did. I could probably figure it out, but I’m sure my next question will be: What formats can I load here, more importantly, what formats can I load that could support multi colored glyphs? Like the lettering seen here:

The format I’d want would basically be a .png/bmp with an accompanying text file explaining where each glyph is located in the atlas.

Any input is welcome

http://javadoc.jmonkeyengine.org/com/jme3/asset/AssetManager.html#loadFont-java.lang.String-

Or even better:

http://jmonkeyengine-contributions.github.io/Lemur/javadoc/Lemur/com/simsilica/lemur/GuiGlobals.html#loadFont(java.lang.String)

…which is calling the AssetManager version and then doing some fix-up on the font to make sure transparency works properly.

Neither support multicolored glyphs, though. But you can build black borders into your fonts with the right font creation tool and/or some clever photoshopping/GIMPing, I think.

Black borders won’t cut it unfortunately, it has to support arbitrary coloration, like emoticons even.

I don’t see any methods available in BitmapFont that allow for modifying the bitmaps once they’re .read… Is there any way to edit it after loading it? You says it does some fix-up on the font, could I hijack that and slip in some Unicode letters that are rendered as colorful glyphs? Or are they just rendered as a solid color after the fact?

You would have to generate these when you make the font itself. And you are limited to black and “color”… which is whatever the text color is. (ie: black and white in the font png itself)

Or you will have to write your own font support.