¿Por qué Chrome en Windows 7 no me muestra ciertos caracteres Unicode?

21

Esta pregunta de Apple contiene el texto

¿Cuál es esta clave? ⎋

Que me parece así en Google Chrome:

ingrese la descripción de la imagen aquí

¿Por qué ese personaje Unicode, u otros similares, no se puede mostrar en Google Chrome en Windows 7?

Michael Pryor
fuente
A mí me parece una caja ... En cualquier caso, la publicación doble está mal vista.
soandos
3
@soandos ¿de qué otra publicación estás hablando? Además, no se supone que sea una caja. Por eso estoy haciendo la pregunta. Alguien hizo una pregunta sobre askdifferent y escribió un carácter unicode allí, pero en mi instalación de Chrome veo el cuadro genérico.
Michael Pryor
3
Al igual que yo ... Parece que no es un problema con su instalación de Chrome, es para todos los cromos. FF lo reconoce bien. Chrome ni siquiera puede reconocerlo como un personaje Unicode (no lo creo).
soandos
Curiosamente, Chromium en Ubuntu funciona bien.
Kibbee
@soandos funciona bien para mí con Google Chrome (12.0.742.112) en Ubuntu 11.04 (Natty).
Mike Spross

Respuestas:

20

Supongo que es un problema de sustitución de fuentes.

Los navegadores encuentran el problema de "El glifo seleccionado no está en la fuente especificada". Hay dos direcciones que puede seguir desde aquí: puede extraer el glifo equivalente de otra fuente (que a menudo se verá roto pero puede no estar claro por qué para el usuario) o simplemente mostrar un marcador de posición de carácter no encontrado (que siempre se verá roto, pero al menos obviamente).

Me imagino que Firefox y Opera reconocen que el glifo que se solicita es un símbolo que es seguro extraer de otra fuente, mientras que los navegadores restantes son conservadores y solo muestran el glifo "Uh ... no sé".

Charles Miller
fuente
Creo que Chrome y Safari usan Windows GDI para la representación de texto en Windows. IE9 usa DirectWrite que parece tener el mismo comportamiento que GDI en este caso.
Craig Williams
Interesante: obtienes el mismo resultado si lo pegas en la barra de direcciones.
xpda
@xpda tienes razón; el personaje funciona en la barra de direcciones y el cuerpo en Firefox, y no funciona en ningún lugar de Chrome. Fascinante.
Jeff Atwood
55
Parece correcto: Chrome y Firefox usan Uniscribe para representar el texto en el navegador, y Uniscribe simplemente devuelve un código de error a la aplicación de llamada cuando no se puede encontrar un carácter en particular en la fuente actual. Depende de la aplicación decidir si Uniscribe debe usar el recurso de fuente para encontrar una sustitución, o si solo debe representar el glifo de la caja. Chrome es uno de los navegadores que simplemente dice "Lo que sea, no me importa. Box está bien".
Mike Spross
11

Interesante. No es solo Chrome: es posible que se pregunte por qué ninguno de los siguientes navegadores no puede mostrarlo en Windows 7:

ingrese la descripción de la imagen aquí

De arriba a abajo:

  • Firefox (y)
  • IE9 (n)
  • Cromo (n)
  • Opera (y)
  • Safari (n)

Por lo tanto, Firefox y Opera pueden mostrar este carácter unicode en Windows 7, pero los otros navegadores no pueden.

¿Cuál es esta clave? ⎋

Jeff Atwood
fuente
Para lo que vale, esa clave es "ESC" en Mac OS X.
Martin Marconcini
@jjn es una respuesta parcial, que generalmente está permitida
Jeff Atwood
Célebre. (Comentario retirado)
jjnguy
En qué se parecen los navegadores en estos días ... :)
balexandre
2
Chrome 13.0.782.107/Linux: ok
Arnaud Le Blanc
6

La pregunta "¿Por qué ese carácter Unicode no se puede [...] mostrar en Google Chrome en Windows 7?" es el

Ese carácter particular es simplemente un punto de código unicode que es un número arbitrario. Hay muchos puntos de código Unicode que no tienen un símbolo 'oficial'. Incluso si tienen un símbolo, no es necesariamente el caso de que su fuente tenga un símbolo para ese punto de código. Si elige una fuente diferente, puede terminar con un símbolo diferente.

Miré el CSS de la página y muestra este carácter que se muestra en Arial (además de un montón de otras fuentes que no importan). Windows viene con Arial, por lo que siempre debe recoger esa fuente primero. Parece que Arial no tiene un símbolo para ese punto de código unicode. Cada vez que no tiene un glifo para un punto de código, se coloca en alguna forma de un cuadro que indica que no hay glifo (como lo han indicado otros).

La pregunta más importante es, ¿qué está haciendo exactamente Firefox u otros navegadores donde funciona en Windows? Miré las otras fuentes enumeradas en el CSS (pensé que podría estar retrocediendo en la siguiente fuente CSS) pero tampoco tienen un glifo para ese punto de código. Una posibilidad es que Firefox realmente se envíe con sus propias fuentes.

Al excavar en Firefox, noté algunas fuentes para símbolos matemáticos aquí: 'C: \ Archivos de programa (x86) \ Mozilla Firefox \ res \ fonts'. Quizás de aquí es de donde viene.

Chris Dail
fuente
3

Sé que esta es una pregunta un poco vieja, pero para aquellos que recién están haciendo Google esto, tengo una solución que funcionó en 2013. Primero, debe confirmar que tiene una fuente instalada en su PC con Windows 7 que puede procesar la fuente:

http://www.fileformat.info/info/unicode/char/238b/index.htm

Suponiendo que al menos una fuente en la Lista de fuentes locales representa esto:

http://www.fileformat.info/info/unicode/font/fontlist.htm?text=%E2%8E%8B+-+Unicode+Character+%27BROKEN+CIRCLE+WITH+NORTHWEST+ARROW%27+%28U%2B238B % 29

De lo contrario, instale un par de fuentes Unicode "catch all": Code2000 y Symbola

Una vez que tenga una fuente que represente el símbolo, puede probar la página de prueba del navegador:

http://www.fileformat.info/info/unicode/char/238b/browsertest.htm

Chrome 28.0.1500.95 (y probablemente todas las versiones recientes) realiza la sustitución de fuentes ... principalmente.

Por alguna razón, incluso con las fuentes que muestran U + 1F3C1 correctamente instalado, Chrome 28.0 no mostrará este carácter Unicode: 🏁. Firefox funciona muy bien. Imagínate.

  • Dave
ViperGeek
fuente
La sustitución de fuentes sobre el BMP todavía está rota en Chrome solo para Windows : code.google.com/p/chromium/issues/detail?id=111382
Fizz
2

Según The Absolute Minimum, todo desarrollador de software absolutamente debe saber positivamente sobre los conjuntos de caracteres y Unicode (¡sin excusas!) De Joel Spolsky : "Si no hay un equivalente para el punto de código Unicode que está intentando representar en la codificación que está intentando para representarlo, generalmente obtienes un pequeño signo de interrogación: "o, si eres realmente bueno, una caja ".

Estoy ejecutando Chromium 13.0.782.112 en Archlinux y mi codificación predeterminada es en_US.UTF-8: el carácter se muestra bien en la página vinculada originalmente.

wulfgarpro
fuente
2
está bien, pero no creo que la pregunta fuera sobre el cuadro, sino por qué algunos navegadores pueden mostrar este carácter en particular y otros no.
Jeff Atwood
@Jeff Atwood, estuvo de acuerdo: en todo caso, mi respuesta proporciona más evidencia de apoyo sobre el tema tipográfico; leer aquí . No puedo decirte la fuente predeterminada ya que no estoy frente a mi máquina.
wulfgarpro
0

Firefox 45.0 en mi GNU / Linux LFS 7.9 no mostró el glifo Unicode mencionado en la pregunta, tampoco mostró otros glifos como el griego, etc.

Sin embargo, después de descargar la Symbolafuente de aquí en adelante:

~$ unzip Downloads/symbola.zip -d Downloads
~$ mv Downloads/Symbola/Symbola_hint.ttf .fonts
~$ fc-cache

Firefox ahora muestra el glifo en cuestión y también muestra otros glifos.

usuario3405291
fuente