2016-05-03 13 views
0

Ich habe einen Birt Bericht erstellt, in dem ich eine Segoeuii Schriftfamilie zu dem Text definiert es funktioniert gut in Windows, aber wenn es von Unix OS kommen ändern alle Fonts an die Times New Roman ist es irgendwie, weil die Schriftart nicht im Unix-Dateisystem vorhanden ist und Birt nicht die Schriftart registriert, die nicht im Dateisystem ist, so müssen wir zuerst die Schriftarten registrieren, so dass ich FontFactory ich registriere Schriftart und als diese Schriftart in der Eigenschaft festlegen, aber immer noch zeigt es Times New Roman.
Hier ist mein Code.Wie ändere ich die Schriftart des Textes in Birt DEAPI

public void testCode() { 
    URL font = Thread.currentThread().getContextClassLoader().getResource("segoeuii.ttf"); // getResourceAsStream("segoeuii.ttf"); 
    TextItemHandle text = (TextItemHandle) designHandle.findElement("TextProbingAttacks"); 
    FontFactory.register(font.toString(), "test_font"); 
    Font myfont = FontFactory.getFont("test_font"); 
    try { 
     text.setProperty("fontFamily", myfont); 
    } catch (SemanticException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

Antwort

0

Sie müssen Schriftarten in Unix OS installieren.

Zum Beispiel, wenn Sie Ubuntu (Linux OS) verwenden, dann

sudo apt-get install ttf-mscorefonts-installer 

Eclipse alle Microsoft-Schriftarten neu starten wird in Ihrem BIRT Report Perspektive reflektieren

+0

Aber nach einiger Zeit habe ich herausgefunden es 'Birt' zeigt nur Times new Roman an, ob die Schriftart im Dateisystem ist oder nicht. Dieses Problem ist mit dem Unix speziell Ubuntu 14.04. – Root

+0

Und die Registrierung der Schriftart erfüllen diese Notwendigkeit der Installation von Schriften auf dem System, weil in einigen Fällen in der Produktionsumgebung haben wir keinen Zugriff auf das System. – Root

Verwandte Themen