Big*_*oot 6 java encoding libgdx
我有libgdx显示Cyrillic的以下问题.我举个例子:
这工作:
System.out.println("??????");
Run Code Online (Sandbox Code Playgroud)
但它没有显示:
field = new TextField("??????", style);
Run Code Online (Sandbox Code Playgroud)
并尝试没有成功.
try {
mmm = new String(t.getBytes(), "UTF-8");
} catch (UnsupportedEncodingException e) {
// Will it ever be thrown?
}
field = new TextField(mmm, style);
Run Code Online (Sandbox Code Playgroud)
如果有人有解决方案,我会很高兴,很多人会很感激.
我想可能还有一些缺失的额外信息.Aslong libgdx使用Bitmap-fonts显示所有类型的文本.(我认为TextField是scene2dui的一部分)默认的Bitmap-Generation/Default-libgdx-font可能只包含ASCII代码字符和一些附加内容,但没有西里尔字母.
这就是为什么你必须在BitmapFont中手动提供西里尔字符以及能够显示它们的原因.用于从.ttf-Asset生成BitmapFonts的相对较新的libgdx扩展也可以生成西里尔字符(如果您定义它们): libGDX中的TrueType字体
然后你也可以在游戏/应用程序中使用它们,因为你还为TextField/scene2dui风格定义了新生成的字体: Libgdx Scene2d - 设置actor(TextField)填充?
以下是libgdx-repo中的一些测试.看看那里是否存在误解:https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/extensions/InternationalFontsTest.java 我希望这有帮助!干杯