Converter TTF para WOFF usando C#

As fontes definem a representação gráfica de um caractere individual no texto, como tamanho, estilo de exibição, peso, cor, etc. TTF (True Type Font) funciona bem em todas as plataformas digitais e oferece excelente qualidade tela e em documentos impressos. Por outro lado, o WOFF (Web Open Font Format) é usado principalmente em páginas da web. Ele contém compactação específica do formato e metadados XML adicionais. Em certos casos, podemos precisar converter fontes true-type em fontes da Web. Neste artigo, aprenderemos como converter TTF para WOFF usando C#.

Os seguintes tópicos serão abordados neste artigo:

API do conversor C# TTF para WOFF

Para converter TTF para WOFF, usaremos a API Aspose.Font for .NET. Ele permite carregar, salvar e extrair informações de tipos de fonte suportados. Por favor, baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Font

Converter TTF para WOFF usando C#

Podemos facilmente converter True Type Fonts (TTF) em Web Open Fonts (WOFF) seguindo as etapas abaixo:

  • Primeiramente, carregue o arquivo de fonte usando a classe FileSystemStreamSource.
  • Em seguida, crie uma instância da classe FontFileDefinition com o objeto de arquivo de origem como argumento.
  • Em seguida, inicialize o objeto de classe FontDefinition com o tipo Font como TTF e o objeto FontFileDefinition.
  • Depois disso, abra a fonte usando o método Font.Open() com o objeto FontDefinition como argumento.
  • Por fim, chame o método SaveToFormat() para salvá-lo. Leva o caminho do arquivo de saída e FontSavingFormats para WOFF como argumentos.

O exemplo de código a seguir demonstra como converter TTF em WOFF usando C#.

// Este exemplo de código demonstra como converter TTF em WOFF.
// Caminho do arquivo TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Carregar o arquivo de fonte
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Criar definição de arquivo de fonte
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Criar definição de fonte
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Abrir fonte
Font font = Font.Open(fontDefinition);

// Caminho de saída WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Converter TTF para WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF);

Converter TTF para WOFF2 em C#

WOFF2 é uma versão atualizada do WOFF. Ele oferece mais compactação devido ao tamanho do arquivo menor e oferece melhor desempenho para navegadores modernos. Também podemos converter TTF para WOFF2 seguindo as etapas mencionadas anteriormente. No entanto, precisamos apenas definir o FontSavingFormats como WOFF2 na última etapa.

O exemplo de código a seguir demonstra como converter TTF em WOFF2 usando C#.

// Este exemplo de código demonstra como converter TTF em WOFF2.
// Caminho do arquivo TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Carregar o arquivo de fonte
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Criar definição de arquivo de fonte
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Criar definição de fonte
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Abrir fonte
Font font = Font.Open(fontDefinition);

// Caminho de saída WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Converter TTF para WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF2);

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como converter True Type Fonts em Web Open Fonts em C#. Também vimos como salvar TTF como WOFF2 programaticamente. Além disso, você pode aprender mais sobre Aspose.Font para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também