Schriftklassen für unterstützte Schriftformate | Java
Hierarchie der com.aspose.font-Klassen
Die Hierarchie der Klassen des Pakets com.aspose.font, die darauf abzielen, Schriftarten verschiedener Formate zu unterstützen, ist ziemlich einfach.
Die Klasse Font ist eine einzelne Basisklasse und eine beliebige Klasse, die ein von Font geerbtes Schriftartformat unterstützt. In dieser Klasse werden allgemeine Informationen für Schriftarten aller Formate gesammelt. Zu diesen Informationen gehören Daten wie Schriftstil, Schriftname, Name der Postscript-Schriftart, Schriftfamilie, Schriftmetriken, Anzahl der Glyphen der Schriftart, Kodierung usw.
Die Klasse Font ist eine abstrakte Klasse, daher kann die Instanz des Objekts vom Typ „com.aspose.font.Font“ nicht direkt erstellt werden. Der Verweis auf das gerade erstellte Objekt wird von den statischen Methoden dieser Klasse zurückgegeben, die für das Laden der Schriftart verantwortlich sind, Familie überladener Methoden open().
Was die spezifischen Informationen für das eine oder andere Schriftartformat betrifft, so sind für die Bereitstellung dieser Informationen Objekte verantwortlich, die von der Basis „com.aspose.font.Font“ geerbt wurden. Die einzigen für das Schriftartformat spezifischen Daten, die in der Basisklasse Font enthalten sind, sind der Wert aus der Aufzählung FontType.
Die nächsten Klassen werden von com.aspose.font.Font geerbt und für die Arbeit mit bestimmten Schriftartformaten verwendet: TtfFont, Type1Font, CffFont.
Zusammenhänge zwischen Schriftartformat, FontType-Wert und com.aspose.font.Font-Objekttyp
Die folgende Tabelle zeigt die Übereinstimmung zwischen den von com.aspose.font unterstützten Formaten, den diesen Formaten entsprechenden Werten aus der FontType-Enumeration und den Klassen, die zum Bearbeiten jedes dieser Formate verwendet werden.
Schriftformat | FontType-Wert | com.aspose.font-Objekttyp |
---|---|---|
TrueType | TTF | TtfFont |
Type 1 | Type 1 | Type1Font |
Compact Font Format (CFF ) | CFF | CffFont |
Zusammenhänge zwischen Schriftartdateiformat, FontType-Wert und com.aspose.font.Font-Objekttyp
Die Formate der oben genannten Schriftarten aus der FontType-Aufzählung sind umfassendere Begriffe als Dateiformate für diese Schriftarten.
Das „TrueType“-Format deckt beispielsweise die folgenden Dateiformate ab, die zum Laden mit com.aspose.font verfügbar sind: „ttf“, „ttc“, „eot“, „woff“, „woff2“. Das gemeinsame Merkmal von Schriftarten mit den Erweiterungen „.ttf“, „.ttc“, „.eot“, „.woff“, „.woff2“ ist, dass sie alle mit der „TrueType“-Schriftfamilie verwandt sind.
Deshalb erhalten wir, wenn wir in der Tabelle die Spalte „Font-Format“ durch die Spalte „Font-Dateiformat“ ersetzen, die nächste Tabelle mit Beziehungen zwischen Font-Dateiformaten, den ihnen entsprechenden FontType-Werten und den zu funktionierenden Objekten mit dem entsprechenden Schriftformat in com.aspose.font.
Schriftdateiformat | FontType-Wert | com.aspose.font-Objekttyp |
---|---|---|
ttf , ttc , eot , woff , woff2 | TTF | TtfFont |
pfa , pfb | Type 1 | Type1Font |
afm , pfm | Type 1 | Type1MetricFont |
binary data of Compact Font Format type | CFF | CffFont |
Funktionalität der com.aspose.font.Font-Klasse
Die Funktionalität wird durch die Klasse Font definiert und kann in mehrere Bereiche unterteilt werden.
Funktionalität, die durch Schnittstellen definiert wird, die die Font-Klasse implementiert
Die wichtigste Schnittstelle in der Liste der Schriftartschnittstellen ist die Schnittstelle IFont. Es stellt Eigenschaften für die Schnittstellen IGlyphAccessor und IFontSaver bereit.
die von der Font-Klasse implementiert werden, sodass die gesamte Funktionalität, die durch Schnittstellen definiert wird, die von der Font-Klasse implementiert werden, hiervon abgedeckt wird IFont-Schnittstelle.
Die Schnittstelle IFont definiert Eigenschaften, die allen von com.aspose.font unterstützten Schriftartformaten gemeinsam sind. Nachfolgend finden Sie die Beschreibungen für jede Immobilie.
Eigenschaften zum Bearbeiten von Schriftartformaten
- string FontName – der Name der Schriftart.
- MultiLanguageString FontNames – Name der Schriftart in verschiedenen Sprachen.
- MultiLanguageString PostscriptNames – Postscript-Name der Schriftart, in verschiedenen Sprachen.
- string FontFamily – der Name der Schriftfamilie. Weitere Einzelheiten zu Schriftfamilien finden Sie im Kapitel Schriftfamilie.
- FontType FontType – Typ des Schriftartenformats, dargestellt durch die FontType-Enumeration.
- FontStyle FontStyle – Schriftstilwert aus der FontStyle-Klasse. Erfahren Sie mehr über Schriftstile.
- string Style – der Name des Schriftstils, ähnlich der Eigenschaft FontStyle, dargestellt in seiner rohen Zeichenfolgenform, bereitgestellt durch Schriftartdaten.
- FontDefinition FontDefinition – ein Objekt, das das Format und die Quelle beschreibt, aus der die Schriftart geladen werden soll. Gehen Sie zu So laden Sie Schriftarten, wo Sie ausführlich erfahren können, wie Sie mit diesem Objekt arbeiten.
- int NumGlyphs – ruft die Anzahl der Glyphen der Schriftart ab.
- IFontMetrics Metrics – ruft eine Referenz auf die IFontMetrics-Schnittstelle ab, die Funktionen im Zusammenhang mit allgemeinen Schriftartmetriken bereitstellt.
- IFontEncoding Encoding – erhält einen Verweis auf die IFontEncoding-Schnittstelle, die Codierungsfunktionen bereitstellt.
- IGlyphAccessor GlyphAccessor – ruft einen Verweis auf die IGlyphAccessor-Schnittstelle ab, die Funktionalität zum Abrufen bestimmter Glyph-IDs und Glyphen bereitstellt.
- IFontSaver FontSaver – bietet eine Funktionalität zum Speichern von Schriftarten mit der IFontSaver-Schnittstelle.
Außerdem definiert die Schnittstelle IFont die Methode convert(), die zum Konvertieren von Schriftarten in ein anderes Format verwendet wird.
Derzeit sind Konvertierungen von jedem von Aspose.Font unterstützten Format zum Lesen in das „TTF“-Format verfügbar. Unterstützte Schriftformate sind in der Tabelle dargestellt.
Siehe Schriftkonverter Weitere Informationen zum Konvertieren von Schriftarten mit Aspose.Font finden Sie hier.
Laden der Schriftart
Die Funktionalität zum Laden von Schriftarten wird nicht durch implementierte Schnittstellen abgedeckt und diese Funktionalität wird durch die Familie statischer Methoden open() dargestellt. Die an diese Methoden zu übergebenden Parameter werden im Artikel Wie lade ich Schriftarten? beschrieben.
Speichern von Schriftarten
Die Klasse Font implementiert die Schnittstelle IFontSaver, die Funktionalität für Schriftspeichervorgänge deklariert. Um eine Schriftart zu speichern, verwenden Sie eine der überladenen Methoden save() und übergeben Sie den Namen der Schriftartdatei oder den Stream, in den die Schriftart geschrieben werden soll.
In manchen Fällen ist es erforderlich, eine Schriftart in einem anderen Format zu speichern. Beispielsweise bevorzugen viele Webseiten die Arbeit mit Schriftarten im „WOFF“-Format. Wenn Sie Ihre Schriftart auf einer solchen Seite platzieren möchten, müssen Sie die Schriftart im „WOFF“-Format speichern. Für solche Fälle wurde die Methode saveToFormat() entwickelt.
Von der Klasse com.aspose.font.Font geerbte Klassen
CffFont- und Type1Font-Klassen
Diese Klassen werden verwendet, um mit Schriftarten des „Compact Font Format“ bzw. Adobe „Type 1“-Schriftformats zu arbeiten. Diese Klassen überschreiben bestimmte Eigenschaften und Methoden der Klasse Font und passen sie an das tatsächliche Schriftartformat an.
TtfFont-Klasse
Diese Klasse soll Schriftarten im „TrueType“-Format unterstützen. Ein Verweis auf ein Objekt dieses Typs kann durch Aufrufen der statischen Methode Font.open() mit Übergabe von „TTF“ als Wert für die Aufzählung FontType erhalten werden. Die Methode Font.open() gibt eine Referenz auf den Basistyp Font zurück, daher muss die erhaltene Referenz in den Objekttyp „TtfFont“ umgewandelt werden.
Wie aus der Formatspezifikation „TrueType“ bekannt, werden die Schriftdaten in verschiedenen Tabellen dargestellt. Derzeit unterstützt die Aspose.Font-Bibliothek die folgenden Tabellen: „head“, „cmap“, „glyf“, „loca“, „hhea“, „hmtx“, „maxp“, „OS/2“, „name“, „post“, „kern“, „cvt“, „fpgm“, „prep“.
*Die Unterstützung für andere durch den „TrueType“-Standard spezifizierte Tabellen soll in naher Zukunft implementiert werden.
Unterstützung für „TrueType“-Tabellen in Aspose.Font, implementiert durch die Klasse TtfTableBase. Jede Klasse, die eine Tabelle unterstützt, hat einen Namen, der sich auf den entsprechenden Tabellennamen bezieht. Die Benennung der Klasse erfolgt nach folgender Regel: Der Name jeder Klasse hat das Präfix „Ttf“. Auf dieses Präfix folgt der Name der Tabelle und das Wort „Tabelle“ beendet den Namen der Klasse.
Beispielsweise wird die Tabelle „head“ von der Klasse TtfHeadTable unterstützt, die Tabelle „hhea“ wird von der Klasse TtfHheaTable unterstützt und so weiter.
Referenzen auf alle Klassen, die „TrueType“-Tabellen unterstützen, werden vom Objekt vom Typ TtfTableRepository gesammelt.
Die Klasse TtfFont gibt die Referenz auf das Objekt TtfTableRepository als Eigenschaft TtfTables an, sodass der Zugriff auf jede „TrueType“-Tabelle mithilfe der Syntax „ möglich ist font.TtfTables`, Dabei ist „font“ die Referenz auf den Typ „TtfFont“.
Die Unterstützung für „OpenType“-Schriftartenfunktionen wird durch die Eigenschaft CffFont dargestellt. Diese Eigenschaft gibt die Referenz auf das Objekt Font zurück. wird aus der „CFF“-Tabelle geladen, die eine „Compact Font Format-Schriftart“-Darstellung enthält.
Die Eigenschaft IsSymbolic wird verwendet, um zu erkennen, ob es sich bei der Schriftart um eine symbolische Schriftart handelt – eine spezielle Schriftart, die aus nicht alphabetischen Zeichen, Grafiken oder beidem besteht.
Zugriff auf Schriftglyphen
Die Klasse
TtfFont bietet erweiterte Funktionalität für den Zugriff auf Schriftartenglyphen. Zusätzlich zu den Methoden, die durch die Schnittstelle
IGlyphAccessor definiert sind,
TtfFont stellt zwei überladene Methoden mit dem Namen
getGlyphById() bereit, die Glyph-IDs in Ganzzahl- oder String-Form erfordern.
Die Verwendung dieser Methoden funktioniert schneller als die Verwendung der Methode getGlyphById() aus der IGlyphAccessor-Schnittstelle. Außerdem stellt die Klasse TtfFont eine Reihe überladener Methoden bereit getGlyphComponentsById(). Diese Methoden sind für die Arbeit mit zusammengesetzten Glyphen konzipiert.
Zusammengesetzte Glyphe ist eine Glyphe, die auf eine oder mehrere andere Glyphen in der Schriftart verweist. Beispielsweise kann die Glyphe für das Zeichen Ä (Unicode U+00C4) aus der Glyphe für das Zeichen A (als Basisglyphe) und der Glyphe für das Diaeresis-Zeichen bestehen.
Die Methoden getGlyphComponentsById() nehmen die Kennung des zusammengesetzten Glyphen und geben die Liste der Glyphen zurück, auf die sich das übertragene zusammengesetzte Glyph bezieht.