Компьютеры могут работать только с числовыми данными. Поэтому для представления символов на экране необходимо использовать их числовые эквиваленты или коды. Надо сказать, что символы кодировались еще до появления компьютеров - в телеграфии.
Вначале применялась кодировка каждого символа 7 битами. В результате можно было представить до 128 символов. В этот период и был разработан известный стандарт ASCII - таблица соответствия кодов и символов. Несколько позже она была расширена до 256 символов и в таком виде существует по сей день.
Первая половина таблицы ASCII (символы от 0 до 128) всегда остается неизменной, а вторая (символы от 128 до 256) содержит различные символы, набор которых зависит от той страны, где они используются (латиница, символы восточноевропейских алфавитов, в том числе кириллица). В результате одному и тому же коду могут соответствовать совершенно разные символы, что приводило к необходимости создавать для каждой таблицы свои шрифты. Естественно, это вызывало проблемы, связанные с отображением символов, набранных в различных кодировках.
Пока основная часть компьютеров использовалась в пределах США, с этим еще можно было мириться. Но быстрое развитие компьютерной индустрии (особенно Internet ) потребовало единого шрифтового стандарта. Одним из вариантов решения этой проблемы была разработка стандарта Unicode, который в настоящее время получил массовое признание и был поддержан в операционной системе Windows 95.
Стандарт Unicode кодирует каждый символ не одним байтом (что позволяет закодировать 256 символов), а двумя, что дает возможность представить одновременно до 65536 различных символов. Благодаря этому стало возможным располагать в одном шрифте символы, использующиеся в разных странах мира. Первые 128 символов остались такими же, как и в стандарте ASCII . Это буквы латинского алфавита. Русским символам соответствуют коды от 1025 до 1112. В других областях размещаются символы греческих, арабских, восточноевропейских и других языков.
Старые программы, которые не поддерживают работу с двухбайтовыми шрифтами, при необходимости отобразить кириллический символ обращаются к символам в диапазоне 128-256, а в Unicode-шрифте в этой области находятся совсем другие символы, которые и отображаются на экране.
В Microsoft Word, наоборот, такой шрифт будет работать вполне нормально. Однако попытка использовать старый шрифт True Type приведет, скорее всего, к появлению пустых квадратов. Дело в том, что такие шрифты имеют всего по 256 символов, причем последний имеет код 256. Согласно стандарту Unicode Word считает, что в данном диапазоне (0-255) расположены символы латиницы, цифры, знаки пунктуации, а также символы различных европейских стран - с «крышечкой», умляутом, точками, черточками и т.п. При попытке набрать по-русски какой-либо текст будут отображаться квадраты, так как Word будет пытаться ввести русские символы (а по стандарту Unicode их символы имеют коды после 1025). Поскольку в старых шрифтах нет символов с такими кодами, вместо них рисуется символ по умолчанию (обычно это пустой квадрат).