Cargando archivos Web‑Open‑Font (WOFF) | .NET

Carga de archivos Web‑Open‑Font (WOFF) con Aspose.Font para .NET

lo que necesitas

ArtículoDescripciónDónde obtener
Aspose.Font para .NETBiblioteca principal que lee, escribe y convierte archivos de fuentes (incluyendo WOFF/WOFF2).dotnet add package Aspose.Font o mediante la interfaz de usuario de NuGet (https://www.nuget.org/packages/Aspose.Font).
Marco de destino.NETFramework4.x / .NETCore3.x / .NET5/6/7: cualquier plataforma compatible con Aspose.Font.No requiere tiempo de ejecución adicional.
Importaciones de espacios de nombrescsharp\nusing Aspose.Font;\nusing Aspose.Font.Sources;\nusing System.IO;\n

Consejo: Toda la documentación de la API está en https://reference.aspose.com/font/net/.

Cargando un archivo WOFF desde el sistema de archivos

Paso a paso

  1. Localice el archivo de fuente (por ejemplo, C:\Fonts\MyWebFont.woff).
  2. Cree un FileSystemStreamSource que le dé a la biblioteca una secuencia para ese archivo.
  3. Envuelva la fuente de la secuencia en FontFileDefinition: especifique la extensión "woff" (la biblioteca usa esto para elegir el analizador correcto).
  4. Cree una FontDefinition: pase el FontType (Woff) apropiado y el FontFileDefinition.
  5. Abra la fuente mediante Font.Open(): obtendrá un objeto derivado de Aspose.Font.Font (por ejemplo, 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}

Resultado: woffFont es una instancia de Aspose.Font.Woff.WoffFont. Ahora puedes renderizar texto, inspeccionar las métricas de los glifos o convertirlo a otro formato (TTF, SVG, etc.).

Formas alternativas de cargar fuentes WOFF

Carga desde una matriz de bytes (por ejemplo, cuando la fuente está incrustada en un recurso o se descarga a través de 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);

Cargando directamente desde una secuencia sin una FileDefinition intermedia

Si ya tienes un FileStream abierto:

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}

Ambos enfoques utilizan las mismas clases subyacentes, solo cambia la fuente de bytes (archivo de disco versus memoria versus flujo personalizado).

Después de cargar, ¿qué puedes hacer?

Todo esto se demuestra en el repositorio de ejemplos oficial:

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

Lista de verificación rápida (para páginas de documentación)

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.