Ceska klavesnice a RH6.0

Petr Kolar Petr.Kolar na vslib.cz
Středa Květen 12 14:13:04 CEST 1999


Slavek Banko (axis) <slavek.banko na axis.cz> wrote:
> Asi to nebude tak jednoduché. Zkoušel jsem to nastavit tak, jak je uvedeno
> níže, ale například gnome-linuxconf mi při spuštění do konzole vypsal, že libc
> (jestli se dobře pamatuji) nepodporuje nastavené locales a nepsal háčkovaná

   Rekl bych, ze standardni chovani programu je zavolat na zacatku
setlocale(LC_ALL, "") nebo setlocale(LC_CTYPE, ""), cimz se nastavi
vsechny LC_kategorie nebo pouze LC_CTYPE podle promennych prostredi
s temito prioritami

1. LC_ALL
2. ostatni LC_*
3. LANG

takze LANG (doporucoval jsem cs) bude prebito nastavenim LC_ALL
(doporucoval jsem cs_CZ). Pri standardni instalaci glibc jsou ceske
locales krome hlaseni programu pod cs_CZ, hlaseni programu pod cs.
Funkce setlocale obsahuje mechanismus "otrhavani" hodnoty nastavene
pro jednotlive kategorie, takze po neuspechu s cs_CZ.ISO-8859-2 zkousi
cs_CZ.iso8859-2, cs_CZ a na zaver cs (do tohoto algoritmu lze naskocit
i pozdeji, treba s hodnotou cs_CZ - pak se zkousi je cs_CZ a cs).
Cili pro vkladani hackovanych znaku z klavesnice (ovlivneno kategorii
LC_CTYPE) je nutne nastaveni cs_CZ nebo cs_CZ.kodovani. Pokud nektery
novy program pouziva pouze promennou prostredi LANG, tak je to chyba je
potreba jej opravit. Nanestesti pouze LANG pouzivaji i nektere stare
programy, ale v soucasnosti to snad ovlivnuje pouze hledani Xresources
a manualovych stranek, nikoli vlastnosti definovane LC_* kategoriemi.
Na hledani jmena adresare (treba pro manualove stranky) podle nastavenych
locales stejnym algoritmem jako je uplatnen v setlocale() zadna funkce
neni (jak poznamenal kdosi v teto konferenci asi pred rokem).

> písmena. Když jsem nastavil cs_CZ, tak se mu to již líbilo a písmena psal
> všechna (až na to, že neměl iso8859-2 font, takže byla 'nečitelná'). Dost

   Obvykle je potreba vnutit programu font parametrem -fn font nebo
v X-resources (treba v $HOME/.Xdefaults). Nevim, jestli jsou nejake
programy, ktere zvoli font podle locales (coz by asi melo byt pravidlem).
Cast programu pouziva nejaky smluvene jmeno fontu, treba fixed, takze
tem pomuze zmena aliasu z fixed -> -neco-iso8859-1 na fixed ->
-neco-iso8859-2.

> možná, že to bude záviset program od programu. Není pro toto řešením nastavení
> aliasů pro locales (nezkoušel jsem)?

   Rekl bych, ze neni. Nastaveni locales na alias (treba na czech)
zpusobi pouze to, ze se setlocale pouzije hodnota prirazena aliasu
v /usr/share/locale/locale.alias (tj. cs_CZ.ISO-8859-2) a pak se uplatni
vyse zmineny algoritmus "otrhavani". X programy pro Xlocales obvykle
pouziji to jmeno, pod kterym nasly kategorii LC_CTYPE.

                                                        S pozdravem
--
                          ***  Petr Kolar  ***
 Department of Information Technologies, Technical University of Liberec
             Voronezska 1329, 461 17 Liberec, Czech Republic
             Phone: +420-48-535-2371   Fax: +420-48-535-2229
  E-mail: Petr.Kolar na vslib.cz  http://asterix.vslib.cz/staff/kolar.html


Další informace o konferenci Linux