您好我尝试显示特殊字符“äöü”。我使用I18NBundle存储strigs。但问题不应该在这里,如果我把它打印到控制台
System.out.println(bundle.get(key));
显示“äöü”。
如果我试图从LabelStyle中获取字形:
BitmapFont.Glyph glyph = labelStyle.font.getData().getGlyph('ö');
Gdx.app.log(String.valueOf(glyph.id), glyph.toString());
我收到NullPointerException。
我确实从Hiero-4获取了我的BitmapFont并将png打包到TexturePacker中。
TextureAtlas background = manager.get(Const.BACKGROUNDS_PATH);
skin_bg = new Skin(Gdx.files.internal(Const.BACKGROUNDS_STYLE_PATH), background);
"com.badlogic.gdx.graphics.g2d.BitmapFont": {
"arial": { "file": "images/arial.fnt" }
}
编辑:我删除了lwjgl版本:2.9.2它不应该是因为这个lib。 Bug是在2.9.1之后
如何测试BitMapFont是否可以显示特殊字符
答案 0 :(得分:0)
"com.badlogic.gdx.graphics.g2d.BitmapFont": {
"arial": { "file": "images/arial.fnt" }
}
这只是使字体在皮肤上可用,您需要将其添加到实际样式中,以便使用它:
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
default: { font: arial, fontColor: white }
}