ceske trideni podle ISO-8859-2
Vladimir Michl
Vladimir.Michl na seznam.cz
Úterý Duben 25 12:34:56 CEST 2000
On Fri, 21 Apr 2000, Jirka Jurek wrote:
> Pouzivam trideni pomoci locales a funkce strcoll z glibc-2.1
>
> setrideni v us kodovani vypada:
> " 2"
> "10"
> to same v cs_CZ (ISO-8859-2):
> "10"
> " 2"
>
> Norma na
> http://www.usiscr.cz/cz/standardy/tecstd08.html
> rika:
> "Skupiny slov se radi postupne podle jednotlivych slov tvoricich skupinu,
> pri cemz nezalezi na poctu mezer, ktere oddeluji slova."
> ^^^^^^^^
Toto pravidlo je splneno tak, ze pri porovnavani se mezery a nektere jine
znaky pri porovnavani v prvnich fazich uplne ignoruji. Vyjimkou je
nedelitelna mezera.
> a dale
> "Cislice se radi podle jejich ciselne hodnoty vzestupne za abecedu."
Toto lze, vzhledem k tomu ze funkce porovnava pouze textove, retezce
zarucit pouze pro jednotlive cifry. Pokud chcete porovnavat podle ciselne
hodnoty, je treba prevadet z retezce na cislo a to jiz neni v moznostech
lokalizace. Na tyto ucely je treba si napsat nadstavbovou knihovnu.
> 3.10:
> Cisla nejsou razena podle ciselne hodnoty, ale podle hodnoty jednotlivych
> cislic."
Protoze to vzhledem ke vlastnostem glibc nelze jinak udelat.
> Problem se da obejit, pokud pouziji tzv. nerozdelitelnou mezeru (0xA0)
> http://www.usiscr.cz/iso-8859-2/cz/standardy/tectab01.html
> misto normalni mezery (0x20). Pak jsou cislice setrizeny spravne, protoze
> nerozdelitelna mezera se radi pred cislice a pismena.
> A dale, jestli se chystaji dalsi upravy ceskych locales v glibc?
Jake upravy by jste pozadoval? Pokud by to bylo v mojich silach, tak je
uskutecnim. Mam ale takove tuseni ze Vami pozadovane upravy vlastnosti
budou nad moznosti glibc.
S pozdravem
Vlada Michl
**********************************************************************
* Name: Vladimir Michl *
* E-mail: Vladimir.Michl na seznam.cz *
* Web: http://www.penguin.cz/~michlv *
* Tel: +420/68/5391545 Work: 068/5711292 *
* 068/5391545 Czech Republic *
**********************************************************************
Další informace o konferenci Linux