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

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

Кодировки и шрифты

Кодировка, это соответствие числа в памяти компьютера и отображаемого символа. Вот, например, символ А. Мы видим на экране букву А, а компьютер видит число 1040. Число 1040 говорит компьютеру, что нужно отрисовать букву А, но не говорит как: жирно, курсивно, с завитушками, какого размера. Начертание не дело кодировки, это дело шрифта.

С точки зрения компьютера, шрифт, это файл, в котором некоторым числам (кодовым позициям) сопоставлены картинки. То есть числу 1040 сопоставлено изображение буквы А. Только одно изображение буквы А. Если нам нужна курсивная буква А, нам нужно использовать другой шрифт, где будут нарисованы курсивные буквы. С засечками или без засечек? Для этого опять нужны разные шрифты. То есть, если у нас для отображения текста используется шрифт Arial-italic, компьютер, встречая число 1040, обращается к шрифту, получает от него изображение (курсивная заглавная буква А без засечек) и выводит его.

Наличие символов в шрифтах

По большому счёту, какие символы рисовать в соответствие каждому числу, на совести разработчика шрифта. Он может вместо буквы «А» нарисовать букву «Б» или вообще что-нибудь неприличное. И компьютер выведет это на экран не моргнув и глазом. Однако, шрифты, которые используются на компьютерах и в интернете обычно делают вменяемые люди и они соответствуют стандартам. То есть буква «Б», вместо буквы «А», скорее всего, не появится.

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

Поэтому ответ на вопрос «почему при копировании символ не показывается» — на той странице с которой вы копировали и на той, на которую вы скопировали, используются разные шрифты. И если в первом шрифте этот символ отрисован, то во втором его разработчики поленились.

Символы на нашем сайте

Задача нашего сайта, показать все символы Юникода. Поэтому мы используем шрифты, где отрисовано большинство этих символов. И ведём постоянную работу над тем, чтобы нарисовать недостающие. Поэтому, у нас есть и мордочка котика и много другого интересного. Но в других шрифтах на других сайтах этого может не быть.

Вы можете зайти на страницу символа и посмотреть, как он выглядит в стандартных шрифтах, типа Arial, Times New Roman и других. Если при этом символ не превращается в квадратик, то скорее всего, он будет правильно отображаться на других сайтах.

Проблема ещё в том, что даже такие стандартные шрифты, как Arial, на разных операционных системах могут содержать различное количество символов.

Другая проблема: симпатичная мордочка котика в другом шрифте может оказаться не такой симпатичной.

Программы, не поддерживающие Юникод целиком

Все современные браузеры поддерживают последний стандарт Юникода (более 100 тысяч символов). Но некоторые другие (различные мессенджеры вроде ICQ), могут поддерживать не все символы (обычно, только первые 65 тысяч). Так как мордочка котика не попадает в этот лимит (её код — 128 049), то они не смогут её нормально отобразить.

Пути решения проблемы

Если понравившийся вам символ не отображается на каком-то сайте, то эту проблему не так просто решить. Можно установить себе более полный шрифт, но тогда вы увидите этот символ, а ваши читатели всё равно нет. Можно обратиться к администрации сайта, чтобы они установили новый шрифт.

Самый же радикальный, но работающий вариант — если это возможно, вставлять не символ, а картинку с ним.

Читайте также:

Скопировано!