Wie verwende ich eigene Schriftarten in meinen Java Anwendungen
Das Nutzen von eigenen Schriftarten in einer Anwendung ist für das Verteilen dieser meist ein Problem. Eine Schriftart ist eine externe Resource, welche auf dem ausführenden System vorhanden sein muss, um nicht zu Problemen mit der Anwendung zu führen. D.h. entweder Sie verteilen die Schriftart mit Ihrer Anwendung (was nur bei Applikationen funktioniert), Sie verlassen sich auf die beim Endsystem stets zur Verfügung stehenden Schriften (Sans Serif, Serif, Courier) oder Sie liefern Ihre eigene Schriftart in Ihrer Anwendung gleich mit.
Dieser Artikel beschäftigt sich nur mit dem dritten Punkt - eine Schriftart mitliefern.
Welche Schritte sind zu tun:
- Die Schriftart ist in unserer Anwendung z.B. Java Archiv mit auszuliefern.
- Unsere Schriftart muss zur Laufzeit geladen werden.
- Unsere Schriftart muss verwendet werden.
Schriftart ausliefern
Die Schriftart können Sie z.B. in Ihrem Java Archive ausliefern indem Sie es einfach in ein Verzeichnis dort hineinpacken.
Schriftart laden
Wir laden unsere Schriftart durch java.awt.Font.createFont(). Da die Standardgröße 1 Punkt ist ändern wir dies gleich noch durch die Methode java.awt.Font.deriveFont(float).
InputStream fin = this.getClass().getResourceAsStream("Asimov.ttf");
this.asimov = Font.createFont ( // Lade Schriftart vom InputStream fin
Font.PLAIN,
fin
).deriveFont(24f);
Schriftart verwenden
Zum Schluß muss die Schriftart noch verwendet werden. In unserem einfachen Beispiel nutzen wir die java.awt.Component.setFont() Methode hierfür.
second.setFont(this.asimov); // Benutze unseren Zeichensatz

