Тайны и секреты компьютера

Unicode


В ранних версиях Windows для каждой кодовой страницы должен был иметься свой шрифт, так как в один шрифт - в одну кодовую страницу - нельзя было поместить больше 255 символов. Это имело определенные неудобства, и был придуман и утвержден новый стандарт таблицы символов - Unicode. Согласно этому стандарту каждый символ кодировался не восемью, а шестнадцатью битами информации, что позволяло закодировать до 65536 символов. Эта кодировка также получила название двухбайтовой кодировки. Для совместимости со старыми стандартами первые 256 символов стандарта Unicode соответствовали стандартной кодовой таблице, а на остальных местах можно было разместить все необходимые символы всех языков. Были созданы новые шрифты в стандарте Unicode. Безусловно, использовались в них далеко не все 65 тысяч символов - стандарт имеет большой задел на будущее, и пока в шрифтах, совместимых с этим стандартом, "заняты" только первые сотни мест.

В шрифте Unicode имеется как бы несколько кодовых страниц сразу. Вот, к примеру, состав Unicode-шрифта Times New Roman (рис.13.4).

Рис.13.4. Содержимое  шрифта Times New Roman, соответствующего

стандарту Unicode, в окне Word97 "Вставка символа"

Вы видите в правом углу диалогового окна Word "Вставка символа" список региональных кодовых страниц, представленных в этом шрифте. Для того, чтобы программы, не поддерживающие стандарт Unicode (например, Microsoft Word 6.0), могли работать с такими шрифтами, операционная система осуществляет так называемую "подстановку шрифтов", то есть "раскладывает" шрифт Unicode на отдельные кодовые страницы и выбирает из него ту страницу, которая соответствует установленной в системе. Параметры подстановки прописываются в системном реестре, а в операционных системах Windows9x -  и в файле Win.ini (рис.13.5).

Рис.13.5. Подстановка шрифтов в файле Win.ini.

Смысл находящихся в системном реестре и в файле win.ini выражений - указание программам на то, где в шрифте искать символы, соответствующие нужной кодовой странице.
Так, для шрифта Times New Roman эти символы (кириллица) начинаются с 204-го места, что и указано в Win.ini. Теперь Microsoft Word 6.0 спокойно будет работать с Unicode - шрифтом Times New Roman, воспринимая его как обычный кириллический шрифт. При этом в восприятии этого текстового редактора шрифт Times New Roman окажется как бы "разложенным" на набор шрифтов (Times New Roman Cyr, Times New Roman CE и др.), каждый из которых будет соответствовать определенной кодовой странице, несмотря на то, что все эти "шрифты" хранятся в одном файле.

Иногда встречается ситуация, когда Microsoft Word 97 вполне нормально отображает на экране текст, но на принтер выводится набор квадратиков. Это вот как раз проявляется некорректное взаимодействие программного обеспечения, когда одни компоненты (Word97) поддерживают новый стандарт, а другие (драйвера к принтеру) - нет[30].

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



Рис.13.6. Шрифты Unicode - работают везде.

 


Содержание раздела