13

I have a custom font I want to show off in a Java program where the user can view it without having to install it. Does anyone know how to do that?

working solution


I have implemented the following:

font = java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, new java.io.File(Clazz.class.getResource("/resources/segoescb.ttf").toURI()));
font = font.deriveFont(11.0F);
Bill the Lizard
  • 386,424
  • 207
  • 554
  • 861
Ky.
  • 28,753
  • 48
  • 180
  • 285

1 Answers1

12

I have never done it, but it seems like the methods you want are

Importing the Font

Font createFont(int fontFormat, InputStream fontStream)

or alternatively

Font createFont(int fontFormat, File fontFile)

The int parameter is either Font.TRUETYPE_FONT or Font.TYPE1_FONT, while the InputStream or File parameter contains the font's binary data.

Using the Font after import:

To make the Font available to Font constructors the returned Font must be registered in the GraphicsEnviroment by calling registerFont(Font).

Sean Patrick Floyd
  • 284,665
  • 62
  • 456
  • 576