Schriftklassen für unterstützte Schriftformate | .NET
Hierarchie der Aspose.Font-Klassen
Die Hierarchie der Aspose.Font-Klassen zur Unterstützung von Schriftarten verschiedener Formate 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 „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 „Aspose.Font.Font“ geerbt wurden. Die einzigen für das Schriftartformat spezifischen Daten, die die Basisklasse Font enthält, sind der Wert aus der Aufzählung FontType.
Die nächsten Klassen werden von Aspose.Font geerbt und für die Arbeit mit bestimmten Schriftartformaten verwendet: TtfFont, Type1Font, CffFont.
Zusammenhänge zwischen Schriftformat, FontType-Wert und Aspose.Font-Objekttyp
Die folgende Tabelle zeigt die Übereinstimmung zwischen den von 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 | Aspose.Font-Objekttyp |
---|---|---|
TrueType | TTF | TtfFont |
Type 1 | Type 1 | Type1Font |
Compact Font Format (CFF ) | CFF | CffFont |
Zusammenhänge zwischen Schriftartdateiformat, FontType-Wert und Aspose.Font-Objekttyp
Die Formate der oben genannten Schriftarten aus der Aufzählung FontType sind umfassendere Begriffe als Dateiformate für diese Schriftarten.
Das „TrueType“-Format deckt beispielsweise die folgenden Dateiformate ab, die zum Laden mit 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, die zu ihnen passen FontType-Werte, und Objekte, die darauf abzielen, mit dem entsprechenden Schriftformat in Aspose.Font zu arbeiten.
Schriftdateiformat | FontType-Wert | 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 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 Klasse Font implementiert werden, daher wird die gesamte Funktionalität, die durch Schnittstellen definiert wird, die die Klasse Font implementiert, hiervon abgedeckt IFont Schnittstelle.
Die Schnittstelle IFont definiert Eigenschaften, die für alle von Aspose.Font unterstützten Schriftartformate 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 Aufzählung FontType.
- FontStyle FontStyle – Schriftstilwert aus der FontStyle-Enumeration. 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 Schnittstelle IFontMetrics ab, die Funktionen im Zusammenhang mit allgemeinen Schriftartmetriken bereitstellt.
- IFontEncoding Encoding – ruft einen Verweis auf die Schnittstelle IFontEncoding ab, die Codierungsfunktionen bereitstellt.
- IGlyphAccessor GlyphAccessor – ruft einen Verweis auf die Schnittstelle IGlyphAccessor ab, die Funktionalität zum Abrufen bestimmter Glyph-IDs und Glyphen bereitstellt.
- IFontSaver FontSaver – bietet eine Funktionalität zum Speichern von Schriftarten mit der Schnittstelle IFontSaver.
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 Basisklasse 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 Klassen aus dem Namespace Aspose.Font.TtfTables.
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 usw. unterstützt.
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“, wobei „font“ die Referenz auf den Typ „TtfFont“ ist.
Die Unterstützung für „OpenType“-Schriftartenfunktionen wird durch die Eigenschaft CffFont dargestellt. Diese Eigenschaft gibt die Referenz auf das Objekt Font zurück, das aus der „CFF“-Tabelle geladen wurde und 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 Schnittstelle IGlyphAccessor.
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.