Carregando arquivos Web-Open-Font (WOFF) | .NET

Carregando arquivos Web-Open-Font (WOFF) com Aspose.Font para .NET

O que você precisa

ArtigoDescriçãoOnde obter
Aspose.Font para .NETBiblioteca 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 namespacecsharp\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

  1. Localize o arquivo da fonte (por exemplo, C:\Fonts\MyWebFont.woff).
  2. Crie um FileSystemStreamSource que forneça à biblioteca um fluxo para esse arquivo.
  3. Envolva a fonte do stream em um FontFileDefinition – especifique a extensão "woff" (a biblioteca usa isso para escolher o analisador correto).
  4. Crie um FontDefinition – passe o FontType (Woff) e o FontFileDefinition apropriados.
  5. Abra a fonte via Font.Open() – você obtém um objeto derivado de Aspose.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 de Aspose.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?

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)

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.