Tipografia e texto

Fontes variáveis, explicadas para designers

Um ficheiro, todos os pesos intermédios, e texto que se ajusta sozinho ao tamanho em que o compões. As fontes variáveis mudam o que um sistema tipográfico consegue fazer, se souberes a que eixos recorrer.

GradientlyConta Gradiently verificada··6 min de leitura
Capa: Folded Daybreak · GR·TDKP·D2

A versão curta

  • Uma fonte variável é um único ficheiro de fonte que contém uma gama contínua de estilos, como todos os pesos do fino ao black, em vez de um ficheiro por estilo.
  • Cada gama chama-se eixo; os cinco eixos normalizados são peso, largura, itálico, inclinação e tamanho ótico.
  • As fontes variáveis deixam-te escolher valores intermédios, como um peso de 450 ou 650, e afinar o texto com precisão para cada tamanho e fundo.
  • Todos os principais navegadores atuais suportam fontes variáveis, e muitas famílias do Google Fonts estão disponíveis como ficheiros variáveis.
  • Um ficheiro variável pode ser maior do que um só estilo estático, por isso a poupança surge quando usas vários pesos ou larguras da mesma família.
Nesta página

As fontes variáveis são ficheiros de fonte que contêm uma gama contínua de estilos em vez de um conjunto fixo. Em vez de ficheiros separados para Regular, Medium, Semibold e Bold, um ficheiro variável contém todos os pesos entre o mais leve e o mais pesado, e muitas vezes outras gamas também, como a largura ou o tamanho ótico. Escolhes qualquer ponto ao longo de cada gama, chamada eixo, por isso um título pode ficar no peso 680 e uma legenda no 430 se for isso que se lê melhor.

O formato chegou como parte da especificação OpenType em 2016 e é hoje suportado por todos os principais navegadores atuais e pelas principais ferramentas de design. Este guia explica o que fazem os eixos, quando vale a pena usar fontes variáveis e como configurá-las em CSS. Para uma visão mais ampla sobre a escolha de tipos de letra, vê bases da tipografia e tipos de letra da marca.

Eixos das fontes variáveis e o que faz cada um

Um eixo é uma dimensão de design que o designer de tipos desenhou nos seus extremos; a fonte interpola tudo o que fica entre eles. Há cinco eixos registados na especificação OpenType, com etiquetas normalizadas de quatro letras. Os designers de tipos podem acrescentar eixos personalizados, que se escrevem em maiúsculas.

EixoEtiquetaO que mudaPropriedade CSS
PesowghtEspessura do traço, do fino ao blackfont-weight
LargurawdthLarguras das letras, de condensada a expandidafont-stretch
Tamanho óticoopszDetalhe, contraste e espaçamento afinados para o tamanhofont-optical-sizing
InclinaçãoslntUm ângulo oblíquo sem mudar a forma das letrasfont-style: oblique
ItálicoitalPassa para formas de letra itálicas verdadeirasfont-style: italic
Personalizadop. ex. GRAD, SOFTTudo o que o designer definirfont-variation-settings
Os cinco eixos registados, mais os personalizados. Nem todas as fontes variáveis têm todos os eixos: verifica o que a tua inclui.

É nos eixos personalizados que as fontes ganham personalidade. A Roboto Flex tem um eixo de grau (GRAD) que muda a espessura do traço sem mudar a largura das letras. A Fraunces tem SOFT para terminais mais arredondados e WONK para as suas formas de letra mais excêntricas. A Recursive tem os eixos MONO e CASL, que a levam de sem serifa a monoespaçada e de linear a descontraída. Podes explorá-las todas no Google Fonts, que te deixa filtrar por famílias variáveis.

Porque é que o tamanho ótico é o que mais importa

O peso fica com a atenção, mas o tamanho ótico é muitas vezes o eixo mais útil. Os tipos de metal eram cortados em separado para cada tamanho: os tamanhos pequenos tinham traços mais robustos, alturas de x maiores e espaçamento mais largo; os tamanhos grandes eram mais finos, com mais contraste e espaçamento mais apertado. As fontes digitais perderam isso quando um só contorno passou a ser escalado para todos os tamanhos. Um eixo opsz traz isso de volta.

Tamanhos de destaque: um eixo de tamanho ótico aguça o contraste e aperta o espaçamento à medida que o texto cresce.

Tamanhos de texto: a mesma família abre e reforça o texto pequeno para que sobreviva ao ecrã de um telemóvel.

Com font-optical-sizing: auto (a predefinição nos navegadores), uma fonte com eixo opsz ajusta-se sozinha ao tamanho de letra que defines. Não precisas de fazer nada além de escolher uma fonte que tenha o eixo. Isto ajuda sobretudo em designs com um título grande e texto de apoio pequeno na mesma família, que é o caso da maioria das publicações para redes sociais e das páginas de entrada.

Quando vale a pena usar fontes variáveis

Vale a pena

  • Usas três ou mais pesos ou larguras de uma só família
  • Queres pesos intermédios para equilibrar o texto em fundos diferentes
  • Títulos e texto pequeno partilham uma família com eixo de tamanho ótico
  • Queres animar o peso ou a largura em trabalho de movimento

Provavelmente não

  • Só usas um ou dois pesos
  • O corte estático é mais pequeno e nunca precisas de outros estilos
  • A tua ferramenta ou plataforma não consegue escolher valores dos eixos
  • Falta à versão variável um estilo ou uma língua de que precisas

O tamanho do ficheiro é a contrapartida honesta. Um ficheiro variável leva os dados de todos os estilos, por isso costuma ser maior do que um só peso estático mas mais pequeno do que vários. Se um site só carrega Regular e Bold, dois ficheiros estáticos podem bem ser mais leves. Se carrega quatro pesos e um itálico, um ficheiro variável costuma ganhar, e ficas com todos os pesos intermédios de graça.

Os pesos intermédios são mais úteis do que parecem. Texto claro sobre um fundo escuro ou colorido parece mais pesado do que o mesmo peso sobre branco, por isso podes compor texto branco sobre um gradiente em 460 em vez de 500 para igualar oticamente uma versão escura sobre claro. O efeito é subtil, mas é o que faz um sistema tipográfico parecer afinado. Texto sobre gradiente explica o problema de legibilidade mais amplo.

Como usar fontes variáveis em CSS

Declara a fonte uma vez com uma gama para cada eixo e depois usa as propriedades normais, como font-weight e font-stretch. Recorre a font-variation-settings só para eixos personalizados, porque substitui todos os eixos de uma vez e não é herdado de forma amigável. O guia de fontes variáveis da MDN trata dos pormenores.

css
@font-face {
  font-family: "Brand Sans";
  src: url("/fonts/brand-sans-variable.woff2") format("woff2");
  font-weight: 100 900;   /* the wght range in the file */
  font-stretch: 75% 125%; /* the wdth range, if it has one */
  font-display: swap;
}

body {
  font-family: "Brand Sans", system-ui, sans-serif;
  font-weight: 420;
  font-optical-sizing: auto;
}

h1 {
  font-weight: 720;
  font-stretch: 90%;
}

.on-dark {
  font-weight: 390; /* light on dark reads heavier */
}

/* Custom axes go through font-variation-settings. */
.soft {
  font-variation-settings: "SOFT" 100, "WONK" 1;
}
Eixos normalizados através de propriedades normalizadas; eixos personalizados através de font-variation-settings. As gamas em @font-face têm de corresponder ao que o ficheiro contém.

Montar um sistema tipográfico variável

  1. 1

    Verifica os eixos

    Abre a página de amostra da fonte e anota todos os eixos e as suas gamas. Confirma que as línguas e os caracteres de que precisas estão incluídos na versão variável.

  2. 2

    Define funções, não pesos

    Decide os pesos por função: texto corrido, ênfase, subtítulo, título, etiqueta. Um sistema de cinco valores afinados é melhor do que nove normalizados usados ao acaso.

  3. 3

    Afina para os fundos

    Cria um peso ligeiramente mais leve para texto claro sobre escuro e compara os dois no tamanho real.

  4. 4

    Deixa o tamanho ótico trabalhar

    Mantém font-optical-sizing: auto, a não ser que tenhas uma razão para o fixar, e compara títulos e legendas lado a lado.

  5. 5

    Escreve tudo

    Regista o ficheiro da fonte, as gamas dos eixos e os valores de cada função no teu guia de estilo da marca, para que ninguém os reconstrua de memória.

As fontes variáveis recompensam a contenção. O objetivo não é usar todos os valores, mas escolher os poucos exatos que fazem o teu texto ler-se bem em todo o lado onde aparece, de um parágrafo de 16 px a um título de destaque de 200 px.

Perguntas frequentes

O que é uma fonte variável?

Uma fonte variável é um só ficheiro de fonte com uma gama contínua de estilos ao longo de um ou mais eixos, como o peso ou a largura, para que possas escolher qualquer valor intermédio em vez de alguns estilos fixos.

Todos os navegadores suportam fontes variáveis?

Todos os principais navegadores atuais as suportam. Consulta o caniuse se precisares de suportar navegadores muito antigos, e inclui uma lista de fontes alternativas.

As fontes variáveis são mais pequenas do que as estáticas?

Nem sempre. Um ficheiro variável costuma ser maior do que um só estilo estático mas mais pequeno do que vários. A poupança surge quando, de outra forma, carregarias três ou mais estilos.

O que é o tamanho ótico numa fonte?

O tamanho ótico é um eixo que ajusta o detalhe, o contraste e o espaçamento ao tamanho em que o texto está composto, tornando o texto pequeno mais robusto e o grande mais fino. Os navegadores aplicam-no automaticamente com font-optical-sizing: auto.

Partilhar este guia

Escrito pela GradientlyConta Gradiently verificada

A equipa por trás da Gradiently, uma ferramenta de design construída em torno dos Marks: gradientes vivos que fazem tudo o que crias parecer teu.

Ver o nosso perfil