Чому Chrome у Windows 7 не показує мені певні символи Unicode?


21

Це запитання Apple містить текст

що це за ключ? ⎋

Що мені так виглядає в Google Chrome:

введіть тут опис зображення

Чому цей символ Unicode або подібні йому подібні не можна відображати в Google Chrome у Windows 7?


Мені це схоже на коробку ... У будь-якому випадку подвійне оприлюднення нахмуриться.
soandos

3
@soandos, про яку іншу публікацію ти говориш? також це не повинно бути коробкою. тому я задаю це питання. Хтось задав запитання на askdifferent і набрав там символ Unicode, але на моїй установці Chrome я бачу загальне поле.
Майкл Прайор

3
Як і я ... Здається, це не проблема з вашою установкою хрому, це для всіх хромів. FF визнає це прекрасно. Chrome навіть не може розпізнати його як функцію Unicode (я не думаю).
soandos

Цікаво, що Chromium на Ubuntu справді чудовий.
Kibbee

@soandos Для мене добре працює з Google Chrome (12.0.742.112) на Ubuntu 11.04 (Natty).
Майк Спросс

Відповіді:


20

Я припускаю, що це проблема заміни шрифту.

Браузери стикаються з проблемою "Виділений гліф не вказаний шрифт". Звідси можна дійти два напрямки: ви можете витягнути еквівалентний гліф з іншого шрифту (який часто виглядатиме ламаним, але може бути не зрозуміло, чому користувачеві) або просто відобразити не знайдений заповнювач символів (який завжди буде виглядати ламаною, але, принаймні, очевидно, так).

Я думаю, що Firefox і Opera визнають, що запитуваний гліф є символом, який можна безпечно витягнути з іншого шрифту, тоді як решта браузерів консервативні і просто показують гліф "Uh ... dunno".


Я вважаю, що Chrome і Safari використовують GDI Windows для візуалізації тексту в Windows. IE9 використовує DirectWrite, який, схоже, має таку ж поведінку, як GDI в цьому випадку.
Крейг Вільямс

Цікаво: той же результат ви отримуєте, якщо вставити його в адресний рядок.
xpda

@xpda ви праві; персонаж працює в адресному рядку та тілі на Firefox і не працює ні в Chrome. Захоплююче.
Джефф Етвуд

5
Звучить правильно: Chrome і Firefox обидва використовують Uniscribe для візуалізації тексту у веб-переглядачі, а Uniscribe просто повертає код помилки виклику програми, коли певний символ не може бути знайдений у поточному шрифті. Додаток вирішує, чи слід Uniscribe використовувати резервний шрифт, щоб знайти заміну, чи він повинен просто відображати гліф поля. Chrome - один із веб-переглядачів, який просто говорить: "Що б мені не було байдуже. Коробка в порядку".
Майк Спрос

11

Цікаво. Це не лише Chrome - ви можете запитати, чому жоден із перелічених нижче браузерів не може відображати його в Windows 7:

введіть тут опис зображення

Зверху вниз:

  • Firefox (y)
  • IE9 (n)
  • Chrome (n)
  • Опера (y)
  • Сафарі (n)

Тому Firefox і Opera можуть відображати цей символ Unicode в Windows 7, але інші браузери не можуть.

що це за ключ? ⎋


Для того, що варто, цей ключ - "ESC" в Mac OS X.
Мартин Марконніні

@jjn це часткова відповідь, яка, як правило, дозволена
Джефф Етвуд

Помічено. (Коментар відкликаний.)
jjnguy

Наскільки схожі веб-переглядачі сьогодні ... :)
balexandre

2
Chrome 13.0.782.107/Linux: гаразд
Арно Ле Блан

6

Питання, що задає "Чому цей символ Unicode, [...] не можна відобразити в Google Chrome у Windows 7?" є

Цей конкретний символ є просто кодовою точкою unicode, яка є довільним числом. Є багато кодових точок Unicode, які не мають "офіційного" символу. Навіть якщо у них є символ, це не обов'язково, що ваш шрифт має символ для цієї кодової точки. Якщо ви вибрали інший шрифт, у вас може виникнути інший символ.

Я переглянув CSS для сторінки, і вона показує, що цей символ відображається в Arial (плюс купа інших шрифтів, які не мають значення). Windows поставляється з Arial, тому завжди слід спочатку підбирати цей шрифт. Схоже, Arial не має символу для цієї кодової точки unicode. У будь-який час у вас немає гліфів для кодової точки, він розміщується в якійсь формі поля, вказуючи на відсутність гліфа (як показали інші).

Питання в тому, що саме Firefox або інші веб-переглядачі роблять там, де це працює в Windows. Я переглянув інші шрифти, перелічені в CSS (я подумав, що це може відпадати на наступному шрифті CSS), але у них також немає гліфів для цієї кодової точки. Одна з можливостей полягає в тому, що Firefox насправді постачається зі своїми шрифтами.

Уникаючи у firefox, я помітив тут шрифти для математичних символів: 'C: \ Program Files (x86) \ Mozilla Firefox \ res \ fonts'. Можливо, саме звідси воно походить.


3

Я знаю, що це дещо давнє запитання, але для тих, хто вперше це сказав Google, у мене є рішення, яке спрацювало в 2013 році. По-перше, ви повинні підтвердити, що на вашому ПК з Windows 7 встановлено шрифт, який може рендерувати шрифт:

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

Якщо припустити, що принаймні один шрифт у локальному списку шрифтів відображає це:

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

Якщо ні, то встановіть пару шрифтів Unicode " Код усіх": Code2000 та Symbola

Коли у вас з'явиться шрифт, який відображатиме символ, ви можете спробувати тестову сторінку браузера:

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

Chrome 28.0.1500.95 (і, мабуть, усі останні випуски) виконує заміну шрифту ... в основному.

З будь-якої причини, навіть якщо шрифти, які відображають U + 1F3C1, правильно встановлені, Chrome 28.0 не відображатиме цей символ Unicode: 🏁. Firefox прекрасно працює. Піди розберися.

  • Дейв

Заміна шрифту вище BMP все ще порушена в Chrome лише для Windows : code.google.com/p/chromium/isissue/detail?id=111382
Fizz

2

Відповідно до Абсолютного мінімуму кожен розробник програмного забезпечення повинен абсолютно позитивно знати про набори Unicode та символів (без виправдань!) Джоела Спольського , "Якщо немає еквівалента для кодової точки Unicode, яку ви намагаєтеся представити в кодуванні, яке ви намагаєтеся щоб представити його, ви зазвичай отримуєте невеликий знак запитання: "або, якщо ви справді хороший, коробку ".

Я запускаю Chromium 13.0.782.112 в Archlinux, і моє кодування за замовчуванням en_US.UTF-8 - графік відображається добре на початково пов'язаній сторінці.


2
це добре, але я не думаю, що питання стосувалося цього поля, але чому деякі браузери можуть відображати саме цей символ, а інші не можуть.
Джефф Етвуд

@ Джефф Етвуд, погодився - якщо що, моя відповідь надає більше підтверджень щодо типографічного питання; читайте тут . Я не можу сказати вам шрифт за замовчуванням, оскільки я не перебуваю перед машиною.
wulfgarpro

0

Справжня відповідь: Це тому, що в Chrome існує помилка, яка переносить шрифт Unicode Windows 7 (і вище?)

Проблема тут, з усіма деталями горі: https://crbug.com/42984 (зірочку та, можливо, хтось це помітить?)

Більше аналізу та можливого вирішення можна знайти тут: http://gschoppe.com/uncategorized/fixing-unicode-support-in-google-chrome/ .


0

Firefox 45.0 на моєму GNU / Linux LFS 7.9 не показав згаданий гліф Unicode, а також не відображав інших гліфів, таких як грецький тощо.

Однак після завантаження Symbolaшрифту звідси і далі:

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

Firefox тепер показує гліф, про який йде мова, а також відображає інші гліфи.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.