Chyba v triedeni cs_CZ & sk_SK

Michal Kubecek mike na mk-sys.cz
Pondělí Květen 26 11:07:30 CEST 2003


On Mon, May 26, 2003 at 10:00:45AM +0200, Jozef Hitzinger wrote:

> Ahoj, vyzera to ze v locales nebolo uplne dorobene triedenie znakov s
> diakritikou. Priklad chybneho triedenia a opravene cs_CZ (pre sk_SK sa
> triedenie includuje odtial) najdete na:
> 
> http://www.fphil.uniba.sk/~rit/linux/collate.html
> 
> Budem vdacny za feedback, resp. keby sa mohol ozvat niekto z lokaliznych
> teamov - ak su tieto zmeny ok, treba ich pretlacit hore.

To, co označujete za chybu, je zcela korektní chování. České řazení
je totiž dvouprůchodové a diakritika nad samohláskami se bere v úvahu
až ve druhém průchodu. V prvním průchodu tedy porovnáváte 'aa', 'aa',
'az', 'az' a teprve ve druhém průchodu rozlišujete mezi prvními dvěma
a druhými dvěma. Proto je 'áa' < 'az'.

Vypadá to podivně, ale tak si to jazykovědci vymysleli. Společně
s nesmyslným pravidlem, že dvojice znaků 'ch' se chápe jako jeden,
to budí dojem, že jediným jejich úmyslem bylo řazení co nejvíce
zkomplikovat, ale nedá se s tím bohužel asi nic dělat. Nevím, zda
totéž platí i pro slovenštinu.

                                                      Michal Kubeček


Další informace o konferenci Linux