Cargando archivos Web‑Open‑Font (WOFF) | .NET
Contents
[
Hide
Show
]Carga de archivos Web‑Open‑Font (WOFF) con Aspose.Font para .NET
lo que necesitas
| Artículo | Descripción | Dónde obtener |
|---|---|---|
| Aspose.Font para .NET | Biblioteca 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 nombres | csharp\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
- Localice el archivo de fuente (por ejemplo,
C:\Fonts\MyWebFont.woff). - Cree un
FileSystemStreamSourceque le dé a la biblioteca una secuencia para ese archivo. - Envuelva la fuente de la secuencia en
FontFileDefinition: especifique la extensión"woff"(la biblioteca usa esto para elegir el analizador correcto). - Cree una
FontDefinition: pase elFontType(Woff) apropiado y elFontFileDefinition. - Abra la fuente mediante
Font.Open(): obtendrá un objeto derivado deAspose.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:
woffFontes una instancia deAspose.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?
- Renderizar texto: use el subsistema
Aspose.Font.Renderingo exporte contornos de glifos. - Leer métricas de fuentes – p.e.
((WoffFont)woffFont).Métricas. - Convierta a otro formato: llame a
font.Save("output.ttf");después de convertir a la subclase adecuada o usar la API genérica. - Subconjunto/fusión: combina varias fuentes en una colección.
- Extraer información de licencia: si está presente en el encabezado de WOFF.
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)
- ✅ Agregue la insignia de NuGet:
[](https://www.nuget.org/packages/Aspose.Font/) - ✅ Incluya un bloque de código de muestra (como se muestra arriba) con resaltado de sintaxis adecuado.
- ✅ Mencione la tabla de extensiones admitidas (copia de la sección 2 anterior).
- ✅ Enlace a referencia de API para:
Aspose.Font.Font.OpenAspose.Font.Sources.FileSystemStreamSourceAspose.Font.Sources.ByteContentStreamSourceAspose.Font.FontFileDefinitionAspose.Font.FontDefinition
- ✅ Proporcione enlaces de “lecturas adicionales”:
- 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
- ✅ Agregue un consejo para solucionar problemas: Si recibe el mensaje “Formato de fuente no compatible”, verifique que haya aprobado tanto
FontType.WOFFcomo una extensión"woff".