libgdx显示Cyrillic

时间:2014-07-24 12:37:44

标签: java encoding libgdx

libgdx显示Cyrillic时遇到以下问题。 我举个例子:

这有效:

System.out.println("абцдеф");

但它没有显示任何内容:

field = new TextField("абцдеф", style);

尝试没有成功。

try {
    mmm = new String(t.getBytes(), "UTF-8");
} catch (UnsupportedEncodingException e) {
    // Will it ever be thrown?
}
field = new TextField(mmm, style);

如果有人有解决方案,我会很高兴,很多人会很感激。

1 个答案:

答案 0 :(得分:6)

我认为可能会遗漏一些其他信息。 Aslong libgdx使用Bitmap-fonts显示所有类型的文本。 (TextField是我认为的scene2dui的一部分) 默认的Bitmap-Generation / Default-libgdx-font可能只包含ASCII码字符和一些其他字符,但没有西里尔字母。

这就是为什么你必须在BitmapFont中手动提供西里尔字符以及能够显示它们的原因。 用于从.ttf-Asset生成BitmapFonts的相对较新的libgdx扩展也可以生成西里尔字符(如果您定义它们): TrueType Fonts in libGDX

然后,您还可以在游戏/应用中使用它们,因为您还为TextField / scene2dui样式定义了新生成的字体: Libgdx Scene2d - Set actor ( TextField ) padding?

以下是libgdx-repo中的一些测试。看看那里是否存在误解:https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/extensions/InternationalFontsTest.java 我希望这有帮助! 欢呼声