2017-04-12 4 views

Antwort

0

Wir "Chanakya" Schriftart machen die Hindi Text in der richtigen Art und Weise nutzen können. Laden Sie die chanyaka.ttf von hera:

http://indiatyping.com/index.php/download/199-chanakya-font

Nachdem die Schriftart installieren.

http://indiatyping.com/index.php/font-converter/unicode-to-chanakya-font-converter

Sobald der Text konvertiert, einfach kopieren Sie sie in Ihrem Ziel, und Sie sollten gut gehen: Sie sollten Ihre Hindi Text mit dem coverter kodieren!

Enjoy :)

0

Versuchen Sie FreeTypeFont, FreetypeFont ist in Maven Repository verfügbar, so können Sie einfach inject dependency über Gradle in Ihrem Projekt und in Ihrem Code verwenden.

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(); 
    } 
} 

Ausgabe sieht wie folgt aus:

enter image description here

+0

Während Ihr Code ausgeführt wird .. erhielt diese Exception in thread "LWJGL Application" java.lang.RuntimeException: '?' Key mit dem Namen ist bereits in der Karte \t bei com.badlogic.gdx.graphics.g2d.PixmapPacker.pack (PixmapPacker.java:162) \t bei com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateData (FreeTypeFontGenerator.java: 404) \t bei com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateFont (FreeTypeFontGenerator.java:153) \t bei com.vector.science11.MyGdxGame.create (MyGdxGame.java:37) – arv

+0

Danke für die antworte aber dein Eingabe- und Ausgabezeichen sind nicht genau gleich. Wie प्भभभत ist das Wort in der Ausgabe anders. – arv

+0

sogar स्ववगत ist nicht ähnlich wie in meinem Text – Aryan