Font mitliefern

hesk

Erfahrenes Mitglied
Hallo!

Wenn man in seiner Applikation eine bestimmte Schriftart verwendet, ist es möglich diese mit dem Jar mitzuliefern sodass das Programm auf jeden PC diese Schriftart hat?
 
S

SE

Soweit ich weis ist Java von Haus aus nicht in der Lage Schrifttyp-Daten zu laden und zu verwenen ... ich gehe aber davon aus das es eine entsprechende Lib gibt.
 

genodeftest

Erfahrenes Mitglied
Doch, java.awt.Font kann Font-Dateien laden. In java.awt.font gibt es eine ganze Reihe von Klassen zu Fonts...
Wenn du die Font-Datei in dein Jar-File speicherst, mit
Java:
Class.getClass().getRessourceAsStream("/de/tutorials/java/beispiel/SansSerif");
den InputStream öffnest und einem Constructor von java.awt.Font übergibst, sollte das eigentlich funktionieren.
 

Fabio Hellmann

Erfahrenes Mitglied
Hi,
versuchs doch mal so:
Java:
InputStream is = DemoFonts.class.getResourceAsStream("fileName");
font = Font.createFont(Font.TRUETYPE_FONT, is);

Gruß

Fabio
 

hesk

Erfahrenes Mitglied
Hier der Code wie man Schriftarten in sein Programm laden kann sodass sie auf jedem PC verfügbar sind:

Java:
try
{
      Font font = Font.createFont(Font.TRUETYPE_FONT,
                  Demo.class.getResourceAsStream("resources/crackedJohnnie.ttf"));
      GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(font)
}
catch(FontFormatException e)
{
      e.printStackTrace();
}
catch(IOException e)
{
      e.printStackTrace();
}
 

hesk

Erfahrenes Mitglied
Auf Windows-Rechner hat das gut funktioniert. Auf einem MAC leider nicht.
Weiß jemand was das sich das auf dem MAC anders verhält?
 
S

SE

Ich würde einfach mal auf das Format der Datei / des Fonts an sich tippen. Soweit ich das weis verwendet Microsoft nämlich sein eigenes TTF-Format welches mit Linux und Mac inkompatibel ist. Versuch mal eine Art OpenSource-Format zu finden ... das sollte deine Probleme lösen. Es kann aber sein das du dafür dann eine spezielle Lib brauchst.