Рис. 5.4.
Рис. 5.5.
Индикатор языка ввода на панели задач
Windows хранит информацию о раскладках клавиатуры в таблицах, которые определяют, какой символ должен генерироваться при нажатии пользователем конкретной клавиши. Поскольку символы генерируются программно, Windows может управлять активизацией раскладок клавиатуры для каждого конкретного пользователя в каждый конкретный момент. Утилиты Клавиатура (Keyboard) и Язык и стандарты из панели управления содержат вкладку
Языки и раскладки
(Input Locales), которая устанавливает соответствие между языком и раскладкой клавиатуры. На этой вкладке (рис. 5.4) пользователь может назначить раскладку клавиатуры для каждого из языков ввода (кнопка
Свойства
(Properties)).
Используя индикатор раскладки клавиатуры на панели задач (рис. 5.5) или комбинацию клавиш, пользователь может переключаться между языками ввода и раскладками клавиатуры.
Информация о парах "язык ввода—раскладка клавиатуры" хранится в пользовательских профилях. Каждый пользователь может назначить себе индивидуальные раскладки клавиатуры для каждого из языков.
Как Windows 2000 работает со шрифтами
Windows 2000 управляет всеми инсталлированными шрифтами централизованно. Чтобы узнать, какие шрифты уже установлены в Windows 2000, раскройте панель управления, и выберите значок
Шрифты
(Fonts). После этого на экране появится окно
Шрифты,
в котором будут отображены значки и названия всех инсталлированных в системе шрифтов.
Типы шрифтов достаточно легко различать по значкам, поставленным им в соответствие: так, шрифтам TrueType соответствуют значки с символами "ТТ", шрифтам ОрепТуре — значки с символом "О", а всем остальным — значки с символом "A". Windows 2000 позволяет одновременно инсталлировать неограниченное количество шрифтов любого типа. Если количество значков, отображенных в окне
Шрифты,
станет слишком велико, можно воспользоваться командой
Скрыть варианты начертания
(Hide Variations (Bold, Italic, etc.)) из меню
Вид
(View).
Очень удобным средством является возможность быстрого просмотра текста, набранного некоторым шрифтом. Для этого в меню Вид нужно выбрать команду
Образец
(Preview), а затем навести курсор мыши на интересующий
шрифт — во всплывающем окне появится тестовая фраза в соответствующем начертании.
В целом все операции по управлению шрифтами в окне
Шрифты
выполняются в Windows 2000 точно так же, как это делалось в Windows NT 4.0.
Кодировка символов
Кодировка символов (часто называемая также кодовой страницей) — это набор числовых значений, которые ставятся в соответствие группе алфавитно-цифровых символов, знаков пунктуации и специальных символов.
Рис. 5.3.
Вкладка
Общие
(General) окна
Язык и стандарты
(Regional Options)
Однобайтные кодировки используют 8 бит и позволяют закодировать до 256 различных символов. В Windows первые 128 символов всех кодовых страниц состоят из стандартного набора символов ASCII. Символы с номерами от 128 до 255 представляют дополнительные символы и варьируются в зависимости от набора скриптов, представленных кодировкой символов (полный набор таблиц кодировки можно найти в книге
"Developing International Software for Windows 95 and Windows NT",
опубликованной Microsoft Press). Двухбайтные кодировки, применяющиеся в Windows для азиатских языков, используют для кодирования каждого символа от 8 до 16 бит. Компьютеры обмениваются информацией в виде закодированных символов. На экране эта информация визуализируется с использованием шрифтов.
Windows 2000 поддерживает кодовые страницы OEM (изначально разработанные для MS-DOS), кодовые страницы ANSI (появившиеся с выходом Windows 3.1) и Unicode. Unicode представляет собой 16-битную кодировку символов, которая позволяет охватить все широко используемые на сегодняшний день скрипты (более подробную информацию о стандарте Unicode можно найти по адресу
http://www.unicode.org).
Windows 2000 использует Unicode в качестве основной кодировки символов. Это означает, что все
строки, обрабатываемые в системе, включая строки в файлах ресурсов Windows (RES-файлы), кодируются в Unicode. Windows 2000 также поддерживает кодировки символов ANSI. Каждый API, принимающий строки в качестве параметров, имеет две точки входа —. 'А' или ANSI и 'W (wide-character) — для Unicode.
Windows 2000 поддерживает дополнительные кодовые страницы для трансляции данных в Unicode и обратно, в том числе — для кодировок Macintosh, EBCDIC и ISO. Кроме того, Windows 2000 содержит таблицы трансляции для стандартов UTF-7 и UTF-8, которые широко используются для передачи данных Unicode через сети, в частности, через Интернет.
Конфигурирование системы
При разработке Windows 2000 были учтены многочисленные пожелания пользователей, просивших усовершенствовать интерфейс Windows без радикального изменения основных принципов работы с операционной системой. Интерфейс Windows 2000, развитый на базе пользовательского интерфейса Windows-95/98 и Windows NT 4.0, учитывает все лучшие черты этих операционных систем и одновременно с этим предлагает множество усовершенствований, упрощающих работу с системой. И хотя многие задачи по конфигурированию системы действительно могут быть выполнены несколькими способами, сделано все, чтобы настройка системы с помощью административных утилит не приводила к катастрофическим последствиям.
В процессе совершенствования пользовательского интерфейса Windows 2000 разработчики уделяли основное внимание:
упрощению решения наиболее распространенных повседневных задач;
упрощению поиска и организации информации;
упрощению конфигурирования системы.
Если предыдущая глава в основном рассматривала первые два аспекта, то в данной главе будут рассмотрены усовершенствования, благодаря которым Microsoft удалось добиться упрощения процедур конфигурирования Windows 2000.
Локализуемые ресурсы
Локализуемый ресурс — это любой фрагмент информации, содержащийся в коде программы и позволяющий выполнять переключение с языка на язык. Хотя некоторые алгоритмы зависят от конкретного языка (например, к их числу относятся проверка правописания и правила расстановки переносов), обычно локализуемые ресурсы представляют собой элементы пользовательского интерфейса. К числу таких ресурсов относятся, например, меню, диалоговые окна, текст справочной системы, значки (icons) и растровые изображения (bitmaps). Большинство локализуемых ресурсов Windows хранятся в специальных файлах ресурсов. Файлы ресурсов Windows в текстовом формате имеют расширение rc, а в откомпилированном виде — расширение res. Большинство современных средств разработки позволяют выполнить компиляцию файлов ресурсов непосредственно в исполняемые файлы. Все локализованные версии Windows 2000 используют один и тот же двоичный код, а все изменения вносятся исключительно в локализуемые ресурсы.
Уже на начальных стадиях проектирования
Уже на начальных стадиях проектирования Windows 2000 эта операционная система включала в свой состав поддержку национальных языков и стандартов. Эта поддержка обеспечивалась за счет использования API для работы с кодированием символов в соответствии со стандартом Unicode и применения файлов ресурсов, в которых хранятся элементы пользовательского интерфейса на различных языках. Windows 2000 поддерживает более 100 различных национальных стандартов (locale; также употребляется термин "национальная настройка" — совокупность принятых в некоторой стране требований к языку, формату представления времени, дат чисел и т. д.). В отличие от Windows NT, где локализованные версии для азиатских и дальневосточных языков содержали дополнительные API для обработки более сложных требований к вводу и форматированию текста, все локализованные версии Windows 2000 построены на одном и том же исходном коде и применяют одинаковый набор API, одинаковые шрифты и таблицы символов. Это существенно упростит процедуры поддержки международных многоязычных сетей и позволит создавать приложения, которые с легкостью обрабатывают многоязычные документы.
Microsoft Windows 2000 выпускается в виде более чем 20 локализованных версий и обеспечивает глобальную многоязычную поддержку. Любая версия системы предоставляет возможности ввода и вывода на всех языках, поддерживаемых Windows 2000. Кроме того, выпускается ориентированная на корпоративных пользователей версия MUI (Multilanguage User Interface, многоязычный пользовательский интерфейс), которая поддерживает сразу множество языков: достаточно с помощью утилиты Язык и стандарты на панели управления сменить язык системы — и система будет отображать весь пользовательский интерфейс на выбранном языке. Таким образом, без всякой переустановки пользователи могут работать на одном и том же компьютере на различных языках. Естественно, за это приходится расплачиваться несколько большим размером системных файлов (например, шестиязычная система требует на диске примерно в полтора раза больше места).
Задачи разработчиков, создающих приложения, обеспечивающие глобальную языковую поддержку, упростятся за счет применения API поддержки национальных языков (National Language Support API, NLSAPI), API многоязычной поддержки (Multilingual API, MLAPI), а также файлов ресурсов Windows. Все эти задачи можно будет выполнять без использования специализированных средств, различных вариаций операционной системы, и при этом не потребуется писать сложный специализированный код.
Примечание
Подробную информацию об интерфейсе прикладного программирования NLSAPI можно найти в документе
"Microsoft Windows Operating Systems NLSAP Functional Specification".
Технические детали, связанные с MLAPI, подробно описаны в документе
"Microsoft Windows NT 5.0 Multilingual Functiona Specification".
Оба документа можно найти в MSDN.
Национальная настройка (locale)
Национальная настройка (locale) представляет собой набор информации о предпочтительных параметрах, относящихся к основному и дополнительным языкам, применяемым пользователем (user's language и user's sublanguage). В качестве примера основного языка пользователя можно привести например, французский, а дополнительным языком (sublanguage) может быть разновидность французского языка, на которой говорят в Канаде. Франции или Швейцарии. Информация национальной настройки также включает: символ валюты, формат представления даты, времени, чисел; локализованные названия дней недели и месяцев года; стандартное сокращение для наименования страны; а также сведения о кодировании символов (Более подробный список можно найти в спецификации NLSAPI.) Каждая система Windows 2000 имеет язык системы по умолчанию и один или несколько языков ввода для каждого пользователя (эти языки могут отличаться от системного). И системный, и пользовательские языки могут изменяться при помощи панели управления. Для этого следует воспользоваться утилитой Язык и стандарты (рис. 5.3). Прикладные программы могут указывал национальные настройки для каждого потока с помощью функций API.
Новый формат шрифта ОрепТуре
Windows 2000 поддерживает шрифты ОреnТуре, TrueType и Туре 1. Формат ОреnТуре был создан совместными усилиями Microsoft и Adobe и представляет собой надмножество форматов TrueType и Туре 1 с дополнительными возможностями типографского формата.
Формат шрифтов ОреnТуре обеспечивает больший уровень многоязычной поддержки, включая большее количество символов для ввода информации на различных языках. Эта улучшенная типографская поддержка делает Windows 2000 операционной системой, отлично подходящей для работы с настольными издательскими системами. Шрифты ОреnТуре отправляются на принтер по мере необходимости, а не одновременно, и поэтому документы, в которых используется сложное форматирование, печатаются намного быстрее. Помимо этого, шрифты ОреnТуре более удобны для восприятия на экране, чем стандартные шрифты TrueType или шрифты Туре 1.
в предыдущих версиях Windows NT,
Как и в предыдущих версиях Windows NT, основным назначением панели управления (Control Panel) в Windows 2000 является конфигурирование системы. Окно панели управления в Windows 2000 открывается точно таким же образом, как это делалось в Windows NT 4.0 — для этого следует в меню
Пуск
(Start) выбрать опции
Настройка | Панель управления
(Settings | Control Panel). С помощью приложении панели -управления (по-английски такие
приложения называются applet) можно конфигурировать различные компоненты программного или аппаратного обеспечения Windows 2000. Чтобы вызвать приложение панели управления, необходимо указать курсором на соответствующий этому приложению значок, и выполнить двойной щелчок мышью или же щелкнуть правой кнопкой мыши и выбрать в появившемся контекстном меню команду
Открыть
(Open). Следует заметить, что вероятность ошибок конфигурирования системы при использовании утилит панели управления сводится к минимуму, и они представляют собой самые простые и безопасные средства настройки системы.
Чтобы получить подробную информацию о том, какие программные или аппаратные компоненты системы конфигурируют каждое из приложений панели управления, раскройте окно
Панель управления
и выберите команду
Таблица
(Details) в меню
Вид
(View) (рис. 5.1).
Рис. 5.1.
Окно панели управления (Control Panel) после активизации команды
Таблица
(Details) меню Вид (View)
Унифицированная архитектура операционной системы Windows
Унифицированная архитектура операционной системы Windows 2000, использующей универсальные исполняемые файлы для всех локализованных версий, существенно упрощает решение всех технических вопросов поддержки многоязычных пользовательских сред, многоязычных сетей и многоязычных документов. Основой для этой глобальной языковой поддержки послужил целый ряд ключевых решений.
Поддержка национальных языков
Поддержка национальных языков (стандартов) в Windows NT состоит из набора системных таблиц, к которым приложения могут получать доступ через NLSAPI. NLSAPI извлекает следующие типы информации:
Информацию о национальных настройках, включая форматы даты, времени, числе и валют, локализованные названия стран, языков, дней недели и месяцев.
Таблицы соответствия символов, которые устанавливают соответствия между символами в кодировках ANSI или OEM и символами Unicode и обратно.
Информацию о раскладках клавиатуры, которая в Windows управляется программно. Одна и та же клавиатура может применяться для генерации множества разнообразных языковых скриптов.
Информацию о символах. Представляет ли конкретный символ Unicode букву, число, символ-разделитель и знак пунктуации? Является этот символ заглавным или строчным? Каков эквивалент этого символа на противоположном регистре клавиатуры?
Информацию о сортировке, поскольку разные национальные стандарты могут использовать различные правила сортировки для символов с диакритическими знаками или же могут использовать несколько различных алгоритмов сортировки.
Информацию о шрифтах. Система хранит информацию о том, какие шрифты поддерживаются для соответствующих кодировок или диапазонов Unicode. Существуют специальные API, устанавливающие соответствие между языками и шрифтами, которые будут поддерживаться.
В Windows 2000 пользователь может установить национальные стандарты (NLS) для любого языка ввода при помощи утилиты Язык и стандарты из панели управления (рис. 5.3).
Поддержка стандарта Unicode
Поддержка стандарта Unicode была встроена в Windows NT еще на самых ранних стадиях развития этой операционной системы. Уже первая из появившихся версий Windows NT использовала Unicode в качестве базовой системной кодировки. Последующие версии Windows NT использовали стандарт Unicode в качестве основы для файловой системы, пользовательского интерфейса и сетевых коммуникаций. Windows 2000 поддерживает Unicode v 2.0 и обеспечивает на его основе среду для приложений и средства миграции для существующих данных, не соответствующих Unicode.
Наиболее важным преимуществом Unicode является то, что этот стандарт позволяет представлять данные в текстовом формате, исключая необходимость установки соответствия текстовых строк и информации о кодовой странице. Поскольку Unicode представляет собой стандартную 16-битную кодировку, обеспечение поддержки азиатских языков больше не требует программных трюков, необходимых в Windows
9x
для поддержки символов переменной длины. Так как Unicode является промышленным стандартом,
его применение упрощает совместное использование данных в смешанных многоплатформенных средах.
Windows 2000 содержит таблицы для преобразования текста из кодировки ANSI в Unicode и обратно. Пользователи и разработчики имеют возможность добавлять таблицы преобразования для широкого диапазона кодировок символов, включая кодировки Macintosh и UNIX. Таблицы преобразования дают возможность работать в среде Windows 2000 приложениям, не поддерживающим Unicode, и приложениям Unicode — в среде Windows
9x.
Хотя системы Windows
9x
не имеют встроенной поддержки Unicode, они поддерживают различные API для работы с двухбайтными символами.
Таблица символов (Character Map)
Чтобы вводить специальные символы, воспользуйтесь приложением Таблица символов, которое устанавливается в системе по умолчанию и может быть найдено в программной группе Служебные (System Tools).
1.
Запустите приложение Таблица символов, выбрав из меню
Пуск
команду
Программы | Стандартные | Служебные | Таблица символов
(Programs | Accessories | System Tools | Character Map). Пример окна программы показан на рис. 5.6 (флажок
Дополнительные параметры просмотра
(Advanced View) установлен).
Рис. 5.6.
Окно приложения Таблица символов (Character Map)
2.
В списке
Шрифт
(Font) выберите требуемый шрифт.
3.
Выполните двойной щелчок мышью на нужном символе или на нескольких символах по очереди (можно просто выбрать символ и нажать кнопку
Выбрать
(Select) — этот символ будет добавлен в поле
Для копирования
(Characters to copy)).
4.
Нажмите кнопку
Копировать
(Сору), чтобы скопировать символ или символы в буфер обмена.
5.
Активизируйте нужное приложение и вставьте символы из буфера в документ.
и Windows 98 поддерживают NLSAPI
И Windows 2000, и Windows 98 поддерживают NLSAPI и MLAP1, обрабатывают переключение между языками ввода и многоязычные шрифты, и для каждой из них выпущены локализованные версии. Однако между этими операционными системами существуют ключевые архитектурные различия. Windows 98 не обеспечивает такой степени многоязычной поддержки как Windows 2000.
Windows 98 не содержит встроенной поддержки Unicode, вместо Unicode в ней используется кодировка ANSI. Это затрудняет совместную работу с данными на компьютерах, использующих различные кодировки. В отличие от Windows 2000, локализованные версии Windows 98 не используют единого двоичного файла. Локализованные версии для азиатских и дальневосточных языков представляют собой надмножество европейских локализованных версий.
Редактор личных символов (Private Character Editor)
Редактор личных символов служит для создания специальных символов и включения их в шрифтовую библиотеку.
Рис. 5.7.
Редактирование символов с помощью Редактора личных символов
Чтобы запустить приложение Редактор личных символов, нажмите кнопку
Пуск,
в раскрывшемся меню выберите команду
Выполнить
(Run) и в поле
Открыть
(Open) введите командную строку eudcedit.
Пример редактирования специального символа с помощью Редактора личных символов показан на рис. 5.7.
Шрифты и работа с ними
Операционные системы из семейства Windows, уже начиная с Windows 3.1, всегда предоставляли пользователям богатый выбор самых разнообразных шрифтов, однако Windows 2000 превосходит все предыдущие версии и в этом отношении.
В самых ранних версиях Windows применялись шрифты, созданные по так называемой bitmap-технологии. Эти шрифты обладали целым рядом недостатков — во-первых, их можно было увеличивать только до определенного предела, и, во-вторых, они занимали довольно значительный объем дискового пространства.
Именно поэтому уже в Windows 3.1 была впервые применена технология TrueType. Для хранения шрифтов TrueType требуется гораздо меньший объем пространства, и, кроме того, одним из важнейших достоинств этого типа шрифтов является сохранение качества изображения при изменении размера символа.
Важные концепции
Концепции, описанные в последующих разделах, имеют исключительно важное значение для понимания основ многоязычной поддержки в Windows.