TrueType Fonts in libGDX
Yes you will definitely need to add the gdx-stb-truetype
jars to your project as you stated in your edit. Here is how you will use it, pretty straighforward...
First you need to declare your BitmapFont
and the characters you will use...
BitmapFont font;
public static final String FONT_CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789][_!$%#@|\\/?-+=()*&.;,{}\"´`'<>";
Then you need to create the font...
font = TrueTypeFontFactory.createBitmapFont(Gdx.files.internal("font.ttf"), FONT_CHARACTERS, 12.5f, 7.5f, 1.0f, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
font.setColor(1f, 0f, 0f, 1f);
You can play with the arguments you pass to createBitmapFont()
and you will see what they do.
Then to render the font you would do it as you normally do...
batch.begin();
font.draw(batch, "This is some text", 10, 10);
batch.end();
Use the gdx-freetype extension:
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile);
BitmapFont font15 = generator.generateData(15);
BitmapFont font22 = generator.generateData(22);
generator.dispose();
"To use gdx-freetype, grab the latest nightlies, link gdx-freetype.jar
and gdx-freetype-natives.jar
to your desktop project, link gdx-freetype.jar
to your Android project, and copy the armeabi/libgdx-freetype.so
and armeabi-v7a/libgdx-freetype.so
files to your Android project’s libs/
folder, just like with the libgdx.so
files."
Source: http://www.badlogicgames.com/wordpress/?p=2300
Did researched a lot and found this working method:
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("myfont.ttf"));
FreeTypeFontParameter parameter = new FreeTypeFontParameter();
parameter.size = 12; // font size
BitmapFont font12 = generator.generateFont(parameter);
generator.dispose(); // avoid memory leaks, important
Use this if you failed tried answers above, libGDX Freetype Wiki for reference.