Программирование в стандарте POSIX


Определение языково-культурной среды - часть 2


Файл отображения символов имеет довольно простую структуру. Если отвлечься от несущественных деталей, он должен состоять из директив вида

< имя_символа> <код> <комментарий>

Эти директивы заключаются между строками

Эти директивы заключаются между строками

и

END CHARMAP

Перед строкой CHARMAP может располагаться определение имени набора символов, которое задается директивой

< code_set_name> имя

Фрагмент возможного описания набора символов KOI8-R показан в пример 13.1.

Пример 13.1. Фрагмент файла отображения символов для кодировки KOI8-R. (html, txt)

Опишем теперь формат определения категорий языково-культурной среды.

Категория LC_CTYPE определяет классификацию символов, преобразование регистра и другие атрибуты. К ней относятся следующие ключевые слова: upper (прописные буквы; для POSIX-среды – 26 латинских букв верхнего регистра), lower (строчные буквы), alpha (буквы), digit (цифры), alnum (буквы и цифры), space (пробельные символы; для POSIX-среды в их число, помимо пробела, входят перевод строки, т абуляция и т.п.), cntrl (управляющие символы), punct (знаки пунктуации), graph (печатные символы за исключением пробела), print (печатные символы), xdigit (шестнадцатеричные цифры), blank (для POSIX-среды – пробел и табуляция).

С ключевым словом copy задается имя существующей среды, у которой наследуется определение категории. При наличии данной директивы другие ключевые слова недопустимы.

Ключевое слово charclass позволяет задать имена специфичных для определяемой среды классов символов. Каждый такой класс далее должен быть описан в определении категории LC_CTYPE по образу и подобию перечисленных выше стандартных классов.

Ключевое слово toupper открывает определение отображения малых букв в большие. Операнд этого слова представляет собой пару символов, заключенных в скобки и разделенных запятой. Аналогичным образом устроен элемент tolower.

В пример 13.2 показано определение категории LC_CTYPE для POSIX-среды.

Пример 13.2. Определение категории LC_CTYPE для POSIX-среды. (html, txt)




Начало  Назад  Вперед



Книжный магазин