Slovak-HOWTO

J�n 'judas' Tomka

verzia 4 (Blanka)


16. febru�r 2002


Tento dokument poskytuje inform�cie t�kaj�ce sa problematiky miestnych
nastaven� v prostred� opera??n�ch syst�mov GNU/Linux s oh??adom na potreby
slovensk�ho u??�vate??a.

-----------------------------------------------------------------------------
Obsah
1. �vodn� inform�cie
    1.1. Licencia
    1.2. Aktu�lna verzia a prispievanie
    1.3. Osoby a obsadenie
   
   
2. Miestne nastavenia
    2.1. Princ�py miestnych nastaven�
    2.2. Miestne nastavenia pre Slovensko
    2.3. Pr�klady miestnych nastaven�
   
   
3. Nastavenia konzoly
    3.1. Sloven??ina na v�stupe textovej konzoly
    3.2. Slovensk� kl�vesnica na textovej konzole
    3.3. Zhrnutie nastaven� konzoly
   
   
4. Nastavenia X Window Systemu
    4.1. Slovensk� fonty v X Window Systeme
    4.2. Slovensk� kl�vesnica v X Window Systeme
    4.3. Slovensk� my?? v X Window Systeme
    4.4. Pr�klady
   
   
5. Sloven??ina a linuxov� kernel
    5.1. Kompil�cia kernelu so slovenskou kl�vesnicou
    5.2. Diakritika v n�zvoch s�borov na FAT part�ci�ch
   
   
6. Posloven??ovanie konkr�tnych aplik�ci�
    6.1. Bash
    6.2. Joe
    6.3. Lynx
    6.4. Mandrake 8
    6.5. Midnight Commander
    6.6. Mutt
    6.7. Readline
    6.8. RPM4
    6.9. Rxvt
    6.10. Samba
   
   
7. Finti??ky so sloven??inou
    7.1. Zad�vanie slovensk�ch znakov vo Vim
    7.2. Odstr�nenie alebo nahradenie diakritiky v textov�ch s�boroch
   
   

1. �vodn� inform�cie

1.1. Licencia

�no, m�??ete ??�ta?? tento dokument, a to aj na komer??n� u??ely!

Autori nenes� zodpovednos?? za materi�lnu ??i psychick� ujmu sp�soben� ??
itate??ovi, jeho rodinn�m pr�slu??n�kom, dom�cim a hospod�rskym zvierat�m,
pr�padne po??�ta??ov�mu zariadeniu.

Toto je ??free?? dokument --- m�??ete ho ??�ri?? a/alebo modifikova?? v
s�lade s podmienkami licencie GNU Free Documentation Licence, ktorej znenie
n�jdete na adrese [http://www.gnu.org/licenses/fdl.html] http://www.gnu.org/
licenses/fdl.html.

Autorom p�vodn�ho Slovak-HOWTO je J�n Ondrej (SAL). Tento dokument z neho
obsahuje: n�zov a n�vody pre Joe, MC a Sambu. V??etko bolo ukradnut� so
s�hlasom autora.
-----------------------------------------------------------------------------

1.2. Aktu�lna verzia a prispievanie

Ak n�jdete v tomto s�bore nie??o, ??o je nezl�??ite??n� s va??im linuxov�m
presved??en�m, nap�??te najsk�r do diskusie linux, potom sk-i18n, dajte
pr�spevok na www.linux.sk a poohov�rajte ma na #sklug. V pr�pade, ??e v�s to
neprejde, skontrolujte, ??i m�te aktu�lnu verziu a, samozrejme, a?? nakoniec,
dajte mi vedie??. Adresy s�:

��*�Aktu�lna verzia: [http://slovencina.linux.sk/howto/] http://
    slovencina.linux.sk/howto
   
��*�Priania, s??a??nosti a ponuky na sob�??: [mailto:judas@linux.sk]
    judas@linux.sk
   

Na t�to adresu sa tie?? obracajte, ak m�te nie??o, ??o by nemalo ch�ba?? v
Slovak-HOWTO.

Nad�cia Pom�?? a skonaj prispela na dop�sanie ??asti o kl�vesnici v iXoch
sama sebe ??iastkou 500�000,-�Sk, v telev�zii Pom�?? a skonaj i v rovnomennom
??asopise boli zverejnen� inzer�ty, politick� strana PAS nekompromisne trv�
na kompromise a v??etci pij� miner�lku Pom�?? a skonaj. Tigre, nosoro??ce a
l�??ne kon�ky boli pokrsten�, a predsa sa s kapitolou o kl�vesnici v iXoch ni
?? nedeje. Mimochodom, sme naj??�tanej??ie Slovak-HOWTO na svete!

Pri prispievan� sa sk�ste riadi?? nasledovn�mi pravidlami:

��*�Pre t�ch, ktor� maj� v�??ny z�ujem podie??a?? sa na p�san� Slovak-HOWTO,
    je mo??n� CVS pr�stup priamo k zdrojov�m k�dom dokumentu na serveri 
    cvs.linuxdoc.org v adres�ri /cvsroot/LDP/howto/docbook/Slovak-HOWTO/.
    Bli????ie inform�cie o z�skan� CVS konta a webovskom rozhran� k CVS
    serveru n�jdete v LDP Autor Guide.
   
��*�Opravy robte v??dy vo form�te SGML (DTD DocBook, verzia 4.0), ktor� je
    prim�rnym form�tom pri tvorbe tohto dokumentu. Je tie?? mo??n� posiela??
    ??ist� text. Pr�spevky p�??te, pokia?? mo??no, s diakritikou v norme 
    ISO-8859-2.
   
��*�Ak je to nie??o v�????ie, dajte mi najsk�r vedie??, ??o chyst�te,
    preto??e je mo??n�, ??e u?? na tom niekto mak� a teda bu?? na to
    zabudnete, alebo to sk�site dorobi?? s danou osobou. (Vzh??adom na to,
    ??e zatia?? sa do tohto dokumentu dostalo asi 20 riadkov cudzieho textu,
    zd� sa mi predch�dzaj�ca veta maxim�lne smie??na. Ha-ha, zasmial som
    sa...)
   
��*�Va??e meno a adresa bud� automaticky zverejnen� spolu s va??im
    pr�spevkom. Ak si to ne??el�te, mus�te o to v�slovne po??iada??. Takisto,
    autor pr�spevku u?? jeho zaslan�m implicitne s�hlas� s aplik�ciou
    licencie tohto dokumentu na ??as??, ktorej je autorom.
   
��*�V Czech-HOWTO sa hovor�: ??Kdy?? u?? n??kdo podobn� dokument ??te, d??l�
    to z nutnosti a ne pro sv� pobaven�.?? Mus�me v??ak zobra?? do �vahy, ??e
    v ??ech�ch je vy????ia ??ivotn� �rove?? a oni a?? to??ko srandy
    nepotrebuj�...
   

-----------------------------------------------------------------------------
1.3. Osoby a obsadenie

Men� autorov n�vodov na lokaliz�ciu konkr�tnych aplik�ci� sa nach�dzaj�
priamo v kapitole Posloven??ovanie konkr�tnych aplik�ci�, pr�padne Finti??ky
so sloven??inou.

��*�J�n 'judas' Tomka -- Zodpovedn� ved�ci.
   
��*�??ubom�r 'salo' Sedl�??ik -- ksh/csh/tcsh, grammar bugfixes.
   

-----------------------------------------------------------------------------
2. Miestne nastavenia

2.1. Princ�py miestnych nastaven�

Podpora miestnych nastaven� je dnes mimoriadne d�le??it�m faktorom, ktor�
charakterizuje jednotliv� opera??n� syst�my. ??asy, ke?? boli ??udia
??tastn�, ??e to nie??o p�??e, s� nen�vratne pre?? a pou??�vatelia vy??aduj�
podporu svojich miestnych nastaven�. V GNU syst�moch je t�to podpora
implementovan� priamo do ??tandardnej kni??nice jazyka C -- GNU libc. T�to
podpora je navrhnut� tak, aby zoh??ad??ovala v??etky po??iadavky kladen� na
nastavenia pre ak�ko??vek krajinu a ak�ko??vek jazyk.
-----------------------------------------------------------------------------

2.1.1. Ciele a prostriedky

R�zne krajiny a kult�ry maj� odli??n� pravidl� komunik�cie. Tieto pravidl�
m�??u by?? mal�ho rozsahu, napr. form�t d�tumu a ??asu, a?? po ve??mi
koplexn� ako je jazyk, ktor�m hovoria.

Internacionaliz�cia softv�ru znamen� programova?? ho tak, aby bol schopn�
pracova?? s pou??ivate??ov�mi miestnymi nastaveniami. V ISO C pracuje
internacionaliz�cia v zmysle locales. Ka??d� locale (miestne nastavenia)
??pecifikuje skupinu pravidiel, jedno pravidlo pre ka??d� u??el. U??�vate??
si zvol� skupinu pravidiel ??pecifikovan�m locale (pomocou syst�mov�ch
premenn�ch).

V??etky programy dedia nastaven� locale v r�mci ich prostredia. Pod
podmienkou, ??e programy s� nap�san� tak, ??e akceptuj� nastaven� locales,
m�??u sa riadi?? pravidlami, ktor� uprednost??uje pou??�vate??.
-----------------------------------------------------------------------------

2.1.2. Kateg�rie a ich funkcie

T�to ??as?? popisuje jednotliv� premenn�, ktor� ovplyv??uj� miestne
nastavenia a ktor�mi sa riadia aj funkcie kni??nice GNU libc.

Nastavenie premennej prostredia sa rob� pomocou pr�kazu shellu
+---------------------------------------------------------------------------+
|bash$ export LC_PREMENNA=sk                                                |
|                                                                           |
|tcsh$ setenv LC_PREMENNA sk                                                |
|                                                                           |
+---------------------------------------------------------------------------+

LC_PREMENNA je jedna z nasleduj�cich:

��*�LC_COLLATE --- Triedenie re??azcov. Nastaven�m tejto premennej mo??no
    prin�ti?? aplik�cie, napr. sort, ls a in�, aby pri porovn�van� re??azcov
    brali do �vahy miestne rozlo??enie jednotliv�ch p�smen v abecede. Sloven
    ??ina m� napr�klad hne?? nieko??ko znakov, ktor� by pri trieden� pod??a
    ??�selnej hodnoty znaku sp�sobovali probl�my. Slovensk� nastavenia
    triedenia povedia funkciam strcoll a strxfrm, ??e napr�klad ch je jedno
    p�smeno a nasleduje hne?? za h a nie za c, ??e ??irok� � nasleduje za
    dlh�m � a to zase za oby??ajn�m a. Sk�ste si to na pr�kaze sort. Zadajte
    p�smen� cc ch hh, potom zme??te LC_COLLATE pr�kazom
    +---------------------------------------------------------------+
    |bash$ export LC_COLLATE=sk                                     |
    |                                                               |
    |tcsh$ setenv LC_COLLATE sk                                     |
    |                                                               |
    +---------------------------------------------------------------+
   
    Sk�ste to so sort znovu a porovnajte v�sledok...
   
��*�LC_CTYPE --- Klasifik�cia a prevod znakov, multibyte. Spr�vne nastavenie
    tejto premennej je nutn� pre korektn� rozli??ovanie znakov abecedy
    jednotliv�ch jazykov, ur??enie ??�slic, tzv. bielych znakov, prevod
    mal�ch p�smen na ve??k�, at??. Najvhodnej??ie je t�to premenn�
    nenastavova?? a t�m umo??ni??, aby bola jej hodnota prebrat� od
    premenn�ch LC_ALL alebo LANG (vi?? ??alej). Ak ale nechcete pou??�va??
    slovensk� nastavenia, len ma?? spr�vne zobrazen� slovensk� fonty a funk??
    n� slovensk� kl�vesnicu na konzole aj pod iXami, nastavte iba t�to
    premenn�.
   
    Varovanie V??dy si bu??te stopercentne ist�, ??e m�te t�to       
              premenn� nastaven� (bu?? cez LC_ALL, LANG alebo        
              priamo), lebo inak nem� zmysel ??�ta?? ??alej! Ono ??  
              klasifik�cia a prevod znakov?? neznie nejako l�kavo,   
              ale vedzte, ??e je to sakramentsky d�le??it� pre ??ivot
              slovensk�ch p�smeniek vo va??om Linuxe!                
   
��*�LC_MONETARY, LC_NUMERIC --- Form�t pe??a??n�ch a ??�seln�ch hodn�t.
    Umo????uje meni?? skupinu nastaven�, ktor� sa pou??ij� pri form�tovan�
    pe??a??n�ch hodn�t alebo v??etk�ch ostatn�ch ??�seln�ch hodn�t. S� to
    desatinn� ??iarka, odde??ova?? tis�cov, zoskupovanie ??�slic, znamienka
    pre kladn� a zaporn� hodnoty, at??.
   
��*�LC_TIME --- Form�tovanie d�tumu a ??asu. Nastavenia odde??ova??ov medzi
    hodinami, min�tami a sekundami, n�zvy dn�, poradie rok, mesiac a de?? v
    d�tume, ...
   
��*�LC_MESSAGES --- V�ber jazyka, pou??it�ho u??�vate??sk�m rozhran�m na
    preklad hl�??ok programov. Toto je presne t� premenn�, ktor� prin�ti
    aplik�cie hovori?? po slovensky. Vi?? ??al??ie kapitoly.
   

S prekladom hl�sen� programov, hlavne s umiestnen�m s�borov s prelo??en�mi
re??azcami, s�vis� premenn� NLSPATH. Mala by obsahova?? dvojbodkami oddelen�
zoznam adres�rov, v ktor�ch sa bud� h??ada?? .mo s�bory pre miestne
nastavenia dan� premennou LC_MESSAGES. Premenn� NLSPATH je v??ak potrebn�
nastavova?? len vo v�nimo??n�ch pr�padoch, preto??e aplik�cie h??adaj�
preklady svojich hl�sen� v ??tandardn�ch adres�roch pre tieto s�bory.

Okrem t�chto premenn�ch bolo implementovan�ch nieko??ko ??al??�ch, ktor�
zatia?? nie s� zdokumentovan� (The GNU C Library Reference Manual). Ich
v�znam je zrejm� z n�zvu, tak??e uvediem aj svoju dedukciu.

��*�LC_PAPER --- Form�t papiera. V na??ich zemepisn�ch ??�rkach sa napr�klad
    pou??�va form�t A4, v Amerike je to Letter, at??. Pozor, t�to premenn�
    neobsahuje priamo n�zov form�tu, ale (tak, ako v??etky LC_ premenn�),
    skratku miestneho nastavenia, teda u n�s to bude sk. Ak by sme chceli
    pou??�va?? form�t Letter, museli by sme t�to premenn� nastavi?? na k�d
    miestneho nastavenia niektorej z kraj�n, ktor� pou??�va tak�to form�t,
    napr�klad us. V tomto pr�pade je nutn� nain??talova?? bal�k s miestnymi
    nastaveniami pre t�to krajinu (locales-us).
   
��*�LC_NAME --- Form�t mena a priezviska. U n�s m� ka??d� dve men�, p�??u sa
    v porad� meno, priezvisko. V Rusku maj� zase tri men� v porad� meno,
    otcovo-meno, priezvisko. V Ma??arsku maj� dve men� tak ako u n�s, ale
    p�??u sa v opa??nom porad�. O tom je t�to premenn�. Asi...
   
��*�LC_ADDRESS --- Sp�sob z�pisu adresy. Poradie ulice a popisn�ho ??�sla
    domu, ZIP k�d, PS?? apod.
   
��*�LC_TELEPHONE --- Form�t telef�nnych a faxov�ch ??�sel. Ur??uje
    zoskupovanie ??�slic, ich oddelovanie, po??et ??�sel predvo??by, ...
   
��*�LC_MEASUREMENT --- Miery. Jednotky hmotnosti, objemu, teploty a d????ky,
    pou??�van� v tej ktorej krajine. Program nap�san� v USA bude
    pravdepodobne po??�ta?? s gal�nmi vody, ale ak je spr�vne nap�san�, s
    premennou LC_MEASUREMENT nastavenou na ??sk?? bude zobrazova?? litre v
    spr�vnom pomere. To ist� plat� napr�klad pre prevod teploty vo
    Fahrenheitovej stupnici na stupne Celsia.
   
��*�LC_IDENTIFICATION --- Az ap�d, tak toto neviem. Rodn� ??�slo? ??�slo
    soci�lneho poistenia? ??�slo top�nok?
   

-----------------------------------------------------------------------------
2.1.3. ??al??ie premenn�

��*�LC_ALL --- Ak je t�to premenn� nastaven�, pou??ije sa jej hodnota pre
    v??etky vy????ie spomenut� skupiny locales, bez oh??adu na hodnotu
    pr�slu??n�ch premenn�ch.
   
��*�LANG --- Hodnota tejto premennej sa pou??ije pre tie skupiny locales,
    ktor� nemaj� pr�slu??n� premenn� nastaven�.
   
��*�LANGUAGE --- Alternat�vne miestne nastavenia. T�to premenn� m�??e
    obsahova?? usporiadan� zoznam k�dov miestnych nastaven� oddelen�ch
    dvojbodkami. S�bory s prekladmi hl�??ok programov sa bud� h??ada?? v
    porad�, v akom s� ur??en� v tomto zozname. Ak sa nepodar� n�js?? s�bor s
    prelo??en�mi hl�??kami programu v jednom jazyku, pou??ije sa s�bor pre
    nasleduj�ci jazyk v zozname LANGUAGE. Navy??e, ak sa s�bor pre prv� jazyk
    aj n�jde, ale niektor� re??azec z neho nie je prelo??en�, nepou??ije sa
    p�vodn� (anglick�), ale najsk�r sa pok�si n�js?? preklad dan�ho re??azca
    v s�bore pre ??al??� jazyk v zozname LANGUAGE. To je v�hodn� pre ??ud�,
    ktor� okrem svojho jazyka ovl�daj� nejak� in� lep??ie ako angli??tinu, v
    ktorej s� zvy??ajne programy origin�lne nap�san�. Napr�klad Slov�k by
    mohol ma?? nastaven� LANGUAGE="sk:cz" a Szolv�k z Kom�rom zase LANGUAGE=
    "hu:sk".
   
    V�straha Premenn� LANGUAGE ovplyv??uje len premenn� LC_MESSAGES! 
             Pre spr�vnu funkciu je nutn� nastavi?? aj ostatn�       
             premenn� (minim�lne LC_CTYPE).                          
   
��*�LINGUAS --- T�to premenn� nem� ??peci�lny v�znam z h??adiska GNU libc,
    ale zvykne sa pou??�va?? pri in??tal�cii programov (zo zdroj�kov).
    Medzerami oddelen� zoznam k�dov miestnych nastaven� ur??uje jazyky, pre
    ktor� si u??�vate?? ??el� in??talova?? preklady re??azcov aplik�cie.
    Pr�klad:
    +---------------------------------------------------------------+
    |bash$ export LINGUAS="sk cz"                                   |
    |bash$ ./configure                                              |
    |bash$ make install                                             |
    |                                                               |
    +---------------------------------------------------------------+
   
    Tieto pr�kazy skompiluj� a nain??taluj� aplik�ciu s podporou sloven??iny
    a ??e??tiny. In??tala??n� skripty obvykle tie?? kontroluj� obsah
    premenn�ch LANG a LC_ALL, tieto ale m�??u obsahova?? len jeden k�d
    miestnych nastaven�.
   
��*�RPM_INSTALL_LANG --- ??astej??ie ako zo zdrojov�ho k�du sa aplik�cie
    in??taluj� z r�znych bal�kov (rpm, deb, ...). Kv�li ??etreniu miestom na
    disku (a logike -- m�lokto ovl�da tridsa?? re??�) je v RPM4 mo??n� ur??
    i?? jazyk, ktor�ho prelo??en� hl�??ky sa bud� in??talova??. Preto odpor�
    ??am do s�boru .bash_profile (.login) u??�vate??a, ktor� in??taluje
    bal�ky (root), vlo??i?? nasledovn� riadok:
    +---------------------------------------------------------------+
    |bash$ export RPM_INSTALL_LANG=sk                               |
    |                                                               |
    |tcsh$ setenv RPM_INSTALL_LANG "sk"                             |
    |                                                               |
    +---------------------------------------------------------------+
   
    Ak sa v�m nebodaj stane tak� vec, ??e nain??talujete cel� opera??n�
    syst�m a a?? potom sa dozviete o tejto premennej (tak, ako sa to stalo aj
    mne), sk�ste skript uveden� v ??asti RPM4.
   

-----------------------------------------------------------------------------
2.1.4. Priorita premenn�ch

Miestne nastavenia sa ur??uj� zo spomenut�ch premenn�ch, pri??om tieto sa
vyhodnocuj� v tomto porad�:

LANGUAGE --- ovplyv??uje len LC_MESSAGES
LC_ALL                                  
LC_*                                    
LANG                                    

To znamen� asi to??ko, ??e ke?? raz nastav�te LC_ALL, jednotliv� premenn� LC_
* sa u?? neber� do �vahy. Na druhej strane, ak m�te napr�klad nastaven� len
niektor� z LC_*, ostatn� sa nastavia na hodnotu premennej LANG.
-----------------------------------------------------------------------------

2.1.5. K�dy miestnych nastaven�

Premenn�, ktor� ovplyv??uj� miestne nastavenia, sa nap????aj� k�dmi miestnych
nastaven�. K�dy miestnych nastaven� s� re??azce, ktor�ch form�t sa riadi
nieko??k�mi pravidlami. V??eobecn� tvar je:
jazyk[_�zemie[.k�dovanie]][@modifik�tor]                                     
                                                                             

jazyk je napr. sk pre sloven??inu, cs pre ??e??tinu, hu pre ma??ar??inu,
�zemie je SK pre Slovensko, CZ pre ??esk� republiku, HU pre Ma??arsko,
k�dovanie je ISO-8859-2 pre v??etky stredoeur�pske jazyky (je mo??ne pou??i??
nieko??ko form�tov na zadanie k�dovania) a modifik�tor slu??i na povolenie
alebo zak�zanie niektor�ch funkci�. Tie s� dan� v defin�ciach miestnych
nastaven�. Napr�klad, pre Ve??k� Brit�niu je modifik�torom re??azec euro a
pri jeho pou??it� sa ako pe??a??n� mena bude pou??�va?? euro namiesto libry.
To znamen�, ??e sa mus� pou??i?? k�dovanie iso-8859-15, ktor� definuje znaky
euro a cent.

Pr�klady k�dov miestnych nastaven� (ka??d� z t�chto re??azcov je mo??n�
priradi?? premenn�m miestnych nastaven�, ale naj??astej??ie sa pou??�vaj� len
dvojp�smenkov� skratky v poslednom st??pci):


Tabu??ka 1. Pr�klady k�dov miestnych nastaven�
+-----------------+---------+-------+--+
|sk_SK.ISO-8859-2 |sk_SK    |�      |sk|
+-----------------+---------+-------+--+
|cs_CZ.ISO-8859-2 |cs_CZ@-ch|cs@-ch |cs|
+-----------------+---------+-------+--+
|en_GB.iso8859    |en_GB    |en@euro|en|
+-----------------+---------+-------+--+
|ja_JP.ujis       |ja_JP.EUC|ja_JP  |ja|
+-----------------+---------+-------+--+

Nemali by sme zabudn�?? na dve ??tandardn� locales, ktor� sa pou??ij�, ak nie
s� syst�mov� premenn� nastaven� a programy ich pou??�vaj� do doby, k�m sa
inicializuje lokaliz�cia. Tvrd�m, ??e sa pou??ij� obe, preto??e moment�lne s�
toto??n�, ale v bud�cnosti sa m�??u v tejto oblasti ??tandardy ISO C a POSIX
odli??ova?? a potom to bude z�le??a?? na konfigur�cii syst�mu.

C --- nastavenia pod??a ??tandardu ISO C.                                    
POSIX --- nastavenia pod??a ??tandardu POSIX. V s�??asnosti je to alias pre  
nastavenia C.                                                                

-----------------------------------------------------------------------------
2.2. Miestne nastavenia pre Slovensko

V prvom rade treba nain??talova?? bal�k s podporou miestnych nastaven�, ktor�
m� n�zov locales a tie?? bal�k s podporou priamo pre Slovensko --- locales-sk
. Ak m�te z�ujem pou??�va?? aj podporu pre nejak� in� jazyk (na na??om �zem�
je aktu�lna najm� ??e??tina a ma??ar??ina), mus�te tie?? nain??talova??
bal�ky pre tieto jazyky.

V druhom rade si mus�te nain??talova?? bal�ky s podporou miestnych nastaven�
a priamo sloven??iny (s� to locales a locales-sk).

V ??al??om kroku si nezabudnite nain??talova?? bal�ky locales a locales-sk.
Takisto, pre ka??d� jazyk, ktor� sa chyst�te pou??�va??, si nain??talujte
bal�k s podporou miestnych nastaven�.

V pr�pade probl�mov s miestnymi nastaveniami sa dr??te predch�dzaj�cich troch
krokov.
-----------------------------------------------------------------------------

2.2.1. S�bory s miestnymi nastaveniami

Prejdime sa teraz trochu po na??ich adres�roch. Prv� nav??t�vime /usr/share/
locale/sk. Na prv� poh??ad vidno, ??e adres�r a s�bory v tomto adres�ri maj�
men� toto??n� s premenn�mi, pomocou ktor�ch sa nastavuj� jednotliv� kateg�rie
miestnych nastaven�. Je to preto, lebo pr�ve z t�chto s�borov sa na??�taj�
nastavenia, ke?? je dan� premenn� nastaven� na hodnotu sk. Okrem nich tu
m�??e by?? e??te s�bor charset, ktor� obsahuje len jeden riadok s re??azcom
iso-8859-2. Ten hovor�, ak� k�dovanie znakov sa m� pou??i?? pre dan� miestne
nastavenia.

V??etky s�bory v tomto adres�ri s� bin�rne d�ta a adres�r LC_MESSAGES
obsahuje s�bory, ktor�ch men� s� toto??n� s n�zvami niektor�ch bal�kov
nain??talovan�ch na va??om syst�me, s pr�ponou mo. S� to preklady re??azcov z
jednotliv�ch aplik�ci�. O nich si povieme nesk�r. Teraz by sme mohli zisti??,
??o vlastne obsahuj� s�bory LC_*.

Presu??me sa do adres�ra /usr/share/i18n/. Tu, v textovom s�bore sk_SK v
podadres�ri locales/ sa kone??ne nach�dzaj� slovensk� miestne nastavenia v ??
itate??nej (a editovate??nej) forme. S�bory v tomto adres�ri maj� presne dan�
??trukt�ru, ktor� je pop�san� v manu�lovej str�nke locale(5). Pre be??n�ho
pou??�vate??a nem� zmysel meni?? nastavenia v tomto s�bore, ke????e ide o
??tandardn� nastavenia, ktor� sa pou??�vaj� na celom Slovensku. Ale, proti
Gustovi ??iadna putika! Ak sa teda rozhodnete zmeni?? nie??o v tomto s�bore,
mus�te aktualizova?? s�bory v prvom spom�nanom adres�ri /usr/share/locales/sk
/ pr�kazom, ktor� �daje v s�bore sk_SK skompiluje a ulo??� do s�borov
LC_COLLATE, LC_CTYPE, ...
sh$ localedef -i sk_SK -f ISO-8859-2 sk_SK                                   
                                                                             

V podadres�ri /usr/share/i18n/charmaps/ sa nach�dzaj� s�bory s popismi
jednotliv�ch k�dovani znakov. Pre Slovensko je aktu�lny ISO-8859-2 (??o je aj
obsah spom�naneho s�boru charset).

V adres�ri /usr/share/locale/ sa nach�dza s�bor locale.alias, ktor� definuje
tzv. aliasy pre k�dy miestnych nastaven�. Pre spr�vnu funkciu slovensk�ch
miestnych nastaven� by mal obsahova?? tieto dva riadky:
sk              sk_SK.ISO-8859-2                                             
slovak          sk_SK.ISO-8859-2                                             
                                                                             

To zabezpe??�, ??e aj ke?? nezad�te k�dovanie znakov, bude pou??it�
iso-8859-2. Druh� riadok m� na svedom� to, ??e namiesto sk mo??no zada??
slovak.

Varovanie Ale na aliasy typu slovak si d�vajte bacha! Niektor� aplik�cie,    
          ktor� v s�vislosti s miestnymi nastaveniami nevyu??�vaj� slu??by   
          libc, toti?? na aliasy ka????� a zauj�maj� ich len prv� dva znaky  
          nastaven�ch premenn�ch. A tak sa zo slovak stane sl, ??o je        
          Slovinsko. Pozit�vne je, ??e pre sloven??inu m�??ete nastavi??     
          premenn� napr�klad na hodnotu skaderukaskadenoha.                  
-----------------------------------------------------------------------------

2.2.2. Konfigur�cia miestnych nastaven�

Nastavenia internacionaliz�cie sa (v RedHat a Mandrake) nach�dzaj� v s�bore /
etc/sysconfig/i18n. Je to ve??mi u??ito??n� s�bor, ktor� si r�chlo ob??�bite.
Mo??no v ??om nastavi?? v??etko, ??o sa kedy t�kalo internacionaliz�cie,
n�rodn�ch fontov a rozlo??en� kl�ves. Tento s�bor v??ak len definuje
syst�mov� premenn� a zvykne sa vklada?? (source /etc/sysconfig/i18n) do
inicializa??n�ch skriptov. Exportovanie premenn�ch (odovzdanie ostatn�m
aplik�ci�m) m� na starosti skript /etc/profile.d/lang.sh (bash) alebo /etc/
profile.d/lang.csh (tcsh). Tento sa vykon� pri ka??dom ??tarte shellu,
typicky je volan� z /etc/profile (bash) alebo /etc/csh.cshrc (tcsh).

S�bor /etc/sysconfig/i18n definuje nastavenia pre cel� syst�m. Tieto sa
pou??ij�, ak sa nen�jde s�bor s u??�vate??ov�mi nastaveniami. Ka??d� u??�vate
?? si m�??e ur??i?? svoje vlastn� nastavenia v s�bore .i18n v jeho domovskom
adres�ri. Nastavenia sa v??dy ??�taj� len z jedn�ho z t�chto s�borov, teda ak
m� u??�vate?? svoj vlastn� s�bor ??/.i18n, nastavenia zo s�boru /etc/
sysconfig/i18n sa ignoruj�.

U??�vate?? si m�??e zmeni?? nastavenia aj ru??ne, kedyko??vek sa mu zachce,
nastaven�m premenn�ch prostredia LC_MESSAGES, LANG, at??.

Vypn�?? nejak� nastavenie je mo??n� pr�kazom
+---------------------------------------------------------------------------+
|sh$ unset LC_MESSAGES LANG                                                 |
|                                                                           |
+---------------------------------------------------------------------------+

T�m sa zru??ia nastavenia dan�ch premenn�ch (a pou??ije sa ??tandardn� locale
C alebo POSIX).

Ak m�te napr�klad nastaven� premenn� LC_ALL=sk a LC_MESSAGES=cz, tak po
pr�kaze unset LC_ALL nebudete ma?? hl�senia programov v angli??tine, ale ??
e??tine. Preto, ak chcete vypn�?? nejak� nastavenia, v??dy mus�te pr�kazom
unset zru??i?? nastavenia v??etk�ch premenn�ch, ktor� m�??u ovplyv??ova??
dan� miestne nastavenia.

Pozn�mka export/setenv                                                       
�        Neodpust�m si mal� pozn�mku k pr�kazu export. Je to vstavan� funkcia
         v??etk�ch shellov kompatibiln�ch s klasick�m sh (teda aj bash). Pre 
         shelly typu tcsh je ekvivalentom pr�kaz setenv.                     
                                                                             
         Je d�le??it� uvedomi?? si, ??o presne tento pr�kaz rob� s           
         premenn�mi. V dokument�cii k bashu sa hovor�, ??e export ozna??�    
         premenn�, aby bola odovzdan� detsk�m (child) procesom v r�mci       
         prostredia (environment). To znamen� asi to??ko, ??e ke?? spust�te  
         napr. iXy z matersk�ho procesu bash, ktor� pri ??tarte exportoval   
         premenn� LANG=sk, v??etky aplik�cie v prostred� X Window System bud�
         dedi?? toto nastavenie a teda (ak to sami podporuj�) bud� fungova?? 
         po slovensky. Ak budete chcie?? spusti?? aplik�ciu bez slovensk�ch  
         nastaven�, mus�te v xterme zada?? pr�kaz unset LANG (unsetenv LANG  
         pre tcsh), ??�m pre v??etky detsk� procesy xtermu (presnej??ie      
         shellu, ktor� je v ??om spusten�), zru??�te nastavenie premennej    
         LANG. Potom aplik�cie spusten� priamo z tohto xtermu bud� fungova?? 
         bez podpory sloven??iny. Trochu sa s t�m pohrajte.                  
-----------------------------------------------------------------------------

2.2.3. Nastavenie ??asovej z�ny

S miestnymi nastaveniami �zko s�vis� aj nastavenie ??asovej z�ny. Vedel by
som o tom rozpr�va?? cel� hodiny, ale ono by to muselo by?? zlo??itej??ie ako
len nastavenie jednej premennej... A to takto:
+---------------------------------------------------------------------------+
|bash$ export TZ="Europe/Bratislava"                                        |
|                                                                           |
|tcsh$ setenv TZ "Europe/Bratislava"                                        |
|                                                                           |
+---------------------------------------------------------------------------+

Toto nastavenie ovplyv??uje len ??asov� posun oproti hardverov�m hodin�m.
(Mimochodom, odpor�??am hardverov� hodiny nastaven� na greenwichsk� svetov�
??as, ??�m tie?? odpadaj� probl�my s prechodom medzi letn�m a zimn�m ??asom
at??. ale o tom s� pop�san� in� s�bory.) Toto cel� je dos?? dobr� vec, hlavne
ak mate pr�stup k po??�ta??u v inej ??asovej z�ne, ale chcete pracova?? s ??
asom v stredoeur�pskej z�ne. Do svojho s�boru .bash_profile (.login pre tcsh)
vlo??te vy????ie uveden� riadok.
-----------------------------------------------------------------------------

2.3. Pr�klady miestnych nastaven�

��*�U??�vate?? je s�ce zo stredn�ho Slovenska, ale u?? ke?? s n�m bola jeho
    mama tehotn�, p�????ala mu do brucha kurzy angli??tiny. Nem� teda zmysel
    pou??�va?? slovensk� nastavenia, a?? na krajn� pr�pady, napr. slovensk�
    fonty v Gimpe. Darujte mu s�bor .i18n s nasledovn�m obsahom (aj na tak�to
    mal� on� potrebuje locales-sk):
    +---------------------------------------------------------------+
    |LC_CTYPE=sk                                                    |
    |                                                               |
    +---------------------------------------------------------------+
   
��*�U??�vate?? je norm�lny, m� r�d svoj materinsk� jazyk, ale netr�pi ho, ke
    ?? m� polovicu aplik�ci� po slovensky a polovicu po anglicky. Po ??esky
    vie. Toto ho pote??� (nezabudnite mu potajomky nain??talova?? aj 
    locales-cs):
    +---------------------------------------------------------------+
    |LANGUAGE=sk:cs                                                 |
    |LANG=sk                                                        |
    |                                                               |
    +---------------------------------------------------------------+
   
��*�U??�vate?? je z bl�zkeho juhu, jeho ob??�ben� pleso je Balaton, v??etky
    hl�??ky chce po ma??arsky, ak sa inak ned�, pochop� aj sloven??inu.
    Nesmieme zabudn�?? na jeho miernu schizofreniu, pri??om jedno jeho ja
    potrebuje slovensk� triedenie re??azcov a druh� nevie ??i?? bez
    form�tovania d�tumu a ??asu v ??e??tine. Nikdy sa nesmie zabudn�?? na
    in??tal�ciu prekladov hl�??ok pre ma??ar??inu, ??e??tinu a sloven??inu z
    bal�kov, ktor� podporuj� premenn� LINGUAS. Treba ho tie?? presved??i??,
    ??e in??tal�cia locales-{sk,hu,cs} nepredstavuje bezpe??nostn� riziko:
    +---------------------------------------------------------------+
    |LANGUAGE=hu:sk:cs                                              |
    |LC_COLLATE=sk                                                  |
    |LC_TIME=cs                                                     |
    |LANG=hu                                                        |
    |LINGUAS="hu cs sk"                                             |
    |                                                               |
    +---------------------------------------------------------------+
   

-----------------------------------------------------------------------------
3. Nastavenia konzoly

T�to kapitola by mala ??�tavou, pou??nou a z�rove?? z�bavnou formou
pojedn�va?? o veciach medzi prstom a okom. Z�kladnou ot�zkou nech n�m je ??
Zmysel ??ivota, vesm�ru a v�bec.??
-----------------------------------------------------------------------------

3.1. Sloven??ina na v�stupe textovej konzoly

3.1.1. Fonty

Ke?? zobud�te o polnoci hocikoho, kto vo svojom ??ivote videl po??�ta?? a
op�tate sa ho, ako rozbeha?? slovensk� znaky, ur??ite spomenie nie??o ako
fonty. Na zobrazovanie znakov na obrazovku -- ??i u?? v textovom alebo
grafickom re??ime -- sl�??ia skuto??ne fonty. Fonty pre konzolu a programy ur
??en� na manipul�ciu s nimi sa nach�dzaj� v bal�ku kbd. Po jeho
nain??talovan� s� s�bory s fontami umiestnen� v adres�ri /usr/lib/kbd/
consolefonts/.

Pre n�s s� d�le??it� najm� s�bory, ktor� maj� v mene iso02, lat2, latin2
alebo ??�slo 852. To nazna??uje, ??e ide o fonty s podporou ISO-8859-2 (
latin2), pr�padne DOS codepage 852, ??o s� ??tandardy aj pre slovensk�
diakritiku.

Pozor, p�vodn� bal�k sa vol� kbd, ale existuje jeho roz??�ren� verzia, ktor�
sa objavuje v distrib�ci�ch -- console-tools. Rozdiely medzi nimi s�
minim�lne, pre kbd budeme pou??�va?? pr�kaz setfont, pre console-tools zase 
consolechars. Taktie??, n�zvy dod�van�ch fontov sa trochu odli??uj�, tak??e
budem uv�dza?? ekvivalenty pre oba bal�ky.
-----------------------------------------------------------------------------

3.1.2. Ako fonty funguj�

Existuje nieko??ko s�borov�ch form�tov na ukladanie fontov, princ�p je v??ak
rovnak� -- s�bor obsahuje 256 obr�zkov (glyphs), z ktor�ch v??etky maj�
rovnak� rozmer (napr. 8x16 bodov -- ve??kos?? fontu) a ka??d� zobrazuje jeden
znak.

Aby n�m t�ch 256 obr�zkov bolo na nie??o dobr�ch, je treba font zo s�boru
zavies?? do znakov�ho gener�tora videokarty. Na to sl�??i jeden z pr�kazov

kbd:
    setfont meno-fontu
   
console-tools:
    consolechars -f meno-fontu
   

meno-fontu m�??e by?? absol�tna alebo relat�vna cesta k s�boru s fontom,
alebo meno s�boru, pokia?? sa nach�dza v adres�ri /usr/lib/kbd/consolefonts/,
??i u?? s pr�ponou, alebo bez.

Pre ??ah??ie pochopenie t�ch obr�zkov, sk�ste nahradi?? meno-fontu re??azcom
t850 a sledujte v�sledok na v??etk�ch virtu�lnych konzol�ch.

Nasp�?? k ??tandardn�mu fontu sa v??dy dostanete jedn�m z pr�kazov

kbd:
    +---------------------------------------------------------------+
    |sh$ setfont                                                    |
    |                                                               |
    +---------------------------------------------------------------+
   
console-tools:
    +---------------------------------------------------------------+
    |sh$ consolechars -d                                            |
    |                                                               |
    +---------------------------------------------------------------+
   

??o sa presne deje? Program setfont/consolechars zavedie v??etk�ch 256
obr�zkov do znakov�ho gener�tora EGA/VGA karty. Od tohto momentu sa na
v??etk�ch konzol�ch bude znak s ASCII k�dom napr. 65 vykreslova?? ako
??esdesiaty piaty obr�zok z na??eho s�boru s fontom. E??te raz pripom�nam a
dvakr�t pod??iarkujem, ??e font je v??dy rovnak� pre v??etky virtu�lne
konzoly, na ktor�ch zobrazuje znaky ten ist� znakov� gener�tor EGA/VGA karty.

D�le??it� je uvedomi?? si, ??e interne ide naozaj len o obr�zky a tvar
niektor�ho znaku vo fonte nem� ni?? spolo??n�ho s jeho ASCII k�dom. Ak by ste
si sami vytvorili nejak� font (v dokument�cii ku kbd/console-tools m�te
inform�cie o v??etk�ch form�toch), v ktorom by mal ten ??esdesiaty piaty
obr�zok tvar p�smena z, po jeho natiahnut� sa v�m bude pri zadan� Alt-6-5, ??
o je ASCII k�d p�smena A, zobrazova?? znak z. Ale ak tento znak ulo??�te do
s�boru, v tomto sa bude nach�dza?? bajt s hodnotou 65, teda p�smeno A.
-----------------------------------------------------------------------------

3.1.3. Fonty ISO-8859-2

Toto vyu??�va ??tandard ISO-8859-2 (a in�) - spolo??n� znaky s ASCII vykresl�
rovnako a znaky ??pecifick� pre t� ktor� abecedu ??namapuje?? na menej
pou??�van� znaky ASCII tabu??ky. Kam presne ktor� norma umiest??uje znaky s
diakritikou, n�s zauj�ma?? nemus� (pokia?? nevytv�rame vlastn� fonty), hlavn�
je, ??e napr. anglick� text je nezmenen� (angli??tina m� v??etky znaky spolo
??n� so sloven??inou) a slovensk� text u?? viac neobsahuje hl�pe znaky, ktor�
so sloven??inou nemaj� ni?? spolo??n�.

Slovensk� (ISO-8859-2) fonty, ktor� s� s�??as??ou bal�kov kbd a console-tools
:

kbd:
    lat2-{08,10,12,14,16}, lat2a-16, iso02.{08,14,16}
   
console-tools:
    lat2-{08,10,12,14,16}, lat2u-16, iso02.f{08,14,16}
   

Na zavedenie fontu pou??ite pr�kaz

kbd:
    +---------------------------------------------------------------+
    |sh$ setfont meno-zo-zoznamu                                    |
    |                                                               |
    +---------------------------------------------------------------+
   
console-tools:
    +---------------------------------------------------------------+
    |sh$ consolechars -f meno-zo-zoznamu                            |
    |                                                               |
    +---------------------------------------------------------------+
   

Odpor�??am pou??�va?? lat2a-16, resp. lat2u-16. Ostatn� fonty maj� bezchybn�
zobrazovanie slovensk�ch znakov, probl�m v??ak nast�va pri aplik�ci�ch, ktor�
vyu??�vaj� znaky na kreslenie r�m??ekov (napr. mc).

??o sa t�ka fontov iso02.* z bal�ka kbd, treba pri nich pou??i?? argument
pr�kazu setfont -m latin2u.trans. Tak??e cel� pr�kaz na zavedenie niektor�ho
z t�chto fontov je:

kbd:
    +---------------------------------------------------------------+
    |sh$ setfont iso02.16 -m latin2u.trans                          |
    |                                                               |
    +---------------------------------------------------------------+
   
console-tools:
    +---------------------------------------------------------------+
    |sh$ consoletrans -f lat2u-16 -m iso02                          |
    |                                                               |
    +---------------------------------------------------------------+
   

V s�bore latin2u.trans (iso02.acm) sa nach�dza tzv. Aplication-Charset Map (
ACM), ak�si prevodn� tabu??ka, ktor� obsahuje riadok pre ka??d� znak fontu a
jeho podobu v k�dovan� UTF-8.
-----------------------------------------------------------------------------

3.1.4. Automatick� zav�dzanie fontov

Ak ste si na??li svoj font, ktor� chcete pou??�va?? a ma?? ho automaticky
zaveden� v??dy pri ??tarte, nie je ni?? ??ah??ie. Inicializa??n� skript
rc.sysinit rob� asi toto: skontroluje, ??i existuje s�bor /etc/sysconfig/i18n
a program (skript) /sbin/setsysfont. Ak �no, spust� setsysfont. Ten na??�ta /
etc/sysinfo/i18n a pod??a premenn�ch definovan�ch v tomto s�bore pr�kazom 
consolechars alebo setfont zavedie font.

Tak??e sta??� nastavi?? spr�vne premenn� v s�bore /etc/sysconfig/i18n a
skript /sbin/setsysfont urob� v??etko za n�s. Tento skript mo??no spusti??
kedyko??vek chcete zavies?? font nastaven� ako ??tandardn� pre syst�m.

Premenn� v s�bore /etc/sysinit/i18n s� (pou??�vajte len men� s�borov bez
cesty a bez pr�pony!):

kbd:
    SYSFONT=lat2a-16                                                 
                                                                     
   
console-tools:
    SYSFONT=lat2u-16                                                 
    SYSFONTACM=iso02                                                 
                                                                     
   

Skript�k setsysfont obsahuj� oba bal�ky a kedyko??vek m�??ete zavies?? font
nastaven� ako syst�mov� v s�bore /etc/sysinit/i18n jednoduch�m zadan�m
+---------------------------------------------------------------------------+
|sh$ /sbin/setsysfont                                                       |
|                                                                           |
+---------------------------------------------------------------------------+

Pod??a toho, ??o sme si hovorili o tom, ??e pre v??etky virtu�lne konzoly
m�??e by?? nastaven� len jeden spolo??n� font, nem� ve??k� zmysel zav�dza??
nastavovanie fontu zvl�???? pre ka??d�ho u??�vate??a. S t�m s�vis� aj fakt,
??e nastavenie fontu sa vz??ahuje k dan�mu po??�ta??u, pri ktorom pr�ve
sed�te a nie k tomu, ku ktor�mu ste pripojen� napr. cez ssh.

Predsa len si viem predstavi?? pr�pad, ke?? niektor� z viacer�ch pou??�vate??
ov jedn�ho po??�ta??a potrebuje odli??n� font. V tom pr�pade m�??e vlo??i??
pr�kaz na zav�dzanie fontov do svojich skriptov, ktor� vykon�va shell pri
prihl�sen� a odhl�sen�. Pre bash by to mohlo vyzera?? takto:

~/.bash_profile:
    if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.font ]; then 
            setfont -o ~/.font gr928a-8x16                                           
    fi                                                                               
                                                                                     
   
~/.bash_logout:
    if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.font ]; then 
            setfont ~/.font                                                        
            rm -f ~/.font                                                          
    fi                                                                             
                                                                                   
   

Vonkoncom to nie je ide�lne rie??enie, ale svoj �??el spln� (minim�lne po
moment prv�ho odhl�senia). Trochu sa s t�m pozab�vajte, aby sa font (a
rozlo??enie kl�ves) menilo len pri prvom prihl�sen� a poslednom odhl�sen�,
tie?? setfont pod iXami nem� ve??mi zmysel a tak... V Tips-HOWTO je uveden�
sp�sob, ako zisti??, na ko??k�ch virtu�lnych konzol�ch je e??te u??�vate??
prihl�sen�.

In�??, aby bolo jasn�, toto v�m bude fungova?? len na lok�lnom stroji -
zamyslite sa, pre??o asi setfont (aj loadkeys) nefunguje cez vzdialen�
termin�l a ??i by ste z toho nie??o mali, keby to tak nebolo.

Ak to s tak�mto rie??en�m mysl�te v�??ne, tak sk�r uva??ujte nad modifik�ciou
skriptu /etc/profile.d/lang.sh, kde by sa kontroloval aj obsah u??�vate??
sk�ho s�boru ~/.i18n a pod??a toho by sa zaviedol skript, popis rozlo??enia
kl�ves, pr�padne nejak� premenn�...
-----------------------------------------------------------------------------

3.2. Slovensk� kl�vesnica na textovej konzole

Ke?? je slovensk� font na konzole rozbehan� a na??e n�rodn� znaky sa
zobrazuj� spr�vne, m�me so sloven??inou probl�m ??�slo dva - ako tam tie
znaky dosta??? Keby ste si chceli tento s�bor len pre??�ta?? bez potreby
n�slednej nav??tevy psychiatra, sta??ilo by zavies?? nejak� font so
slovenskou podporou. Ale ke????e ste uvedomel� linux�k�/�uvedomel� linux�??
ka, hne?? chcete do Slovak-HOWTO prispie?? a pomocou kl�vesnice p�sa??
slovensk� text. Na to potrebujete s tou kl�vesnicou nie??o urobi??.
-----------------------------------------------------------------------------

3.2.1. Popis rozlo??enia kl�ves (keymap)

Adres�re /usr/lib/kbd/keymaps/i386/qwertz/ a qwerty/ obsahuj� po
nain??talovan� bal�ka kbd/console-tools aj popisy slovensk�ho rozlo??enia
kl�ves. Pre n�s s� zauj�mav� s�bory

sk-prog-qwerty.map.gz
sk-qwerty.map.gz     
sk-prog-qwertz.map.gz
sk-qwertz.map.gz     

Tieto s�bory obsahuj� defin�cie rozlo??enia kl�ves pre slovensk� jazyk, pri??
om rozdiely medzi nimi s� v umiestnen� kl�ves Y a Z a po??te slovensk�ch
znakov, ktor� pomocou nich mo??no nap�sa?? priamo (bez m??tvych kl�ves).
Najviac sa na slovensk� p�sac� stroj podob� sk-qwertz, najmen??ie zmeny
oproti americkej kl�vesnici s� zase v sk-prog-qwerty.

S�bory v adres�ri /usr/lib/kbd/keymaps/i386/include/ obsahuj� popis
z�kladn�ch rozlo??en� kl�ves (azerty , qwerty, qwertz ), pr�davn�ch kl�ves
(keypad, windowkeys), pr�padne probl�mov�ch kl�ves ( delete, backspace, ctrl
). S�bory linux-*.inc.gz s� ??pecifick� pre linux (teda nie pre jazyk). S� to
napr. k??�??e (F1-F12, kombinovan�m s Ctrl a Shift a?? po F48), Shift-PgUp a 
Shift -PgDown, at??.

Keymapy *.inc.gz nepopisuj� kompletn� rozlo??enie kl�vesnice, ale len
niektor�ch jej ??ast�. Vyu??�vaj� sa pri prip�jan� (include) zo s�borov
*.map.gz, ??o je v�hodn� z d�vodu jednoduch??ej konfigur�cie kl�vesnice.
Napr�klad zmenou jedn�ho riadku v s�bore s rozlo??en�m sk-qwerty m�??me
dosta?? rozlo??enie qwertz, pr�padne (to asi vyu??ijete) jednoducho odstavi??
znaky euro a cent, ktor� (zatia???) nepotrebujeme a zbyto??ne n�m zaberaj�
znaky E a C.

Na zavedenie s�boru s popisom rozlo??enia kl�ves sl�??i nasledovn� pr�kaz:

loadkeys nazov
kde nazov m�??e by?? absol�tna alebo relat�vna cesta ku keymap s�boru, alebo
meno s�boru, pokia?? sa nach�dza v adres�ri /usr/lib/kbd/keymaps/, ??i u?? s
pr�ponou, alebo bez.

??tandardn� slovensk� popisy rozlo??enia kl�ves n�jdeme vo vy????ie
spom�nan�ch *.map.gz s�boroch. Ak sa chcete vr�ti?? k ??tandardn�mu
rozlo??eniu, pr�kaz
+---------------------------------------------------------------------------+
|sh$ loadkeys -d                                                            |
|                                                                           |
+---------------------------------------------------------------------------+
zavedie p�vodn�, ktor� je ulo??en� v s�bore defkeymap.map.gz niekde medzi
ostatn�mi keymap s�bormi. Predt�m ale nikdy nezabudnite zmeni?? re??im
slovenskej kl�vesnice na US znaky, tzn. 1 d�va 1 a nie + at??. Ak by ste
predsa zabudli, je mo??n�, ??e kl�vesy, kde sa nach�dzali slovensk� znaky,
nebud� fungova?? spr�vne (v skuto??nosti bud� fungova?? spr�vne, ale v�m sa
to nebude p�??i??). Vtedy znovu zave??te predchadz�j�cu keymapu (na nefunk??
n� kl�vesy pou??ite AltGr - prav� Alt) a kl�vesou Pause/Break v??etko
naprav�te. Potom m�??ete znova zavies?? defkeymap.

Pokia?? sa v�m nep�??i ani jeden zo ??tandardn�ch keymap s�borov pre sloven??
inu, ??o je pravdepodobn� v??aka riadku
include "euro"                                                               
                                                                             
v include s�boroch qwerty-layout.inc.gz aj qwertz-layout.inc.gz, m�??ete k??
udne pozmeni?? existuj�ci s�bor s popisom rozlo??enia kl�ves, pr�padne
vytvori?? nov�. Nebojte sa, je to zlo??it�! Nebudem to tu rozpisova??
v??etko, prezrite si zop�r kmap s�borov, pre??�tajte manu�lov� str�nku
keymaps(5) a mali by ste to ??ahko pochopi??.

My si povieme len o z�kladn�ch veciach, ktor� n�m pom�??u pozmeni??
existuj�ce kmap s�bory s popismi slovensk�ch kl�vesn�c, aby ste si poradili s
(mne zn�mymi) komplik�ciami, alebo upravili rozlo??enie kl�ves pod??a svojho
gusta.
-----------------------------------------------------------------------------

3.2.2. Include a nespr�vna funkcia kl�ves E a C

Probl�m s E a C je sp�soben� zaveden�m jednotnej meny v eur�pskej �nii. Na
vine nie je ani tak EU, ale niekto, kto symboly pre euro a cent umiestnil na 
AltGr-E a AltGr-C, ??o s� na??e oby??ajn� E a C. Toti??, n�rodn� kl�vesnice
s� v�????inou rie??en� tak, ??e po zaveden� s�boru na??alej funguje americk�
rozlo??enie a na prep�nanie do n�rodn�ho re??imu sa pou??�va kl�vesa Pause,
alebo m�??me zad�va?? n�rodn� kl�vesy pri s�??asnom dr??an� kl�vesy AltGr
(prav� Alt). S�bor euro.inc, ktor� definuje tieto dva probl�mov� symboly, je
pripojen� zo s�boru qwerty-layout.inc, ktor� zase prip�jaj� samotn� slovensk�
keymapy (sk-qwerty, sk-prog-qwertz, ??).

Rie??enie je ve??mi jednoduch� - zeditujete qwerty-layout.inc (alebo
qwertz-layout.inc) a odkomentujete znakom # riadok
include "euro"                                                               
                                                                             
-----------------------------------------------------------------------------

3.2.3. Keycode a definovanie kl�ves

Predch�dzaj�ci probl�m s eurom mo??no vyrie??i?? aj definovan�m znakov E a C
v samotnom s�bore sk-qwerty.kmap.gz (alebo inom, ktor� pou??�vate) pomocou
slova keycode:
keycode 18 = e                                                               
keycode 46 = c                                                               
                                                                             

V keymap s�boroch je pre ka??d� kl�vesu (alebo aspo?? pre ka??d�, ktor�
chceme predefinova??) jeden riadok pribli??ne tohto razenia:
keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two...           
                                                                             

??�slo za keycode ozna??uje ur??it� kl�vesu a re??azce za = hovoria o tom,
ak� znak m� ovl�da?? kl�vesnice generova?? pri stla??en� tejto kl�vesy, a to
bu?? samotnej, alebo v kombin�cii so ??peci�lnymi kl�vesmi Shift, AltGr, 
Control, Alt, ShiftL, ShiftR, Ctrl a CtrlR. To n�m d�va 256 mo??n�ch znakov
na ka??d� kl�vesu.

V�????inou sa pozme??uje len prv�ch 16 kombin�ci� modifik�torov. To je v�znam
riadku
keymaps 0-15                                                                 
                                                                             
na za??iatku kmap s�borov.

V nasleduj�com zozname je t�chto 16 kombin�ci� (po riadkoch):

??iadny     Shift             AltGr             Shift-AltGr             
Control     Shift-Control     AltGr-Control     Shift-AltGr-Control     
Alt         Shift-Alt         AltGr-Alt         Shift-AltGr-Alt         
Control-Alt Shift-Control-Alt AltGr-Control-Alt Shift-AltGr-Control-Alt 

Z h??adiska slovenskej kl�vesnice s� d�le??it� len prv� ??tyri - prv� dva s�
zvy??ajne nezmenen� americk� znaky, napr. two at, ??o je 2 @, a druh� dva s�
znaky slovenskej abecedy, ktor� bude ovl�da?? kl�vesnice posiela?? aplik�ci�m
ak pri stla??en� tejto kl�vesy budeme s�??asne dr??a?? kl�vesu AltGr (prav� 
Alt), napr. lcaron two, ??o je na??e ?? 2.

Aby ste mohli vklada?? slovensk� znaky, nemus�te cel� ??as pridr??iava?? 
AltGr nosom, ale m�??ete pou??i?? Pause/Break, ktor� v kontexte s n�rodn�mi
kl�vesnicami funguje ako AltGr Lock. Ch�pte to tak, ??e ke?? sa prepnete do
slovensk�ho re??imu stla??en�m Pause/Break, prv� a druh� dva re??azce v
ka??dom riadku keycode sa vymenia, napr.
two at lcaron two -> lcaron two two at                                       
                                                                             

Vtedy m�??ete pou??i?? AltGr na zad�vanie znakov americkej kl�vesnice, alebo
sa op�tovn�m stla??en�m Pause/Break prepn�?? sp�t do US re??imu.

Riadok pre kl�vesu s k�dom 41 (znaky ` a ~), m� v s�bore sk-qwerty.map.gz
nasledovn� tvar:
keycode 41 = grave asciitilde dead_diaeresis dead_circumflex ...             
                                                                             

Mne osobne sa nep�??i, ??e s� tu umiestnen� m??tve kl�vesy dead_diaeresis
(dve bodky nad znakom) a dead_circumflex (m�k??e??), preto??e ich
nepotrebujem --- � aj � na slovenskej kl�vesnici predsa je. A keby aj nebolo,
na ich p�sanie m�??em k??udne pou??i?? m??tvy kl�ves m�k??e??. O tom si
bli????ie povieme v ??asti o compose sekvenci�ch. Teraz chcem ma?? na tomto
mieste znaky ; (semicolon) a � (degree) tak, ako je to na popiske mojej
kl�vesnice. Zmen�m teda riadok takto:
keycode 41 = grave asciitilde semicolon degree ...                           
                                                                             

In�??, ten stupe?? asi nie je stupe??, ale m??tvy znak kr�??ku nad p�smenom,
napr. v ??e??tine nad u, ale tak� kl�ves je n�m fakt nani??. Rad??ej budeme
p�sa?? stupne.

N�zvy znakov, ktor� sa pou??�vaj� pri definovan� jednotliv�ch kl�ves si
m�??ete pre znaky ASCII zisti?? v s�bore us.map.gz. ??�seln� k�dy v??etk�ch
kl�ves v�m vyp??uje program

showkey

Pravidl� pre n�zvy znakov ??pecifick�ch pre sloven??inu v kmap s�boroch:

 1. Prv� p�smeno v n�zve ur??uje ASCII znak, pre ktor� chceme pou??i??
    diakritiku.
   
 2. K nemu prid�me identifik�tor diakritick�ho znamienka:
   
    caron --- m�k??e??         
    acute --- d????e??         
    diaeresis --- dve bodky nad
    circumflex --- vok�??      
   
    Napr�klad:
   
    scaron = ??    
    uacute = �     
    Ocircumflex = �
   
   

N�zvy ??al??�ch znakov ??pecifick�ch pre sloven??inu:

0xa7 --- � (paragraf)
degree --- � stupe?? 

Pre spr�vnu interpret�ciu identifik�torov znakov s diakritikou je nutn� na za
??iatku kmap s�boru ur??i?? k�dov� str�nku, pre ktor� bude ur??en� tento
popis rozlo??enia kl�ves. Ide o to, ??e ten ist� znak m�??e ma?? v r�znych
k�dov�ch str�nkach in� ASCII k�d. Implicitn� hodnota je iso-8859-1, teda pre
slovensk� keymapy je nutn� vlo??i?? riadok:
charset "iso-8859-2"                                                         
                                                                             

E??te jeden pr�klad: ak chcete pou??�va?? slovensk� rozlo??enie qwertz a
americk� rozlo??enie qwerty, potrebujete vymeni?? znaky Y a Z:
keycode 21 = y Y z Z                                                         
keycode 44 = z Z y Y                                                         
                                                                             

Na prv� poh??ad to m�??e fungova?? dobre, ale probl�m sa prejav� pri zapnutom
Caps Lock - znaky Y a Z sa st�le p�??u mal�mi p�smenami. Pri p�san� popisov
rozlo??en� znakov mo??no tak�to probl�m o??etri?? pridan�m p�smena + pred
ka??d� p�smeno v keycode riadku danej kl�vesy. P�smeno + ur??uje nasledovn�mu
p�smenu atrib�t letter, teda sa bude pri stla??enom Caps Lock p�sa?? ve??k�
p�smeno. V??etky p�smen� a-z, A-Z maj� tento atrib�t priraden� automaticky,
ale to len v pr�pade, ??e maj� keycode riadok tvaru:
keycode 21 = y                                                               
                                                                             

V na??om pr�pade teda mus�me priradi?? tento atrib�t v??etk�m znakom
explicitne. Tak??e, kone??n� �prava keymapy bude:
keycode 21 = +y +Y +z +Z                                                     
keycode 44 = +z +Z +y +Y                                                     
                                                                             

Pre v�menu p�smen toto rie??enie funguje spo??ahlivo, bohu??ia??, e??te st�le
neexistuje sp�sob, ktor�m by sa dalo dosiahnu?? napr�klad p�sanie ve??k�ch
p�smen s diakritikou pri zapnutom Caps Lock jednoduch�m stl�??an�m ich
kl�ves, ako je to v slovenskom popise rozlo??enia kl�ves pre X Window System.
-----------------------------------------------------------------------------

3.2.4. M??tve kl�vesy a sekvencie compose

S m??tvymi kl�vesami s�visia v kmap s�boroch riadky tvaru
compose 'c1' 'c2' to 'c3'                                                    
                                                                             

Predstavme si m??tve znaky ako �plne oby??ajn� znaky s t�m rozdielom, ??e
ovl�da?? kl�vesnice ich neposiela aplik�ci�m, ale zostan� niekde ??visie????,
k�m z kl�vesnice nepr�de ??al??� znak. Ovl�da?? kl�vesnice nepo??le ani
tento, ale pok�si sa spoji?? ho s predch�dzaj�cim m??tvym znakom a a??
v�sledok spojenia pust� ??alej. No, a ako m� to spojenie uskuto??ni??, to mu
presne hovoria riadky compose v keymap s�boroch.

V nasleduj�cej tabu??ke je zoznam m??tvych znakov pou??�van�ch v sloven??ine,
spolu s v�znamom a znakom, ktor�m sa ozna??uj� v compose sekvenci�ch.


Tabu??ka 2. M??tve kl�vesy
+----------------+-------------+-------+
|N�zov           |V�znam       |Compose|
+----------------+-------------+-------+
|dead_acute      |d????e??     |\'     |
+----------------+-------------+-------+
|dead_circumflex |m�k??e??     |^      |
+----------------+-------------+-------+
|dead_diaeresis  |dve bodky nad|"      |
+----------------+-------------+-------+

Postup pri p�sani compose sekvenci�

 1. Ka??d� compose sekvencia sa za??�na k??�??ov�m slovom compose.
   
 2. Nasleduje compose znak m??tvej kl�vesy (pod??a tabu??ky M??tve kl�vesy),
    napr�klad \'.
   
    Druh� je znak, s ktor�m chceme m??tvu kl�vesu kombinova??, napr�klad A.
   
    Za k??�??ov�m slovom to nasleduje v�sledok spojenia m??tvej kl�vesy a
    znaku bez diakritiky, teda �.
   

Je praktick� ma?? pri vytv�ran� compose sekvenci� zaveden� slovensk� font,
aby ste v�sledok mohli hne?? kontrolova??. Ve??kou pomocou je tie?? mo??nos??
pr�kazu loadkeys ??�ta?? zo ??tandardn�ho vstupu. Napr�klad:
+---------------------------------------------------------------------------+
|sh$ loadkeys                                                               |
|include "/usr/lib/kbd/keymaps/i386/include/windowkeys.map.gz"              |
|keycode 41 = grave asciitilde semicolon dead_diaeresis                     |
|compose '"' 'a' to '�'                                                     |
|# ukon??enie zad�vania:  EOF  -  Ctrl-D                                    |
|sh$                                                                        |
|                                                                           |
+---------------------------------------------------------------------------+

Popis aktu�lneho rozlo??enia kl�ves m�??ete ulo??i?? do s�boru pr�kazom
+---------------------------------------------------------------------------+
|sh$ dumpkeys > subor                                                       |
|                                                                           |
+---------------------------------------------------------------------------+

Ak nem�te zaveden� slovensk� popis rozlo??enia kl�ves, mus�te zad�va?? tieto
znaky ako Alt sekvencie, popr�pade vklada?? ich hex k�dy v tvare 0xed pre �.
V�pis znakov aktu�lneho fontu spolu s ich hex k�dmi v�m urob� program

kbd:
    showfont
   
console-tools:
    showcfont
   

E??te raz na??a compose sekvencia a nejak� navy??e:
compose '\'' 'A' to '�'   # dlh� A cez d????e??                              
compose '^'  'O' to '�'   # O s vok�??om cez m�k??e??                        
compose '^'  'a' to '�'   # ??irok� a cez m�k??e??,                          
compose '^'  'A' to 0x84  # ...preto nepotrebujeme dead_diaeresis            
                                                                             

Mimochodom, v s�bore /usr/lib/kbd/keymaps/compose/compose.latin2 m�te zoznam
compose sekvenci� pre normu ISO-8859-2.
-----------------------------------------------------------------------------

3.2.5. Automatick� zav�dzanie keymap s�boru

Na nastavenie rozlo??enia kl�vesnice, ktor� chceme zavies?? pri ??tarte
syst�mu, n�m sl�??i s�bor /etc/sysconfig/keyboard. Pre Slov�ka ako repa by
mal vyzera?? minim�lne takto:
KEYTABLE=sk-qwerty     # zavedie rozlo??enie kl�ves sk-qwerty                
KBCHARSET=iso-8859-2   # ...a spom�nan� s�bor compose.latin2                 
                                                                             

Nastavenie kl�vesnice pri ??tarte m� na starosti skript keytable, ktor� je
volan� priamo z rc.sysinit, tak??e netreba vytv�ra?? linky v adres�roch pre
runlevel 3/multiuser, pr�padne 5/X.

V dokument�cii k initscripts sa p�??e: ??Ak ulo??�te popis rozlo??enia kl�ves
(pou??it�m dumpkeys) do s�boru /etc/sysconfig/console/default.kmap, zavedie
sa pri ??tarte syst�mu e??te pred prip�jan�m/kontrolou s�borov�ch syst�mov.
To m�??e by?? u??ito??n�, ak potrebujete zada?? heslo roota v pr�pade
probl�mov. Mus� to by?? ??dumpnut�?? popis rozlo??enia kl�ves a nie
skop�rovan� s�bor z /usr/lib/kbd/keytables/, preto??e tie ??asto e??te
vkladaj� (include) in� popisy z tejto adres�rovej ??trukt�ry.??

Po pripojen� s�borov�ch syst�mov, v pr�pade, ??e existuje spustite??n� s�bor
/etc/rc.d/init.d/keytable a adres�r /usr/lib/kbd/keymaps/, vykon� sa pr�kaz
+---------------------------------------------------------------------------+
|sh# /etc/rc.d/init.d/keytable start                                        |
|                                                                           |
+---------------------------------------------------------------------------+

Tento u?? zavedie popis rozlo??enia kl�ves tak, ako to m�te ur??en�
premenn�mi v s�bore /etc/sysconfig/keyboard, preto nemus�te vytv�ra?? odkazy
v jednotliv�ch rc[1-5].d/ adres�roch.

To, ??o sme si hovorili o zmene fontu pri prihl�sen� nejak�ho u??�vate??a na
virtu�lnej konzole, sa d� aplikova?? aj na rozlo??enie kl�ves. �plne
najjednoduch??ie rie??enie (ktor� sa pri prvom odhl�sen� po??le do kr�kov) je
asi tak�to:

~/.bash_profile:
    if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.keymap ]; then 
            dumpkeys > ~/.keymap                                                       
            loadkeys gr.map                                                            
    fi                                                                                 
                                                                                       
   
~/.bash_logout:
    if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.keymap ]; then 
            loadkeys ~/.keymap                                                       
            rm -f ~/.keymap                                                          
    fi                                                                               
                                                                                     
   

-----------------------------------------------------------------------------
3.3. Zhrnutie nastaven� konzoly

Pokia?? som sa niekde nesekol, tak minim�lne v distrib�ci�ch RedHat a 
Mandrake by po t�chto zmen�ch mala do pohody za??lapa?? slovensk� podpora
(fonty + kl�vesnica).

/etc/sysconfig/i18n:
    kbd:
        SYSFONT=lat2a-16                                              
                                                                      
       
    console-tools:
        SYSFONT=lat2u-16                                              
        SYSFONTACM=iso02                                              
                                                                      
       
   
   
/etc/sysconfig/keyboard:
    KEYTABLE=sk-qwertz                                               
    KBCHARSET=iso-8859-2                                             
                                                                     
   

Tie??, ak zad�vate rootovsk� heslo s pou??it�m in�ho rozlo??enia kl�ves ako
je ??tandardn� (us), vlo??te si jeho popis do s�boru /etc/sysconfig/console/
default.kmap. Pozor, nesmiete len tak skop�rova?? s�bor, alebo vytvori??
link! Ak chcete pou??i?? napr�klad rozlo??enie sk-qwertz, urobte to takto:
+---------------------------------------------------------------------------+
|sh$ loadkeys sk-qwertz                                                     |
|sh# dumpkeys >/etc/sysconfig/console/default.kmap                          |
|                                                                           |
+---------------------------------------------------------------------------+

Ak chcete nastavi?? slovensk� font a kl�vesnicu len jednorazovo, tieto
pr�kazy by to mali dok�za??:

kbd:
    +---------------------------------------------------------------+
    |sh$ setfont lat2a-16                                           |
    |sh$ loadkeys sk-qwertz                                         |
    |                                                               |
    +---------------------------------------------------------------+
   
console-tools:
    +---------------------------------------------------------------+
    |sh$ consolechars -f lat2u-16 -m iso02                          |
    |sh$ loadkeys sk-qwertz                                         |
    |                                                               |
    +---------------------------------------------------------------+
   

...a nasp�?? na ??tandardn� nastavenia:

kbd:
    +---------------------------------------------------------------+
    |sh$ setfont                                                    |
    |sh$ loadkeys -d                                                |
    |                                                               |
    +---------------------------------------------------------------+
   
console-tools:
    +---------------------------------------------------------------+
    |sh$ consolechars -d                                            |
    |sh$ loadkeys -d                                                |
    |                                                               |
    +---------------------------------------------------------------+
   

-----------------------------------------------------------------------------
4. Nastavenia X Window Systemu

??oko??vek sa chyst�te robi?? s X Window Systemom a sloven??inou dokopy, s??
ubujem, ??e v�m to nebude fungova??, ak nenastav�te totok taktok:
LC_CTYPE=sk                                                                  
                                                                             

??o to znamen� a ako sa to nastavuje, tak o tom pojedn�va kapitola Miestne
nastavenia.
-----------------------------------------------------------------------------

4.1. Slovensk� fonty v X Window Systeme

Predpoklad�m, ??e X Window System m�te nain??talovan�, pr�padne aj X Font
Server, va????inu d�le??it�ch vec� sme si povedali v ??asti o konzole, po??me
si rovno nain??talova?? slovensk� fonty.
-----------------------------------------------------------------------------

4.1.1. In??tal�cia fontov - X server

Slovensk� fonty pre X n�jdeme v bal�ku XFree86-ISO8859-2, ve??a ??al??�ch je
v bal�koch XFree-ISO8859-2-<druh>-fonts, kde <druh> m�??e by?? Type1, 100dpi
alebo 75dpi. Ak chcete pou??�va?? sloven??inu seri�zne (Gimp, Netscape,
lokaliz�cia), nain??talujte si v??etky, ak potrebujete slovensk� font len
napr. v XTerme, posta??� v�m z�kladn� bal�k.

Po rozbalen� arch�vu sa fonty nach�dzaj� na nieko??k�ch miestach. V??etky
cesty k nov�m fontom si treba odpisa??, zapam�ta??, ma?? na o??iach:

/usr/share/fonts/ISO8859-2/misc  
/usr/share/fonts/ISO8859-2/75dpi 
/usr/share/fonts/ISO8859-2/100dpi
/usr/share/fonts/ISO8859-2/Type1 

Tieto cesty toti?? budeme vklada?? do konfigura??n�ho s�boru X Window Systemu
(/etc/X11/XF86Config, pr�padne /etc/X11/XF86Config-4). T�m spr�stupn�me X
serveru fonty z t�chto adres�rov. Sekciu "Files" uprav�me vlo??en�m riadkov
FontPath:
Section "Files"                                                              
    ...                                                                      
    FontPath   "/usr/share/fonts/ISO8859-2/misc"                             
    FontPath   "/usr/share/fonts/ISO8859-2/75dpi"                            
    FontPath   "/usr/share/fonts/ISO8859-2/100dpi"                           
    FontPath   "/usr/share/fonts/ISO8859-2/Type1"                            
EndSection                                                                   
                                                                             

Spr�vne poradie riadkov s cestami k fontom n�jdete v XWindow-User-HOWTO, ale
nemali by ste ma?? ve??k� probl�my ani ke?? slovensk� fonty vlo??�te na
koniec zoznamu.

Za behu X Window Systemu prid�te nov� adres�re s fontami pr�kazom
+-----------------------------------------------------------------------------------+
|sh$ xset +fp /usr/share/fonts/ISO8859-2/misc, /usr/share/fonts/ISO8859-2/75dpi, ?? |
|                                                                                   |
+-----------------------------------------------------------------------------------+
-----------------------------------------------------------------------------

4.1.2. In??tal�cia fontov - X Font Server

X Font Server pon�ka druh� sp�sob spravovania fontov pre X Window Server, a
to ako pre lok�lnu ma??inu, tak aj pre vzdialen� syst�my. Modern� distrib�cie
u?? po in??tal�cii pon�kaj� nakonfigurovan� X Font Server a X Window System,
ktor� vyu??�va jeho slu??by.

Pri tomto sp�sobe treba cesty k fontom vlo??i?? do konfigura??n�ho s�boru X
Font Serveru a konfigur�cia v /etc/X11/X86Config (XF86Config-4) by mala
vyzera?? takto:
Section "Files"                                                              
    FontPath "unix/:7100"                                                    
EndSection                                                                   
                                                                             
za predpokladu, ??e X Font Server be??� na porte 7100 (vo??ba pr�kazov�ho
riadku -port).

Ak teda pou??�vate xfs, nie??o podobn� ako v predch�dzaj�cej kapitole urob�te
s konfigura??n�m s�borom pre tento program (/etc/X11/fs/config) v ??asti
catalogue:
catalogue = ...,                                                             
        /usr/share/fonts/ISO8859-2/misc,                                     
        /usr/share/fonts/ISO8859-2/75dpi,                                    
        /usr/share/fonts/ISO8859-2/100dpi,                                   
        /usr/share/fonts/ISO8859-2/Type1                                     
                                                                             

Hne?? potom mus� xfs znovu na??�ta?? konfigura??n� s�bor a t�m umo??n�te
pou??�vanie slovensk�ch fontov lok�lnemu aj in�m X serverom:
+---------------------------------------------------------------------------+
|sh# killall -USR1 xfs                                                      |
|                                                                           |
+---------------------------------------------------------------------------+
-----------------------------------------------------------------------------

4.1.3. Slovensk� TrueType fonty

Ak vlastn�te leg�lnu k�piu syst�mu WindowsXX (kde XX je hoci??o), alebo MacOS
, nemali by v�s zavrie??, ak pou??ijete TrueType fonty obsiahnut� v ich
distrib�ci�ch. Existuje aj mnoho bal�kov s TrueType fontmi s podporou normy 
ISO-8859-2, ktor� s� vo??ne dostupn�.

Popis in??tal�cie tak�chto fontov prebehneme len v kr�tkosti, podrobnej??�
n�jdete v dokument�cii k bal�ku free-type:

 1. Skop�rujte s�bory s TrueType fontami napr. do adres�ra /usr/share/fonts/
    ttf/win/. Odpor�??am zmeni?? men� s�borov s fontami aj ich pr�pony na
    mal� p�smen� -- mal som s t�m probl�my.
   
 2. Vytvorte v ka??dom adres�ri s�bor s inform�ciami o scalable fontoch
    fonts.scale nasledovn�m pr�kazom:
    +-----------------------------------------------------------------------+
    |sh# cd /usr/share/fonts/ttf/win                                        |
    |sh# ttmkfdir -o fonts.scale                                            |
    |                                                                       |
    +-----------------------------------------------------------------------+
   
    Ak to nie je celkom ono a dostanete ve??a chybov�ch hl�sen�, alebo s�bor
    fonts.scale obsahuje pr�li?? m�lo z�znamov o fontoch v adres�ri, sk�ste
    pou??i?? s pr�kazom ttmkfdir aj vo??bu pr�kazoveho riadku -c.
   
 3. Zoznam fontov v s�bore, ktor� na??�tava X server aj xfs, vytvor�te
    nasledovne:
    +-----------------------------------------------------------------------+
    |sh# cd /usr/share/fonts/ttf/win                                        |
    |sh# mkfontdir                                                          |
    |                                                                       |
    +-----------------------------------------------------------------------+
   

Od tohto momentu pokra??ujte ??tandardn�m sp�sobom tak, ako je to pop�san� v
predch�dzaj�cej ??asti o konfigur�cii X servera alebo xfs.
-----------------------------------------------------------------------------

4.1.4. ??o je in� so slovensk�mi fontami

Okrem toho, ??e sa slovensk� znaky zobrazuj� spr�vne, ni??. Fonty z bal�kov
pre normu ISO-8859-2 sa s�ce volaj� inak, ale vzh??adom zodpovedaj�
??tandardn�m fontom. V nasleduj�cej tabu??ke s� uveden� zodpovedaj�ce dvojice
fontov:


Tabu??ka 3. Slovensk� ekvivalenty ??tandardn�ch fontov
+-----------------------+-----------+
|??tandardne            |iso8859-2  |
+-----------------------+-----------+
|Times                  |Kathimerini|
+-----------------------+-----------+
|Helvetica              |Aplos      |
+-----------------------+-----------+
|New Century Schoolbook |Anagnostiko|
+-----------------------+-----------+
|Lucida                 |Fotinos    |
+-----------------------+-----------+
|Utopia                 |Chimera    |
+-----------------------+-----------+
|Charter                |Chartis    |
+-----------------------+-----------+

Berte t�to tabu??ku len ako informat�vny �daj, ktor� pravdepodobne nikdy
nebudete potrebova?? v??aka s�borom fonts.alias v adres�roch so slovensk�mi
fontmi. Tie zabezpe??uj� nahr�dzanie mien ??tandardn�ch fontov s uvedenou
normou ISO-8859-2 zodpovedaj�cimi menami slovensk�ch fontov. Napr�klad
po??iadavka na font

-b&h-lucida-bold-i-normal-sans-11-80-100-100-p-69-iso8859-2
poskytne a teda zobraz� v skuto??nosti font

-biznet-fotinos-bold-i-normal-sans-11-80-100-100-p-69-iso8859-2
-----------------------------------------------------------------------------

4.1.5. Strie??anie ta??kost�

Ak budete dost�va?? po spusten� X serveru chybov� hl�senia typu ??Can't open
default font 'fixed'?? alebo ??unable to open font ...??, alebo v�m
jednoducho nie??o spojen� s fontami pod iXami bude kazi?? n�ladu, uistite sa,
??e m�te v poriadku nasledovn� veci.

 1. V??etky adres�re s fontami, samotn� s�bory fontov a s�bory, ktor� ??�ta X
    Window System alebo X Font Server, musia ma?? nastaven� rozumn�
    pr�stupov� pr�va.
   
 2. V adres�roch, v ktor�ch sa nach�dzaj� fonty, mus� existova?? s�bor
    fonts.dir. Ak nie, spustite v t�chto adres�roch program mkfontdir. V
    adres�roch s TrueType fontmi mus�te e??te predt�m vytvori?? s�bor
    fonts.scale tak ako je to pop�sane v ??asti Slovensk� TrueType fonty.
   
 3. Ak idete bez xfs, naozaj v??etky adres�re s fontami musia by?? uveden� v
    s�bore XF86Config.
   
 4. V pr�pade, ze pou??�vate xfs, tieto adres�re musia by?? uveden� v s�bore
    /etc/X11/fs/config. Navy??e, xfs mus� be??a?? na nejakom porte (napr.
    7100) a v XF86Config mus� by?? cesta k fontom uveden� ako adresa s ??
    �slom toho portu, asi takto:
    FontPath "unix/:7100"                                            
                                                                     
   
 5. Po zmen�ch v konfigura??n�ch s�boroch X Window Systemu alebo X Font
    Serveru je nutn� re??tart alebo znovuna??�tanie nastaven�:
   
    X Window System
        +------------------------------------------------------------+
        |sh$ xset fp rehash                                          |
        |                                                            |
        +------------------------------------------------------------+
       
    X Font Server
        +------------------------------------------------------------+
        |sh# killall -USR1 xfs                                       |
        |                                                            |
        +------------------------------------------------------------+
       
   
   
 6. Ak m�te v inittabe nastaven� sp�????anie X serveru pri ??tarte syst�mu
    (runlevel 5/X), rad??ej si to pri pokusoch s fontami zme??te na 3/
    multiuser a?? pokia?? si nie ste sakramentsky ist�, ??e X server pri
    ??tarte n�jde fonty. Ak to neurob�te a nastavenia bud� nespr�vne, za??n�
    sa dia?? z�hadn� veci typu ??X server sa skon??�, lebo nen�jde fonty ale
    init ho znovu spust� a ten nen�jde fonty, tak sa skon??�, ale init ho...
    ??. Znakom toho je hl�??ka INIT: Id "x" respawning too fast: disabled for
    5 minutes.
   
 7. X Window System h??ad� (pre norm�lneho u??�vate??a) konfigura??n� s�bory
    v tomto porad�:
   
    /etc/X11/<cmdline>                      
    /usr/X11R6/etc/X11/<cmdline>            
    /etc/X11/$XF86CONFIG                    
    /usr/X11R6/etc/X11/$XF86CONFIG          
    /etc/X11/XF86Config-4                   
    /etc/X11/XF86Config                     
    /etc/XF86Config                         
    /usr/X11R6/etc/X11/XF86Config.<hostname>
    /usr/X11R6/etc/X11/XF86Config-4         
    /usr/X11R6/etc/X11/XF86Config           
    /usr/X11R6/lib/X11/XF86Config.<hostname>
    /usr/X11R6/lib/X11/XF86Config-4         
    /usr/X11R6/lib/X11/XF86Config           
   
    Pam�tajte na to pri editovan� konfigur�kov a v??dy sa uistite, ??i
    neexistuje s�bor, ktor� je v tomto zozname vy????ie, ako ten, ktor�
    editujete.
   

-----------------------------------------------------------------------------
4.2. Slovensk� kl�vesnica v X Window Systeme

Sk�r jak to tu cel� rozto??�me, zadajte pr�kaz
+---------------------------------------------------------------------------+
|sh$ rpm -q XFree86                                                         |
|                                                                           |
+---------------------------------------------------------------------------+

V??etky tie ??�sla za XFree86, ??o v�m tento pr�kaz vyp�??e, ud�vaj� verziu
v�??ho XFree86 X Window Systemu.

Existuje presne ??tyridsa??dva d�vodov, pre??o prejs?? na XFree86 verziu 3.2
alebo vy????iu, a len dva, pre??o zosta?? pri star??ej verzii. Red Hat Linux
6.0 obsahuje XFree86 , verziu 3.3.3 a Linux Mandrake 7.0 u?? verziu 3.3.6.

Pokia?? ste svoj opera??n� syst�m nezdedili po star�ch rodi??och, je vysoko
pravdepodobn�, ??e m�te verziu XFree86 vy????iu ako 3.2. Inak ste naozaj krok
pozadu a na adrese [ftp://ftp.xfree86.org] ftp://ftp.xfree86.org n�jdete to,
??o treba.

Ak aj po predch�dzaj�cich slov�ch, upozorneniach a odpor�??aniach odmietate
upgrade na verziu 3.2, dr??te sa nasleduj�cich krokov:

 1. Ak m�te Slovak-HOWTO vytla??en� na papieri, uchopte tento do ??avej ruky
    (ak ste ??av�k, robte v??etko naopak), zapa??ova?? do pravej,
    zachovavajte dostato??n� vzdialenos?? od in�ch z�paln�ch materi�lov a
    nekompromisne konajte.
   
 2. V pr�pade, ??e m�te tento s�bor ulo??en� niekde na disku, pr�kazom
    +-----------------------------------------------------------------------+
    |sh$ su -c'rm -fr /'                                                    |
    |                                                                       |
    +-----------------------------------------------------------------------+
    sa ho do nieko??k�ch min�t po zadan� hesla zaru??ene zbav�te.
   

-----------------------------------------------------------------------------
4.2.1. Konfigur�cia kl�vesnice

XFree86 3.2 a nov??ie u?? maj� tzv. XKEYBOARD roz??�renie, ktor�
zjednodu??uje konfigur�ciu kl�vesnice pre X Window System. Teoreticky netreba
urobi?? viac ako v s�bore /etc/X11/XF86Config vlo??i?? do sekcie "Keyboard"
nie??o tak�to:
Section "Keyboard"                                                           
    ...                                                                      
    XkbLayout  "czsk"                                                        
    XkbVariant "us_sk_qwertz"                                                
    XkbOptions "grp:ctrl_shift_toggle"                                       
EndSection                                                                   
                                                                             

Ak u?? ste nebodaj u??�vate??om XFree86 verzie 4.0.0 alebo vy????ej, vlo??te
do s�boru /etc/X11/XF86Config-4 toto:
Section "InputDevice"                                                        
    ...                                                                      
    Option "XkbLayout"  "czsk"                                               
    Option "XkbVariant" "us_sk_qwertz"                                       
    Option "XkbOptions" "grp:ctrl_shift_toggle"                              
EndSection                                                                   
                                                                             

Riadok v konfigura??nom s�bore
XkbLayout "czsk"                                                             
                                                                             
pr�padne pre verziu ?? 4
Option "XkbLayout"  "czsk"                                                   
                                                                             
hovor� asi to??ko, aby X server pou??il popis rozlo??enia kl�ves ulo??en� v
s�bore czsk. Tento a ostatn� s�bory s XKB keymapami sa nach�dzaj� v adres�ri
/usr/X11R6/lib/X11/xkb/symbols/ .

Bli????ie si o form�te t�chto s�borov povieme nesk�r, teraz si len otvorte
s�bor czsk a pozrite si jeho ??trukt�ru -- hlavne ??asti xkb_symbols. Pre
sloven??inu s� d�le??it� tieto varianty:

us_sk_qwerty
us_sk_qwertz
us_sk_prog  
sk_us_qwerty
sk_us_qwertz
sk_us_prog  

Niektor� z t�chto re??azcov dosa??te do riadku
XkbVariant "..."                                                             
                                                                             
pre star??ie verzie X Window Systemu, alebo
Option "XkbVariant" "..."                                                    
                                                                             
v konfigura??nom s�bore pre X sever verzia 4.

Varianty us_sk_qwerty a sk_us_qwerty s� prakticky toto??n�, jedin� rozdiel je
v tom, ktor� rozlo??enie kl�ves bude nastaven� po ??tarte X Window Systemu.
Pre sk_us_* je to slovensk�, pre us_sk_* zase americk�.

Prep�na?? medzi slovensk�m a americk�m rozlo??en�m kl�ves mo??no kl�vesom 
Scroll Lock, pr�padne aj in�mi, ak vlo??�te do konfigur�cie kl�vesnice
riadok:
+---------------------------------------------------------------------------+
|Options "grp:..."                                                          |
|                                                                           |
+---------------------------------------------------------------------------+
alebo pre X Window System verzie 4.0 alebo nov??�:
+---------------------------------------------------------------------------+
|Option "XkbOptions" "grp:..."                                              |
|                                                                           |
+---------------------------------------------------------------------------+

??as?? grp:?? nahra??te niektorou z nasleduj�cich mo??nost� a m�??ete
prep�na?? rozlo??enia kl�ves pomocou danej kl�vesovej skratky:


Tabu??ka 4. Mo??nosti prep�nania medzi rozlo??eniami kl�ves
+---------------------+-------------------------------+
|vo??ba               |prep�nanie medzi rozlo??eniami |
+---------------------+-------------------------------+
|grp:ctrl_shift_toggle|LShift + LCtrl / RShift + RCtrl|
+---------------------+-------------------------------+
|grp:caps_toggle      |Caps Lock / LShift + RShift    |
+---------------------+-------------------------------+
|grp:ctrl_alt_toggle  |Ctrl + Alt                     |
+---------------------+-------------------------------+

Pri nastavovan� alternat�vnych kl�vesov�ch kombin�ci� na prep�nanie medzi
rozlo??eniami kl�ves si d�vajte pozor, aby dan� nastavenie nekolidovalo s u??
existuj�cimi kl�vesov�mi skratkami (napr�klad v�??ho mana??�ra okien).
Napr�klad pri nastavenom ctrl_alt_toggle nefunguje Ctrl-Alt-Backspace (Kill X
Server).
-----------------------------------------------------------------------------

4.2.2. XKB keymapy

X Window System umo????uje definova?? vlastn� popisy rozlo??enia kl�ves
prakticky pre ak�ko??vek jazyk. Na to sl�??ia keymap s�bory -- nie??o ve??mi
podobn� t�m keymap s�borom, o ktor�ch sme hovorili v ??asti o nastaveniach
konzoly. Form�t keymap s�borov pre X Window System dovo??uje vytv�rat s�bory
s jednoduch�m popisom len ??asti kl�vesnice, ale aj zlo??it� s�bory s mnoh�mi
rozlo??eniami.

Naozaj nem� zmysel podrobne popisova?? mo??nosti XKB keymap s�borov, sn�??
bud� sta??i?? len �pln� z�klady, ktor� v�m dovolia robi?? mal� zmeny v u??
existujucich popisoch rozlo??enia kl�ves. Podstatne viac o t�chto s�boroch sa
dozviete, ke?? si ich sami pozriete a posk�??ate.

V XKB popisoch rozlo??enia kl�ves maj� riadky tak�to form�t:
key <TLDE> { [ quoteleft, asciitilde ], [ semicolon, degree ] };             
                                                                             

K??�??ov� slovo key ozna??uje za??iatok defin�cie znaku, ktor�ho k�d
nasleduje uzavret� v <�a�>, cel� definicia je uzavret� v kr�ten�ch z�tvork�ch
a dvojice znakov pre ka??d� skupinu (Group) sa uzavieraj� do hranat�ch
z�tvoriek. Skupiny m�??u by?? definovan� napr�klad takto:
name[Group1] = "US/ASCII";                                                   
name[Group2] = "Slovak";                                                     
                                                                             

Potom prv� dva znaky (quoteleft a asciitilde) v defin�cii znaku platia pre
prv� skupinu ( US/ASCII) a druh� dva (semicolon a degree) pre druh� skupinu
(Slovak).

K�dy jednotliv�ch kl�vesov ??ahko zist�te z keymap s�borov, ktor�ch je v
adres�ri /usr/X11R6/lib/X11/xkb/symbols/ naozaj dos??, takisto, n�zvy znakov
a m??tvych kl�ves sa ve??mi nel�??ia od t�ch, ktor� platia v keymap s�boroch
pre textov� konzolu. No a nakoniec, v pr�lohe XKB keymap n�jdete jeden
vzorov� pr�klad slovensk�ho rozlo??enia kl�ves pre X Window System.
-----------------------------------------------------------------------------

4.3. Slovensk� my?? v X Window Systeme

Mimoriadne zlo??it� bolo do verzie 4.0.1 nastavovanie sloven??iny pre my??.
Na??tastie, v�voj�ri si spomenuli, ??e i toto zariadenie a jeho ovl�da??e by
mali v plnej miere podporova?? miestne nastavenia tak, ako je to napr�klad u
kl�vesnice. Dokonca sa objavili pokusy lokalizova?? tablety a sveteln� per�.

V predch�dzaj�cich verzi�ch X Window Systemu bola t�to podpora ve??mi slabo
implementovan� a len nieko??k�m n�rodnostiam sa podarilo rozchodi?? my?? vo
svojom jazyku. Slovensk� pou??�vatelia museli na svojich my??iach robi??
r�zne �pravy od tup�rovania ??n�ry a?? po kastr�ciu, ale v�sledky boli aj tak
neuspokojiv�.

Pop�??eme si teraz v kr�tkosti postup posloven??ovania my??i v X Window
Systeme, verzia 4.0.1 a vy????ie:

 1. Odpojte svoju my?? od po??�ta??a, poutierajte a vyle??tite jej gu??u,
    skontrolujte mikrotla??idl� a celkovo ju o??etrite. Odlo??te ju do tepla
    a sucha. D�le??it� je aspo?? raz za de?? k nej prist�pi?? s Pravidlami
    slovensk�ho pravopisu a pr�jemn�m hlasom pred??�tava?? slov� zo slovn�ka.
    Po p�r ty??d??och m�??ete prejs?? k jednoduchej beletrii a rozpr�vkam.
   
 2. Po??as tohto obdobia odvykania my??i od cudz�ch jazykov nain??talujte
    slovensk� fonty a rozlo??enie kl�ves. Takisto sa pok�ste pozh�??a??
    slovensk� preklady ob??�ben�ch aplik�ci� va??ej my??i. Ako pozadie
    obrazovky odpor�??am nastavi?? slovensk� z�stavu a adres�re s hudbou by
    ste mali obohati?? o tituly ako In� Kafe, Maduar a r�zne in� rockov�
    urag�ny a punkov� smr??te.
   
 3. Ak m�te pocit, ??e my?? je pripraven� vst�pi?? do ??isto slovensk�ho
    prostredia va??ich iXov, opatrne ju pripojte a poukazujte jej v??etky
    z�kutia jej vynoven�ho domova.
   

E??te by som r�d pripomenul, ??e nie v??etky my??i s� rovnako odoln� vo??i
zmen�m n�rodn�ho prostredia a preto sa v??dy pri k�pe my??i informujte na
mo??nosti posloven??ovania toho ktor�ho v�robku.
-----------------------------------------------------------------------------

4.4. Pr�klady

4.4.1. XF86Config-4

??as?? konfigura??n�ho s�boru X Window Systemu (4.0.1) s rozbehan�m X Font
Serverom, slovensk�m rozlo??en�m kl�ves s prep�nan�m medzi americk�m a
slovensk�m pomocou Shift + Ctrl.
Section "Files"                                                              
    RgbPath     "/usr/X11R6/lib/X11/rgb"                                     
    FontPath    "unix/:7100"                                                 
    ModulePath  "/usr/X11R6/lib/modules"                                     
EndSection                                                                   
                                                                             
Section "InputDevice"                                                        
    Identifier  "Keyboard1"                                                  
    Driver      "Keyboard"                                                   
    Option "AutoRepeat" "500 30"                                             
    Option "XkbRules"   "xfree86"                                            
    Option "XkbModel"   "pc104"                                              
    Option "XkbLayout"  "czsk"                                               
    Option "XkbVariant" "us_sk_qwertz"                                       
    Option "XkbOptions" "grp:ctrl_shift_toggle"                              
EndSection                                                                   
                                                                             
-----------------------------------------------------------------------------

4.4.2. XKB keymap

Pr�klad �plne jednoduch�ho popisu rozlo??enia kl�ves pre sloven??inu:
partial default alphanumeric_keys                                            
xkb_symbols "sk_us" {                                                        
                                                                             
    name[Group1] = "Slovak";                                                 
    name[Group2] = "US/ASCII";                                               
                                                                             
// line 1                                                                    
    key <TLDE> {     [       semicolon,      degree          ],              
                     [       quoteleft,      asciitilde      ]       };      
    key <AE01> {     [            plus,      1               ],              
                     [               1,      exclam          ]       };      
    key <AE02> {     [          lcaron,      2               ],              
                     [               2,      at              ]       };      
    key <AE03> {     [          scaron,      3               ],              
                     [               3,      numbersign      ]       };      
    key <AE04> {     [          ccaron,      4               ],              
                     [               4,      dollar          ]       };      
    key <AE05> {     [          tcaron,      5               ],              
                     [               5,      percent         ]       };      
    key <AE06> {     [          zcaron,      6               ],              
                     [               6,      asciicircum     ]       };      
    key <AE07> {     [          yacute,      7               ],              
                     [               7,      ampersand       ]       };      
    key <AE08> {     [          aacute,      8               ],              
                     [               8,      asterisk        ]       };      
    key <AE09> {     [          iacute,      9               ],              
                     [               9,      parenleft       ]       };      
    key <AE10> {     [          eacute,      0               ],              
                     [               0,      parenright      ]       };      
    key <AE11> {     [           equal,      percent         ],              
                     [           minus,      underscore      ]       };      
    key <AE12> {     [      dead_acute,      dead_caron      ],              
                     [           equal,      plus            ]       };      
                                                                             
// line 2                                                                    
    key <AD01> {     [               q,      Q               ],              
                     [               q,      Q               ]       };      
    key <AD02> {     [               w,      W               ],              
                     [               w,      W               ]       };      
    key <AD03> {     [               e,      E               ],              
                     [               e,      E               ]       };      
    key <AD04> {     [               r,      R               ],              
                     [               r,      R               ]       };      
    key <AD05> {     [               t,      T               ],              
                     [               t,      T               ]       };      
    key <AD06> {     [               z,      Z               ],              
                     [               y,      Y               ]       };      
    key <AD07> {     [               u,      U               ],              
                     [               u,      U               ]       };      
    key <AD08> {     [               i,      I               ],              
                     [               i,      I               ]       };      
    key <AD09> {     [               o,      O               ],              
                     [               o,      O               ]       };      
    key <AD10> {     [               p,      P               ],              
                     [               p,      P               ]       };      
    key <AD11> {     [          uacute,      slash           ],              
                     [     bracketleft,      braceleft       ]       };      
    key <AD12> {     [      adiaeresis,      parenleft       ],              
                     [    bracketright,      braceright      ]       };      
                                                                             
// line 3                                                                    
    key <AC02> {     [               s,      S               ],              
                     [               s,      S               ]       };      
    key <AC03> {     [               d,      D               ],              
                     [               d,      D               ]       };      
    key <AC04> {     [               f,      F               ],              
                     [               f,      F               ]       };      
    key <AC05> {     [               g,      G               ],              
                     [               g,      G               ]       };      
    key <AC08> {     [               k,      K               ],              
                     [               k,      K               ]       };      
    key <AC09> {     [               l,      L               ],              
                     [               l,      L               ]       };      
    key <AC10> {     [     ocircumflex,      quotedbl        ],              
                     [       semicolon,      colon           ]       };      
    key <AC11> {     [         section,      exclam          ],              
                     [      quoteright,      quotedbl        ]       };      
                                                                             
// line 4                                                                    
    key <AB01> {     [               y,      Y               ],              
                     [               z,      Z               ]       };      
    key <AB02> {     [               x,      X               ],              
                     [               x,      X               ]       };      
    key <AB04> {     [               v,      V               ],              
                     [               v,      V               ]       };      
    key <AB05> {     [               b,      B               ],              
                     [               b,      B               ]       };      
    key <AB06> {     [               n,      N               ],              
                     [               n,      N               ]       };      
    key <AB07> {     [               m,      M               ],              
                     [               m,      M               ]       };      
    key <AB08> {     [           comma,      question        ],              
                     [           comma,      less            ]       };      
    key <AB09> {     [          period,      colon           ],              
                     [          period,      greater         ]       };      
    key <AB10> {     [           minus,      underscore      ],              
                     [           slash,      question        ]       };      
    key <BKSL> {     [          ncaron,      parenright      ],              
                     [       backslash,      bar             ]       };      
// End alphanumeric section                                                  
                                                                             
// begin modifier mappings                                                   
    modifier_map Shift  { Shift_L };                                         
    modifier_map Lock   { Caps_Lock };                                       
    modifier_map Control{ Control_L };                                       
    modifier_map Mod3   { Mode_switch };                                     
};                                                                           
                                                                             
-----------------------------------------------------------------------------

5. Sloven??ina a linuxov� kernel

5.1. Kompil�cia kernelu so slovenskou kl�vesnicou

Je ve??mi jednoduch� zmeni?? rozlo??enie kl�ves, s ktor�m bude jadro v�??ho
opera??n�ho syst�mu skompilovan�. Ak pou??ijete program loadkeys s vo??bou
pr�kazov�ho riadku --mktable <keymapfile>, tento v�m vygeneruje ??zdrojov�
k�d?? s�boru <keymapfile>. Ten ulo??te do s�boru drivers/char/defkeymap.c v
adres�rovej ??trukt�re zdrojov�ho k�du Linuxu.
+---------------------------------------------------------------------------+
|sh# cd /usr/src/linux                                                      |
|sh# loadkeys --mktable sk-qwerty > drivers/char/defkeymap.c                |
|                                                                           |
+---------------------------------------------------------------------------+

Toto je ak�si n�hrada za /etc/sysconfig/console/default.kmap s t�m rozdielom,
??e va??e rozlo??enie bude zaveden� u?? od �pln�ho ??tartu syst�mu. V pr�pade
probl�mov s initscriptami (alebo ??tarte zo z�chrannej diskety) budete ma??
zaveden� svoje rozlo??enie v ka??dom pr�pade. Pozor, nekompilujte si kernel
so slovensk�m rozlo??en�m len preto, ??e ??ijete na Slovensku! Na to sl�??i
pr�kaz loadkeys. Pou??ite toto rie??enie, len ak bezpodmiene??ne potrebujete
slovensk� rozlo??enie pri zad�van� rootovho hesla alebo tak podobne.
-----------------------------------------------------------------------------

5.2. Diakritika v n�zvoch s�borov na FAT part�ci�ch

Ak chcete pristupova?? spod Linuxu na FAT/VFAT oddiely a ma?? pr�padn�
diakritiku v n�zvoch s�borov na tak�chto part�ci�ch, pri konfigur�cii kernelu
(pred kompilovan�m) zvo??te tieto nastavenia v ??asti Filesystems->Native
Language Support:

CONFIG_NLS_CODEPAGE_852 --- Codepage 852     
CONFIG_NLS_ISO8859_2 --- ISO 8859-2 (Latin 2)

Pri prip�jan� FAT/VFAT m�??ete potom uvies?? vo??bu codepage=852.

Vo??ba codepage nastavuje k�dov� str�nku pre prevod znakov kr�tkych mien na
s�borov�ch syst�moch FAT a VFAT. Implicitne m� codepage hodnotu 437.
-----------------------------------------------------------------------------

6. Posloven??ovanie konkr�tnych aplik�ci�

??�m ??alej, t�m viac programov obsahuje bezprobl�mov� podporu jazykov in�ch
ako angli??tina. Napriek tomu je e??te p�r bal�kov, ktor� bu?? pou??�vaj�
vlastn� rozlo??enia kl�ves, alebo je treba nastavi?? nejak� tie fonty ??i
premenn�. V tejto kapitole si pop�??eme tie aplik�cie, v ktor�ch je pre
rozbehanie sloven??iny po nai??talovan� nutn� urobi?? viac ako export LANG=
sk.

Ak chcete naozaj plnohodnotne vyu??�va?? podporu n�rodn�ch nastaven�, v??dy
sa uistite, ??e program, ktor� pou??�vate (alebo cel� distrib�cia), nie je
star??� ako 6 - 12 mesiacov. Je toti?? mo??n�, ??e autori pridali t�to
podporu len v nov??�ch verzi�ch.

Niektor� z nasledovn�ch popisov nie s� p�vodn� a niektor� nemusia by?? ani
odsk�??an�. Preto je pri ka??dom uveden� autor a jeho adresa a pr�padn�
zdroj, z ktor�ho sa n�vod dostal do Slovak-HOWTO.
-----------------------------------------------------------------------------

6.1. Bash

Vi?? Readline.

J�n 'judas' Tomka, <judas@linux.sk>

Bash m�va nepravidelne probl�m pri zmene premennej LC_CTYPE a zvykne sa
sta??, ??e znaky s diakritikou sa nevypisuj� napriek spr�vnemu nastaveniu
tejto premennej. Zatia?? sa mi nepodarilo zisti??, kde je chyba, lebo
napr�klad Vim spusten� z tak�hoto Bashu funguje spr�vne... Zatia?? to rie??im
pr�kazom
+---------------------------------------------------------------------------+
|bash$ exec bash                                                            |
|                                                                           |
+---------------------------------------------------------------------------+

Aktu�lny shell sa nahrad� nov�m, ktor� u?? premenn� LC_CTYPE pochop� spr�vne
a je u?? mo??n� zad�va?? aj znaky s diakritikou.
-----------------------------------------------------------------------------

6.2. Joe

J�n Ondrej (SAL), <ondrejj@salstar.shadow.sk>

Ak chcete pou??�va?? n�rodn� prostredie, potrebujete ma?? nain??talovan�
slovensk� kl�vesnicu, slovensk� font a navy??e mus�te povoli?? zobrazovanie
znakov s ASCII k�dom 128-255 tak, ako s� (as is). To m�??ete spravi??
zmazan�m medzery pred vo??bou -asis v konfigura??nom s�bore joerc. Naj??
astej??ie ho n�jdete v adres�ri /usr/lib/joe/, v Debiane je v adres�ri /etc/.
??al??ou mo??nos??ou je pridanie parametra -asis pri sp�????an� programu.
-----------------------------------------------------------------------------

6.3. Lynx

J�n 'judas' Tomka, <judas@linux.sk>

V konfigur�cii Lynxu sa lokaliz�cie t�kaj� hlavne tieto nastavenia:

��*�Display character set (CHARACTER_SET) --- k�dovanie znakov na v�stupe.
    Toto hovor� o tom, do akej znakovej sady sa bud� prev�dza?? znaky pred
    zobrazen�m na va??ej obrazovke. Ak m�te ??tandardne nastaven� slovensk�
    font, m�??ete ma?? toto v??dy nastaven� na ISO-8859-2.
   
��*�Assumed document character set (ASSUME_CHARSET) --- ak� znakov� sada sa
    m� pou??i??, ak html dokument neobsahuje inform�ciu o svojom k�dovan� a
    nastavenie Raw 8-bit je vypnut�. HTTP ??tandardom je ISO-8859-1 tak??e
    tak. V�????inou maj� dokumenty s in�m k�dovan�m ako ISO-8859-1 inform�ciu
    o svojej znakovej sade, vtedy sa toto nastavenie neberie do �vahy. Ak
    chcete, aby sa dokumenty, ktor� nemaj� explicitne dan� sadu znakov,
    pova??ovali za s�bory s k�dovan�m Latin 2, nastavte si t�to premenn�.
    Mo??no ju nastavi?? len v s�bore /etc/lynx.cfg (teda nie pre ka??d�ho
    u??�vate??a zvl�????).
   
��*�Raw 8-bit --- s t�mto sa ve??mi tr�pi?? nemus�te, len v pr�pade, ??e sa
    slovensk� znaky nezobrazuj� spr�vne, sa v??dy uistite, ??e to m�te
    zapnut� (kl�vesovou skratkou @).
   

Konfigura??n� s�bor /etc/lynx.cfg upravte, aby obsahoval minim�lne prv�
riadok z
CHARACTER_SET:iso-8859-2                                                     
ASSUME_CHARSET:iso-8859-2                                                    
                                                                             

...alebo, pre u??�vate??sk� konfigura??n� s�bor ~/.lynxrc:
character_set=Eastern European (ISO-8859-2)                                  
                                                                             
-----------------------------------------------------------------------------

6.4. Mandrake 8

Vi?? RPM4.

J�n 'judas' Tomka, <judas@linux.sk>
-----------------------------------------------------------------------------

6.4.1. NLSPATH

Ak in??talujete aplik�cie, ktor�ch s�bory s prelo??en�mi hl�seniami (*.mo) sa
po in??tal�cii nenach�dzaj� v adres�rovej ??trukt�re pod /usr/share/locale/,
odstr�??te zo s�boru /etc/profile riadok
export NLSPATH=/usr/share/locale/%l/%N                                       
                                                                             

Vraj je ten riadok nutn� pre level1 compliance for LI18NUX2000, man a
star??ie programy, ale ka????a?? na ??tandardy a star� ??rot, ke?? to funguje
len bez tej premennej. Samozrejme, ak v�m to funguje aj s ??ou, zabudnite na
m??a.

V pr�pade, ??e nem�??ete meni?? /etc/profile, vlo??te si do svojho ~/.profile
riadok
unset NLSPATH                                                                
                                                                             
-----------------------------------------------------------------------------

6.4.2. SYSFONTACM

Pre spr�vnu funkciu fontov je nutn� okrem LC_CTYPE a SYSFONT nastavi?? aj
premenn� SYSFONTACM v s�bore /etc/sysconfig/i18n. No ak m�te vlastn� �??�vate
??sk� s�bor ~/.i18n, glob�lny sa nena??�ta a premenn� SYSFONTACM sa
nenastav�. Preto v??dy vlo??te do svojho u??�vate??sk�ho s�boru riadok:
SYSFONTACM=iso02                                                             
                                                                             

Na vine je skript /etc/profile.d/lang.sh, preto??e ten po??le na termin�l
Escape sekvenciu zavedenia u??�vate??sk�ho fontu len v pr�pade, ??e je
nastaven� premenn� SYSFONTACM. Tak si ju nastavte, alebo si to nejako
opravte!
-----------------------------------------------------------------------------

6.5. Midnight Commander

J�n Ondrej (SAL), <ondrejj@salstar.shadow.sk>

Jeho lokaliz�cia je jednoduch�, preto??e ju priamo podporuje. Kl�vesou F9
vyvol�te menu Options->Display bits... a zapnite vo??by:
(*) Full 8 bits output                                                       
[x] Full 8 bits input                                                        
                                                                             

Po tomto kroku bude MC vypisova?? diakritick� znaky spr�vne a bude ich mo??n�
aj zad�va?? z kl�vesnice. Ak sa pri vstupe do niektor�ch adres�rov bude
zobrazova?? hl�??ka ??Warning: Couldn't change to ...??, tak potrebujete
lokalizova?? kni??nicu readline (iba pre star??ie RedHat syst�my).

R�m??eky v MC (judas). Ak pou??�vate console-tools, pre spr�vnu funkciu r�m??
ekov v Midnight Commander a podobn�ch textov�ch aplik�ci�ch nastavte font s
application charset map. U m??a funguje jedine t�to kombin�cia:
+---------------------------------------------------------------------------+
|sh$ consolechars --font lat2u-16 --acm iso02                               |
|                                                                           |
+---------------------------------------------------------------------------+
-----------------------------------------------------------------------------

6.6. Mutt

J�n 'judas' Tomka, <judas@linux.sk>

Miestnych nastaven� sa t�kaj� v konfigura??nom s�bore ~/.muttrc nasledovn�
premenn�:

��*�ascii_chars -- Ak je nastaven�, Mutt pou??ije znaky ASCII pri zobrazovan�
    vl�ken stromov pripojen�ch s�borov, namiesto znakov ASC. To odpor�??am,
    ak m�te nastaven� star??� font bez podpory app-charset-map a namiesto ??
    iar a ??�piek sa v�m zobrazuj� znaky s diakritikou, alebo tieto znaky
    blikaj� ap.
   
��*�charset -- Znakov� sada, ktor� pou??�va v�?? termin�l na zobrazovanie a
    vkladanie textov�ch d�t. Nastavi?? na k�d znakovej sady fontu, ktor� m�te
    nastaven� na konzole alebo v XTerme, at??.
   
��*�send_charset --
   

-----------------------------------------------------------------------------
6.7. Readline

J�n 'judas' Tomka, <judas@linux.sk>

V s�bore s glob�lnymi nastaveniami /etc/inputrc alebo vo svojom u??�vate??
skom s�bore ~/.inputrc je pre spr�vnu interpret�ciu osembitov�ch znakov
nastavi?? tieto premenn�:

��*�convert-meta --- Ak je nastaven� na `on', Readline konvertuje znaky s
    nastaven�m �smym bitom na sekvenciu znakov ASCII odstr�nen�m �smeho bitu
    a pridan�m znaku Esc na za??iatok.
   
��*�input-meta --- Ak je nastaven� na `on', Readline umo??n� osembitov� vstup
    (neodstr�ni �smy bit z pre??�tan�ch znakov) bez oh??adu na to, ??i to
    termin�l podporuje. Meno meta-flag je synonymom pre t�to premenn�.
   
��*�output-meta --- Ak je nastaven� na `on', Readline bude zobrazova?? znaky
    s nastaven�m �smym bitom priamo a nie ako escape sekvencie.
   

Tak??e, do jedn�ho zo spom�nan�ch s�borov vlo??te tak�to nastavenia:
set convert-meta off                                                         
set input-meta on                                                            
set output-meta on                                                           
                                                                             
-----------------------------------------------------------------------------

6.8. RPM4

J�n 'judas' Tomka, <judas@linux.sk>

Tento mal� skript�k ??doin??taluje?? slovensk� preklady v??etk�ch aplik�ci�,
ktor� m�te nain??talovan�. M�??u v�m ch�ba??, ak ste pri in??tal�cii opera??
n�ho syst�mu nezvolili slovensk� jazyk.

export RPM_INSTALL_LANG=sk                                                   
cd /mnt/cdrom/Mandrake/RPMS/                                                 
for i in *.rpm; do                                                           
        j=$(rpm -q --queryformat "%{NAME}" -p $i)                            
        if rpm -q $j; then                                                   
                rpm -Uvh --replacepkgs $i                                    
        fi                                                                   
done                                                                         
                                                                             

U?? nikdy nezabudnite nastavi?? premenn� RPM_INSTALL_LANG!
-----------------------------------------------------------------------------

6.9. Rxvt

J�n 'judas' Tomka, <judas@linux.sk>

N�prava toho, ??e Rxvt vypisuje m??tvy kl�ves priamo a ne??ak� na ??al??�
znak, s ktor�m by ho skombinoval, je ot�zka jedn�ho argumentu pri
konfigurovan�:
+---------------------------------------------------------------------------+
|sh$ ./configure --enable-xim                                               |
|sh$ make                                                                   |
|sh$ su -c'make install'                                                    |
|                                                                           |
+---------------------------------------------------------------------------+

T�mto sa Rxvt skompiluje s podporou pre XIM (X Input Method) protokol. Ten
umo????uje alternat�vne met�dy vstupu (napr. kinput2) a tie?? spr�vne
nastavenia pre ??ud�, ??o pou??�vaj� m??tve kl�vesy.
-----------------------------------------------------------------------------

6.10. Samba

J�n Ondrej (SAL), <ondrejj@salstar.shadow.sk>

Po nastaven� lokaliz�cie dok�??e automaticky prek�dova?? znaky s diakritikou
z k�dovania 852 na ISO-8859-2. Nastavuje sa to v konfigura??nom s�bore /etc/
smb.conf pridan�m nasleduj�cich riadkov do sekcie [global]:
character set = iso8859-2                                                    
client code page = 852                                                       
                                                                             
-----------------------------------------------------------------------------

7. Finti??ky so sloven??inou

7.1. Zad�vanie slovensk�ch znakov vo Vim

[http://www.kotelna.sk/keso/unix/vim.html] http://www.kotelna.sk/keso/unix/
vim.html

Ak nem�??ete, alebo nechcete pou??�va?? rozlo??enie kl�ves pre sloven??inu,
ale potrebujete zada?? p�r na??ich znakov vo Vim, d� sa to urobi?? pomocou
pr�kazu imap. Jeho form�t je
        :imap {lhs} {rhs}                                                    
                                                                             

{lhs} je postupnos?? znakov, po ktor�ch zadan� (v kr�tkom ??asovom intervale)
sa vyp�??e {rhs}.

Pre sloven??inu by sa dali vyu??i?? imap defin�cie znakov typu
+---------------------------------------------------------------------------+
|:imap =a �                                                                 |
|:imap +c ??                                                                |
|                                                                           |
+---------------------------------------------------------------------------+

Ako vidno, je to nie??o podobn� ako compose sekvencie z kapitoly o kl�vesnici
na konzole. Po zadan� t�chto pr�kazov m�??ete aj so ??tandardn�m rozlo??en�m
kl�ves zad�va?? vo vim znaky s diakritikou. Tu je kompletn� zoznam imap
defin�ci� pre slovensk� diakritiku. Ulo??te ho do s�boru napr�klad sk.vim a
vo Vim ho na??�tate pr�kazom
+---------------------------------------------------------------------------+
|:source sk.vim                                                             |
|                                                                           |
+---------------------------------------------------------------------------+

imap =a �                                                                    
imap =A �                                                                    
imap +a �                                                                    
imap +A �                                                                    
imap +c ??                                                                   
imap +C ??                                                                   
imap +d ??                                                                   
imap +D ??                                                                   
imap =e �                                                                    
imap +e ??                                                                   
imap =E �                                                                    
imap +E ??                                                                   
imap =i �                                                                    
imap =I �                                                                    
imap =l ??                                                                   
imap =L ??                                                                   
imap +l ??                                                                   
imap +L ??                                                                   
imap +n ??                                                                   
imap +N ??                                                                   
imap =o �                                                                    
imap =O �                                                                    
imap +o �                                                                    
imap +O �                                                                    
imap "o �                                                                    
imap "O �                                                                    
imap =r ??                                                                   
imap =R ??                                                                   
imap +r ??                                                                   
imap +R ??                                                                   
imap +s ??                                                                   
imap +S ??                                                                   
imap +t ??                                                                   
imap +T ??                                                                   
imap =u �                                                                    
imap =U �                                                                    
imap +u ??                                                                   
imap +U ??                                                                   
imap "u �                                                                    
imap "U �                                                                    
imap =y �                                                                    
imap =Y �                                                                    
imap +z ??                                                                   
imap +Z ??                                                                   
                                                                             
-----------------------------------------------------------------------------

7.2. Odstr�nenie alebo nahradenie diakritiky v textov�ch s�boroch

7.2.1. sed

J�n 'judas' Tomka, <judas@linux.sk>

V pr�pade, ??e potrebujete z textov�ho s�boru odstr�ni?? diakritick�
znamienka, m�??ete pou??i?? program sed, pomocou ktor�ho nahrad�te v�skyt
znaku s diakritikou jeho ekvivalentom bez nej.

Ak chcete odstr�ni?? diakritiku �plne, mus�te nahradi?? v�skyt v??etk�ch
znakov s diakritikou. Ak ale chcete len to, aby sa s�bor zobrazoval spr�vne
pri prezeran� bez zaveden�ho fontu latin 2, sta??� nahradi?? len tie znaky,
ktor� sa nezobrazuj� spr�vne pre ??tandardn� font (spravidla latin 1).

Toto je pr�kaz, ktor� mo??no pou??i?? pri vytv�ran� verzie s�boru �plne bez
diakritiky:
sed -e "s:�:a:g" -e "s:�:A:g" -e "s:�:a:g" -e "s:�:A:g" \                    
    -e "s:??:c:g" -e "s:??:C:g" -e "s:??:d:g" -e "s:??:D:g" \                
    -e "s:�:e:g" -e "s:�:E:g" -e "s:??:e:g" -e "s:??:E:g" \                  
    -e "s:�:i:g" -e "s:�:I:g" -e "s:??:l:g" -e "s:??:L:g" \                  
    -e "s:??:l:g" -e "s:??:L:g" -e "s:??:n:g" -e "s:??:N:g" \                
    -e "s:�:o:g" -e "s:�:O:g" -e "s:�:o:g" -e "s:�:O:g" \                    
    -e "s:�:o:g" -e "s:�:O:g" -e "s:??:r:g" -e "s:??:R:g" \                  
    -e "s:??:r:g" -e "s:??:R:g" -e "s:??:s:g" -e "s:??:S:g" \                
    -e "s:??:t:g" -e "s:??:T:g" -e "s:�:u:g" -e "s:�:U:g" \                  
    -e "s:??:u:g" -e "s:??:U:g" -e "s:�:u:g" -e "s:�:U:g" \                  
    -e "s:�:y:g" -e "s:�:Y:g" -e "s:??:z:g" -e "s:??:Z:g" \                  
    "Slovak-HOWTO.sgml" > "Slovak-HOWTO-nodiac.sgml"                         
                                                                             
-----------------------------------------------------------------------------

7.2.2. cstocs

Bra??o Katreniak

Ke?? sa zmie??ujete o tom, ako sa d� odstr�ni?? sloven??ina z dokumentu, zd�
sa mi vhodn� spomen�?? aj program cstocs. Je to mil� utilitka ??tandardne
dod�van� s TeXom. Umo????uje konverziu s�borov prakticky v??etk�ch mo??n�ch
k�dov�ch str�nok medzi sebou navz�jom, pri??om jedna z mo??nost� je aj
odstr�nenie diakritiky. Pri??om sa mi to zd� pohodlnej??ie ako sed.
-----------------------------------------------------------------------------

7.2.3. recode

J�n 'judas' Tomka, <judas@linux.sk>

Existuje aj program recode, ktor� pravdepodobne tie?? sl�??i na zmeny v
k�dovan� s�borov. Ur??ite ho pou??ijete na tento cie??, ak sa predt�m nestane
niektor� z nasleduj�cich vec�:

 1. Pr�dete o o??i pri ??�tan� man str�nky, info manu�lu a v??etk�ho ??o je o
    tomto -- inak ur??ite u??ito??nom programe -- pop�san�.
   
 2. Pr�dete o nervy pri sk�??an� v??etk�ch mo??n�ch kombin�ci� parametrov,
    volieb ??i argumentov pre tento nesmierne u??ito??n� program.
   
 3. Pr�dete o po??�ta??, ke????e ho vyhod�te z okna po dvoch t�??d??och
    psychick�ho utrpenia, ktor� za??ijete pri pokusoch s t�mto extr�mne
    u??ito??n�m programom.
   

Pod??a v??etk�ho by mal sta??i?? nasledovn� pr�kaz:
+---------------------------------------------------------------------------+
|recode l2 subor.txt                                                        |
|                                                                           |
+---------------------------------------------------------------------------+
ale zd� sa, ??e to sta??i?? nebude. Latka na titul ??Linuxov� Guru?? sa
posunula do z�vratn�ch v�??ok, preto??e -- aby ste sa stali jeho nosite??om
-- mus�te vedie?? pomocou tohto programu previes?? dokument v latin2 na
latin1 alebo dokonca ASCII (a to u?? je pekn� Saigon...)