Pourquoi Chrome sur Windows 7 ne me montre-t-il pas certains caractères Unicode?

21

Cette question Apple contient le texte

quelle est cette clé? ⎋

Cela me ressemble dans Google Chrome:

entrez la description de l'image ici

Pourquoi ce caractère Unicode, ou d'autres similaires, n'est-il pas affichable dans Google Chrome sur Windows 7?

Michael Pryor
la source
Cela ressemble à une boîte pour moi ... En tout cas, le double affichage est mal vu.
soandos
3
@soandos de quel autre poste parlez-vous? aussi, ce n'est pas censé être une boîte. c'est pourquoi je pose la question. Quelqu'un a posé une question sur askdifferent et y a tapé un caractère unicode, mais sur mon installation de Chrome, je vois la boîte générique.
Michael Pryor
3
Comme moi ... Il semble que ce ne soit pas un problème avec votre installation de chrome, c'est pour tous les chromes. FF le reconnaît très bien. Chrome ne peut même pas le reconnaître comme un personnage Unicode (je ne pense pas).
soandos
Fait intéressant, Chromium sur Ubuntu fonctionne très bien.
Kibbee
@soandos Fonctionne très bien pour moi avec Google Chrome (12.0.742.112) sur Ubuntu 11.04 (Natty).
Mike Spross

Réponses:

20

Je suppose que c'est un problème de substitution de polices.

Les navigateurs rencontrent le problème "Le glyphe sélectionné n'est pas dans la police spécifiée". Il y a deux directions que vous pouvez suivre à partir d'ici: vous pouvez soit extraire le glyphe équivalent d'une autre police (qui aura souvent l'air cassée mais il peut ne pas être clair pourquoi pour l'utilisateur) ou simplement afficher un espace réservé non trouvé (qui sera toujours cassé, mais au moins évidemment).

J'imagine que Firefox et Opera reconnaissent que le glyphe demandé est un symbole qui peut être extrait d'une autre police en toute sécurité, tandis que les autres navigateurs sont conservateurs et affichent simplement le glyphe "Uh ... dunno".

Charles Miller
la source
Je crois que Chrome et Safari utilisent tous deux Windows GDI pour le rendu de texte sur Windows. IE9 utilise DirectWrite qui semble avoir le même comportement que GDI dans ce cas.
Craig Williams
Intéressant: vous obtenez le même résultat si vous le collez dans la barre d'adresse.
xpda
@xpda vous avez raison; le personnage fonctionne dans la barre d'adresse et le corps de Firefox, et ne fonctionne ni dans aucun endroit dans Chrome. Fascinant.
Jeff Atwood
5
Cela semble juste: Chrome et Firefox utilisent tous les deux Uniscribe pour rendre le texte dans le navigateur, et Uniscribe renvoie simplement un code d'erreur à l'application appelante lorsqu'un caractère particulier est introuvable dans la police actuelle. C'est à l'application de décider si Uniscribe doit ensuite utiliser le remplacement de police pour trouver une substitution, ou s'il doit simplement restituer le glyphe de la boîte. Chrome est l'un des navigateurs qui dit simplement "Peu importe, je m'en fiche. La boîte va bien."
Mike Spross
11

Intéressant. Ce n'est pas seulement Chrome - vous pourriez bien vous demander pourquoi l' un des navigateurs suivants ne peut pas l'afficher sur Windows 7:

entrez la description de l'image ici

Du haut jusqu'en bas:

  • Firefox (y)
  • IE9 (n)
  • Chrome (n)
  • Opéra (y)
  • Safari (n)

Par conséquent, Firefox et Opera peuvent afficher ce caractère unicode dans Windows 7, mais pas les autres navigateurs.

quelle est cette clé? ⎋

Jeff Atwood
la source
Pour ce qui vaut, cette clé est "ESC" dans Mac OS X.
Martin Marconcini
@jjn c'est une réponse partielle, qui est généralement autorisée
Jeff Atwood
C'est noté. (Commentaire retiré.)
jjnguy
Comme les navigateurs se ressemblent de nos jours ... :)
balexandre
2
Chrome 13.0.782.107/Linux: ok
Arnaud Le Blanc
6

La question demandant "Pourquoi ce caractère Unicode est-il [...] illisible dans Google Chrome sur Windows 7?" est le

Ce caractère particulier est simplement un point de code unicode qui est un nombre arbitraire. Il y a beaucoup de points de code Unicode qui n'ont pas de symbole «officiel». Même si elles ont un symbole, ce n'est pas nécessairement le cas que votre police a un symbole pour ce point de code. Si vous choisissez une police différente, vous pouvez vous retrouver avec un symbole différent.

J'ai regardé le CSS de la page et il montre ce personnage s'affichant dans Arial (plus un tas d'autres polices qui n'ont pas d'importance). Windows est livré avec Arial, il doit donc toujours récupérer cette police en premier. Il semble qu'Arial n'ait pas de symbole pour ce point de code unicode. Chaque fois que vous n'avez pas de glyphe pour un point de code, il met une forme de boîte indiquant qu'il n'y a pas de glyphe (comme d'autres l'ont indiqué).

La plus grande question est de savoir ce que Firefox ou les autres navigateurs font exactement où cela fonctionne sous Windows. J'ai regardé les autres polices répertoriées dans le CSS (je pensais que cela pourrait retomber sur la prochaine police CSS) mais elles n'ont pas non plus de glyphe pour ce code. Une possibilité est que Firefox soit livré avec ses propres polices.

En creusant dans Firefox, j'ai remarqué quelques polices pour les symboles mathématiques ici: 'C: \ Program Files (x86) \ Mozilla Firefox \ res \ fonts'. C'est peut-être de là que ça vient.

Chris Dail
la source
3

Je sais que c'est un peu une vieille question, mais pour ceux qui sont fraîchement sur Google, j'ai une solution qui a fonctionné en 2013. Tout d'abord, vous devez confirmer que vous avez une police installée sur votre PC Windows 7 qui peut rendre la police:

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

En supposant qu'au moins une police dans la liste des polices locales rend cela:

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

Sinon, installez quelques polices Unicode "catch all": Code2000 et Symbola

Une fois que vous avez une police qui rendra le symbole, vous pouvez essayer la page de test du navigateur:

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

Chrome 28.0.1500.95 (et probablement toutes les versions récentes) effectue la substitution de polices ... principalement.

Pour une raison quelconque, même avec des polices qui rendent U + 1F3C1 correctement installé, Chrome 28.0 n'affiche pas ce caractère Unicode: 🏁. Firefox fonctionne à merveille. Allez comprendre.

  • Dave
ViperGeek
la source
La substitution de polices au-dessus du BMP est toujours interrompue dans Chrome pour Windows uniquement : code.google.com/p/chromium/issues/detail?id=111382
Fizz
2

Selon le minimum absolu, tous les développeurs de logiciels doivent absolument connaître positivement Unicode et les jeux de caractères (sans excuses!) De Joel Spolsky : "S'il n'y a pas d'équivalent pour le point de code Unicode que vous essayez de représenter dans l'encodage que vous essayez pour le représenter, vous obtenez généralement un petit point d'interrogation:? ou, si vous êtes vraiment bon, une boîte . "

Im exécutant Chromium 13.0.782.112 sur Archlinux et mon encodage par défaut est en_US.UTF-8 - le caractère s'affiche bien sur la page liée à l'origine.

wulfgarpro
la source
2
c'est bien, mais je ne pense pas que la question concernait la boîte, mais pourquoi certains navigateurs peuvent afficher ce caractère particulier et d'autres pas.
Jeff Atwood
@Jeff Atwood, d'accord - si quoi que ce soit, ma réponse fournit des preuves plus étayant le problème typographique; lire ici . Je ne peux pas vous dire la police par défaut car je ne suis pas devant ma machine.
wulfgarpro
0

La vraie réponse: c'est parce qu'il y a un bogue dans Chrome qui empêche le rendu des polices unicode de Windows 7 (et supérieur?).

Le problème est ici, avec tous les détails sanglants: https://crbug.com/42984 ( mettez -le en vedette et peut-être que quelqu'un le remarquera?)

Plus d'analyses et une solution de contournement possible peuvent être trouvées ici: http://gschoppe.com/uncategorized/fixing-unicode-support-in-google-chrome/ .

Noyo
la source
0

Firefox 45.0 sur mon GNU / Linux LFS 7.9 n'affichait pas le glyphe Unicode mentionné en question, n'affichait pas non plus d'autres glyphes comme le grec etc.

Cependant, après avoir téléchargé la Symbolapolice d' ici et de là:

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

Firefox affiche maintenant le glyphe en question et affiche également d'autres glyphes.

user3405291
la source