Laden von Web-Open-Font-Dateien (WOFF) | .NET

Laden von Web-Open-Font-Dateien (WOFF) mit Aspose.Font für .NET

Was Sie brauchen

ArtikelBeschreibungBezugsquelle
Aspose.Font für .NETKernbibliothek 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-Importecsharp\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

  1. Suchen Sie die Schriftartdatei (z. B. „C:\Fonts\MyWebFont.woff“).
  2. Erstellen Sie eine „FileSystemStreamSource“, die der Bibliothek einen Stream zu dieser Datei bereitstellt.
  3. Verpacken Sie die Stream-Quelle in eine „FontFileDefinition“ – geben Sie die Erweiterung „woff“ an (die Bibliothek verwendet diese, um den richtigen Parser auszuwählen).
  4. Erstellen Sie eine „FontDefinition“ – übergeben Sie den entsprechenden „FontType“ („Woff“) und die „FontFileDefinition“.
  5. Ö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?

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)

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.