Чому 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.