Porque é que o texto estilizado aparece em quadrados vazios (tofu)?

A mesma mensagem, enviada e recebida

As duas capturas abaixo mostram um mesmo e-mail estilizado com o ETeext, rico em caracteres acentuados. No telemóvel que o envia, está tudo perfeito; no que o recebe, os acentos partem-se em quadrados vazios.

Um e-mail estilizado cheio de caracteres acentuados, apresentado corretamente num iPhone 14.
Enviado de um iPhone 14. Uma mensagem estilizada com o ETeext, cheia de caracteres acentuados, aparece perfeitamente no e-mail.
O mesmo e-mail recebido num Redmi Note, onde os caracteres acentuados aparecem como quadrados vazios.
Recebido num Redmi Note (Android). Exatamente o mesmo e-mail — mas os caracteres acentuados tornaram-se quadrados vazios: tofu. O aparelho recetor simplesmente não sabe como os desenhar.

Porque é que alguns caracteres aparecem como quadrados?

Em alguns dispositivos, os caracteres estilizados podem aparecer como pequenos quadrados vazios (ou quadrados com uma cruz, ou um ponto de interrogação). Este fenómeno tem um nome: chama-se «tofu».

A palavra vem da semelhança destes pequenos retângulos com um pedaço de tofu. Não é um erro do ETeext nem um erro do teu texto: significa simplesmente que o dispositivo ou a aplicação que mostra o texto «na receção» não possui, nas suas fontes, o desenho do caractere pedido. Não sabendo o que desenhar, mostra um retângulo de substituição.

Este caso ocorre com mais frequência em certos dispositivos (por vezes «chineses», ou mais amplamente dispositivos cujas fontes do sistema estão otimizadas para outros alfabetos). As suas fontes cobrem perfeitamente as suas próprias escritas, mas podem não incluir todos os caracteres estilizados exóticos do alfabeto latino — daí os tofus em vez de alguns efeitos.

Por outras palavras: o teu texto está correto, mas o dispositivo do outro lado não consegue mostrá-lo por completo.

Secção técnica: porque aparecem os tofus (e como o modo os evita)

Para os curiosos, eis o que acontece «por baixo do capô».

Os estilos do ETeext não mudam a fonte de visualização (o que seria uma questão de CSS): mudam os próprios caracteres. Um «a» em negrito estilizado, por exemplo, não é um «a» vestido com uma formatação — é um caractere Unicode distinto, proveniente de um bloco especial (os símbolos alfanuméricos matemáticos). É precisamente isso que permite que estes estilos viajem por plataformas que não permitem mudar a fonte.

O reverso é que, para mostrar estes caracteres, o dispositivo recetor deve possuir o seu desenho (glifo) nas suas fontes. Se o glifo faltar, o dispositivo mostra o caractere de substituição — o famoso tofu. Quanto mais «exótico» (pouco comum) for um caractere, maior é o risco de que uma fonte não o cubra — e certos parques de dispositivos, otimizados para outras escritas, cobrem menos.

Alguns efeitos acumulam ainda sinais combinantes: acentos ou marcas que se sobrepõem a uma letra. Também aqui a sua representação depende da capacidade do dispositivo para os posicionar corretamente; em ambientes pouco equipados, o resultado pode ser imperfeito.

A solução: o Modo de Segurança

O ETeext inclui um Modo de Segurança. Ativa-o antes de estilizar: em vez de produzir os caracteres arriscados, o ETeext recorre a letras padrão — presentes em absolutamente todos os tipos de letra. O teu texto continua legível para o destinatário, à custa do efeito visual.

É um simples interruptor que podes ativar ou desativar a qualquer momento, consoante o contexto.

← Centro de ajuda