Problem

Sie haben Ihrer Anwendung Schriftarten hinzugefügt (/apps/yourapplication/fonts/). Schriftarten werden korrekt angezeigt, bis Sie Ihre Instanz neu starten. Nach dem Neustart sind die Schriftarten Systemschriftarten. Sie verwenden com.day.image.Font.

Lösung

Verwenden Sie com.day.cq.image.Font anstelle von com.day.image.Font.

Diese Klasse ist ein Container für die Klasse com.day.image.Font, die die Funktionalität zur nahtlosen Unterstützung mehrerer Schriftformate und -quellen bietet. Alle API-Methoden werden an eine Instanz der (eine Erweiterung von der) Klasse com.day.image.Font delegiert, die im Konstruktor eingerichtet ist.

Der Konstruktor testet eine Liste der konfigurierten Schriftartenanbieter, um den Delegierten zu erhalten. Er fällt zurück auf die Klasse com.day.image.Font, wenn keiner der konfigurierten Schriftartenanbieter die gewünschte Schriftart bereitstellen kann.

Weitere Informationen

Wenn die Schriftart importiert ist (das heißt, „dem Schriftartenverzeichnis hinzugefügt“), lädt das System die Schriftart über die Klasse java.awt.Font zur Registrierung in der .fontlist. Dann ist die Schriftart nicht nur dem ContentBus bekannt, sondern auch dem System. com.day.image.Font kennt nur die Schriftarten, die der Java-VM auch über die Klasse java.awt.Font bekannt sind. Daher funktioniert das Skript nach dem Import, aber nicht nach dem Neustart, wenn das System die Schriftart nicht mehr kennt.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie