Conjuntos de caracteres necessários para exibir corretamente “zalgo”

3

A seguinte resposta no Stack Overflow é famosa por seu convincente argumento contra o uso do regex para analisar o HTML: link

O conteúdo da postagem se torna cada vez mais corrompido, e o final deve ser algo assim:

Noentanto,nomeulaptopcomWindowsXP,vejooseguinte:

Como faço para que esses "personagens" sejam exibidos corretamente?

    
por Andrew Clark 31.10.2012 / 22:38

2 respostas

6

A maneira mais simples é baixar e instalar uma fonte suficientemente grande, como Symbola , e usar o Firefox ou o Chrome.

O problema é duplo. Primeiro, o texto contém marcas diacríticas combinadas que não são suportadas pelas fontes fornecidas com o Win XP. Existem algumas fontes gratuitas que você pode usar para corrigir isso. Segundo, o IE é pobre em renderizar caracteres quando nenhuma fonte listada na lista font-family aplicável cobre um caractere em um documento HTML. O Chrome e o Firefox fazem um trabalho muito melhor; mesmo o Firefox 3, que testei em um sistema virtual do Windows XP, parece lidar com a situação OK: ele pega os caracteres ausentes de outras fontes no sistema.

Além das páginas que brincam com a combinação de marcas diacríticas de maneira infantil, existem páginas reais que fazem uso de tais marcas. Então é bom estar preparado. Não há fonte única que cubra todos os caracteres, portanto, instale fontes adicionais conforme necessário; Alan Wood tem uma boa página para baixar fontes com grandes repertórios de caracteres.

    
por 01.11.2012 / 00:25
3

É mais do que apenas o conjunto de caracteres.

Para exibir isso corretamente, o cliente que renderiza o texto e quaisquer bibliotecas que ele usa para tal precisam suportar a combinação de marcas unicode, além de ter as fontes necessárias e suporte para fontes para combinar fontes conforme necessário.

Eu acho que a fonte principal é Microsoft Sans Serif ou Arial Unicode MS Regular, que vêm de fábrica com cada versão do Windows, e foi duplamente atualizada extensivamente desde sua versão inicial para o XP, provavelmente para incluir todas as marcas diacríticas unicode que você vê faltando aqui. Pode haver outras fontes em uso aqui, usadas para preencher lacunas na fonte principal se estiver faltando um diacrítico específico. Não tenho certeza das ramificações legais de baixar uma cópia das fontes atualizadas sem pagar por elas (sem comprar o Windows Vista ou o Windows 7 ou o Windows 8 para o laptop)

Se o problema for falta de suporte na biblioteca de renderização para combinar diacríticos, nenhuma quantidade de fontes ajudará a exibir o texto corretamente. Sua única opção será atualizar o aplicativo e / ou as bibliotecas que ele usa para renderizar texto.

    
por 31.10.2012 / 22:53