Java 显示西里尔文的libgdx
我对libgdx显示西里尔文有以下问题。 我举一个例子: 这项工作:Java 显示西里尔文的libgdx,java,encoding,libgdx,Java,Encoding,Libgdx,我对libgdx显示西里尔文有以下问题。 我举一个例子: 这项工作: System.out.println("абцдеф"); 但它什么也没有显示: field = new TextField("абцдеф", style); 而且没有成功 try { mmm = new String(t.getBytes(), "UTF-8"); } catch (UnsupportedEncodingException e) { // Will it ever be thrown?
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);
如果有人能提出解决方案,我会很高兴,很多人都会很感激。我想可能还有一些信息遗漏了。只要libgdx使用位图字体来显示所有类型的文本。(我认为TextField是scene2dui的一部分) 默认位图生成/默认libgdx字体可能只包含ASCII代码字符和一些附加字符,但不包含西里尔字母 这就是为什么您必须在BitmapFont中手动提供西里尔字符才能显示它们。 用于从.ttf资源生成位图字体的相对较新的libgdx扩展也可以生成西里尔字符,如果您定义它们: 然后,您还可以在游戏/应用程序中使用它们,只要您还为TextField/scene2dui样式定义了新生成的字体: 以下是libgdx回购协议中的一些测试。如果存在误解,请查看: 我希望这有帮助!
干杯谢谢你的回复@TheWhiteLlama很有帮助。不要给我正确的解决方案,而是给我好的想法。问题出在字体上。至少目前还没能产生喷泉。下面是一个示例:
FreeTypeFontGenerator=newfreetypefontgenerator(Gdx.files.internal(“font/ciril1.ttf”);BitmapFont font15=generator.generateFont(11)代码>它给出了错误:线程“LWJGL应用程序”com.badlogic.gdx.utils.GdxRuntimeException:java.lang.NoSuchMethodError:com.badlogic.gdx.graphics.g2d.TextureAtlas.getRegions()Ljava/util/List中的异常;我成功地使用了:BitmapFont=new-BitmapFont(Gdx.files.internal(“font/font.fnt”)、Gdx.files.internal(“font/font.png”)、false);字体比例(-0.5f)代码>