@Override public BitmapFont loadSync (AssetManager manager, String fileName, FileHandle file, FreeTypeFontLoaderParameter parameter) { if(parameter == null) throw new RuntimeException("FreetypeFontParameter must be set in AssetManager#load to point at a TTF file!"); FreeTypeFontGenerator generator = manager.get(parameter.fontFileName + ".gen", FreeTypeFontGenerator.class); BitmapFont font = generator.generateFont(parameter.fontParameters); return font; }
@Override public BitmapFont loadSync (AssetManager manager, String fileName, FileHandle file, FreeTypeFontLoaderParameter parameter) { if(parameter == null) throw new RuntimeException("FreetypeFontParameter must be set in AssetManager#load to point at a TTF file!"); FreeTypeFontGenerator generator = manager.get(parameter.fontFileName + ".gen", FreeTypeFontGenerator.class); BitmapFont font = generator.generateFont(parameter.fontParameters); return font; }
public BitmapFont generateFont (FreeTypeFontParameter parameter) { return generateFont(parameter, new FreeTypeBitmapFontData()); }
public BitmapFont generateFont (FreeTypeFontParameter parameter) { return generateFont(parameter, new FreeTypeBitmapFontData()); }
@Override public void create () { FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("data/unbom.ttf")); FreeTypeFontParameter parameter = new FreeTypeFontParameter(); parameter.size = 18; parameter.characters = "한국어/조선�?"; koreanFont = generator.generateFont(parameter); generator.dispose(); parameter.characters = FreeTypeFontGenerator.DEFAULT_CHARS; generator = new FreeTypeFontGenerator(Gdx.files.internal("data/russkij.ttf")); cyrillicFont = generator.generateFont(parameter); generator.dispose(); parameter.characters = "วรณยุ�?ต์"; generator = new FreeTypeFontGenerator(Gdx.files.internal("data/garuda.ttf")); thaiFont = generator.generateFont(parameter); generator.dispose(); batch = new SpriteBatch(); cam = new OrthographicCamera(); cam.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); cam.update(); }
fontParameter.packer = packer; fontParameter.characters = CHARACTERS; BitmapFont bmFont = gen.generateFont(fontParameter);
public void create () { batch = new SpriteBatch(); shapes = new ShapeRenderer(); shapes.setColor(Color.RED); FreeTypeFontGenerator.setMaxTextureSize(128); generator = new FreeTypeFontGenerator(Gdx.files.internal("data/arial.ttf")); FreeTypeFontParameter param = new FreeTypeFontParameter(); param.incremental = true; param.size = 24; param.characters = "howdY\u0000"; FreeTypeBitmapFontData data = new FreeTypeBitmapFontData() { public int getWrapIndex (Array<Glyph> glyphs, int start) { return SimplifiedChinese.getWrapIndex(glyphs, start); } }; // By default latin chars are used for x and cap height, causing some fonts to display non-latin chars out of bounds. data.xChars = new char[] {'动'}; data.capChars = new char[] {'动'}; font = generator.generateFont(param, data); }
public void render () { if (Gdx.input.justTouched()) { for (int i = 0; i < 10; i++) { if (font != null) { font.dispose(); } FileHandle fontFile = Gdx.files.internal("data/arial.ttf"); FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile); FreeTypeFontParameter parameter = new FreeTypeFontParameter(); parameter.size = 15; font = generator.generateFont(parameter); generator.dispose(); } for (int i = 0; i < 10; i++) System.gc(); Gdx.app.log("FreeTypeDisposeTest", "generated 10 fonts"); Gdx.app.log("FreeTypeDisposeTest", Gdx.app.getJavaHeap() + ", " + Gdx.app.getNativeHeap()); } } }
@Override public void create () { spriteBatch = new SpriteBatch(); atlas = new TextureAtlas("data/pack"); smallFont = new BitmapFont(); FreeTypeFontParameter parameter = new FreeTypeFontParameter(); parameter.size = 60; FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("data/arial.ttf")); font = generator.generateFont(parameter); generator.dispose(); renderer = new ShapeRenderer(); renderer.setProjectionMatrix(spriteBatch.getProjectionMatrix()); }
public void setRenderType (RenderType renderType) { this.renderType = renderType; if (renderType != RenderType.FreeType) { if (bitmapFont != null) { bitmapFont.dispose(); generator.dispose(); } } else { String fontFile = getFontFile(); if (fontFile != null) { generator = new FreeTypeFontGenerator(Gdx.files.absolute(fontFile)); FreeTypeFontParameter param = new FreeTypeFontParameter(); param.size = font.getSize(); param.incremental = true; param.flip = true; param.mono = mono; param.gamma = gamma; bitmapFont = generator.generateFont(param); if (bitmapFont.getData().missingGlyph == null) bitmapFont.getData().missingGlyph = bitmapFont.getData().getGlyph('\ufffd'); cache = bitmapFont.newFontCache(); layout = new GlyphLayout(); } } }
public void setRenderType (RenderType renderType) { this.renderType = renderType; if (renderType != RenderType.FreeType) { if (bitmapFont != null) { bitmapFont.dispose(); generator.dispose(); } } else { String fontFile = getFontFile(); if (fontFile != null) { generator = new FreeTypeFontGenerator(Gdx.files.absolute(fontFile)); FreeTypeFontParameter param = new FreeTypeFontParameter(); param.size = font.getSize(); param.incremental = true; param.flip = true; param.mono = mono; param.gamma = gamma; bitmapFont = generator.generateFont(param); if (bitmapFont.getData().missingGlyph == null) bitmapFont.getData().missingGlyph = bitmapFont.getData().getGlyph('\ufffd'); cache = bitmapFont.newFontCache(); layout = new GlyphLayout(); } } }
@Override public void create () { boolean flip = false; batch = new SpriteBatch(); if (flip) { OrthographicCamera cam = new OrthographicCamera(); cam.setToOrtho(flip); cam.update(); batch.setProjectionMatrix(cam.combined); } font = new BitmapFont(Gdx.files.internal("data/arial-15.fnt"), flip); FileHandle fontFile = Gdx.files.internal("data/arial.ttf"); FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile); FreeTypeFontParameter parameter = new FreeTypeFontParameter(); parameter.size = 15; parameter.flip = flip; parameter.genMipMaps = true; // parameter.shadowOffsetX = 1; // parameter.shadowOffsetY = 1; // parameter.shadowColor = Color.GREEN; // parameter.borderWidth = 1f; // parameter.borderColor = Color.PURPLE; FreeTypeBitmapFontData fontData = generator.generateData(parameter); ftFont = generator.generateFont(parameter); generator.dispose(); }
generatedFont = generator.generateFont(param);
//STATIC RESOURCES CAN CAUSE TROUBLE, KEEP IT IN MIND public class Styles { public static BitmapFont HEADER_FONT; public static FreeTypeFontGenerator FONT_GENERATOR = ... public static void loadAssets() { FreeTypeFontGenerator.FreeTypeFontParameter params = ... HEADER_FONT = FONT_GENERATOR.generateFont(params); } }
public BitmapFont getDefaultFont(int size) { FreeTypeFontGenerator generator = new FreeTypeFontGenerator( Gdx.files.internal("fonts/font.ttf")); defaultFont = generator.generateFont(size + 5); //some offset return defaultFont; }
// in your constants public static final String FONT_CHARSET = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890,./;'[]\\`~!@#$%^&*()_+{}|:\"<>?"; // in your resource loading code FreeTypeFontGenerator fontGenerator = new FreeTypeFontGenerator(Gdx.files.internal("myFont.ttf")); BitmapFont myFont = fontGenerator.generateFont(24, FONT_CHARSET, false); fontGenerator.dipose(); // remember to dispose the generator after used
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/myfont.ttf")); FreeTypeFontParameter parameter = new FreeTypeFontParameter(); parameter.size = 12; BitmapFont font12 = generator.generateFont(parameter); // font size 12 pixels generator.dispose(); // don't forget to dispose to avoid memory leaks!
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/myfont.ttf")); FreeTypeFontParameter parameter = new FreeTypeFontParameter(); parameter.size = 12; BitmapFont font12 = generator.generateFont(parameter); generator.dispose(); // don't forget to dispose to avoid memory leaks!
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("myfont.ttf")); FreeTypeFontParameter parameter = new FreeTypeFontParameter(); parameter.size = 12; BitmapFont font12 = generator.generateFont(parameter); // font size 12 pixels generator.dispose(); // don't forget to dispose to avoid memory leaks!
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/___.ttf")); FreeTypeFontParameter parameter = new FreeTypeFontParameter(); parameter.size = 12; BitmapFont font12 = generator.generateFont(parameter); // font size 12 pixels generator.dispose(); // don't forget to dispose to avoid memory leaks!