¿Cómo se importa una fuente?

Me pregunto cómo importaría una fuente.

Intento utilizar una fuente descargada personalizada, pero como la mayoría de las computadoras que se usarían para ejecutar esto no tendrían esta fuente, ya que no es una fuente predeterminada. ¿Cómo haré para que la fuente funcione incluso si no tienen la fuente?

Lo estoy usando para una pantalla de juego y necesito mostrar una puntuación con él y quiero que el texto del puntaje sea la misma fuente. Esta es la imagen,

enter image description here

En caso de que importe el nombre de la fuente en mi computadora es Terminal

Editar: supongo que debería tener la fuente en el directorio del archivo java y habría alguna forma de usarlo, pero no estoy seguro de cómo. ¿O hay un mejor camino?

Edit2: he encontrado un buen tutorial sobre cómo hacerlo, pero necesito ayuda sobre cómo utilizarlo … haz clic para ver el enlace

Edit3:

 URL fontUrl = new URL("http://www.webpagepublicity.com/" + "free-fonts/a/Airacobra%20Condensed.ttf"); Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream()); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); ge.registerFont(font); g.setFont(font); 

Mensaje de error

 File: F:\Computer Science\draw.java [line: 252] Error: F:\Computer Science\draw.java:252: font is not public in java.awt.Component; cannot be accessed from outside package 

Esto es lo que estoy intentando:

 URL fontUrl = new URL("http://img.dafont.com/dl/?f=badaboom_bb"); Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream()); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); ge.registerFont(font); g.setFont(font); 

Edit4:

 File fontfile = new File("TexasLED.ttf"); File.toURI(fontfile).toURL(fontfile); URL fontUrl = new URL("fontfile"); 

Error

 Error: F:\Computer Science\draw.java:250: toURI() in java.io.File cannot be applied to (java.io.File) 

Fuente ‘Airacobra Condensed’ disponible en Descargar fonts gratis .

Fuente registrada

 import java.awt.*; import javax.swing.*; import java.net.URL; class LoadFont { public static void main(String[] args) throws Exception { // This font is < 35Kb. URL fontUrl = new URL("http://www.webpagepublicity.com/" + "free-fonts/a/Airacobra%20Condensed.ttf"); Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream()); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); ge.registerFont(font); JList fonts = new JList( ge.getAvailableFontFamilyNames() ); JOptionPane.showMessageDialog(null, new JScrollPane(fonts)); } } 

OK, eso fue divertido, pero ¿cómo se ve realmente esta fuente?

Mostrar fuente

 import java.awt.*; import javax.swing.*; import java.net.URL; class DisplayFont { public static void main(String[] args) throws Exception { URL fontUrl = new URL("http://www.webpagepublicity.com/" + "free-fonts/a/Airacobra%20Condensed.ttf"); Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream()); font = font.deriveFont(Font.PLAIN,20); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); ge.registerFont(font); JLabel l = new JLabel( "The quick brown fox jumps over the lazy dog. 0123456789"); l.setFont(font); JOptionPane.showMessageDialog(null, l); } } 

Puede usar GraphicsEnvironment.registerFont

http://docs.oracle.com/javase/6/docs/api/java/awt/GraphicsEnvironment.html#registerFont(java.awt.Font )

Con esto puedes cargar una fuente desde un archivo .ttf:

 private static final Font SERIF_FONT = new Font("serif", Font.PLAIN, 24); private static Font getFont(String name) { Font font = null; if (name == null) { return SERIF_FONT; } try { // load from a cache map, if exists if (fonts != null && (font = fonts.get(name)) != null) { return font; } String fName = Params.get().getFontPath() + name; File fontFile = new File(fName); font = Font.createFont(Font.TRUETYPE_FONT, fontFile); GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment(); ge.registerFont(font); fonts.put(name, font); } catch (Exception ex) { log.info(name + " not loaded. Using serif font."); font = SERIF_FONT; } return font; } 

He resuelto mi propio problema. he hecho

 URL fontUrl = new URL("file:///F:/Computer_Science/TexasLED.ttf"); 

¡Eso apunta a la fuente y funciona para mí!

También puede usar fonts incrustadas en su archivo jar de aplicación. He usado esta función durante muchos años para cargar fonts en mis proyectos.

 public Font getFont(String fileName) throws Exception { String path = "/xyz/isururanawaka/wb/fonts/" + fileName; URL url = getClass().getResource(path); return Font.createFont(Font.TRUETYPE_FONT, new File(url.toURI())); }