如何使用mangal.ttf或任何其他字体渲染在libgdx印地文文本。 当试图打印印地文文本时,方框即将到来。如何在Libgdx中渲染印地文文本?
0
A
回答
0
我们可以用 “Chanakya的” 字体来呈现正确的方式印地文文本。从赫拉下载chanyaka.ttf:
http://indiatyping.com/index.php/download/199-chanakya-font
安装字体之后。你应该使用coverter编码您的印地文的文字:
http://indiatyping.com/index.php/font-converter/unicode-to-chanakya-font-converter
一旦转换的文本,只需将它复制到你的目的地,你应该是好去!
享受:)
0
尝试FreeTypeFont,FreetypeFont在Maven存储库中可用,因此您可以通过gradle轻松地在项目中使用inject dependency并在您的代码中使用。
public class MyGdxGame extends Game {
SpriteBatch spriteBatch;
BitmapFont font;
OrthographicCamera camera;
GlyphLayout glyphLayout,glyphLayout1;
String text,text1;
@Override
public void create() {
camera=new OrthographicCamera();
camera.setToOrtho(false,400,640);
spriteBatch = new SpriteBatch();
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("Mangal.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.color = Color.WHITE;
parameter.magFilter = Texture.TextureFilter.Linear; // used for resizing quality
parameter.minFilter = Texture.TextureFilter.Linear;
//ँंंःअआइईउऊऋएऐऑओऔकखगघचछजझञटठडढणतथदधनपफबभमयरलवशषसह़ािीुूृॅेैॉोौ्
parameter.characters = "शुभ प्रभात आप का स्वागत है"; //The characters the font should contain
parameter.size=15;
font=generator.generateFont(parameter);
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
font.setColor(1.0f, 0.0f, 0.0f, 1.0f);
generator.dispose();
text="शुभ प्रभात";
text1="आप का स्वागत है";
glyphLayout=new GlyphLayout(font,text);
glyphLayout1=new GlyphLayout(font,text1);
}
@Override
public void render() {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glClearColor(1,1,0,1);
spriteBatch.setProjectionMatrix(camera.combined);
spriteBatch.begin();
font.draw(spriteBatch,text,camera.viewportWidth*.5f-glyphLayout.width/2f,camera.viewportHeight*.5f);
font.draw(spriteBatch,text1,camera.viewportWidth*.5f-glyphLayout1.width/2f,camera.viewportHeight*.4f);
spriteBatch.end();
}
@Override
public void resize(int width, int height) {
camera.setToOrtho(false,width,height);
}
@Override
public void dispose() {
font.dispose();
spriteBatch.dispose();
}
}
输出看起来是这样的:
相关问题
- 1. 在LibGDX中渲染svg文件
- 2. 如何在libgdx中渲染.obj中的.mtl文件android
- 3. 如何在C(android)中渲染文本?
- 4. 在LWJGL中渲染文本
- 5. 在AS3中渲染文本
- 6. 在libgdx中渲染带有BitmapFont的文本
- 7. 在Libgdx中渲染图像
- 8. OutOfMemoryError在libgdx中渲染时
- 9. LibGDX CPU渲染
- 10. 如何在Chrome中本地渲染Emojis?
- 11. 渲染图像文本阵营本地
- 12. 如何将ejs文件渲染到本地文件
- 13. Qt:QOpenGLWidget中的文本渲染
- 14. chrome中的文本渲染
- 15. 文本不渲染在DIV
- 16. Libgdx渲染方法
- 17. libgdx渲染恶意
- 18. LibGDX Box2D不渲染
- 19. Rails j渲染部分本地文件
- 20. libGDX渲染TextureRegion渲染得太多
- 21. Libgdx渲染3D游戏的地板
- 22. 渲染2D块状地图 - LibGDX
- 23. 如何渲染HTML体内HTML文本
- 24. 从文本文件中渲染UML图
- 25. 如何在OpenGL中渲染3D文字?
- 26. 如何提高LibGDX 3D渲染性能?
- 27. libGDX渲染方法如何工作?
- 28. WPF - 在Viewport3D中渲染文本
- 29. 在svg组中渲染文本元素
- 30. 在rails中渲染纯文本4
在运行你的代码..在了这个线程异常“LWJGL申请”了java.lang.RuntimeException:“?”键与名称已经在地图 \t在com.badlogic.gdx.graphics.g2d.PixmapPacker.pack(PixmapPacker.java:162) \t在com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateData(FreeTypeFontGenerator.java: 404) \t在com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateFont(FreeTypeFontGenerator.java:153) \t在com.vector.science11.MyGdxGame.create(MyGdxGame.java:37) – arv
感谢您的回答,但你的输入和输出字符不完全相同。就像输出中的输出字是不同的。 – arv
甚至स्वागत不如在我的文字 – Aryan