WOFF

O que é um arquivo WOFF?

Uma fonte empacotada para a web. Substituída pelo WOFF2, mas ainda necessária para navegadores antigos.

O que é WOFF

WOFF é um formato binário, que só significa alguma coisa para um programa que o conhece. Ele é usado para a web.

A extensão é .woff e o nome por extenso é Web Open Font Format. Os dois importam menos do que aquilo que o arquivo consegue carregar, e é disso que trata o resto desta página.

De onde vem WOFF

A W3C publicou o formato em 2009. A especificação é WOFF 1.0.

A idade interessa por um motivo prático: quanto mais antigo o formato, mais programas tiveram tempo de aprendê-lo.

A especificação é pública

Ela está publicada por inteiro, então dá para implementá-la a partir do documento em vez de por observação — é por isso que o formato aparece em tantos programas e por isso que arquivos escritos há vinte anos ainda abrem. Especificação publicada não é o mesmo que livre de royalties: quando o formato embrulha um codec, o licenciamento das patentes é uma questão à parte, que a norma não resolve.

É um formato legado

Ele ainda abre em todo lugar e programas antigos ainda o escrevem, mas nada de novo está sendo construído em volta. Converta o que quiser guardar e não o escolha para algo que começa hoje.

Nada é jogado fora

WOFF guarda o conteúdo exatamente. Salvar de novo não muda nada, então dá para abrir, editar e salvar quantas vezes você quiser sem acumular estrago — e é isso que faz dele um formato de trabalho e não de entrega.

O que abre WOFF

FontForge e fonttools leem esse formato, e a maioria dos programas do mesmo tipo também.

Quando um arquivo não abre, o formato raramente é o problema — mais comum é o programa ser mais antigo que ele. Converter para algo mais antigo é o caminho confiável, e é para isso que serve o resto deste site.

Abrir no navegador

Qualquer navegador atual lê o formato.

Dá para colocá-lo numa página ou anexá-lo a uma mensagem sem se perguntar o que o outro lado tem instalado.

É um formato de entrega

WOFF foi feito para ser entregue, não para se trabalhar dentro dele. Editar um é possível e raramente agradável; o caminho sensato passa pelo original e por uma nova exportação.

O formato que tornou fontes web normais

Antes de 2009, uma página web tinha que escolher entre o punhado de fontes instaladas no computador do visitante e um formato exclusivo da Microsoft que mais ninguém implementava. O WOFF encerrou isso: uma especificação aberta do W3C, embrulhando uma fonte TrueType ou OpenType comum com compressão e um bloco de metadados, e — crucialmente — uma que todo fabricante de navegador concordou em suportar.

O que mudou não foi tanto técnico quanto político. Fundições de fonte resistiam à incorporação web porque significava colocar o arquivo de fonte bruto num servidor público. O WOFF não impediu isso também, mas era um formato feito para a web com um lugar para registrar informação de licenciamento, e foi suficiente para a indústria começar a vender licenças web.

É um invólucro, não uma fonte diferente

Dentro de um WOFF está o mesmo conjunto de tabelas de fonte que estava no TTF ou OTF do qual foi feito — mesmos contornos, mesmo kerning, mesmos recursos OpenType. O invólucro acrescenta compressão zlib e uma pequena seção de metadados, e nada mais.

Então converter uma fonte para WOFF e de volta é sem perdas, e um WOFF nunca é de qualidade maior ou menor que sua origem. Também significa que nenhum sistema operacional instala um: não há nada nele que a fonte original já não tivesse, e sistemas de desktop querem o original.

O que o WOFF2 mudou

A compressão, e só a compressão. O WOFF2 substituiu o zlib pelo Brotli e acrescentou uma etapa de pré-processamento que reorganiza as tabelas de fonte numa forma que comprime melhor, o que junto tira mais uns trinta por cento do arquivo.

Nada mais difere. A mesma fonte, os mesmos recursos, a mesma renderização — um download menor. É por isso que a transição foi rápida e por que não há motivo de design para preferir o formato mais antigo em nada.

Você ainda precisa servir os dois?

Não. O WOFF2 é suportado por todo navegador que recebe atualizações há anos, incluindo o Safari e todo navegador móvel. Servir WOFF como reserva significa enviar uma segunda cópia de cada tipografia para uma população que efetivamente esvaziou.

A exceção, dita com precisão para não ser superaplicada: um ambiente travado num navegador lançado antes de aproximadamente 2016 — alguns quiosques, alguns sistemas embarcados, algumas instalações corporativas congeladas por política. Se esse é genuinamente o seu público, sirva os dois. Se você não tem certeza que é, está mantendo arquivos para ninguém.

O que fazer com um WOFF que você tem

Se vai para um site, converta para WOFF2 e sirva esse. A conversão é sem perdas nas duas direções já que os dois são invólucros ao redor das mesmas tabelas, e o resultado é um terço menor sem nenhum trabalho.

Se você quer a tipografia no seu computador, converta para TTF ou OTF e instale isso — um WOFF não pode ser instalado. E se o arquivo veio do site de outra pessoa, a questão de licença vem antes de qualquer uma dessas duas: uma fonte recuperada de uma página não é uma fonte que você pode usar, e licenças web em particular costumam estar amarradas a um domínio e nível de tráfego específicos.

Metadados era a parte que ninguém usava

O WOFF incluía um bloco XML opcional para a fundição, a licença, o fornecedor e uma descrição — o mecanismo pelo qual uma fonte encontrada num servidor conseguiria declarar seus próprios termos.

Na prática, quase nada escreve isso e nada lê. Serviços de fonte removem, geradores omitem, navegadores ignoram. É uma ideia razoável que perdeu para a mesma realidade do bloqueio de domínio do Embedded OpenType: licenciamento acabou sendo um problema de contrato, não de formato de arquivo, e formatos que tentaram resolver isso nos bytes foram silenciosamente contornados.

Por que a segunda versão substituiu a primeira tão completamente

O WOFF embrulha uma fonte na mesma compressão que um arquivo ZIP usa. O WOFF2 embrulha em Brotli e acrescenta uma transformação que entende tabelas de fonte especificamente, o que junto tira mais uns trinta por cento — um número relevante num recurso que bloqueia o texto de aparecer.

Como os dois formatos fazem o mesmo trabalho a preços diferentes, quase nunca há motivo para servir os dois. Todo navegador que um site plausivelmente suportaria lê WOFF2, e uma página que lista WOFF como reserva geralmente está carregando isso para navegadores que pararam de ser usados anos atrás. Conferir essa suposição vale um minuto, porque a reserva custa uma requisição sempre que é usada.

Os dados, num lugar só

Identificadores e procedência do formato WOFF.
Extensão.woff
Tipo de mídiafont/woff
Publicado porW3C
Primeira publicação2009
EspecificaçãoWOFF 1.0

Arquivos WOFF: perguntas frequentes

Qual a diferença entre WOFF e WOFF2?

Só a compressão. O WOFF usa zlib; o WOFF2 usa Brotli com uma etapa de pré-processamento ajustada para dados de fonte e sai cerca de 30 por cento menor. Mesma fonte, mesmos recursos, mesma renderização — só um download menor.

Ainda preciso de uma reserva WOFF?

Em quase todo caso, não. Todo navegador que ainda recebe atualizações lê WOFF2, então servir WOFF também significa enviar uma segunda cópia de cada tipografia para essencialmente ninguém. A exceção é um ambiente deliberadamente congelado num navegador de antes de 2016.

Posso instalar uma fonte WOFF no meu computador?

Não — sistemas operacionais não aceitam. É um invólucro para entregar uma fonte pela web. Converta para TTF ou OTF e instale isso; nada se perde, porque o invólucro contém exatamente essas tabelas.

Converter WOFF para WOFF2 perde qualidade?

Não. Os dois são invólucros ao redor das mesmas tabelas de fonte, então a conversão é sem perdas nas duas direções. Os contornos, o kerning e os recursos OpenType são idênticos — só a compressão difere.

Posso usar um arquivo WOFF que encontrei num site?

Tecnicamente vai funcionar; legalmente geralmente não. Licenças de fonte web costumam estar amarradas a um domínio e nível de tráfego específicos, e baixar o arquivo não transfere nada. Fontes sob a SIL Open Font License são a exceção e podem ser hospedadas livremente.