java.awt.Font#createFont ( )源码实例Demo

下面列出了java.awt.Font#createFont ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: PolyGlot   文件: PFontHandler.java
/**
 * Attempts to load the given font from the OS's font folder (due to Java's
 * ligature problems)
 *
 * @param fontFamily
 * @return returns loaded font file on success, null otherwise
 */
public static Font loadFontFromOSFileFolder(String fontFamily) {
    Font ret = null;
    try {
        File fontFile = getFontFile(fontFamily);
        if (fontFile != null && fontFile.exists()) {
            ret = Font.createFont(Font.TRUETYPE_FONT, fontFile);
            Map attributes = ret.getAttributes();
            attributes.put(TextAttribute.LIGATURES, TextAttribute.LIGATURES_ON);
            ret = ret.deriveFont(attributes);
        }
    } catch (Exception e) {
        IOHandler.writeErrorLog(e);
        // do nothing here. Failure means returning null
    }

    return ret;
}
 
源代码2 项目: snowblossom   文件: IceLeaf.java
public void run()
{
  try
  {
    fixed_font = Font.createFont(Font.TRUETYPE_FONT, 
      IceLeaf.class.getResourceAsStream( getResourceBasePath() + "/iceleaf-ui/resources/font/Hack-Regular.ttf"));
    bold_fixed_font = Font.createFont(Font.TRUETYPE_FONT, 
      IceLeaf.class.getResourceAsStream( getResourceBasePath() +"/iceleaf-ui/resources/font/Hack-Bold.ttf"));
    var_font = new Font("Verdana", 0, 12);

    //IceLeaf.setUIFont(new Font("Verdana", 0, 12));
    //UIManager.setLookAndFeel(new javax.swing.plaf.nimbus.NimbusLookAndFeel());
  }
  catch(Exception e)
  {
    e.printStackTrace();
  }
}
 
源代码3 项目: MeteoInfo   文件: FontUtil.java
/**
 * Get weather symbol font
 *
 * @return Weather symbol font
 */
public static Font getWeatherFont() {
    Font font = null;
    InputStream is = Draw.class.getResourceAsStream("/fonts/WeatherSymbol.ttf");
    try {
        font = Font.createFont(Font.TRUETYPE_FONT, is);
    } catch (FontFormatException | IOException ex) {
        Logger.getLogger(Draw.class.getName()).log(Level.SEVERE, null, ex);
    }

    return font;
}
 
源代码4 项目: scrimage   文件: FontUtils.java
public static Font createTrueType(InputStream in, int size) throws IOException, FontFormatException {
   assert (in != null);
   Font font = Font.createFont(Font.TRUETYPE_FONT, in);
   GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
   ge.registerFont(font);
   return font.deriveFont(Font.PLAIN, size);
}
 
源代码5 项目: jclic   文件: FontCheck.java
public static Font buildNewFont(String fileName, StreamIO.InputStreamProvider isp, String resourceName)
    throws Exception {

  GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
  Font font = Font.createFont(Font.TRUETYPE_FONT, isp.getInputStream(resourceName));
  if (ge != null && font != null) {
    ge.registerFont(font);
    font = getValidFont(font.getName(), Font.PLAIN, 1);
  }
  return font;
}
 
源代码6 项目: jmonkeyengine   文件: TestBitmapFontLayout.java
public static Font loadTtf( String resource ) {
    try {
        return Font.createFont(Font.TRUETYPE_FONT, 
                               TestBitmapFontLayout.class.getResourceAsStream(resource));            
    } catch( FontFormatException | IOException e ) {
        throw new RuntimeException("Error loading resource:" + resource, e);
    }
}
 
源代码7 项目: opsu   文件: Fonts.java
/**
 * Initializes all fonts.
 * @throws SlickException if ASCII glyphs could not be loaded
 * @throws FontFormatException if any font stream data does not contain the required font tables
 * @throws IOException if a font stream cannot be completely read
 */
public static void init() throws SlickException, FontFormatException, IOException {
	float fontBase = 12f * GameImage.getUIscale();
	Font javaFontMain = Font.createFont(Font.TRUETYPE_FONT, ResourceLoader.getResourceAsStream(Options.FONT_MAIN));
	Font javaFontBold = Font.createFont(Font.TRUETYPE_FONT, ResourceLoader.getResourceAsStream(Options.FONT_BOLD));
	Font javaFontCJK = Font.createFont(Font.TRUETYPE_FONT, ResourceLoader.getResourceAsStream(Options.FONT_CJK));
	Font fontMain = javaFontMain.deriveFont(Font.PLAIN, (int) (fontBase * 4 / 3));
	Font fontBold = javaFontBold.deriveFont(Font.PLAIN, (int) (fontBase * 4 / 3));
	Font fontCJK = javaFontCJK.deriveFont(Font.PLAIN, (int) (fontBase * 4 / 3));
	DEFAULT = new UnicodeFont(fontMain);
	BOLD = new UnicodeFont(fontBold.deriveFont(Font.BOLD));
	XLARGE = new UnicodeFont(fontMain.deriveFont(fontBase * 3));
	LARGE = new UnicodeFont(fontMain.deriveFont(fontBase * 2));
	MEDIUM = new UnicodeFont(fontMain.deriveFont(fontBase * 3 / 2));
	MEDIUMBOLD = new UnicodeFont(fontBold.deriveFont(Font.BOLD, fontBase * 3 / 2));
	SMALL = new UnicodeFont(fontMain.deriveFont(fontBase));
	SMALLBOLD = new UnicodeFont(fontBold.deriveFont(Font.BOLD, fontBase));
	ColorEffect colorEffect = new ColorEffect();
	loadFont(DEFAULT, colorEffect, new UnicodeFont(fontCJK));
	loadFont(BOLD, colorEffect, new UnicodeFont(fontCJK.deriveFont(Font.BOLD)));
	loadFont(XLARGE, colorEffect, new UnicodeFont(fontCJK.deriveFont(fontBase * 3)));
	loadFont(LARGE, colorEffect, new UnicodeFont(fontCJK.deriveFont(fontBase * 2)));
	loadFont(MEDIUM, colorEffect, new UnicodeFont(fontCJK.deriveFont(fontBase * 3 / 2)));
	loadFont(MEDIUMBOLD, colorEffect, new UnicodeFont(fontCJK.deriveFont(Font.BOLD, fontBase * 3 / 2)));
	loadFont(SMALL, colorEffect, new UnicodeFont(fontCJK.deriveFont(fontBase)));
	loadFont(SMALLBOLD, colorEffect, new UnicodeFont(fontCJK.deriveFont(Font.BOLD, fontBase)));
}
 
源代码8 项目: RipplePower   文件: LFont.java
public static LFont getAssetsFont(String file, int style, int size) {
	try {
		String name = "assets" + (file + style + size).toLowerCase();
		LFont o = fonts.get(name);
		if (o == null) {
			o = new LFont();
			o.name = file;
			o.style = style;
			o.size = size;
			o.antialiasing = true;
			if (o.antialiasing) {
				g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
			} else {
				g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
			}
			Font trueFont = Font.createFont(0, UIRes.getStream(file));
			Font baseFont = trueFont.deriveFont(style, size);
			o.fontMetrics = g2d.getFontMetrics(baseFont);
			o.initialized = true;
			fonts.put(name, o);
		}
		return o;
	} catch (Exception e) {
		e.printStackTrace();

	}
	return null;
}
 
源代码9 项目: PolyGlot   文件: PFontHandler.java
/**
 * Fetches and returns LCD style font NOTE 1: the font returned is very
 * small, use deriveFont() to make it a usable size NOTE 2: this is a
 * non-static method due to an input stream restriction
 *
 * @return LCD display font
 * @throws java.awt.FontFormatException if font corrupted
 * @throws java.io.IOException if unable to load font
 */
private Font getLcdFontInternal() throws FontFormatException, IOException {
    try (InputStream tmp = this.getClass().getResourceAsStream(PGTUtil.LCD_FONT_LOCATION)) {
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        Font ret = Font.createFont(Font.TRUETYPE_FONT, tmp);

        if (ret != null) {
            ge.registerFont(ret);
        }

        return ret;
    }
}
 
源代码10 项目: WorldGrower   文件: Fonts.java
private static Font createFont() {
	try {
		Font font = Font.createFont(Font.TRUETYPE_FONT, ImageInfoReader.class.getResourceAsStream("/ufonts.com_tw-cen-mt.ttf"));
		Font derivedFont = font.deriveFont((float)FONT_SIZE);
		
		GraphicsEnvironment genv = GraphicsEnvironment.getLocalGraphicsEnvironment();
		genv.registerFont(derivedFont);

		return derivedFont;
		
	} catch (FontFormatException | IOException e) {
		throw new IllegalStateException(e);
	}
}
 
源代码11 项目: dss   文件: DSSFileFont.java
private Font deriveJavaFont() {
	try (InputStream is = fileFont.openStream()) {
		Font javaFont = Font.createFont(Font.TRUETYPE_FONT, is);
		return javaFont.deriveFont(size);
	} catch (IOException | FontFormatException e) {
		throw new DSSException(String.format("The Java font cannot be instantiated. Reason : %s", e.getMessage()), e);
	}
}
 
源代码12 项目: mil-sym-java   文件: SinglePointFont.java
/**
 * Font used to render single point tactical graphics
 * @param size
 * @return 
 */
public Font getSPFont(float size)
{
    //load font from resource
    InputStream fontStream = _instance.getClass().getClassLoader().getResourceAsStream("FONTS/SinglePoint.ttf");
    //InputStream fontStream = _spFontStream;

    Font newFont = null;
    try
    {
        //create font
        newFont = Font.createFont(Font.TRUETYPE_FONT, fontStream);
    }
    catch(FontFormatException ffe)
    {
        ErrorLogger.LogException(this.getClass().getName() ,"getSPFont()",
                new RendererException("SPFont failed to load.", ffe));
    }
    catch(IOException ioe)
    {
        ErrorLogger.LogException(this.getClass().getName() ,"getSPFont()",
                new RendererException("SPFont failed to load.", ioe));
    }
    catch(Exception exc)
    {
        ErrorLogger.LogException(this.getClass().getName() ,"getSPFont()",
                new RendererException("SPFont failed to load.", exc));
    }

    //resize font
    newFont = newFont.deriveFont(Font.TRUETYPE_FONT, size);
    //return font
    return newFont;

}
 
源代码13 项目: openjdk-jdk9   文件: FontDisposeTest.java
public static void main(String[] args) throws Exception
{
    // The bug only happens with Type 1 fonts. The Ghostscript font files
    // should be commonly available. From distro pacakge or
    //  ftp://ftp.gnu.org/gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz
    // Pass pfa/pfb font file as argument
    String path = args[0];

    // Load
    InputStream stream = new FileInputStream(path);
    Font font = Font.createFont(Font.TYPE1_FONT,stream);

    // Ensure native bits have been generated
    BufferedImage img = new BufferedImage(100,100,
                             BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2d = img.createGraphics();
    FontRenderContext frc = g2d.getFontRenderContext();

    font.getLineMetrics("derp",frc);

    // Force disposal -
    // System.gc() is not sufficient.
    Field font2DHandleField = Font.class.getDeclaredField("font2DHandle");
    font2DHandleField.setAccessible(true);
    sun.font.Font2DHandle font2DHandle =
                  (sun.font.Font2DHandle)font2DHandleField.get(font);

    sun.font.Font2D font2D = font2DHandle.font2D;
    sun.font.Type1Font type1Font = (sun.font.Type1Font)font2D;

    Method getScalerMethod =
    sun.font.Type1Font.class.getDeclaredMethod("getScaler");
    getScalerMethod.setAccessible(true);
    sun.font.FontScaler scaler =
              (sun.font.FontScaler)getScalerMethod.invoke(type1Font);

    // dispose should not crash due to double free
    scaler.dispose();
}
 
源代码14 项目: iaf   文件: AsposeFontManager.java
/**
 * Get the font. When retrieving the font fails it is logged and
 * <code>null</code> is returned.
 * 
 * @param fontFile File location of the font to be loaded
 * @return the font or <code>null</code>.
 */
private Font createFont(File fontFile) {
	String name = fontFile.getName();
	if (!name.toLowerCase().endsWith(TRUETYPE_FONT_EXT)) {
		throw new IllegalArgumentException("Unexpected extension! (file: " + name + " expected extension: " + TRUETYPE_FONT_EXT + ")");
	}
	Font result = null;
	try {
		result = Font.createFont(Font.TRUETYPE_FONT, fontFile);
	} catch (FontFormatException | IOException e) {
		log.error("Loading font failed! (file: " + name + ")", e);
	}
	return result;
}
 
源代码15 项目: jenkins-status-badges-plugin   文件: StatusImage.java
public int measureText( String text )
    throws FontFormatException, IOException
{
    URL fontURL =
        new URL( Jenkins.getInstance().pluginManager.getPlugin( "status-badges" ).baseResourceURL,
                 "fonts/verdana.ttf" );
    InputStream fontStream = fontURL.openStream();
    Font defaultFont = Font.createFont( Font.TRUETYPE_FONT, fontStream );
    defaultFont = defaultFont.deriveFont( 11f );
    Canvas canvas = new Canvas();
    FontMetrics fontMetrics = canvas.getFontMetrics( defaultFont );
    return fontMetrics.stringWidth( text );
}
 
源代码16 项目: PolyGlot   文件: PFontHandler.java
/**
 * Fetches and returns a font from a given location
 *
 * @param filePath
 * @return collected font
 * @throws java.awt.FontFormatException
 * @throws java.io.IOException
 */
public static Font getFontFromFile(String filePath) throws FontFormatException, IOException {
    File fontFile = new File(filePath);
    Font ret = Font.createFont(Font.TRUETYPE_FONT, fontFile);
    Map attributes = ret.getAttributes();
    attributes.put(TextAttribute.LIGATURES, TextAttribute.LIGATURES_ON);
    ret = ret.deriveFont(attributes);
    
    return ret;
}
 
源代码17 项目: RipplePower   文件: UIRes.java
public static Font getFont(String fontName, int type, int style, int size) {
	try {
		Font font = Font.createFont(type, UIRes.getStream(fontName));
		font = font.deriveFont(style, size);
		final GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
		ge.registerFont(font);
		return font;
	} catch (Exception e) {
		e.printStackTrace();
	}
	return new Font(Font.DIALOG, style, size);
}
 
源代码18 项目: CSSBox   文件: FontDecoder.java
public static Font decodeFont(DocumentSource fontSource, String format) throws FontFormatException, IOException
{
    //TODO decode other formats than TTF
    return Font.createFont(Font.TRUETYPE_FONT, fontSource.getInputStream());
}
 
源代码19 项目: Hyperium   文件: HyperiumFontRenderer.java
private Font getFontFromInput(String path) throws IOException, FontFormatException {
    return Font.createFont(Font.TRUETYPE_FONT, HyperiumFontRenderer.class.getResourceAsStream(path));
}
 
源代码20 项目: jrobin   文件: ValueAxisTest.java
public void prepareGraph() throws RrdException, IOException, FontFormatException {

		graphDef = new RrdGraphDef();
		graphDef.datasource("testvalue", jrbFileName, "testvalue","AVERAGE");
		graphDef.area("testvalue", Util.parseColor("#FF0000"), "TestValue");
		graphDef.setStartTime(startTime);
		graphDef.setEndTime(startTime + (60*60*24));

		//We really need to specify exactly our own fonts, otherwise we get different behaviour on
		// different systems (not conducive to reliably testing)
		// We expect the TTF file to be on the class path.
		Font monoSpacedFont = Font.createFont(Font.TRUETYPE_FONT, new File("target/classes/DejaVuSansMono.ttf"));
		graphDef.setFont(RrdGraphDef.FONTTAG_DEFAULT, monoSpacedFont.deriveFont(10.0f), true, true);
		graphDef.setLargeFont(monoSpacedFont.deriveFont(12.0f));

		//There's only a couple of methods of ImageWorker that we actually care about in this test.
		// More to the point, we want the rest to work as normal (like getFontHeight, getFontAscent etc)
		imageWorker = createMockBuilder(ImageWorker.class)
			.addMockedMethod("drawLine")
			.addMockedMethod("drawString")
			.createStrictMock(); //Order is important!

		//For the test only; when creating the mock object above, if we include ".withConstructor(100,100)"
		// easymock calls the constructor but the call to resize doesn't happen properly.
		// But it's imperative to setup internal state in the ImageWorker.  So, call it here.
		imageWorker.resize(100,100);

		//The imageParameters setup code is duplicated and simplified from that in similarly named functions
		// in RrdGraph.  It would be nice if this could be re-used somehow, but that would require
		// being able to pass in an ImageWorker to RrdGraph.  But currently the imageworker is created
		// and used immediately in the constructor of RrdGraph.
		// And we need some existing unit tests to be able to prove that it's doing the right thing first
		// before we can refactor it so that we can write better unit tests.  Mr Chicken, meet Mr Egg.
		// So, this is about the best we can do at this stage.
		// The called functions are named the same as in RrdGraph, but are generally simplified for the purposes of this test
		// eliminating code that we don't use
		imageParameters = new ImageParameters();
		DataProcessor dataProcessor = this.fetchData(imageParameters, graphDef);
		this.calculatePlotValues(graphDef, dataProcessor);
		this.findMinMaxValues(imageParameters, graphDef);
		this.identifySiUnit(imageParameters, graphDef);
		this.expandValueRange(imageParameters, graphDef);
		this.initializeLimits(imageParameters, graphDef);
		imageWorker.resize(imageParameters.xgif, imageParameters.ygif);

		Mapper graphMapper = new Mapper(graphDef, imageParameters);

		this.valueAxis = new ValueAxis(imageParameters, imageWorker, graphDef, graphMapper);
	}