Continuando com coisas-que-ainda-não-tinha-experimentado-a-sério, usei no mjamado.com duas web fonts do directório da Google (Cantata One para os títulos e Imprima para corpo). Já tinha usado uma ou outra nalguns projectos comerciais (e por "usado" entenda-se que a empresa tinha usado – o design não é exactamente a minha praia), mas queria ver "ao perto" o que se podia fazer com isto.

O processo é trivial e croquetes, mais ainda se aceitarmos os métodos mais simples que a própria Google recomenda. Só embati numa pequena irritação, que ainda por cima não tem solução – ironicamente, afecta outro produto da Google, o Chrome, mas apenas em Windows.

O problema é este:

Linux:
Chrome em Linux

Windows:
Chrome em Windows

No dobro do tamanho, para se ver melhor:

Linux:
Chrome em Linux

Windows:
Chrome em Windows

Como se pode ver, o rendering da fonte é uma bosta em Windows. O Chrome é o único dos "três grandes" onde isto acontece. O "porquê" de isto acontecer dava-me para meio ano de posts, mas a justificação curta é mais ou menos assim:

As fontes que usamos todos os dias (em Windows) contêm um conjunto de instruções que indicam como renderizá-la; a este conjunto de instruções chama-se, normalmente, hinting. O hinting, da forma correcta, tem de ser feito manualmente pelo designer da fonte. No entanto, a maioria dos softwares de fontes disponibiliza auto-hinting que, ajudando, não é perfeito (nem perto). As web fonts, num misto de preguiça dos designers e, sobretudo, por uma questão de poupança de largura de banda (o hinting ocupa espaço, e não é pouco), não têm ou têm a meia dúzia de instruções resultante do processo automático.

Como se justifica que funcione bem noutros sistemas operativos ou noutros browsers? É aqui que entra o problema específico do Chrome...

Voltando ao hinting – ele é usado quase em exclusivo pela tecnologia ClearType, da Microsoft; no Mac OS, o motor Quark ignora o hinting da fonte e calcula-o de novo, com métodos específicos (logo a abrir, o subpixel rendering é consideravelmente diferente do da Microsoft); em Linux, o motor usado é, habitualmente, o FreeType, que pode ser visto como um misto entre os outros dois, podendo usar o hinting da fonte, se existir, ou calculá-lo de novo automaticamente. Recentemente, a Microsoft modificou a maneira como o ClearType interage com o sistema operativo, com a API DirectWrite, que melhorou substancialmente a qualidade do render.

Como é bom de ver, o IE9 foi lançado já com suporte para DirectWrite, sendo seguido algum tempo depois pelo Firefox. O Chrome... não. E ainda não. E não têm planos para isso. E as fontes ficam horrivelmente renderizadas.

Basicamente é isto. Não tem solução. Não é previsível que tenha nos próximos tempos. Mas obrigado por jogar.

Vão pastar.

Partilhar no Sapo Links Partilhar no del.icio.us Partilhar no Digg Partilhar no Twitter Partilhar no StumbleUpon Partilhar no MySpace Partilhar no Facebook

Comentários Deixar um comentário

Tem que efectuar login para poder deixar comentários!

Se não está registado, registe-se aqui.
 Doar (via PayPal)
 Categorias
 Arquivo
 Projectos em Destaque
 Últimas Postas no Blog
 Últimos Comentários do Blog