¿Por qué algunos caracteres aparecen como cuadrados en Chrome?

¿Por qué algunos caracteres aparecen como cuadrados en Chrome?

Por ejemplo, en las herramientas de desarrollo obtengo algo como:

Herramientas de desarrollo de Chrome

Algunos de estos cuadrados están al final de las líneas, inicialmente pensé que eran retornos de carro pero resulta que no lo son.

Además, aparecen cuadrados después =o >en muchos lugares donde no hay una nueva línea, y mirar el archivo en un editor hexadecimal muestra que no hay ningún carácter entre =y "(por ejemplo, id="se muestra como id=? ")

Esto también aparece muy ocasionalmente en páginas web, por ejemplo vi:

resultado de búsqueda de google

Copié esa oración, la miré en un editor hexadecimal y nuevamente no hay ningún carácter entre ey :. Tampoco aparece nada en el código fuente.

Nunca había visto esto antes, y es solo desde que reinstalé Arch hace unos días.

Chrome es: Versión 19.0.1084.15 dev
Arch es: Kernel 3.3.1-1-ARCH,x86_64

locale.gentiene en_GBconfiguraciones regionales sin comentar (tanto UTF-8como ISO-8859-1). La codificación en Chrome por defecto es ISO-8859-1, pero cambiarla UTF-8no hace ninguna diferencia.

Este es el archivo html que estaba usando:prueba.html

Una solución sería fantástica, una explicación sería excelente y también sería bueno confirmar que esto es (o no es) solo un problema con mi configuración.

Editar: Después de investigar las fuentes, descubrí que en ambos casos se intentaba usar arial, que en arch es parte del ttf-ms-fontspaquete. La instalación de eso resultó en que la fuente cambiara, pero los cuadrados permanecieron (aunque con una forma diferente). En ambos casos, la fuente no se ajusta a las fuentes predeterminadas del sistema.

Herramientas de desarrollo de Chrome: con arial

Respuesta1

Esto me solucionó el problema. Instala las fuentes dejavu.

sudo pacman -S ttf-dejavu

Respuesta2

Hay una mejor manera de determinar qué fuente te falta en lugar de instalar paquetes de fuentes a ciegas.

Por ejemplo, hice lo siguiente para resolver las fuentes faltantes:

  1. Recibí un correo electrónico con dos caracteres Unicode desconocidos (puntos de código U+1F44B:, U+1F3FC)
  2. Pégalos aquí:https://www.fontspace.com/unicode/analyzer#e=8J-Ri_Cfj7w
  3. Revise los resultados que le mostrarán fuentes que tienen esos emojis/caracteres
  4. Instale solo los paquetes de fuentes necesarios, para mí pacman -S noto-fonts-emojifuncionó.
  5. Reconstruir caché de fuentesfc-cache -vf
  6. Reiniciar Chrome/Chromium

Alternativamente, puede buscar el nombre Unicode para ayudar en las búsquedas de fuentes en Google:

$ echo -e 

Respuesta3

Es estándar imprimir elCarácter de reemplazo Unicodeen lugar de un carácter que no existe en la fuente actual.

Una posible solución es simplemente cambiar la fuente predeterminada de su sistema operativo (si el navegador hereda la configuración del sistema operativo) o del navegador. Por ejemplo, mi Firefox 11.0 en Ubuntu 11.10 usa la fuente "serif" (que podría ser sinónimo deLibreSerif), que parece admitir muchos caracteres Unicode.

PD: Las imágenes parecen haber desaparecido.

Respuesta4

Yo estaba teniendo el mismo problema. Esta página, por ejemplo, era particularmente ilegible y aparecían cuadrados en todo el texto de la página. Pude solucionarlo cambiando el nombre de todos los arial*.ttfarchivos /usr/share/fonts/truetype/msttcorefontsa nombres de archivos de respaldo y luego configurando la fuente sans-serif predeterminada de Chrome en Droid Sans. Ahora no puedo usar fuentes Arial, pero al menos las páginas se ven bien.

información relacionada