Por que alguns caracteres aparecem como quadrados no Chrome?

Por que alguns caracteres aparecem como quadrados no Chrome?

Por exemplo, nas ferramentas de desenvolvimento, recebo algo como:

Ferramentas de desenvolvimento do Chrome

Alguns desses quadrados estão no final das linhas, inicialmente pensei que fossem retornos de carro, mas descobri que não são.

Além disso, os quadrados aparecem depois =ou >em muitos lugares onde não há nova linha, e olhar o arquivo em um editor hexadecimal mostra que não há nenhum caractere entre =e "(por exemplo, id="está sendo mostrado como id=? ")

Isso também aparece ocasionalmente em páginas da web, por exemplo, vi:

Resultado de pesquisa do Google

Copiei essa frase, olhei em um editor hexadecimal e, novamente, não há caractere entre ee :. Nada aparece no código-fonte também.

Eu nunca vi isso antes, e só desde que reinstalei o arch há alguns dias.

Chrome é: Versão 19.0.1084.15 dev
Arch é: Kernel 3.3.1-1-ARCH,x86_64

locale.gentem en_GBlocalidades não comentadas (ambos UTF-8e ISO-8859-1). A codificação no Chrome é padronizada ISO-8859-1, mas alterá-la para UTF-8não faz diferença.

Este é o arquivo html que eu estava usando:teste.html

Uma correção seria fantástica, uma explicação seria ótima, confirmar que isso é (ou não) apenas um problema com minha configuração também seria bom.

Editar: Após investigar as fontes, descobri que em ambos os casos estava tentando usar arial, que no arch faz parte do ttf-ms-fontspacote. A instalação resultou na mudança da fonte, mas os quadrados permaneceram (embora com um formato diferente). Em ambos os casos, a fonte não segue as fontes padrão do sistema.

Ferramentas de desenvolvimento do Chrome - com arial

Responder1

Isso resolveu o problema para mim. Instale as fontes dejavu.

sudo pacman -S ttf-dejavu

Responder2

Existe uma maneira melhor de determinar qual fonte está faltando, em vez de instalar pacotes de fontes às cegas.

Por exemplo, fiz o seguinte para resolver fontes ausentes:

  1. Recebi um e-mail com dois caracteres Unicode desconhecidos (codepoints: U+1F44B, U+1F3FC)
  2. Cole-os aqui:https://www.fontspace.com/unicode/analyzer#e=8J-Ri_Cfj7w
  3. Revise os resultados que mostrarão fontes que possuem esses emojis/caracteres
  4. Instale apenas os pacotes de fontes necessários, para mim pacman -S noto-fonts-emojifuncionou.
  5. Reconstruir cache de fontesfc-cache -vf
  6. Reinicie o Chrome/Chromium

Como alternativa, você pode pesquisar o nome Unicode para auxiliar nas pesquisas do Google em busca de fontes:

$ echo -e 

Responder3

É padrão imprimir oCaractere de substituição Unicodeno lugar de um caractere que não existe na fonte atual.

Uma possível solução é simplesmente alterar a fonte padrão do seu sistema operacional (se o navegador herdar as configurações do sistema operacional) ou do navegador. Por exemplo, meu Firefox 11.0 no Ubuntu 11.10 está usando a fonte "serif" (que pode ser sinônimo deSerif grátis), que parece suportar muitos caracteres Unicode.

PS: As imagens parecem ter desaparecido.

Responder4

Eu estava tendo o mesmo problema. Esta página, por exemplo, era particularmente ilegível, com quadrados aparecendo em todo o texto da página. Consegui consertar renomeando todos os arial*.ttfarquivos /usr/share/fonts/truetype/msttcorefontspara nomes de arquivos de backup e, em seguida, definindo a fonte sans-serif padrão do Chrome para Droid Sans. Não consigo usar fontes Arial agora, mas pelo menos as páginas parecem corretas.

informação relacionada