Examples of SizeMetrics


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 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

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

 
  /** 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

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

  /** 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

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

    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
Copyright © 2018 www.massapi.com. 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.