package net.fourbytes.shadow; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture.TextureFilter; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; public class Fonts { //public static PixmapPacker atlasPacker; //public static TextureAtlas atlas; public static final String path_bold = "fonts/ubuntu/ubuntu-b.ttf"; public static final String path_light = "fonts/ubuntu/ubuntu-l.ttf"; public static BitmapFont bold_small; public static BitmapFont bold_normal; public static BitmapFont bold_large; public static BitmapFont light_small; public static BitmapFont light_normal; public static BitmapFont light_large; public static void load() { if (Thread.currentThread() != Shadow.thread) { Gdx.app.postRunnable(new Runnable() { public void run() { load(); } }); return; } //atlasPacker = new PixmapPacker(1024, 1024, Pixmap.Format.RGBA8888, 2, true); //atlas = atlasPacker.generateTextureAtlas(TextureFilter.MipMapNearestNearest, TextureFilter.Nearest, true); FreeTypeFontParameter params = new FreeTypeFontParameter(); params.size = 0; params.flip = false; //TODO generate glyphs on our own when using a shared PixmapPacker //params.packer = atlasPacker; params.packer = null; params.minFilter = TextureFilter.Nearest; params.magFilter = TextureFilter.Nearest; params.genMipMaps = true; FreeTypeFontGenerator gen_bold = new FreeTypeFontGenerator(Gdx.files.internal(path_bold)); params.size = 16; bold_small = gen_bold.generateFont(params); params.size = 32; bold_normal = gen_bold.generateFont(params); params.size = 64; bold_large = gen_bold.generateFont(params); gen_bold.dispose(); FreeTypeFontGenerator gen_light = new FreeTypeFontGenerator(Gdx.files.internal(path_light)); params.size = 16; light_small = gen_light.generateFont(params); params.size = 32; light_normal = gen_light.generateFont(params); params.size = 64; light_large = gen_light.generateFont(params); gen_light.dispose(); } }