[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Возможна ли поддержка тиклем юникода?



Иван Лох пишет:
On Fri, Jan 16, 2009 at 10:34:18AM +0900, Alexander Danilov wrote:
Тикль тут не при чем, это проблема кривых кодовый таблиц юникода, об этом я в своё время писал в русскоязычном списке рассылке по tcl.

$ clisp
[1]> (sort '(й ц у е ё) 'string<)
(Ё Е Й У Ц)

Нигде не написано, что символы национального языка должны быть упорядочены по
алфавиту. Так дело обстоит лишь для языков с уникальной графикой. А ё это
латинская е с умляутом — расположена в блоке латинских букв с диакритикой.

Но почему-то ё и Ё имеют коды 0x04??, что и другие буквы русского алфавита.
Когда я последний раз проверял кодовые таблицы уникода, то там в одном из полей указывался
порядок при сортировке, там вот для ё  и Ё он был неправильный - она из этих
букв была расположена до всего алфавита, другая - после.

Кстати, /bin/sort показывает другой порядок сортировки.

Могу предположить, что в glibc или исправленная кодовая таблица или более свежая,
чем в clisp, tcl, perl.

~$ perlconsole
Perl Console 0.4
[!] rcfile /home/alex/.perlconsolerc is not readable
Perl> my @a=("й", "ц", "у", "е", "ё", "Ё", "Й", "Ц", "У")
9

Perl> print join(", ", sort(@a)),"\n"
Ё, Й, У, Ц, е, й, у, ц, ё
1

Perl>



Вообще-же, о порядке следования букв национального языка знает локаль

$ touch ж а б ё $ls ?
 а  б  ё  ж

да еще специальные библиотеки для работы с юникодом.

P.S. Да и есть-ли в русском языке эта полумифическая буква ё?  ;-}




И часто вы пишите Ёож вместе ёж, йолка вместо ёлка?


Reply to: