WOFF
Web Open Font Format — o primeiro formato de fonte projetado especificamente para a web.
O que é WOFF?
O WOFF 1.0 foi desenvolvido conjuntamente pela Mozilla, Opera e Microsoft como o primeiro formato de fonte criado do zero para a web. Tornou-se uma Recomendação W3C em dezembro de 2012, marcando um marco na tipografia web.
Em essência, o WOFF é um invólucro em torno de dados de fonte TrueType ou OpenType existentes. Aplica compressão zlib para reduzir o tamanho do arquivo e inclui campos de metadados opcionais para licenciamento e atribuição. Antes do WOFF, os desenvolvedores web tinham que servir arquivos TTF ou OTF brutos — grandes, não comprimidos e sem nenhuma forma padrão de incorporar informações de licenciamento.
A principal inovação foi criar um contêiner de fonte web de uso específico que resolveu três problemas de uma só vez: tamanhos de arquivo menores por meio de compressão, um bloco de metadados padrão para licenciamento de fontes e um formato que os navegadores pudessem validar e isolar facilmente por questões de segurança.
Como Funciona
O contêiner WOFF envolve tabelas de fonte existentes (de arquivos TTF ou OTF) com compressão zlib por tabela. Cada tabela da fonte original — contornos de glifos, dados de kerning, registros de nomenclatura — é comprimida de forma independente, o que permite ao navegador descomprimir apenas as tabelas de que precisa.
O cabeçalho WOFF começa com uma assinatura de quatro bytes (wOFF), seguida pelo flavor da fonte (indicando se os dados encapsulados são TrueType ou CFF), o tamanho total comprimido e um ponteiro para o bloco de metadados opcional. O navegador lê este cabeçalho, descomprime as tabelas individuais de volta à sua forma original e passa os dados de fonte reconstruídos ao motor de renderização de texto.
Da perspectiva do motor de renderização, um arquivo WOFF descomprimido é idêntico ao TTF ou OTF original — a compressão é completamente transparente.
Uso típico de @font-face@font-face {
font-family: 'MyIcons';
src: url('icons.woff2') format('woff2'),
url('icons.woff') format('woff');
}
O navegador tenta cada entrada src em ordem. Os navegadores modernos carregarão o arquivo WOFF2 (menor, mais rápido); navegadores mais antigos que não entendem WOFF2 farão o fallback para o arquivo WOFF. Essa abordagem em cascata oferece desempenho ideal com compatibilidade máxima.
Vantagens e Desvantagens
- Boa compressão — aproximadamente 40% menor que TTF bruto
- Amplamente suportado, incluindo IE 9+
- Recomendação W3C (padrão web oficial)
- Inclui suporte a metadados e licenciamento
- Conversão direta de fontes TTF ou OTF
- Superado pelo WOFF2, que possui melhor compressão
- ~30% maior que o arquivo WOFF2 equivalente
- A compressão zlib é menos eficiente que o Brotli
Suporte de Navegadores
O WOFF é suportado por todos os principais navegadores desde o início dos anos 2010, tornando-o o formato de fallback mais seguro para fontes web. Abrange uma gama ainda maior de navegadores do que o WOFF2, pois inclui suporte para versões mais antigas do Internet Explorer.
| Navegador | Versão mínima |
|---|---|
| Chrome | 6+ |
| Firefox | 3.5+ |
| Safari | 5.1+ |
| Internet Explorer | 9+ |
| Edge | Todas as versões |
| Opera | 11.1+ |
Com mais de 98% de cobertura global de navegadores, o WOFF é compreendido por praticamente todo navegador ainda em uso ativo. A única lacuna notável é o IE 6-8, que requer EOT em vez disso.
WOFF vs WOFF2
O WOFF2 é o sucessor do WOFF e, na maioria dos aspectos práticos, é uma melhoria estrita. Veja como eles se comparam:
| Aspecto | WOFF | WOFF2 |
|---|---|---|
| Compressão | zlib (deflate) | Brotli |
| Taxa de compressão | ~40% menor que TTF | ~30% menor que WOFF |
| Pré-processamento | Nenhum | Transformação de dados de glifo |
| Velocidade de descompressão | Rápida | Mais rápida |
| Suporte IE | IE 9+ | Somente Edge (sem IE) |
| Padrão W3C | 2012 | 2018 |
O WOFF2 oferece aproximadamente 30% mais compressão do que o WOFF graças ao Brotli e a uma etapa de pré-processamento especializada que torna os dados de glifo mais comprimíveis. Também é mais rápido para descomprimir. O suporte moderno de navegadores para WOFF2 é igualmente amplo — a única lacuna é o Internet Explorer 9-11, que suporta WOFF mas não WOFF2.
Para a maioria dos projetos voltados para navegadores a partir de 2024, somente WOFF2 é suficiente. A única vantagem restante do WOFF é a cobertura do IE 9-11.
Quando Usar WOFF
Apesar de ter sido superado pelo WOFF2, ainda existem razões válidas para incluir WOFF em sua pilha de fontes:
- Como fallback junto com WOFF2 — liste WOFF2 primeiro em sua declaração
@font-facee WOFF em segundo, dando aos navegadores modernos o arquivo menor enquanto garante que navegadores mais antigos ainda obtenham a fonte. - Quando o suporte ao IE 11 é necessário — o IE 11 suporta WOFF mas não WOFF2, portanto o WOFF é o melhor formato comprimido disponível para esse navegador.
- Em ambientes sem Brotli — algumas ferramentas de compilação antigas, proxies ou CDNs podem não tratar corretamente a compressão Brotli do WOFF2; a compressão zlib do WOFF é universalmente suportada.
Se nenhuma dessas situações se aplica ao seu projeto, você pode pular o WOFF com segurança e enviar apenas WOFF2.