Warum Tun Einige Spezielle Unicode-Zeichen Nicht darstellen in Google Chrome?
Auf der gleichen Maschine mit der gleichen schriftart (Arial), habe ich verschiedene text-rendering in Chrome und IE9:
<html>
<head>
</head>
<body style="font-family: Arial;">
IIIIIIIII⫸
IIIIIIIII⭆
IIIIIIIII⨠
IIIIIIIII➤
IIIIIIIII➧
IIIIIIIII⚞
IIIIIIIII▶
</body>
</html>
Sieht es wie folgt aus:
Warum geschieht dies? Gibt es einen Weg, um Chrome richtig Rendern die beiden beschädigten Pfeile, die korrekt im IE? (Positionen 1 und 3)
- Ich hab gerade geschaut bei Ihr html in Chrom - sieht aus wie 2 und 6 sind die fehlerhaften, zu mir!
- Editiert: "...richtig Rendern die beiden beschädigten Pfeile, die korrekt im IE?"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre CSS-Eigenschaft name ist ein Tippfehler,
font-familiy
stattfont-family
, so die Deklaration wird ignoriert. Aber die Erklärung würde nicht auf die Darstellung viel sowieso, da Arial enthält keine Sonderzeichen verwendet. Dies bedeutet, dass Browser versuchen, abholen Glyphen aus verschiedenen Schriften, und Ihre Methoden variieren hier; IE ist berüchtigt für Fehler dazu, in vielen Gelegenheiten: es kann nicht oft leisten einen Charakter, obwohl einige Schriftarten im system enthält.Besser Rendern, die Sie brauchen, um zu analysieren, die Unterstützung, die die verschiedenen Charaktere bei gängigen Schriftarten und schreiben geeignet-Listen als Werte für die
font-family
Eigenschaft. Möchten Sie vielleicht, um zu definieren, verschiedene Listen für verschiedene Charaktere, wickeln Sie Sie inspan
(oder, warum nicht,font
) Elemente.Zum Beispiel, die erste spezielle Zeichen U+2AF8 (
⫸
) vorhanden ist, in wenigen Schriften nur, wenn zusätzlich zu den aufgeführtenhttp://www.fileformat.info/info/unicode/char/2af8/fontsupport.htm
die Cambria Math font enthält es auch. So könnten Sie für es
Muss man auch die
line-height
Eigenschaft für den umschließenden block-Elements (wiep
) auf einen angemessenen Wert , wie 1.3. Ansonsten ist der sehr große inhärente line Höhe von Cambria Math kann dazu führen, dass zu große Abstand zwischen den Zeilen.Deinem HTML-code fehlt ein
Doctype
Erklärung, aber noch wichtiger ist, es fehlt der Zeichensatz-Deklaration.Lesen Sie diesen Artikel für weitere Informationen:
Das Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
BEARBEITEN: Es ist wahrscheinlicher, dass diese speziellen Zeichen fehlen in der OS/browser unterschiedliche default-font-sets. Sie könnte erklären, die richtigen fonts, aber wenn das system des Nutzers nicht installiert ist, wird dieses problem bestehen bleiben. Getestet habe ich den code in der Antwort von Jukka, ich glaube, Sie werden richtig sein, und ich Schaffe es nicht, es funktioniert in Safari Mac, da diese Schriftarten nicht installiert sind, in meinem system.