[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