[Comm] Еще о локали utf-8 и файле Compose
Alexej Kryukov
=?iso-8859-1?q?akrioukov_=CE=C1_mail=2Eru?=
Вт Янв 27 16:14:35 MSK 2004
Некоторое время назад я здесь писал о том, что только
локаль UTF-8 может обеспечить корректную работу с
многоязычными текстами.
Оказывается, не всё так мрачно. Файлы Compose (в которых
вся загвоздка) содержат строки в следующем формате:
key_sequence: "string" keysym
Естественно, string должна быть в кодировке локали, а вот
keysym от текущей локали не зависит.
Так вот, оказывается, что эти два элемента взаимозаменяемы,
и при наличии keysym строка string просто-напросто не нужна.
То есть, чтобы получить локаленезависимый файл Compose,
достаточно взять файл от локали en_US.UTF-8 и удалить оттуда все
закавыченные строки. Потом этот файл можно подложить в каталог
для нашей кодировки (koi8 или cp1251), в результате чего будет
обеспечена правильная работа *любой* национальной клавиатуры в
юникодовых приложениях.
Данное обстоятельство делает локаль utf-8 в сущности ненужной.
Надо только надеяться, что в будущих версиях X описанный
эффект будет достигаться без помощи напильника...
Подробная информация о списке рассылки community