Oracle Platinum Partner Deutschland LogoOracle Platinum Partner Deutschland Logo

Service-Hotline

0721 132 096-0
info@merlin-zwo.de allgemeine Fragen support@merlin-zwo.de Notfälle, auch am Wochenende

Eclipse BIRT: Zusätzliche TrueType Fonts einbinden

Sofern man mit Eclipse BIRT auch PDFs erzeugen möchte, die nicht nur Helvetica, Times-Roman oder Courier als Schrift verwenden, müssen die zusätzlichen Fonts in der Runtime-Umgebung bereitsgestellt und eingebunden werden.

Im Internet finden sich einige Hinweise darauf, wie man zusätzliche TrueType-Fonts in die Eclipse BIRT Runtime einbinden kann. Leider beziehen sich diese Hinweise meistens auf ältere BIRT-Versionen (2.x und 3.x).

Zu neueren Versionen (ab 4.x) gibt es kaum Informationen, auch eine offizielle Anleitung scheint nicht verfügbar zu sein. In diesem Tipp haben wir daher beispielhaft zusammengestellt, wie es funktioniert.

Die Umgebung:

  • Redhat- oder Oracle-Linux
  • Tomcat Version 7
  • Birt Version 4.3.1

Die BIRT Runtime wird als birt.war im Tomcat deployed. Der Inhalt des birt.war-Files liegt nach dem Deployment unter <TOMCAT_HOME>/webapps/birt.
Hier findet sich im Unterverzeichnis WEB-INF/lib die Datei org.eclipse.birt.runtime_4.3.x.vxxxxxxxx-xxxx.jar (der genaue Name ist abhängig von der BIRT Versionsnummer). In diesem jar-File eingepackt ist die für uns wichtige Datei fontsConfig.xml. In dieser Datei stehen die Suchpfade für die Font-Dateien.

In älteren BIRT-Versionen wurde dieses jar-File beim Deployment ausgepackt und man konnte die Datei fontsConfig.xml einfach editieren. Bei den neueren Versionen ist dies leider nicht mehr der Fall - beim Deployment bleibt das .jar-File wie es ist.
Prinzipiell könnte man die Datei fontsConfig.xml aus dem .jar extrahieren (JAR ist ja auch nur ZIP), editieren und anschließend wieder neu zusammenpacken.
Leider ist diese .jar-File signiert, und die Signatur wäre nach der Änderung ungültig.

Wenn man jedoch einfach die fontsConfig.xml aus dem .jar extrahiert und einen Blick hinein wirft kann man die voreingestellten Suchpfade sehen - also die Pfade, in denen BIRT standardmäßig nach Font-Dateien sucht. In der Datei sind alle möglichen Pfade für Windows und Linux/Unix hinterlegt - man kann sich einfach einen aussuchen.
Wir haben uns für /usr/share/fonts/truetype entschieden. Das Unterverzeichnis existiert auf Linux/Unix normalerweise nicht, daher muss man es erst anlegen. Anschließend kopiert man die benötigten TrueType-Dateien in dieses Verzeichnis.

Jetzt muss noch Tomcat bzw. BIRT neu gestartet werden (nur zu diesem Zeitpunkt wird nach vorhandenen Fonts gesucht), und schon stehen die neuen Fonts für die BIRT Runtime zur Verfügung.

Aufpassen muss man jedoch, dass man alle notwendigen Fontvarianten (also z.B. auch Bold und Italic) kopiert - diese sind nicht unbedingt alle in einer Datei enthalten.
Um den genauen Inhalt der Fontdateien zu sehen wechselt man in das Verzeichnis mit den TrueType Fonts und ruft das Programm ttmkfdir auf. Dieses Programm analysiert die im Verzeichnis vorhandenen .ttf-Dateien und erzeugt daraus die Datei fonts.scale.
In dieser Datei wird aufgelistet, welche .ttf-Datei welche Schriftart in welchen Zeichensätzen (z.B. iso8859-15 oder ansi-1251) und welchen Schriftschnitten enthält. Alle diese Varianten können im BIRT-Report verwendet werden.


Zurück
Oracle Platinum Partner Deutschland LogoOracle Platinum Partner Deutschland Logo

Service-Hotline

0721 132 096-0
info@merlin-zwo.de allgemeine Fragen support@merlin-zwo.de Notfälle, auch am Wochenende