Почему некоторые символы отображаются в Chrome как квадраты?


25

Например, в инструментах разработки я получаю что-то вроде:

Инструменты разработчика Chrome

Некоторые из этих квадратов находятся в конце строк, сначала я думал, что это возврат каретки, но оказалось, что это не так.

Кроме того, квадраты появляются после =или >во многих местах, где нет новой строки, и просмотр файла в шестнадцатеричном редакторе показывает, что между =и нет никаких символов "(например id=", отображается как id=? ")

Это также очень редко встречается на веб-страницах, например, я видел:

Результаты поиска Google

Я скопировал это предложение, посмотрел его в шестнадцатеричном редакторе, и снова между eи нет символа :. В исходном коде тоже ничего не отображается.

Я никогда не видел этого раньше, и это только с тех пор, как я переустановил арку несколько дней назад.

Хром это: Версия 19.0.1084.15 dev
Arch это: Ядро 3.3.1-1-ARCH,x86_64

locale.genимеет en_GBлокализацию без комментариев (как UTF-8и ISO-8859-1). По умолчанию используется кодировка chrome ISO-8859-1, но переключение на нее UTF-8не имеет значения.

Это HTML-файл, который я использовал: test.html

Исправление было бы фантастическим, объяснение было бы хорошим, подтверждая, что это (или нет) просто проблема с моей настройкой, также было бы хорошо.

Изменить: После изучения шрифтов, я обнаружил, что в обоих случаях он пытался использовать Arial, который в Arch является частью ttf-ms-fontsпакета. Установка, которая привела к изменению шрифта, но квадраты остались (хотя и другой формы). В обоих случаях шрифт не придерживается шрифтов по умолчанию для системы.

Инструменты разработчика Chrome - с Arial


Это работает и показывает штрафы для меня. Я думаю, это должно быть проблемой с вашей настройкой, может быть, вашей системой рендеринга шрифтов.
Корен

@Coren, я забыл про шрифты: P сейчас посмотрю.
Мат

Ответы:


19

Это решило проблему для меня. Установите шрифты dejavu.

sudo pacman -S ttf-dejavu

2
Красивая - это решило и мою проблему.
Коди Райхерт

Это испортило мои терминальные шрифты и удаление с помощью pacman -R ttf-dejavu имеет много связанных зависимостей, pacman -Rdd ttf-dejavu не решает удаление и сброс шрифтов
pshirishreddy

Установка любого другого шрифта с проблемными символами также
подойдет

все еще работает в 2017 году

Если вы получаете квадраты с помощью плагина для Chromium, попробуйте это.
e18r

6

Стандартно печатать заменяющий символ Unicode вместо символа, который не существует в текущем шрифте.

Возможное исправление - просто изменить шрифт по умолчанию для вашей ОС (если браузер наследует настройки ОС) или для браузера. Например, мой Firefox 11.0 в Ubuntu 11.10 использует шрифт «serif» (который может быть синонимом FreeSerif ), который, похоже, поддерживает множество символов Unicode.

PS: изображения, кажется, исчезли.


Спасибо за ответ. После комментария от coren я провел некоторое расследование и обнаружил, что квадрат из результата Google (второе изображение) пытается использовать arial. Я установил, ttf-ms-fontsчто привело к изменению: квадраты теперь другой формы. Я постараюсь найти шрифты по умолчанию.
Мат

9
which resulted in a change: the squares are now a different shapeМне жаль, что я так сильно смеялся над этим.
Роб

1

У меня была такая же проблема. Эта страница , например, была особенно нечитабельной, с квадратами, появляющимися по всему тексту страницы. Мне удалось это исправить, переименовав все arial*.ttfфайлы в /usr/share/fonts/truetype/msttcorefontsрезервные имена файлов, а затем установив для шрифта sans-serif по умолчанию в Chrome значение Droid Sans. Сейчас я вообще не могу использовать шрифты Arial, но по крайней мере страницы выглядят правильно.


0

У меня такая же проблема. Используя прошлые посты в качестве руководства, я скачал и установил расширение Font Changer Chrome. Использование FC для перехода на Arial решило проблему. Другие шрифты могут также работать, но я еще не пробовал их.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.