List of usage examples for com.badlogic.gdx.graphics.g2d.freetype FreeType FT_LOAD_DEFAULT
int FT_LOAD_DEFAULT
To view the source code for com.badlogic.gdx.graphics.g2d.freetype FreeType FT_LOAD_DEFAULT.
Click Source Link
From source file:es.eucm.ead.maven.GenerateSkinMojo.java
License:Open Source License
/** * Convenience method for generating a font, and then writing the fnt and * png files. Writing a generated font to files allows the possibility of * only generating the fonts when they are missing, otherwise loading from a * previously generated file./*w w w. ja v a2s . c o m*/ * * @param fontFile * @param fontSize * @param destiny */ private void generateFiles(String fontName, FileHandle fontFile, int fontSize, FileHandle destiny) { FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile); // compute the minimum page size for a square png FreeType.Library library = FreeType.initFreeType(); FreeType.Face face = FreeType.newFace(library, fontFile, 0); FreeType.setPixelSizes(face, 0, fontSize); FreeType.SizeMetrics fontMetrics = face.getSize().getMetrics(); float scale = FreeType.toInt(fontMetrics.getHeight()); for (int c = 32; c < (32 + face.getNumGlyphs()); c++) { if (FreeType.loadChar(face, c, FreeType.FT_LOAD_DEFAULT)) { int lh = FreeType.toInt(face.getGlyph().getMetrics().getHeight()); scale = (lh > scale) ? lh : scale; } } // generate the glyphs int maxGlyphHeight = (int) Math.ceil(scale); float area = maxGlyphHeight * maxGlyphHeight * FreeTypeFontGenerator.DEFAULT_CHARS.length(); int pageWidth = MathUtils.nextPowerOfTwo((int) Math.sqrt(area)); pageWidth = Math.min(pageWidth, 1024); PixmapPacker packer = new PixmapPacker(pageWidth, pageWidth, Pixmap.Format.RGBA8888, 2, false); FreeTypeFontGenerator.FreeTypeFontParameter param = new FreeTypeFontGenerator.FreeTypeFontParameter(); param.packer = packer; param.characters = FreeTypeFontGenerator.DEFAULT_CHARS; param.size = fontSize; param.flip = false; FreeTypeFontGenerator.FreeTypeBitmapFontData fontData = generator.generateData(param); saveFontToFile(fontData, fontSize, fontName, packer, destiny); generator.dispose(); packer.dispose(); }