21

Этот вопрос Apple содержит текст

что это за ключ? ⎋

Что мне кажется в Google Chrome:

Почему этот символ Юникода или другие подобные ему не отображаются в Google Chrome на Windows 7?

7 ответов7

20

Я предполагаю, что это проблема замены шрифта.

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

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

11

Интересно. Это не просто Chrome - вы можете спросить, почему ни один из следующих браузеров не может отобразить его в Windows 7:

Сверху вниз:

  • Firefox (у)
  • IE9 (n)
  • Хром (н)
  • Опера (у)
  • Сафари (н)

Поэтому Firefox и Opera могут отображать этот символ Unicode в Windows 7, но другие браузеры не могут.

что это за ключ? ⎋

6

На вопрос «Почему этот символ Unicode [...] не отображается в Google Chrome в Windows 7?»" это

Этот конкретный символ - просто кодовая точка Unicode, которая является произвольным числом. Существует много кодовых точек Юникода, которые не имеют «официального» символа. Даже если у них есть символ, это не обязательно тот случай, когда ваш шрифт имеет символ для этой кодовой точки. Если вы выберете другой шрифт, у вас может получиться другой символ.

Я посмотрел на CSS для страницы, и он показывает отображение этого символа в Arial (плюс куча других шрифтов, которые не имеют значения). Windows поставляется с Arial, поэтому он всегда должен сначала выбрать этот шрифт. Похоже , Arial не имеет символа для этого юникода элемента кода. Каждый раз, когда у вас нет глифа для кодовой точки, он вставляет некоторую форму поля, указывающего, что глифа нет (как указали другие).

Более важный вопрос заключается в том, что именно Firefox или другие браузеры делают там, где он работает в Windows. Я посмотрел на другие шрифты, перечисленные в CSS (я думал, что это может быть откат к следующему шрифту CSS), но у них также нет глифа для этой кодовой точки. Возможно, Firefox поставляется со своими собственными шрифтами.

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

3

Я знаю, что это старый вопрос, но для тех, кто только что занялся этим, у меня есть решение, которое сработало в 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 работает прекрасно. Пойди разберись.

  • Дейв
2

Согласно Абсолютному минимуму, каждый разработчик программного обеспечения должен абсолютно точно знать о Unicode и наборах символов (никаких оправданий!)Джоэл Спольски : «Если не существует эквивалента для кодовой точки Unicode, которую вы пытаетесь представить в кодировке, в которой вы пытаетесь ее представить, вы обычно получаете небольшой знак вопроса:? или, если ты действительно хорош, коробка. "

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

0

Фактический ответ: это потому, что в Chrome есть ошибка, которая скрывает Windows 7 (и выше?) рендеринг шрифтов Unicode.

Проблема здесь, со всеми кровавыми деталями: 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 теперь показывает соответствующий глиф, а также отображает другие глифы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .