Converta TTF para WOFF e WOFF2 usando Java.

WOFF (Web Open Font Format) é basicamente um TTF (True Type Font), mas contém compactação específica do formato e metadados XML adicionais. WOFF2 é uma versão estendida do WOFF. Oferece mais compressão em comparação com WOFF. Ambos WOFF e WOFF2 são usados em páginas da web. Por outro lado, TTF (True Type Font) funciona bem em todas as plataformas digitais e oferece excelente qualidade na tela e em documentos impressos. Em certos casos, podemos precisar converter fontes true-type em fontes da Web programaticamente em aplicativos Java. Neste artigo, aprenderemos como converter TTF para WOFF e WOFF2 usando Java.

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

API Java para converter TTF para WOFF e WOFF2

Para converter TTF para WOFF, usaremos a API Aspose.Font for Java. Ele fornece a classe FontFileDefinition que representa a definição do arquivo Font. Ele também fornece a classe FontDefinition que representa a definição do conjunto de arquivos Font e fornece detalhes básicos do Font, como nome, tipo, etc. O método Open() desta classe retorna o FontDefinition para arquivo de fonte e tipo de fonte. Podemos converter a fonte carregada para outros formatos usando o método SaveToFormat() da classe Font. Além disso, a API permite carregar, salvar e extrair informações de tipos de fonte suportados.

Faça o download do JAR da API ou adicione a seguinte configuração pom.xml em um aplicativo Java baseado em Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-font</artifactId>
    <version>21.12</version>
    <type>pom</type>
</dependency>

Converter TTF para WOFF usando Java

Podemos facilmente converter True Type Fonts (TTF) para Web Open Font Format (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 Java.

// Este exemplo de código demonstra como converter TTF em WOFF.
// Caminho do arquivo TTF
String fontPath = "C:\\Files\\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 = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);

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

Converter TTF para WOFF2 usando Java

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 Java.

// Este exemplo de código demonstra como converter TTF em WOFF2.
// Caminho do arquivo TTF
String fontPath = "C:\\Files\\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 = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(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 Java. Também vimos como salvar TTF como WOFF2 programaticamente. Além disso, você pode aprender mais sobre Aspose.Font for Java API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também