Chargement de fichiers Web‑Open‑Font (WOFF) | .NET

Chargement de fichiers Web‑Open‑Font (WOFF) avec Aspose.Font pour .NET

Ce dont vous avez besoin

ÉlémentDescriptionOù se procurer
Aspose.Font pour .NETBibliothèque principale permettant de lire, d’écrire et de convertir des fichiers de polices (y compris WOFF/WOFF2).dotnet add package Aspose.Font ou via l’interface utilisateur NuGet (https://www.nuget.org/packages/Aspose.Font).
Framework cible.NET Framework 4.x / .NET Core 3.x / .NET 5/6/7 – toute plateforme prise en charge par Aspose.Font.Aucun environnement d’exécution supplémentaire requis.
Importations d’espaces de nomscsharp\nusing Aspose.Font;\nusing Aspose.Font.Sources;\nusing System.IO;\n

Conseil : Toute la documentation de l’API est disponible à l’adresse https://reference.aspose.com/font/net/.

Chargement d’un fichier WOFF depuis le système de fichiers

Étape par étape

  1. Localisez le fichier de police (par exemple C:\Fonts\MyWebFont.woff).
  2. Créez un FileSystemStreamSource qui donne à la bibliothèque un flux vers ce fichier.
  3. Enveloppez la source du flux dans un FontFileDefinition – spécifiez l’extension "woff" (la bibliothèque l’utilise pour choisir le bon analyseur).
  4. Créez un FontDefinition – transmettez le FontType (Woff) approprié et le FontFileDefinition.
  5. Ouvrez la police via Font.Open() – vous obtenez un objet dérivé de Aspose.Font.Font (par exemple 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}

Résultat : woffFont est une instance de Aspose.Font.Woff.WoffFont. Vous pouvez désormais afficher du texte, examiner les métriques des glyphes ou le convertir dans un autre format (TTF, SVG, etc.).

Méthodes alternatives pour charger les polices WOFF

Chargement à partir d’un tableau d’octets (par exemple lorsque la police est intégrée dans une ressource ou téléchargée via HTTP)

 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);

Chargement directement à partir d’un flux sans intermédiaire FileDefinition

Si vous avez déjà un FileStream ouvert :

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}

Les deux approches utilisent les mêmes classes sous-jacentes, seule la source des modifications d’octets (fichier disque vs mémoire vs flux personnalisé).

Après le chargement, que pouvez-vous faire ?

Tous ces éléments sont démontrés dans le référentiel d’exemples officiel :

📂 https://github.com/aspose-font/Aspose.Font-Documentation/tree/master/net-examples

Liste de contrôle rapide (pour les pages de documentation)

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.