Package com.badlogic.gdx.graphics.g2d.freetype.FreeType

Examples of com.badlogic.gdx.graphics.g2d.freetype.FreeType.SizeMetrics


  /** Uses ascender and descender of font to calculate real height that makes all glyphs to fit in given pixel size. Source:
   * http://nothings.org/stb/stb_truetype.h / stbtt_ScaleForPixelHeight */
  public int scaleForPixelHeight (int size) {
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, size)) throw new GdxRuntimeException("Couldn't set size for font");
    SizeMetrics fontMetrics = face.getSize().getMetrics();
    int ascent = FreeType.toInt(fontMetrics.getAscender());
    int descent = FreeType.toInt(fontMetrics.getDescender());
    return size * size / (ascent - descent);
  }
View Full Code Here


  /** Returns null if glyph was not found. If there is nothing to render, for example with various space characters, then bitmap
   * is null. */
  public GlyphAndBitmap generateGlyphAndBitmap (int c, int size, boolean flip) {
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, size)) throw new GdxRuntimeException("Couldn't set size for font");

    SizeMetrics fontMetrics = face.getSize().getMetrics();
    int baseline = FreeType.toInt(fontMetrics.getAscender());

    // Check if character exists in this font.
    // 0 means 'undefined character code'
    if (FreeType.getCharIndex(face, c) == 0) {
      return null;
View Full Code Here

    FreeTypeBitmapFontData data = new FreeTypeBitmapFontData();
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, parameter.size))
      throw new GdxRuntimeException("Couldn't set size for font");

    // set general font data
    SizeMetrics fontMetrics = face.getSize().getMetrics();
    data.flipped = parameter.flip;
    data.ascent = FreeType.toInt(fontMetrics.getAscender());
    data.descent = FreeType.toInt(fontMetrics.getDescender());
    data.lineHeight = FreeType.toInt(fontMetrics.getHeight());
    float baseLine = data.ascent;

    // if bitmapped
    if (bitmapped && (data.lineHeight == 0)) {
      for (int c = 32; c < (32 + face.getNumGlyphs()); c++) {
View Full Code Here

   *  all glyphs to fit in given pixel size. Source:
   *  http://nothings.org/stb/stb_truetype.h / stbtt_ScaleForPixelHeight
   */
  public int scaleForPixelHeight(int size) {
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, size)) throw new GdxRuntimeException("Couldn't set size for font");
    SizeMetrics fontMetrics = face.getSize().getMetrics();
    int ascent = FreeType.toInt(fontMetrics.getAscender());
    int descent = FreeType.toInt(fontMetrics.getDescender());
    return size * size / (ascent - descent);
  }
View Full Code Here

   * for example with various space characters, then bitmap is null.
   * */
  public GlyphAndBitmap generateGlyphAndBitmap(int c, int size, boolean flip) {
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, size)) throw new GdxRuntimeException("Couldn't set size for font");

    SizeMetrics fontMetrics = face.getSize().getMetrics();
    int baseline = FreeType.toInt(fontMetrics.getAscender());

    // Check if character exists in this font.
    // 0 means 'undefined character code'
    if (FreeType.getCharIndex(face, c) == 0) {
      return null;
View Full Code Here

  public FreeTypeBitmapFontData generateData (int size, String characters, boolean flip, PixmapPacker packer) {
    FreeTypeBitmapFontData data = new FreeTypeBitmapFontData();
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, size)) throw new GdxRuntimeException("Couldn't set size for font");

    // set general font data
    SizeMetrics fontMetrics = face.getSize().getMetrics();
    data.flipped = flip;
    data.ascent = FreeType.toInt(fontMetrics.getAscender());
    data.descent = FreeType.toInt(fontMetrics.getDescender());
    data.lineHeight = FreeType.toInt(fontMetrics.getHeight());
    float baseLine = data.ascent;

    // if bitmapped
    if(bitmapped && (data.lineHeight==0))
    {
View Full Code Here

  /** Uses ascender and descender of font to calculate real height that makes all glyphs to fit in given pixel size. Source:
   * http://nothings.org/stb/stb_truetype.h / stbtt_ScaleForPixelHeight */
  public int scaleForPixelHeight (int height) {
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, height)) throw new GdxRuntimeException("Couldn't set size for font");
    SizeMetrics fontMetrics = face.getSize().getMetrics();
    int ascent = FreeType.toInt(fontMetrics.getAscender());
    int descent = FreeType.toInt(fontMetrics.getDescender());
    return height * height / (ascent - descent);
  }
View Full Code Here

 
  /** Uses max advance, ascender and descender of font to calculate real height that makes any n glyphs to fit in given pixel width.
   * @param width the max width to fit (in pixels)
   * @param numChars max number of characters that to fill width */
  public int scaleForPixelWidth(int width, int numChars) {
    SizeMetrics fontMetrics = face.getSize().getMetrics();
    int advance = FreeType.toInt(fontMetrics.getMaxAdvance());
    int ascent = FreeType.toInt(fontMetrics.getAscender());
    int descent = FreeType.toInt(fontMetrics.getDescender());
    int unscaledHeight = ascent - descent;
    int height = unscaledHeight * width / (advance * numChars);
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, height)) throw new GdxRuntimeException("Couldn't set size for font");
    return height;
  }
View Full Code Here

  /** Returns null if glyph was not found. If there is nothing to render, for example with various space characters, then bitmap
   * is null. */
  public GlyphAndBitmap generateGlyphAndBitmap (int c, int size, boolean flip) {
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, size)) throw new GdxRuntimeException("Couldn't set size for font");

    SizeMetrics fontMetrics = face.getSize().getMetrics();
    int baseline = FreeType.toInt(fontMetrics.getAscender());

    // Check if character exists in this font.
    // 0 means 'undefined character code'
    if (FreeType.getCharIndex(face, c) == 0) {
      return null;
View Full Code Here

    FreeTypeBitmapFontData data = new FreeTypeBitmapFontData();
    if (!bitmapped && !FreeType.setPixelSizes(face, 0, parameter.size))
      throw new GdxRuntimeException("Couldn't set size for font");

    // set general font data
    SizeMetrics fontMetrics = face.getSize().getMetrics();
    data.flipped = parameter.flip;
    data.ascent = FreeType.toInt(fontMetrics.getAscender());
    data.descent = FreeType.toInt(fontMetrics.getDescender());
    data.lineHeight = FreeType.toInt(fontMetrics.getHeight());
    float baseLine = data.ascent;

    // if bitmapped
    if (bitmapped && (data.lineHeight == 0)) {
      for (int c = 32; c < (32 + face.getNumGlyphs()); c++) {
View Full Code Here

TOP

Related Classes of com.badlogic.gdx.graphics.g2d.freetype.FreeType.SizeMetrics

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.