Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 38 Nächste Version anzeigen »

Definition

Bei der Verwendung eines textuellen Elements in Jaspersoft Studio können Benutzer die für dieses Element verwendete Schriftart auswählen. Obwohl dies einfach erscheint, gibt es viele Probleme bei der Verwendung von Schriftarten. Das Hauptproblem besteht darin, dass die verfügbaren Schriftarten vom Betriebssystem bereitgestellt werden und aus diesem Grund können folgende Situationen auftreten:

  • Eine Schriftart, die in einem Betriebssystem verfügbar ist, steht in einem anderen nicht zur Verfügung. In diesem Fall wird als Ausweichlösung die Standard-Schriftart für das Element verwendet.

  • Eine Schriftart kann in verschiedenen Betriebssystemen verfügbar sein, aber sie kann von einem zum anderen leicht unterschiedlich sein.

In vielen Fällen ist dies einfach inakzeptabel. Eine unterschiedliche Schriftart als geplant zu haben, erfordert möglicherweise mehr oder weniger Platz für den Text, und dies kann nicht nur das grafische Erscheinungsbild, sondern auch das Layout des Berichts selbst beeinflussen. Um dieses Problem zu überwinden, kann der Benutzer externe Schriftdateien anstelle der vom System bereitgestellten Schriftarten verwenden. Auf diese Weise wird der Bericht unabhängig von den Schriftarten des Betriebssystems und hat überall das gleiche Erscheinungsbild. Dies kann mithilfe einer Schriftarten-Erweiterung erreicht werden.

Konfiguration



JasperReports Font Extension

Bevor auf die Erstellung eigener Font Extensions eingegangen wird, sei darauf hingewiesen, dass Nuclos Versionen >= 4.50 mit einer vorinstallierten JasperReports Font Extension ausgeliefert wird. Nachfolgende Fonts können sie bereits verwenden, um ein einheitliches Reportaussehen zu erhalten, ohne eine eigene Fonterweiterung zu erstellen:

  • DejaVu Sans
  • DejaVu SansMono
  • DejaVu Serif

Beispieldateien

Damit sie dem Tutorial folgen können, stellen wir Ihnen an dieser Stelle, die nach GPL v3 lizenzierte Schriftart, FreeSans mit der passenden Extension zur Verfügung:

Font in Jaspersoft Studio hinzufügen (ggf. "Als Administrator ausführen")

Eine Schriftart wird in Jaspersoft Studio unter Menü Window "Preferences" → "Jaspersoft Studio" → "Fonts" hinzugefügt:

Der Family Name, welcher hier angegeben wird, dient später zum Zugriff auf genau diesen Font. Wählen sie in den Tabs "Normal", "Bold", "Italic" und "Bold Italic" jeweils die entsprechende Fontdatei aus. Sobald sie auf Finnish drücken, steht der Font in den Properties zur Auswahl:

Wenn die Reports über den Designer getestet werden sollen, muss an dieser Stelle ein Export der Schriftart durchgeführt werden. Darauf achten, dass beim Export die Endung "jar" angegeben wird. Das exportierte Font-Jar wird wiederum unter Opionen->Classpath hinzugefügt. Das funktioniert nur wenn der Designer auf einer höheren Jasper-Version basiert als 3.6.0.

Eine eigene Extension erzeugen

Extensions sind Archive mit der Dateiendung .jar, als Vorlage für eine Fontextension kann die hier bereit gestellte nuclos-fonts-1.0.jar verwendet werden.

Um eine Schriftart zur Extension hinzuzufügen sind folgende Schritte notwendig.

  1. (optional) einen neuen Unterordner im Verzeichnis org/nuclos/fonts/ anlegen
  2. die zu verwendenden .ttf files für die gewünschten  Schriftstile einer Fontfamile unter org/nuclos/fonts/ bzw. dem neuen Unterverzeichnis ablegen
  3. die fonts.xml ergänzen

Dazu siehe beispielhaft den Eintrag für FreeSans:

<bean id="nuclosSansSerif" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
		<property name="name" value="Nuclos Sans Serif"/>
		<property name="normal" value="org/nuclos/fonts/basic/FreeSans.ttf"/>
		<property name="bold" value="org/nuclos/fonts/basic/FreeSansBold.ttf"/>
		<property name="italic" value="org/nuclos/fonts/basic/FreeSansOblique.ttf"/>
		<property name="boldItalic" value="org/nuclos/fonts/basic/FreeSansBoldOblique.ttf"/>
		<property name="pdfEncoding" value="Identity-H"/>
		<property name="pdfEmbedded" value="true"/>
	</bean>

Extension einbinden

Die Extension wird regulär als Server-Extension zum gewünschten Nuclet hinzugefügt.


  • Keine Stichwörter