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

Re: [locale] Fwd: Re: Regarding strcoll() in glibc 2.2



On Mon, Jul 16, 2001 at 08:52:03PM +0700, Dmitry Yu. Bolkhovityanov wrote:
> |> (BTW, '(libc.info.gz)Collation Functions' says:
> |>
> |>     The `strcoll' function is similar to `strcmp' but uses the collating
> |>     sequence of the current locale for collation.
> |>
> |> -- in my understanding, this implies that strcoll() should distinguish upper-
> |> and lowercase (as strcmp() does.)

Насколько я понимаю, base collation scheme должна делать и делает
то же самое: "The alphabets are sorted in order of first appearance 
in ISO 10646: Latin, Greek, Cyrillic, etc". Проблемы возникают только
на уровне некоторых языков.

> What about title case?  
Не понятно. Может, он хочет сказать, что Gone With The Wind и
Gone with the Wind ничем не должны отличаться? Не совсем понятно,
к чему это высказывание.

>General collation sequences are much more
> complicated than the ASCII collation sequence so that the distinction
> between case sensitive and case insensitive cannot be meaningfully defined
> in this context.
 
А вот здесь как раз всё понятно. "Порядок сортировки" и так шаткое 
понятие для многих языков, особенно в приложении к компьютерам 
(попробуйте отсортировать арабский текст в электронной форме), а 
если ещё задаться вопросом различия строчных и прописных букв, то 
вообще можно с ума сойти. Тут я с этим самым Швабом согласен.
Другое дело, что это заезженный и не относящийся к сути проблемы 
аргумент.

Единственное, что можно пробивать - это то, чтобы сортировка для 
индоевропейских языков различала строчные и прописные буквы по
умолчанию. Чем меньше кривые ручки будут вмешиваться в порядок
символов, определённый в рамках unicode - тем меньше вреда они
нанесут. Я бы на вашем месте рекомендовал г.Швабу руководствоваться 
принципом "Не навреди!" при составлении LC_COLLATE, и изменять 
порядок символов только тогда, когда это действительно необходимо.


-- 
Alexander Mikhailian
http://bellinux.sf.net