Istnieje kilka znaków Unicode, które widzę tylko jako pola. Dzieje się tak tylko w Chrome. Kodowanie znaków jest ustawione na UTF-8, ale autodetekcja nie pomaga.
Przykład: []
Zobaczysz tylko dwa nawiasy kwadratowe, ale tak naprawdę pomiędzy nimi jest Unicode Character World Joiner . To niezniszczalna przestrzeń o zerowej szerokości.
Złożyłem też małe demo jsfiddle . Nie widzę postaci World Joiner , ale widzę Hair Space . (I widząc to, mam na myśli to, że tego nie widzę. Widzisz?)
Dzieje się tak również, gdy ludzie publikują emotikony w nowym stylu itp.
Jak mogę to naprawić?
Aktualizacja:
Dzieje się tak wszędzie (Twitter, Facebook, nazywacie to). Nie używam specjalnych czcionek lub zmieniłem coś związanego z czcionkami w moim systemie (Windows 7, 64-bitowy). Czy mylę się zakładając, że to powinno działać?
Aktualizacja 2:
To doprowadza mnie do szaleństwa. Wciąż jest tak wiele znaków, które się nie wyświetlają.
Przykład (zapakowany prezent): 🎁
Jak widać, Chrome domyślnie nie wyświetla znaku. Tylko wtedy, gdy jawnie ustawię czcionkę na Segoe UI Symbol, robi to. Dlaczego Chrome nie używa automatycznie czcionki zastępczej?
Jak sprawić, by Chrome rozpoznał czcionkę Segoe UI Symbol?
źródło
Odpowiedzi:
http://www.fontspace.com/james-kass/code2000 (3.73 MB)
Istnieje blog, który wspomina o tym
http://gschoppe.com/blog/fixing-unicode-support-in-google-chrome/.
Jednak blog zawiera wiele błędów w swoim opisie. (Zobacz komentarze do twojego pytania, kilka przykładów. Ale jego opis nie ma znaczenia)
Okazało się, że instrukcje wymienione na blogu działały, a mianowicie rozpakowanie zip'a do folderu czcionek w panelu sterowania i ponowne uruchomienie chrome.
http://gschoppe.com/projects/fbformat/includes/unicodefont.zip
źródło
Ramki lub kwadraty pojawiające się zamiast rzeczywistych glifów to efekt uboczny używanej czcionki bez włączonego znaku Unicode. Spróbuj wyszukać czcionkę z bardziej kompletną implementacją Unicode.
źródło