Funktion / Übersicht von AnnotationFontFactory-Implementationen

AnnotationFontFactory erweitert das FontFactory-Interface um die Methode getAvailableFontAttributeSets(), die eine Collection mit FontAttributeSet-Definitionen zurückgibt, die für eigene Zwecke (z.B. Informationen über Fonts) verwendet werden kann. Die aktuellen Implementationen liefern über diese Methode verfügbare Fonts. Es werden alle Fonts mit identischer FamilyName-Definition zusammengefasst und in einer vereinfachten FontAttributeSet-Definition bereitgestellt:

Beispiel: Die Fontdefinitionen

werden zu folgender Definition zusammengefasst:

Werden schriftbezogene GUI-Annotationseditorkomponenten (Schriftauswahl, Editieren des Textes) verwendet, muss die Methode gewünschte / verfügbare Fontdefinitionen liefern, ansonsten kann die getAvailableFontAttributeSets()-Methode null oder eine leere Collection zurückgeben. Auf die Darstellung / Rendering der Annotationen hat diese Methode keinen Einfluss.

Basis-/Fallback-Implementation im Paket com.levigo.jadice.annotation.font im jadice document platform 5 Core-Annotation-Modul:

  • AnnotationBasicFontFactory

    Diese Klasse liefert eine vektorbasierte Font-Basisimplementation mit einem eingeschränkten Zeichensatz (a-z, A-Z, 0-9, Leerzeichen), es sind keine Sonderzeichen vorhanden. Diese Implementation benötigt keine FontManager-Instanz und ist in der Annotations-Klasse als Standard AnnotationFontFactory registriert. Die getAvailableFontAttributeSets()-Methode gibt eine leere Collection zurück.

Die Implementationen im Paket com.levigo.jadice.appbase.font.factory.annotation im jadice document platform 5 Core-Appbase-Modul benötigen im Konstruktor eine FontManagerFuture-Instanz und können daher nicht im Annotationsprofil verwendet werden. Bei erfolgreicher Suche in der entsprechenden FontManager-Instanz wird ein Font-Objekt zurückgegeben. Diese Klassen stehen auch als Quellcode zur Verfügung.

Die Implementationen im Paket com.levigo.jadice.demo.font.annotation im jadice document platform 5 Core-Demo-Modul besitzen einen Standardkonstruktor und können somit im Annotationsprofil verwendet werden, hier wird intern eine FontManagerFuture-Instanz mit Standard-14 / System-Fonts verwendet. Diese Klassen befinden sich in einem Demo-Modul, stehen als Quellcode zur Verfügung und sollten bei Verwendung kopiert und entsprechend angepasst werden, da sich der Quelltext der Klassen in Zukunft ändern kann.

[jadice document platform Version 5.5.12.1: Dokumentation für Entwickler. Veröffentlicht: 2021-08-17]