Carregando arquivos Web-Open-Font (WOFF) | .NET
Contents
[
Hide
Show
]Carregando arquivos Web-Open-Font (WOFF) com Aspose.Font para .NET
O que você precisa
| Artigo | Descrição | Onde obter |
|---|---|---|
| Aspose.Font para .NET | Biblioteca principal que lê, escreve e converte ficheiros de fontes (incluindo WOFF/WOFF2). | dotnet add package Aspose.Font ou através da interface do NuGet (https://www.nuget.org/packages/Aspose.Font). |
| Framework de destino | .NETFramework4.x / .NETCore3.x / .NET5/6/7 – qualquer plataforma suportada pelo Aspose.Font. | Nenhum runtime adicional é necessário. |
| Importações de namespace | csharp\nusing Aspose.Font;\nusing Aspose.Font.Sources;\nusing System.IO;\n |
Dica: Toda a documentação da API está em https://reference.aspose.com/font/net/.
Carregando um arquivo WOFF do sistema de arquivos
Passo a passo
- Localize o arquivo da fonte (por exemplo,
C:\Fonts\MyWebFont.woff). - Crie um
FileSystemStreamSourceque forneça à biblioteca um fluxo para esse arquivo. - Envolva a fonte do stream em um
FontFileDefinition– especifique a extensão"woff"(a biblioteca usa isso para escolher o analisador correto). - Crie um
FontDefinition– passe oFontType(Woff) e oFontFileDefinitionapropriados. - Abra a fonte via
Font.Open()– você obtém um objeto derivado deAspose.Font.Font(por exemplo,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é uma instância deAspose.Font.Woff.WoffFont. Agora pode renderizar texto, inspecionar as métricas dos glifos ou convertê-lo para outro formato (TTF, SVG, …).
Maneiras alternativas de carregar fontes WOFF
Carregando de uma matriz de bytes (por exemplo, quando a fonte está incorporada em um recurso ou baixada por 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);Carregando diretamente de um stream sem um FileDefinition intermediário
Se você já tem um FileStream aberto:
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}Ambas as abordagens usam as mesmas classes subjacentes, apenas a origem dos bytes muda (arquivo de disco versus memória versus fluxo personalizado).
Após o carregamento – o que você pode fazer?
- Renderizar texto – use o subsistema
Aspose.Font.Renderingou exporte contornos de glifos. - Leia as métricas de fonte – por exemplo.
((WoffFont)woffFont).Métricas. - Converter para outro formato – chame
font.Save("output.ttf");após converter para a subclasse apropriada ou usar a API genérica. - Subconjunto/mesclagem – combine várias fontes em uma coleção.
- Extraia informações de licenciamento – se presente no cabeçalho WOFF.
Tudo isso é demonstrado no repositório oficial de exemplos:
📂 https://github.com/aspose-font/Aspose.Font-Documentation/tree/master/net-examples
Lista de verificação rápida (para páginas de documentação)
- ✅ Adicione o emblema do NuGet:
[](https://www.nuget.org/packages/Aspose.Font/) - ✅ Inclui bloco de código de amostra (conforme mostrado acima) com destaque de sintaxe adequado.
- ✅ Mencione a tabela de extensões suportadas (cópia da seção 2 acima).
- ✅ Link para referência da API para:
Aspose.Font.Font.OpenAspose.Font.Sources.FileSystemStreamSourceAspose.Font.Sources.ByteContentStreamSourceAspose.Font.FontFileDefinitionAspose.Font.FontDefinition
- ✅ Forneça links de “leitura adicional”:
- 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
- ✅ Adicione dica de solução de problemas: Se você receber “Formato de fonte não suportado”, verifique se você passou as extensões
FontType.WOFFewoff.