Laden von Web-Open-Font-Dateien (WOFF) | .NET
Contents
[
Hide
Show
]Laden von Web-Open-Font-Dateien (WOFF) mit Aspose.Font für .NET
Was Sie brauchen
| Artikel | Beschreibung | Bezugsquelle |
|---|---|---|
| Aspose.Font für .NET | Kernbibliothek zum Lesen, Schreiben und Konvertieren von Schriftdateien (einschließlich WOFF/WOFF2). | Installation mit dotnet add package Aspose.Font oder über die NuGet-Benutzeroberfläche (https://www.nuget.org/packages/Aspose.Font). |
| Zielframework | .NETFramework 4.x / .NETCore 3.x / .NET 5/6/7 – jede von Aspose.Font unterstützte Plattform. | Keine zusätzliche Laufzeitumgebung erforderlich. |
| Namespace-Importe | csharp\nusing Aspose.Font;\nusing Aspose.Font.Sources;\nusing System.IO;\n |
Tip: All API docs are at https://reference.aspose.com/font/net/.
Laden einer WOFF-Datei aus dem Dateisystem
Schritt für Schritt
- Suchen Sie die Schriftartdatei (z. B. „C:\Fonts\MyWebFont.woff“).
- Erstellen Sie eine „FileSystemStreamSource“, die der Bibliothek einen Stream zu dieser Datei bereitstellt.
- Verpacken Sie die Stream-Quelle in eine „FontFileDefinition“ – geben Sie die Erweiterung „woff“ an (die Bibliothek verwendet diese, um den richtigen Parser auszuwählen).
- Erstellen Sie eine „FontDefinition“ – übergeben Sie den entsprechenden „FontType“ („Woff“) und die „FontFileDefinition“.
- Öffnen Sie die Schriftart über „Font.Open()“ – Sie erhalten ein von „Aspose.Font.Font“ abgeleitetes Objekt (z. B. „WoffFont“).
1using System;
2using System.IO;
3using Aspose.Font;
4using Aspose.Font.Sources;
5
6class LoadWoffExample
7{
8 static void Main()
9 {
10 // Path to the .woff file
11 string woffPath = @"C:\Fonts\MyWebFont.woff";
12
13 // Stream source that reads directly from the file system
14 FileSystemStreamSource streamSrc = new FileSystemStreamSource(woffPath);
15
16 // FontFileDefinition – we tell Aspose it is a “woff” file
17 FontFileDefinition fileDef = new FontFileDefinition("woff", streamSrc);
18
19 // FontDefinition – specify the font type (Woff)
20 FontDefinition fontDef = new FontDefinition(FontType.WOFF, fileDef);
21
22 // Load the font
23 Font woffFont = Font.Open(fontDef);
24
25 // woffFont now gives you access to glyphs, metrics, encoding, etc.
26 Console.WriteLine($"Loaded font: {woffFont.GetType().Name}");
27 }
28}Ergebnis: woffFont ist eine Instanz von Aspose.Font.Woff.WoffFont. Sie können nun Text rendern, Glyphenmetriken überprüfen oder ihn in ein anderes Format (TTF, SVG usw.) konvertieren.
Alternative Möglichkeiten zum Laden von WOFF-Schriftarten
Laden aus einem Byte-Array (z. B. wenn die Schriftart in eine Ressource eingebettet oder über HTTP heruntergeladen wird)
1byte[] woffBytes = File.ReadAllBytes(@"C:\Fonts\MyWebFont.woff");
2
3// ByteContentStreamSource wraps the byte[] as a readable stream
4ByteContentStreamSource byteSrc = new ByteContentStreamSource(woffBytes);
5
6// Create definition – note we still supply "woff" as extension
7FontDefinition fd = new FontDefinition(FontType.WOFF,
8 "woff",
9 byteSrc);
10
11Font woffFont = Font.Open(fd);Direktes Laden aus einem Stream ohne zwischengeschaltete FileDefinition
Wenn Sie bereits einen geöffneten „FileStream“ haben:
1using (FileStream fs = File.OpenRead(@"C:\Fonts\MyWebFont.woff"))
2{
3 // Wrap the live FileStream in FileSystemStreamSource
4 var streamSrc = new FileSystemStreamSource(fs);
5
6 // Directly pass stream source + extension into FontDefinition
7 var fd = new FontDefinition(FontType.WOFF, "woff", streamSrc);
8 var woffFont = Font.Open(fd);
9}Beide Ansätze verwenden die gleichen zugrunde liegenden Klassen, nur die Quelle der Bytes ändert sich (Festplattendatei vs. Speicher vs. benutzerdefinierter Stream).
Nach dem Laden – was kann man tun?
- Text rendern – Verwenden Sie das Subsystem „Aspose.Font.Rendering“ oder exportieren Sie Glyphenumrisse.
- Font-Metriken lesen – z.B.
((WoffFont)woffFont).Metrics. - In ein anderes Format konvertieren – rufen Sie „font.Save(“output.ttf”);` auf, nachdem Sie es in die entsprechende Unterklasse umgewandelt oder die generische API verwendet haben.
- Teilmenge / Zusammenführung – mehrere Schriftarten in einer Sammlung kombinieren.
- Lizenzinformationen extrahieren – falls im WOFF-Header vorhanden.
All dies wird im offiziellen Beispiel-Repository demonstriert:
📂 https://github.com/aspose-font/Aspose.Font-Documentation/tree/master/net-examples
Schnelle Checkliste (für Dokumentationsseiten)
- ✅ NuGet-Abzeichen hinzufügen: „
“.
- ✅ Fügen Sie einen Beispielcodeblock (wie oben gezeigt) mit der richtigen Syntaxhervorhebung hinzu.
- ✅ Erwähnen Sie die Tabelle der unterstützten Erweiterungen (Kopie aus Abschnitt 2 oben).
- ✅ Link zur API-Referenz für:
Aspose.Font.Font.OpenAspose.Font.Sources.FileSystemStreamSourceAspose.Font.Sources.ByteContentStreamSourceAspose.Font.FontFileDefinitionAspose.Font.FontDefinition
- ✅ Stellen Sie Links zum Thema „Weiterführende Literatur“ bereit:
- Getting started: https://docs.aspose.com/font/net/getting-started/
- Full API reference: https://reference.aspose.com/font/net/
- Free online demo: https://products.aspose.app/font/conversion
- ✅ Tipp zur Fehlerbehebung hinzufügen: Wenn Sie „Nicht unterstütztes Schriftformat“ erhalten, überprüfen Sie, ob Sie sowohl „FontType.WOFF“ als auch eine „woff“-Erweiterung übergeben haben.