Skip to content Skip to sidebar Skip to footer

How To Load A Truetypefont With Different Parameters? Libgdx

The way I have been doing it so far is copying the same font, saving under another name and loading it with different parameters. I am trying to develop an app in LibGDX and by sav

Solution 1:

Take a look of this example, I am creating a list of BitmapFont object having different size by simply changing attributes of FreeTypeFontGenerator.FreeTypeFontParameter.

publicclassMainGameextendsGame {

    SpriteBatch spriteBatch;
    BitmapFont font[];
    OrthographicCamera camera;

    @Overridepublicvoidcreate() {

        camera=newOrthographicCamera();
        camera.setToOrtho(false,400,640);
        spriteBatch = newSpriteBatch();

        int size[]=newint[]{5,8,10,13,15,20,30,40,50,60};

        font=newBitmapFont[size.length];
        FreeTypeFontGeneratorgenerator=newFreeTypeFontGenerator(Gdx.files.internal("BUBBLEGUM.TTF"));
        FreeTypeFontGenerator.FreeTypeFontParameterparameter=newFreeTypeFontGenerator.FreeTypeFontParameter();

        parameter.color = Color.WHITE;
        parameter.magFilter = Texture.TextureFilter.Linear; // used for resizing quality
        parameter.minFilter = Texture.TextureFilter.Linear;

        for(int i=0;i<size.length;i++){
            parameter.size=size[i];
            font[i]=generator.generateFont(parameter);
            font[i].getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
            font[i].setColor(1.0f, 0.0f, 0.0f, 1.0f);
        }

        generator.dispose();   // Don't forget to dispose
    }

    @Overridepublicvoidrender() {

        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        Gdx.gl.glClearColor(1,1,0,1);

        spriteBatch.setProjectionMatrix(camera.combined);
        spriteBatch.begin();
        for (int i=0;i<font.length;i++)
           font[i].draw(spriteBatch,"LIBGDX FONT",10,100+i*55);
        spriteBatch.end();
    }

    @Overridepublicvoidresize(int width, int height) {
         camera.setToOrtho(false,width,height);
    }

    @Overridepublicvoiddispose() {
         spriteBatch.dispose();
         for(BitmapFont bmfont:font)
              bmfont.dispose();

    }
}

EDIT

https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/extensions/FreeTypeFontLoaderTest.java

Post a Comment for "How To Load A Truetypefont With Different Parameters? Libgdx"