Pour les entrées de texte de l'utilisateur en utilisant des alphabets courts comme le latin et cyrillique, vous pouvez utiliser le LibGDX FreeTypeFontGenerator & FreeTypeFontParameter:
private BitmapFont yourCustomFont;
private FreeTypeFontGenerator generator;
private FreeTypeFontParameter parameter;
private TextFieldStyle textFieldStyle;
private TextField textField;
...
public void show(){
...
// Font generating
yourCustomFont = new BitmapFont();
generator = new FreeTypeFontGenerator(
Gdx.files.internal("yourFont.ttf"));
parameter = new FreeTypeFontParameter();
// Complete the following sequence with the letters you need(each only once)
parameter.characters =
"БбДдЄєabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUXYZ/&1234567890()[]#'\"";
parameter.size = (Gdx.graphics.getHeight()/20);
yourCustomFont = generator.generateFont(parameter);
generator.dispose(); //Don't forget to dispose the generator
// TextFieldStyle
textFieldStyle = new TextFieldStyle();
textFieldStyle.font = yourCustomFont;
textFieldStyle.fontColor = Color.BLACK;
// TextField
textField = new textField("",textFieldStyle);
textField.setTextFieldListener(new TextFieldListener() {
public void keyTyped(TextField textField, char key) {
}
});
...
}
Pour les entrées de texte de l'utilisateur en utilisant des alphabets complexes comme le chinois, le coréen ou le japonais, vous devrez peut-être utiliser une police pré-rendue au format .fnt + .png. Pour ce faire, vous pouvez utiliser des logiciels comme Hiero ou BMFont.
http://www.angelcode.com/products/bmfont/
http://github.com/libgdx/libgdx/wiki/Hiero
alphabets complexes (coréen, japonais, chinois ...) générés par Hiéron ou BMFont sont des fichiers de grande taille, de sorte que vous devrez peut-être de les charger avec le LibGdx AssetManager. Ensuite, utilisez la police avec votre TextFieldStyle, comme décrit précédemment.
Espérons que ça aide.
EDIT: Maintenant, LibGDX peut rendre glyphes complexes à la volée: https://github.com/libgdx/libgdx/wiki/Gdx-freetype