Slovenian HOWTO
 Primoz Peterlin <[email protected]>
 v2.9, 15 February 1999

 Zbirka receptov za poslovenjenje sistema Linux.  (Note to English
 readers: this document addresses Linux localization issues specific to
 Slovenian users.)
 ______________________________________________________________________

 Table of Contents
























































 1. Uvod

    1.1 Kaj je Linux?
    1.2 Dogovor o zapisu

 2. Za nestrpne

    2.1 Nasi znaki na konzoli
    2.2 Nasi znaki v okolju X Window System

 3. Prikaz nasih znakov na zaslonu

    3.1 Nabor znakov ``ISO Latin 2''
    3.2 Konzola
    3.3 X Window System
    3.4 PostScript pod X11
    3.5 TrueType pod X11
       3.5.1 Freetype in xfsft
       3.5.2 Xfstt

 4. Tipkovnica

    4.1 Konzola
    4.2 X Windows System
       4.2.1 Xks

 5. Slovenski locale

    5.1 Programiranje z GNU gettext
    5.2 Poslovenjenje katalogov sporocil

 6. Poslovenjenje razlicnih programov

    6.1 Ukazne lupine
       6.1.1 bash
       6.1.2 tcsh
    6.2 Terminalski emulatorji
       6.2.1 xterm
       6.2.2 rxvt
    6.3 Pisarniski paketi
       6.3.1 WordPerfect
       6.3.2 Star Office
       6.3.3 Applixware
    6.4 Urejevalniki
       6.4.1 GNU emacs
          6.4.1.1 Starejse izdaje programa GNU emacs
          6.4.1.2 GNU emacs 20
       6.4.2 crisp
       6.4.3 vi
    6.5 Elektronska posta
       6.5.1 Pine
       6.5.2 elm
       6.5.3 Netscape Mail
    6.6 Svetovni splet
       6.6.1 Lynx
       6.6.2 Netscape Navigator
       6.6.3 Spletni strezniki
          6.6.3.1 Nacela
          6.6.3.2 Prakticni oziri
          6.6.3.3 Podrobnosti izvedbe
          6.6.3.4 Dolocitev nove pripone za staticne spise
          6.6.3.5 Dinamicno prekodiranje
          6.6.3.6 Metainformacija za spletni streznik W3C
          6.6.3.7 Datoteke ASIS za streznik Apache
          6.6.3.8 Znacka <META> z oznacbo HTTP-EQUIV
    6.7 Delo na oddaljenem racunalniku
       6.7.1 Telnet
       6.7.2 rlogin
    6.8 TeX in LaTeX
       6.8.1 LaTeX 2.09
       6.8.2 Slovenska pravila za deljenje besed
       6.8.3 LyX
       6.8.4 Pregled besedila na zaslonu
       6.8.5 Stvarna kazala
    6.9 groff
    6.10 Perl
    6.11 Crkovanje: ispell
    6.12 Pretvarjanje med razlicnimi kodiranji
    6.13 Drugi programi
       6.13.1 Pregledovalnik less
       6.13.2 Koledar gcal

 7. Tiskanje

    7.1 Tiskalniki, ki podpirajo ISO Latin 2
    7.2 Tiskalniki, ki podpirajo kak drug nabor z nasimi znaki
    7.3 Tiskalniki, ki podpirajo kak drug nabor z nasimi znaki II
    7.4 Tiskalniki PostScript
       7.4.1 ogonkify
       7.4.2 GNU enscript
       7.4.3 a2ps

 8. Linux v Sloveniji

    8.1 Skupina uporabnikov Linuxa
    8.2 Strezniki FTP
    8.3 Usenet
    8.4 Zastopniki za Linux

 9. O tem spisu

    9.1 Opombe k drugi izdaji
    9.2 Zahvala
    9.3 Vprasanja
       9.3.1 Se pravi Slovenian ali Slovene?
       9.3.2 Nasi znaki v tem spisu
    9.4 Uporaba in razsirjanje
    9.5 Note to English readers


 ______________________________________________________________________

 11..  UUvvoodd

 11..11..  KKaajj jjee LLiinnuuxx??

 Linux je izvedba vecopravilnega, vecuporabniskega operacijskega
 sistema Unix za osebne racunalnike s procesorji Intel (80386, 80486,
 Pentium, Pentium MMX, Pentium Pro in Pentium II), Digital AXP 21x64,
 Sun SPARC in Motorola 680x0, v delu pa so priredbe za Power PC, MIPS
 in ARM. Jedro operacijskega sistema je ob pomoci in sodelovanju
 stevilnih zanesenjakov z Interneta napisal Linus Torvalds z univerze v
 Helsinkih na Finskem. Skupaj s programi iz projektov GNU, X Window
 System in BSD predstavlja sodobno programsko okolje, enakovredno
 komercialnim razlicicam sistema Unix.

 Linux je prost program, dostopen skupaj z izvorno kodo.  Najnovejse
 razlicice programja za Linux je moc najti na:

      <ftp://metalab.unc.edu/pub/Linux/>
      <ftp://tsx-11.mit.edu/pub/linux/>

 Obe mesti sta navadno tezko dostopni in zelo zasedeni, zato uporabimo
 eno od stevilnih mest, kjer se zrcali vsebina zgornjih dveh; pametno
 je, da zacnemo na katerem od domacih zrcal; nasteta so v poglavju
 ``Linux v Sloveniji''.


 11..22..  DDooggoovvoorr oo zzaappiissuu

 V tem spisu so zgledi zamaknjeni od roba in izpisani v pisavi fiksne
 sirine, npr.

      echo "Pozdravljeni"


 Psevdoimena v zgledih so izpisana s lezeco razlicico iste pisave, npr.

      ls _d_a_t_o_t_e_k_a


 Tu se od bralca ali bralke pricakuje, da bo psevdoime _d_a_t_o_t_e_k_a nado-
 mestil(-a) z dejanskim imenom datoteke.

 Z znakom ~ se po ustaljenem obicaju na sistemih Unix oznacuje osnovno
 podrocje uporabnika (za uporabnika z imenom _u_p_o_r_a_b_n_i_k je to navadno
 /home/_u_p_o_r_a_b_n_i_k).  Nanj kaze tudi sistemska spremenljivka $HOME.

 Nadalje je za nastavitve spremenljivk okolja v tem spisu vseskozi
 uporabljan zapis, ki se uporablja v Bournovi ukazni lupini in njenih
 izpeljankah (Kornova lupina, lupina bash).  Bralec ali bralka, ki
 uporablja ukazno lupino C (csh ali tcsh), bo znal(a) sam(a) prevesti
 primere

      _S_P_R_E_M_E_N_L_J_I_V_K_A=_v_r_e_d_n_o_s_t; export _S_P_R_E_M_E_N_L_J_I_V_K_A


 (ali celo export _S_P_R_E_M_E_N_L_J_I_V_K_A=_v_r_e_d_n_o_s_t, kar dopusca bash) v analogne

      setenv _S_P_R_E_M_E_N_L_J_I_V_K_A _v_r_e_d_n_o_s_t



 22..  ZZaa nneessttrrppnnee

 To poglavje ponuja nekaksna ``Izbrana poglavja iz slovenskega HOWTO''
 za tiste, ki se jim zdajle mudi, da bi lahko bodisi v znakovnem,
 bodisi v graficnem nacinu, takoj zaceli tipkati z nasimi znaki, k
 branju celotnega spisa pa bi se vrnili kdaj kasneje in v miru.  Omenim
 naj edino se to, da sta prilagoditev konzole in prilagoditev okolja X
 Window System povsem neodvisna.


 22..11..  NNaassii zznnaakkii nnaa kkoonnzzoollii

 Trije koraki so potrebni, da znakovni terminal (ki se mu iz razlogov,
 po starosti dalec presegajocih povprecnega uporabnika Linuxa, vcasih
 pravi tudi _k_o_n_z_o_l_a) prilagodimo za delo z nasimi znaki:

 1. Omogociti moramo prikaz nasih znakov v znakovnem nacinu. Opisano v
    razdelku ``Konzola'' poglavja ``Prikaz nasih znakov na zaslonu''.

 2. Nastaviti moramo ustrezno preslikavo tipkovnice. Opisano v razdelku
    ``Konzola'' poglavja ``Tipkovnica''.

 3. Ukazno lupino moramo nastaviti tako, da bo dovoljevala vnos
    osembitnih znakov. Opisano v razdelku ``bash'' v podpoglavju o
    ukaznih lupinah (ali v razdelku ``tcsh'', ce uporabljate to ukazno
    lupino).


 22..22..  NNaassii zznnaakkii vv ookkoolljjuu XX WWiinnddooww SSyysstteemm

 Z okoljem X Window System je podobno kot s konzolo, le pot je
 malenkost daljsa.

 1. Namestiti moramo nase znake in pripraviti graficno okolje X Window
    System do tega, da jih bodo uporabljali. Opisano v razdelku ``X
    Window System'' poglavja ``Prikaz nasih znakov na zaslonu''.

 2. Nastaviti moramo preslikavo tipkovnice. Opisano v razdelku ``X
    Window System'' poglavja ``Tipkovnica''.

 3. Nastaviti moramo terminalski emulator, da bo prikazoval nase znake.
    Opisano v razdelku ``xterm'' poglavja o terminalskih emulatorjih.

 4. Ukazno lupino moramo nastaviti tako, da bo dovoljevala vnos
    osembitnih znakov. Opisano v razdelku ``bash'' v podpoglavju o
    ukaznih lupinah (ali v razdelku ``tcsh'', ce uporabljate to ukazno
    lupino).


 33..  PPrriikkaazz nnaassiihh zznnaakkoovv nnaa zzaasslloonnuu

 33..11..  NNaabboorr zznnaakkoovv ````IISSOO LLaattiinn 22''''

 ISO 8859-2 oz. ISO Latin 2 je clan druzine osembitnih naborov znakov
 ISO 8859, ki pokriva potrebe alfabetskih pisav (latinica in cirilica
 ter arabska, hebrejska in grska pisava; v pripravi sta tudi armenska
 in gruzinska). Druzino je zasnovalo evropsko zdruzenje proizvajalcev
 racunalnikov (European Computer Manufacturer's Association, ECMA), kot
 mednarodni standard pa potrdila organizacija za standardizacijo ISO s
 sedezem v Zenevi.

 Nabor ISO Latin 2 vsebuje vse potrebne znake za pisanje v albanscini,
 anglescini, bosnjascini, cescini, finscini, hrvascini, irscini,
 luziski srbscini, madzarscini, nemscini, poljscini, romunscini,
 slovascini, slovenscini, ter srbscini v latinicnem precrkovanju.

 Nekaj proizvajalcev strojne in programske opreme, med njimi IBM, Apple
 in Microsoft, uporablja svoje kodne strani za kodiranje znakov
 srednje- in vzhodnoevropskih narodov. Te kodne strani so praviloma
 nezdruzljive tako med seboj, kot tudi s standardom ISO.


 33..22..  KKoonnzzoollaa

 Nabor znakov za sistemsko konzolo najdemo v paketu kbd Andriesa
 Brouwerja z univerze v Eindhovnu, Nizozemska. Paket je del vseh
 distribucij Linuxa in se avtomaticno nalozi ob namestitvi sistema.
 Pisave in pretvorne tabele so zlozene v imeniku /usr/lib/kbd.
 (Avanturisti se lahko namesto s paketom kbd igrajo s prototipnimi
 Linux Console Tools avtorja Yanna Dirsona.)

 V starejsih distribucijah Slackware se je prevedeni paket imenoval
 keytbls. Namestimo ga enako kot druge pakete, z ukazom pkgtool ali
 installpkg.

 Ko imamo paket enkrat namescen, izberemo drugo pisavo na zaslonu z
 ukazom setfont. Spodnji zgled izbere pisavo z naborom znakov po
 standardu ISO Latin 2 v velikosti sestnajst pik:



 setfont lat2-16




 Za nas zanimive pisave so iso02.f08, iso02.f14 in iso02.f16, ter
 lat2-08.psf, lat2-10.psf, lat2-12.psf, lat2-14.psf in lat2-16.psf
 (pripono .psf lahko pri ukazu setfont izpuscamo).

 Izbrana pisava velja v vseh virtualnih terminalih (glej console(4)) na
 konzoli. Ce nam to ni vsec, ampak bi radi imeli v vsakem virtualnem
 terminalu svojo pisavo, si lahko pomagamo s programom vtfontd Iana
 Zimmermana. Ta vsakic, ko zapustimo virtualni terminal, shrani izbrano
 konzolno pisavo, in jo ponovno restavrira, ko se vrnemo vanj.

      <ftp://sizif.mf.uni-lj.si/pub/linux/vtfontd-1.0.1.tar.gz>


 Z izbiro pisave smo opravili sele nekako tretjino vsega dela,
 potrebnega, da bi lahko v tekstovnem okolju pisali po slovensko.
 Izvesti moramo vsaj se preslikavo tipkovnice ter omogociti vnos
 osembitnih znakov v ukazni lupini. Nestrpna bralka ali bralec si lahko
 potrebno prebere v razdelku ``Konzola'' poglavja ``Tipkovnica'' ter v
 o razdelku ukazni lupini ``bash'' v poglavju o ukaznih lupinah.


 33..33..  XX WWiinnddooww SSyysstteemm

 Kratka navodila za namestitev pisav z nasimi znaki za uporabo z X
 Window System in streznikom XFree86.


 1. Pisave snamemo z najblizjega streznika FTP:

      <ftp://ftp.arnes.si/software/unix/Latin-2-fonts/>


 Datoteka ISO8859-2-bdf.tar.gz vsebuje najpopolnejsi nabor pisav, kodi-
 ranih po ISO 8859-2, vecino uporabnih pisav pa vsebuje tudi xfonts-
 iso2-0.84.tar.gz. Po obicajnem postopku (tar -xzf ...) jih dekomprimi-
 ramo in razpakiramo.

 2. Pisavam z nasimi znaki dolocimo mesto v drevesni strukturi
    imenikov. Obicajno je to podimenik v imeniku
    /usr/X11R6/lib/X11/fonts/ (vcasih tudi /usr/lib/X11/fonts/,
    /usr/lib/X11R6/lib/X11/fonts ali celo /usr/X386/lib/X11/fonts/ kar
    pa naj nas ne moti). Mozen primer:


      /usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi/
      /usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi/
      /usr/X11R6/lib/X11/fonts/iso_8859.2/misc/




 Ce imenikov s tem imenom se ni, jih ustvarimo.

 3. Streznik X ne zna uporabiti pisav v enakem formatu, kot se
    distribuirajo, zato jih moramo s programom bdftopcf prevesti iz
    formata BDF (Binary Distribution Format) v format PCF (Portable
    Compiled Format). Starejse izdaje X Window System so namesto
    slednjega uporabljale format SNF (Server Native Format), ki pa se
    danes ne uporablja vec.


    ___________________________________________________________________
    for FILE in *.bdf
    do
      bdftopcf $FILE -o `basename $FILE .bdf`.pcf
    done
    ___________________________________________________________________


 (da, ukazi v bash lahko segajo tudi prek vecih vrstic). Pisav v obliki
 BDF zdaj ne potrebujemo vec in jih lahko pobrisemo.

 4. Streznik X zna uporabiti stisnjene datoteke s pisavami, kar lahko
    izkoristimo in prihranimo se nekaj prostora na disku.


      gzip *.pcf




 Starejse izdaje streznika X podpirajo le stiskanje s compress.

 5. V vsakem imeniku s pisavami pricakuje streznik datoteko fonts.dir,
    ki podaja preslikavo med opisi pisav (X Logical Font Description,
    XLFD) in imeni datotek.  Ustvarimo jo z ukazom


      mkfontdir




 Ukaz moramo pognati v vsakem podimeniku s pisavami.

 6. Koncno lahko streznik obvestimo o tem, da smo namestili nove
    pisave, kar storimo z ukazom xset:


      xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi/
      xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi/
      xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/misc/
      xset fp rehash




 Ce je slo vse gladko, mora ukaz xlsfonts -fn "*-iso8859-2" pokazati
 seznam vseh novo namescenih pisav.

 7. Ukaz xset velja samo, dokler ne zapustimo X Window System. Trajno
    spremembo dosezemo s popravkom konfiguracijske datoteke. Streznik
    XFree86 hrani svoje nastavitve v datoteki /etc/XF86Config (pisec
    teh vrstic je v nekaj letih ukvarjanja z XFree86 na razlicnih
    distribucijah nastavitve videl tudi ze v datotekah
    /etc/X11/XF86Config, /usr/X11R6/lib/X11/XF86config in
    /usr/X11/lib/X11/Xconfig). Poiscemo niz FontPath in dodamo vrstice:


      FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi"
      FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi"
      FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/misc"





 To je vse. Od zdaj naprej zna X Window System na zahtevo programa
 prikazati tudi nase znake. Vec o tem, kako program, npr. xterm,
 pripravimo do tega, da zahteva nase znake, si preberemo v razdelku
 ``xterm'' poglavja o terminalskih emulatorjih.


 33..44..  PPoossttSSccrriipptt ppoodd XX1111

 Streznik X zna uporabljati rastrske pisave v oblikah PCF, SNF in BDF
 ter vektorske pisave v obliki Speedo in Type 1. Pri majhnih velikostih
 (do 10 tipografskih pik) so rastrske pisave na zaslonu navadno lepse,
 pri vecjih velikostih, npr. v graficnih programih, pa so vektorske
 pisave znatno lepse.

 Nekaj vektorskih pisav Type 1 v kodnem razporedu ISO Latin 2 je
 pripravil Peter Soos. Pri namescanju v celoti sledimo postopku,
 opisanem v razdelku ``X Window System'' poglavja ``Prikaz nasih znakov
 na zaslonu''. S streznika snamemo datoteko v obliki zip:

      <ftp://ftp.arnes.si/software/unix/Latin-2-fonts/l2pfb005.zip>


 Se vec pisav je zbrala ceska skupina, paket RPM (vsebino namestimo z
 ukazom rpm -Uvh ...) najdemo na

      <ftp://crash.fce.vutbr.cz/pub/linux_fonts/X11fonts-ulT1mo-
      beta-1.0-4.noarch.rpm>


 Ustvarimo nov imenik, npr. /usr/X11R6/lib/X11/fonts/iso_8859.2/Type1,
 in vanj stresemo vsebino arhiva l2pfb004.zip. Avtor je ze pripravil
 datoteki fonts.scale in fonts.dir.  Ponovimo vajo z xset in v
 nastavitveno datoteko dodamo vrstico:


      FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/Type1"




 Namesto xlsfonts tokrat iz okenskega okolja X Window System pozenimo
 xfontsel. Novo namescene pisave najdemo najhitreje, ce jih iscemo po
 ``crkolivnici'' (angl. type foundry) sp (po avtorjevih zacetnicah) v
 prvem stolpcu (fndry). Izberite kaksno veliko povecavo (pxlsz) in
 primerjajte z rastrskimi pisavami!


 33..55..  TTrruueeTTyyppee ppoodd XX1111

 Rasterizator za pisave TrueType se ni standardni del paketa X Window
 System. Fantje iz The XFree86 Project, Inc. nacrtujejo vkljucitev
 podpore zanje v izdaji XFree86 4.0.


 33..55..11..  FFrreeeettyyppee iinn xxffssfftt

 Mark Leisher in Juliusz Chroboczek sta standardni streznik pisav iz
 okolja X Window System dopolnila s FreeType, prostim rasterizatorjem
 za pisave TrueType, ki so ga napisali David Turner, Robert Wilhelm,
 Werner Lemberg in sodelavci. Streznik je na voljo kot izvorna koda, s
 katero lahko pokrpate izvorno kodo streznika X, ali pa kot ze preveden
 program za Linux.


      <http://www.freetype.org/>
      <http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/>
 Predpostavili bomo, da ste na kakrsenkoli nacin ze uspeli priti do
 izvedljive datoteke xfsft.


 1. Ustvarimo imenik za pisave TrueType, npr.
    /usr/X11R6/lib/X11/fonts/TrueType/ in vanj prepisemo datoteke s
    pisavami TrueType.

 2. V omenjenem imeniku ustvarimo datoteko fonts.scale. Preprost primer
    taksne datoteke je naslednji:

    ___________________________________________________________________
    5
    times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-1
    times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-2
    times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-5
    times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-koi8-r
    times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso10646-1
    ___________________________________________________________________


 Opazimo lahko, da se vseh pet vrstic nanasa na eno in isto datoteko.
 Razlikujejo se le po kodnem naboru. Ker datoteka vsebuje vse potrebne
 znake, jo streznik pisav aplikacijam lahko predstavi kot katerokoli od
 nastetih petih kodnih naborov.

 Joerg Pomnitz je napisal programcek ttmkfdir, ki avtomaticno pregleda
 vse datoteke TrueType in ustvari datoteko fonts.scale.

      <http://www.darmstadt.gmd.de/~pommnitz/xfsft.html>



 3. V istem imeniku zatem pozenemo se mkfontdir. Ta ne bo napravil nic
    drugega, kot obstojeco datoteko fonts.scale nespremenjeno prepisal
    v datoteko z imenom fonts.dir.

 4. S streznikom pisav xfsft bodisi prepisemo obstojeci streznik
    (navadno /usr/X11R6/bin/xfs, ali pa ga premaknemo na kaksno drugo
    primerno mesto.

 5. Streznik pisav potrebuje konfiguracijsko datoteko. Spodnja naj
    sluzi za zgled, ce nimate boljse:

    ___________________________________________________________________
    clone-self = off
    use-syslog = off
    client-limit = 20

    catalogue = /usr/X11R6/lib/X11/fonts/TrueType,/usr/X11R6/lib/X11/fonts/Type1

    error-file = /usr/X11R6/lib/X11/fs/fs-errors

    # in decipoints
    default-point-size = 120

    # x,y
    default-resolutions = 100,100,75,75
    ___________________________________________________________________



 Zdaj lahko pozenemo streznik pisav X. Pri zgledu smo uporabili vrata
 7100. Ce so na vasem sistemu ze zasedena, izberite druga. Za podrob-
 nosti si oglejte prirocnik xfs(1).

 xfsft -port 7100 -config /usr/X11R6/lib/X11/fs/config &





 6. Ne da bi spreminjali pot, v kateri iscemo pisave, lahko preverimo,
    ce streznik deluje:


      fslsfonts -server localhost:7100





 7. Ce smo zadovoljni, dodamo streznik pisav med vire, kjer iscemo
    pisave, npr.


      xset fp+ tcp/localhost:7100




 Streznik pisav lahko seveda tece tudi na drugem racunalniku, tako da
 ni potrebe, da imamo na vseh racunalnikih v lokalni mrezi namescene
 vse pisave.

 Dokoncno dodamo streznik pisav v konfiguracijsko datoteko
 /etc/XF86Config:


      FontPath "tcp/localhost:7100"





 33..55..22..  XXffsstttt

 Drugi streznik pisav za X11, ki podpira pisave TrueType, je Xfstt.
 Pisec teh vrstic z njim nima izkusenj, je pa z veseljem pripravljen na
 to mesto vkljuciti izkusnje drugih. Xfstt najdete na navedenem mestu
 in vseh zrcalih le-tega.


      <ftp://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz>



 44..  TTiippkkoovvnniiccaa

 44..11..  KKoonnzzoollaa

 Nabor znakov za sistemsko konzolo in tabele za premapiranje tipkovnice
 najdemo v paketu kbd Andriesa Brouwerja z univerze v Eindhovnu,
 Nizozemska. Avtor paketa je napisal tudi Keyboard HOWTO, kjer si lahko
 o tej temi preberemo vec.  Paket je del vseh obicajnih distribucij in
 se nalozi avtomaticno ob namestitvi sistema.

 V starejsih distribucijah Slackware se je prevedeni paket imenoval
 keytbls. Namestimo ga enako kot druge pakete, z ukazom pkgtool ali
 installpkg.


 Paket kbd vsebuje tabelo za slovensko tipkovnico s 102 tipkama in
 zaslonske pisave za kodni nabor ISO Latin 2. Vsi, ki iz kakrsnihkoli
 razlogov uporabljajo drugacno tipkovnico, si lahko na osnovi zgledov v
 /usr/lib/kbd/ pripravijo svojo. Marko Macek je ze pripravil tabelo
 preslikav za amerisko tipkovnico s 101 tipko:

      <http://www.kiss.uni-lj.si/~k4fr0235/kbd/>


 Celoten postopek za izbiro zaslonske pisave, tabele za tipkovnico in
 uporabo le-te je taksen:

 ______________________________________________________________________
 # Izberemo pisavo z naborom ISO Latin 2 v velikosti 16 pik
 setfont lat2-16
 # Nalozimo prireditveno tabelo za slovensko tipkovnico...
 loadkeys slovene
 # ...in jo izberemo
 echo -e -n "\\033(K" > /dev/console
 ______________________________________________________________________



 Distribucija Debian pozna tudi ukaz kbdconfig, ki opravi isto.

 Ce zelimo, da je taksna nastavitev trajna, dodamo zgornjih sest vrstic
 v nastavitveno datoteko /etc/rc.d/rc.local, ki se izvede ob zagonu
 operacijskega sistema. Ce ob tem omogocimo se vnos osembitnih znakov v
 ukazni lupini ``bash'', je to najnujnejse, kar je potrebno za pisanje
 po slovensko v tekstovnem nacinu.


 44..22..  XX WWiinnddoowwss SSyysstteemm

 V X Windows System lahko spreminjamo razpored tipk na tipkovnici z
 ukazom xmodmap.  Tabelo preslikav za obicajno tipkovnico s 102 ali 105
 tipkami, kot je v rabi pri nas, lahko snamemo z

      <ftp://sizif.mf.uni-lj.si/pub/i18n/Xmodmap.sl.pc102>


 Uporaba je enostavna:

      xmodmap Xmodmap.sl.pc102


 Preslikava tipkovnice velja, dokler ne zapustimo okolja X Window Sys-
 tem. Zamenjamo jo lahko s ponovnim ukazom xmodmap, ki mu kot argument
 podamo datoteko s tabelo preslikav. Tabela za standardno amerisko tip-
 kovnico navadno najdemo kot /usr/X11R6/lib/X11/etc/xmodmap.std. Ce je
 ne, si jo lahko pripravimo sami: _p_r_e_d_e_n nalozimo slovensko preslikavo
 tipkovnice, pozenemo:

      xmodmap -pke > Xmodmap.us


 To potem nalozimo enako kot slovensko tabelo.

 Ce zelimo ta razpored trajno namestiti, preimenujemo datoteko bodisi v
 ~/.Xmodmap (osebna nastavitev) ali pa v
 sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap (skupna nastavitev za vse
 uporabnike; ponekod se ta datoteka imenuje tudi
 /etc/X11/xinit/Xmodmap), ki se avtomaticno nalozi ob vsakem zagonu X
 Window System. Ce se _n_e _n_a_l_o_z_i, preverite svojo datoteko ~/.xinitrc. V
 njej mora biti nekaj takega kot:

 ______________________________________________________________________
 usermodmap=$HOME/.Xmodmap
 sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

 if [ -f $sysmodmap ]; then
     xmodmap $sysmodmap
 fi

 if [ -f $usermodmap ]; then
     xmodmap $usermodmap
 fi
 ______________________________________________________________________



 Ob preslikavi tipkovnice ne pozabimo na to, da moramo tudi v ukazni
 lupini omogociti vnos osembitnih znakov (poglavje ``Ukazne lupine'').


 44..22..11..  XXkkss

 Cesko podjetje Informatica s.r.o. se je problema preslikave tipkovnice
 lotilo drugace. Njihov produkt Xks je streznik, ki se vgnezdi med
 streznik X in namenske programe ter prestreze vse dogodke KeyPress ter
 jih po potrebi modificira. Ta resitev deluje tudi pri slabo napisanih
 programih, pri katerih preslikava z xmodmap ne deluje, obljublja pa
 tudi resitev za aktivacijo nemih tipk (tipke v zgornji vrstici
 slovenske tipkovnice lahko v kombinaciji s tipko AltGr delujejo kot
 neme tipke).

      <http://www.informatica.cz/>


 Xks je program na pokusino (shareware); registracija izvedbe za Linux
 stane 900 ceskih kron (okrog 4500 tolarjev). Pisec teh vrstic se
 zaenkrat se ni utegnil ukvarjati s njim, bi pa z veseljem vkljucil na
 to mesto izkusnje drugih.


 55..  SSlloovveennsskkii llooccaallee

 Z izrazom _l_o_c_a_l_e oznacujemo skupek lastnosti programskega okolja,
 odvisnih od jezikovnega in kulturnega okolja uporabnika. Mednje sodi
 informacija o tem, kateri znaki so crke in kaksen je njihov vrstni
 red, nacin izpisa datuma in ure, izbiro locila v zapisu decimalnih
 stevil (vejica oz. pika), zapis valute in sporocila programov
 uporabniku.

 Programski vmesnik za internacionalizacijo in lokalizacijo na
 sistemih, zdruzljivih s standardi POSIX, je definiran v standardu
 ISO/IEC 9899 (Programski jezik ISO C) ter IEEE 1003.2 (POSIX.2).
 Informacije, pomembne za lokalizacijo, razvrsca v sest kategorij:

 +o  LC_CTYPE (znaki, ki predstavljajo abecedo)

 +o  LC_COLLATE (vrstni red znakov v abecedi)

 +o  LC_TIME (izpis datuma in ure)

 +o  LC_NUMERIC (izpis stevilcnih vrednosti)

 +o  LC_MONETARY (izpis valute)

 +o  LC_MESSAGES (komunikacije z uporabnikom)


 LC_ALL zajema vseh nastetih sest kategorij. Medtem ko projekt GNU pri
 izvedbi prvih petih kategorijah zvesto sledi standardu, se je v sesti
 odlocil za njegovo razsiritev. Standardizacijski komite se namrec ni
 mogel zediniti okrog izvedbe ravnanja s prevodi sporocil, zato je
 standard v tej tocki prakticno neuporaben: doloca le prevode za ``da''
 in ``ne''. Projekt GNU je zato razvil svojo metodo, to je paket GNU
 gettext. Prevedeni katalogi sporocil, ki jih uporablja mehanizem
 gettext se navadno nahajajo v podimenikih imenika /usr/share/locale/.

 Sledi nekaj primerov odziva poslovenjenega sistema. Primeri so pobrani
 s HP-UX, ker je lokalizacija Linuxa zaenkrat se v teku -- knjiznica
 GNU libc 2.0 in kasnejse izpeljanke sicer ze ponujajo okvir za
 lokalizacijo, izvedba pa zaenkrat se zaostaja, zato koncepta zaenkrat
 se ne moremo ilustrirati s programi iz paketov textutils, fileutils
 ipd.

 Z nastavitvijo spremenljivke LANG na slovenski locale se spremenijo
 vsi prilastki:


      ~> date
      Sat Oct 19 22:32:04 METDST 1996
      ~> LANG=sl_SI.iso88592 date
      Sob, 19 okt 1996 22:32:04




 Lahko pa jih spreminjamo tudi vsakega posebej.  Ce zelimo obdrzati
 angleske izpise, obliko datuma, decimalno piko ipd., zeleli pa bi, da
 gre urejanje crk po slovenski abecedi, spremenimo samo LC_COLLATE:


      ~> sort abc.tex
      abc
      abca
      abd
      abc
      ~> LANG=C LC_COLLATE=sl_SI.iso88592 sort abc.tex
      abc
      abca
      abc
      abd




 Seveda LC_COLLATE ne resi vseh problemov v zvezi z urejanjem.  Pri
 razvrscanju kastiljskih kraljev bi, recimo, zeleli, da pride Alfonz
 IX.  za Alfonzem VIII. in pred Alfonzem X. Kar pa je verjetno ze prob-
 lem za umetno inteligenco...

 Spremenljivka LANG ima v splosnem obliko:

      LANG=_j_e_z_i_k[__d_r_z_a_v_a[._n_a_b_o_r]]


 Pri tem je _j_e_z_i_k dvocrkovna koda jezika, kot jo doloca standard ISO
 639, _d_r_z_a_v_a pa dvocrkovna koda drzave, dolocena s standardom ISO 3166.
 Zgled za slovenscino, kot se govori v Sloveniji in pise s kodnim
 naborom ISO 8859-2, je torej

      LANG=sl_SI.iso88592


 Dolocitev drzave in nabora znakov je neobvezna (pomembna je seveda pri
 jezikih, ki se govorijo v vec drzavah; kaksen locale uporabljajo
 Slovenci v zamejstvu, je piscu teh vrstic neznano), tako lahko pisemo
 na kratko

      LANG=sl



 55..11..  PPrrooggrraammiirraannjjee zz GGNNUU ggeetttteexxtt

 Paket GNU gettext ponuja nekaj orodij za lokalizacijo:

 +o  xgettext, ki iz izvorne kode izlusci sporocila

 +o  msgcmp, ki primerja dva kataloga sporocil

 +o  msgmerge, zdruzi star preveden katalog sporocil z novim,
    neprevedenim

 +o  msgfmt, ki prenosen katalog sporocil prevede v binarno obliko

 +o  msgunfmt, obratno od msgfmt

 S kratkim zgledom ilustrirajmo, kako poteka pisanje lokaliziranega
 programa s paketom GNU gettext.


 1. Najprej napisemo program zgled.c. Pri pisanju programa ze vkljucimo
    mehanizme internacionalizacije:

    ___________________________________________________________________
    #include <locale.h>
    #include <stdio.h>
    #include <libintl.h>

    #define PACKAGE   "zgled"
    #define LOCALEDIR "/usr/local/share/locale"

    char main() {
        setlocale (LC_MESSAGES, "");
        bindtextdomain (PACKAGE, LOCALEDIR);
        textdomain (PACKAGE);

        printf("%s\n", gettext("This is a short example."));
        printf("%s\n", gettext("Author: Primoz Peterlin"));
        return(0);
    }
    ___________________________________________________________________



 2. Z ukazom xgettext iz izvorne kode izluscimo izpise na zaslon:

      xgettext zgled.c


 S tem smo ustvarili datoteko messages.po. To je obicajna besedilna
 datoteka, ki vsebuje skelet prevodov sporocil.

 3. Datoteko messages.po z urejevalnikom dopolnimo s prevodi, recimo
    takole:





    ___________________________________________________________________
    # Slovenski prevod zgleda
    # Primoz Peterlin, <[email protected]>
    #
    msgid ""
    msgstr ""
    "Project-Id-Version: zgled 1.0\n"
    "POT-Creation-Date: 1998-12-06 14:05:53+0100\n"
    "PO-Revision-Date: 1998-12-06 15:00:00+0100\n"
    "Last-Translator: Primoz Peterlin <[email protected]>\n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=ISO-8859-2\n"
    "Content-Transfer-Encoding: 8bit\n"
    "Xgettext-Options: \n"
    "Files: zgled.c\n"

    #: zgled.c:13
    msgid "This is a short example."
    msgstr "To je kratek zgled."

    #: zgled.c:14
    msgid "Author: Primoz Peterlin"
    msgstr "Avtor: Primoz Peterlin"
    ___________________________________________________________________



 4. Popravljeno prenosljivo datoteko s sporocili (angl. portable
    message file) messages.po prevedemo v binarno obliko:

      msgfmt -v -o zgled.mo messages.po



 5. Binarno datoteko prestavimo v imenik, kjer jo bo gettext nasel:

      mv zgled.mo /usr/local/share/locale/sl/LC_MESSAGES



 6. Program prevedemo in povezemo s knjiznico libintl.a:

      gcc -o zgled zgled.c -lintl



 7. Pa poskusimo, kaksna je razlika!


      LANG=C ./zgled
      LANG=sl ./zgled
      LC_ALL=sl ./zgled
      LC_MESSAGES=sl ./zgled
      LC_CTYPE=sl ./zgled
      LC_ALL=sl_SI.iso88592 ./zgled




 V prvem in zadnjem primeru je izpisano sporocilo anglesko, v predzad-
 njem pa verjetno tudi. V prvem zato, ker smo eksplicitno zahtevali
 locale ``C'', v zadnjem pa zato, ker smo zahtevali locale
 ``sl_SI.iso88592'', v katerem ni prevoda sporocil -- to namrec obstaja
 za locale ``sl''. V predzadnjem zgledu smo uporabili pravi locale, a
 irelevantno kategorijo LC_CTYPE namesto uporabljene LC_MESSAGES.

 Se dve opombi: imenik, kamor prestavimo katalog sporocil, se mora
 ujemati z imenikom LOCALEDIR, navedenim v izvorni kodi. Tezavo, da GNU
 gettext razume ``sl'' in ``sl_SI.iso88592'' kot razlicna locala, je
 pisec teh vrstic resil z simbolno povezavo v imeniku
 /usr/local/share/locale:

      ln -s sl sl_SI.iso88592



 55..22..  PPoosslloovveennjjeennjjee kkaattaallooggoovv ssppoorroocciill

 V teku je internacionalizacija projekta GNU (programi iz projekta GNU
 predstavljajo znaten del celotnega sistema Linux in vecino tistega, s
 cimer se sooca koncni uporabnik). Trenutno so v slovenscino ze
 prevedena sporocila za naslednje pakete GNU: enscript, fileutils,
 gettext, grep, hello, recode in tar.  Z nastavitvijo spremenljivke
 okolja

      LANG=sl


 bodo programi iz teh paketov izpisovali slovenska sporocila namesto
 angleskih.

 Razprava o poslovenjenju projekta GNU poteka med prejemniki
 elektronskega spiska <[email protected]>, nanj se lahko narocite tako, da na
 naslov [email protected] posljete vrstico

      subscribe


 v telesu sporocila.

 Pomoc prostovoljcev, ki bi prevedli preostale pakete, ali pa se samo
 zavezali za vzdrzevanje ze prevedenih, je nadvse zazelena.  Vabljeni!


 66..  PPoosslloovveennjjeennjjee rraazzlliiccnniihh pprrooggrraammoovv

 Na tem mestu bi se v idealnem svetu opis poslovenjenja Linuxa lahko
 koncal. Povedali smo vse potrebno o vnosu in izpisu nasih znakov, ter
 kako z definiranjem spremenljivk okolja programom dopovemo, da delamo
 s slovenskimi besedili. To poglavje je takorekoc v celoti posveceno
 _i_z_j_e_m_a_m -- programom, ki iz taksnih ali drugacnih razlogov ne
 uporabljajo lokalizacijskih spremenljivk, alternativnim metodam za
 vnos ali izpis znakov, ki v izjemnih primerih (npr. ce nimamo
 tipkovnice s slovenskimi znaki) lahko vseeno pridejo prav, in
 podobnemu.


 66..11..  UUkkaazznnee lluuppiinnee

 66..11..11..  bbaasshh

 Nastavitve ukazne lupine bash so v datoteki ~/.inputrc (ki jo po
 potrebi ustvarimo):


      set meta-flag on
      set convert-meta off
      set output-meta on




 Te tri vrstice je morda pametno dodati tudi v /etc/skel, tako da jih
 podedujejo tudi vsi na novo ustvarjeni uporabniki.

 Tole se sicer ne navezuje na slovenscino, ko ste ze pri poslu, si
 lahko zivljenje olajsate se s tem, da tipkam Home, Delete in End
 vrnete njihov obicajni pomen: v isto datoteko (~/.inputrc) dodate se
 vrstice


      "\e[1~": beginning-of-line
      "\e[3~": delete-char
      "\e[4~": end-of-line





 66..11..22..  ttccsshh

 Vnos osembitnih znakov omogocimo, ce v nastavitveno datoteko
 (/etc/csh.login za skupne nastavitve oz.  ~/.tcshrc ali ~/.cshrc za
 osebne nastavitve) dopisemo vrstico:


      setenv LC_CTYPE sl_SI.iso88592




 Med nami: kaze, da je ukazni lupini tcsh povsem vseeno, na kaj
 nastavite spremenljivko LC_CTYPE, samo da ni nedefinirana.

 _P_a_z_i_t_e_: ukazna lupina mora biti prevedena z vklopljeno izbiro
 ``8-bit''! To lahko preverite z ukazom ``set'':


      rufko:~% set
      ...
      version tcsh 6.06.00 (Cornell) 1995-05-13 (i386-intel-linux) options 8b,dl,al
      rufko:~%




 Pomemben je tisti ``8b''. Ce se pri vas ne izpise, vam verjetno ne
 preostane drugega, kot da snamete izvorno kodo in jo prevedete.


 66..22..  TTeerrmmiinnaallsskkii eemmuullaattoorrjjii

 66..22..11..  xxtteerrmm

 V datoteki ~/.Xresources (osebna nastavitev) ali pa v datoteki
 /usr/lib/X11/app-defaults/XTerm (skupna nastavitev) dolocimo pisave,
 ki jih uporablja XTerm.  Izberemo pisavo, ki ima vse znake enako
 siroke, npr. ,,fixed`` ali ,,Courier``, in je kodirana po razporedu
 ISO Latin 2.  Zgled:


      XTerm*font:     -*-fixed-medium-r-normal--16-*-iso8859-2
      XTerm*boldFont: -*-fixed-bold-r-normal-sans-16-*-iso8859-2





 Primerne pisave lahko izpisemo z ukazom xlsfonts (glej se razdelek ``X
 Window System'' poglavja ``Prikaz nasih znakov na zaslonu''):


      xlsfonts -fn '*-fixed-*-iso8859-2'





 66..22..22..  rrxxvvtt

 Po podatkih v ceskem HOWTO rxvt zaenkrat (razvojna izdaja 2.4.6) ne
 deluje z nasimi znaki brez posegov v izvorno kodo. Potrebne posege
 najdete v ``Czech HOWTO'' (ki _n_i del arhiva LDP; glejte razdelek
 ``Zahvala'', kje ga najdete).


 66..33..  PPiissaarrnniisskkii ppaakkeettii

 66..33..11..  WWoorrddPPeerrffeecctt

 (Jaka Mele, Vse naredim pod Linuxom!, Win.Ini, l.6, st.9, str.60)

 WordPerfect ima vse potrebne znake ze v svoji tabeli. Vse, kar moramo
 napraviti, je da za nase crke definiramo makroukaze. Recimo, da bi
 radi definirali crko S (velika crka S s stresico).  Pricnemo s
 snemanjem makroukaza (recimo mu Scaron), skocimo v tabelo znakov, v
 njej izberemo crko S, zakljucimo makro in nazadnje pri nastavitvah
 povezemo makro z izbrano tipko.

 (Jaka Mele, Message-id:
 <[email protected]>



      ---------- Forwarded message ----------
      Date: Thu, 24 Dec 1998 11:04:33 +0000
      From: "[ALAMUN ALEN" <[email protected]>
      To: [email protected]
      Subject: WordPerfect SLO tipkovnica

      Hi!

      Daj prosim spravi to v mojem imenu na lugos listo, ker je verjetno
      trazena roba. Uspelo mi je definirati SLO tipkovnico brez makrojev. Sem na
      fax-u pa ne morem poslati jaz na Lugos listo.

      LP, Alen




 Datoteko SLO.WGK s prireditveno tabelo za slovensko tipkovnico najdete
 na


      <ftp://sizif.mf.uni-lj.si/pub/i18n/SLO.WGK>


 (Andrej Komelj, Message-id: <[email protected]>)





 Odgovor na vprasanje: "Kako je s podporo sumnikom v WP-ju 8.0 pod
 Linuxom?" se glasi: SLABO.

 1. Resitev v obliki "insert symbol -> multinational" je v teoriji
 uporabna, vendar... Hja, multinational znaki so v WP Multinational
 fontu, le-ta pa je najbolj podoben Roman-WP fontu. Ima "serife", zato
 Helvetica in Zurich odpadeta. Vendar se tudi pri Roman-WP pojavijo
 tezave, ce se le-tega uporablja v bold, italic ali bold-italic obliki.

 2. Resitev v obliki uporabe Type 1 fontov z definiranimi slovenskimi
 znaki (kje se jih dobi? odg: poglejte si v Slovenian-HOWTO, ali jih
 skopirajte iz OS/2-ja, ce ga imate) pa zal tudi odpade, ker "brezplacna"
 verzija WP-ja nima vsebovanega font installerja (xwpfi) in zato kakrsno
 koli dodajanje fontov v wp.drs odpade... Skratka, tako kot je nekdo ze
 napisal; brezplacen-in-neoskubljen WP je ena velika potegavscina... Za
 Americane je mogoce se nekako uporaben, za povprecnega Slovenca, ki pise
 tudi slovenska besedila, pa je popolnoma brez vrednosti. :-(

 Nazaja k LyX-u in ze sestavljenim vzorcem. :-)

 Mimogrede, kaj se je zgodilo z WP-jem?!? Dokler se ni bil v lasti
 Corel-a, je znal postavljati stresice na katere koli znake v katerem
 koli fontu. Z WP-jem 6.0 za DOS sem tako pisal tekste v TrueType, Type 1
 in CG fontih... POVSOD sem lahko uporabljal sumnike. Huh, "napredek" pa
 tak.

 --
 Kome.





 66..33..22..  SSttaarr OOffffiiccee

 (Jaka Mele, Vse naredim pod Linuxom!, Win.Ini, l.6, st.9, str.60)

 StarOffice je malce tezavnejsi, zato, ker rabi dodatne Type1 fonte, pa
 vendarle povejmo recept se zanj. Kot prvo si torej moramo dobiti
 slovenske oziroma latin2 pisave (pfb, afm, fonts.dir in fonts.scale)
 iz recimo ftp streznika drustva uporabnikov linuxa slovenije
 ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/, datoteki
 l2afm004.zip in l2pfb004.zip). Nato arhiva odpremo v
 /usr/lib/X11/fonts/Type1.Latin2/, ter ta imenik dodamo v spisek
 imenikov s pisavami, ki jih uporabi XWindow streznik. To naredimo
 tako, da v datoteko /etc/X11/XF86Config dopisemo:

      FontPath "/usr/X11R6/lib/X11/fonts/Type1.Latin2/"


 Za tem pozenemo

      xset fp+ /usr/X11R6/lib/X11/fonts/Type1.Latin2/


 ter se xset fp rehash. Nato je potrebno v direktoriju
 /usr/local/StarOffice3-1/x3p/fontmetrics/ za .afm datoteke narediti
 povezave iz /usr/lib/X11/fonts/Type1.Latin2/. Podobno naredimo se za
 direktorij /usr/local/StarOffice3-1/x3p/pssoftfonts/, le da sem
 povezemo .pfb datoteke. Skoraj smo ze na koncu, v datoteko
 /usr/local/StarOffice-3.1/xp3/psstd.fonts dodamo po vzoru ze dodanih
 pisav v datoteki fonts.dir iz Latin2 podrocja, vse nove pisave, tako,
 da namesto npr. arial.pfb pride arial, namesto -0-0-0-0 pa
 -%d-%d-%d-%d...  Saj se takoj vidi. Na koncu si premapirajmo se
 tipkovnico in sicer s programom xmodmap, tako da izvrsimo xmodmap
 xmodmap.si. Ce imate starejsi Xwindow sistem, si boste morda morali
 xmodmap.si se popraviti, da vam bosta tipki Backspace in Delete delali
 normalno, sicer pa samo pozenete swriter3 in uzivate v dodatnih
 slovenskih pisavah.


 66..33..33..  AApppplliixxwwaarree

 (Boris Pozar, Message-Id: <[email protected]>)

 Z Lugosovega streznika snamemo pisave TrueType v kodnem naboru ISO
 8859-2. Potem jih kot root s FontManagerjem dodamo v katalog pisav in
 zadeva je resena.


      <ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/l2ttf004.zip>



 66..44..  UUrreejjeevvaallnniikkii

 66..44..11..  GGNNUU eemmaaccss

 Emacs je, tako kot njegov avtor, kontroverzni Richard M. Stallman,
 urejevalnik, glede katerega ljudje niso indiferentni: ali ga
 obozujejo, ali pa sovrazijo. Emacs je vec kot urejevalnik; je
 takorekoc nacin zivljenja. V njem lahko pisete programe, iz njega
 poganjate prevajalnik, pisete besedila, poganjate crkovalnik,
 poganjate TeX, berete posto in novice... Ko enkrat v resnici dobro
 obvladate Emacs, imate realne moznosti, da se vam se dobrsen del
 naslednjega stoletja ne bo treba nauciti nobenega novega urejevalnika.
 Dokazano pa ljudje shajajo tudi brez njega.


 66..44..11..11..  SSttaarreejjssee iizzddaajjee pprrooggrraammaa GGNNUU eemmaaccss

 Privzeta nastavitev urejevalnika je omejitev na sedembitne znake
 (ASCII). Nastavitev spremenimo tako, da v datoteko z nastavitvami
 dodamo naslednjih nekaj vrstic:

 ______________________________________________________________________
 ;;  Omogocimo izpis znakov s kodo vecjo od 127
 (standard-display-european t)

 ;;  Omogocimo vnos znakov s kodo vecjo od 127
 (set-input-mode (car (current-input-mode))
         (nth 1 (current-input-mode))
         0)
 ______________________________________________________________________



 Prilagoditev Emacsa je mozno izvesti v eni od naslednjih datotek z
 nastavitvami:

 +o  /usr/lib/emacs/site-lisp/site-start.el (skupne nastavitve)

 +o  ~/.emacs (osebne nastavitve)

 +o  /usr/lib/emacs/site-lisp/default.el (skupne nastavitve)

 Z vnosom in izpisom nasih znakov seveda se ni konec zgodbe o
 prilagoditvi Emacsa za slovenscino. Zelimo na primer tudi, da se ukaza
 forward-word in backward-word ne bosta zatikala na nasih znakih, ter
 da tudi za nase znake pravilno tece pretvarjanje med velikimi in
 malimi crkami. S starejsimi izdajami Emacsa to ni vedno povsem
 trivialno. Bralcu bo v veliko pomoc zbirka nasvetov Slovenscina in
 racunalniki avtorja Alesa Kosirja, v kateri je programu GNU emacs so
 posveceno obsirno poglavje. Najdete jo na

      <http://nl.ijs.si/gnusl/tex/tslovene/slolang/slolang.html>



 66..44..11..22..  GGNNUU eemmaaccss 2200

 Z zadnjo izdajo urejevalnika Emacs in standardno slovensko tipkovnico
 je prilagoditev posebno enostavna. Vse, kar potrebujemo, je

 ______________________________________________________________________
 ;;; Turn on Latin-2 both as input and output method (Emacs 20.*
 ;;; and onwards)
 (set-language-environment "Latin-2")
 ______________________________________________________________________


 Kasneje lahko nacin Latin-2 izberemo za vnos in izpis v menuju Mule /
 Set Language Environment / European / Latin-2.


 66..44..22..  ccrriisspp

 Crisp je urejevalnik v duhu urejevalnika Brief z burno zgodovino.
 Napisal ga je Paul Fox iz Anglije in ga distribuiral kot ``program na
 pokusino'' (shareware). Zadnja taksna razlicica je 2.2e iz leta 1991
 in je po nekaterih vesteh avtor ne podpira vec. Novejse (trenutno 5.1)
 pa trzi podjetje Vital, Inc. iz Teksasa, ZDA. Crisp je nekako blizje
 pecejevskemu duhu, kot pa sta Emacs in Vi; ce se nobenega od teh dveh
 ne morete navaditi, je morda Crisp prava izbira.

 Privzeta nastavitev urejevalnika Crisp 2.2e je, da znakov s kodami od
 127 dalje ne prikaze, ampak izpise njihovo sestnajstisko kodo, ki jo
 uvede z znakoma \x.  Pomaga, ce nalozimo paket z izvorno kodo Crisp in
 v datoteki $(SRC)/crisp2.2e/src/crunch/tty/xterm.cr popravimo drugi
 argument funkcije set_term_features() iz NULL na "%c". Popravljeni
 makroukaz prevedemo:


      crunch xterm.cr




 Rezultat, popravljeni xterm.cm, postavimo med ostale, navadno v imenik
 /usr/local/lib/crisp/macros/tty.

 Makro xterm velja, kot bi iz imena sami uganili, za Crisp, pognan v
 oknu XTerm znotraj X Window System. Enaka intervencija piscu teh
 vrstic ni uspela na linux.cr (konzola) in xcrisp.cr (razlicica Crisp
 za X11).  Poleg tega se je na starejsi verziji Linuxa (1.0.8) crunch
 pritozeval nad predprocesorjem za C, /lib/cpp.  Pomagala je logicna
 povezava:


      ln -s  /usr/lib/gcc-lib/i486-linux/2.5.8/cpp /lib/cpp




 Ales Kosir je napisal za Crisp makro slovene:

      <http://nl.ijs.si/gnusl/tex/tslovene/src/slovene.cr>

 Z njim lahko vnasamo nase znake tudi na tipkovnicah, ki nimajo
 primernih tipk na nacin: namesto c vtipkamo "c, makro pa pretvori
 zaporedje v ustrezen znak.  Poleg ISO Latin 1 podpira se nekaj drugih
 kodiranj, ki so v uporabi v nasih krajih.  Navodila za uporabo so na
 voljo tudi prek WWW:

      <http://nl.ijs.si/gnusl/tex/tslovene/slolang/>


 Del distribucije Caldera OpenLinux je tudi ``lahka'' izvedba
 urejevalnika Crisp, CRiSP LiTE. Caldera ponuja tudi moznost kasnejse
 ugodnejse nadgraditve na polno izvedbo. CRiSP LiTE nima zgoraj
 opisanih tezav z vnosom osembitnih znakov.


 66..44..33..  vvii

 Urejevalnik vi izvira iz sive davnine Unixa. Zaradi tezav z licencnino
 najdete na sistemih Linux namesto originalnega Vi navadno urejevalnik
 vim (Vi IMproved) avtorja Brama Moolenaarja, vcasih pa tudi ``elvis'',
 delo Steva Kirkendalla, ali nvi iz distribucije BSD 4.4. Ideje, na
 katerih temelji ``vi'' so v temeljih ortogonalne na vse, kar ste se o
 urejevalnikih naucili pod MS-DOS. Kljub temu pa je glede na to, da je
 ``vi'' edini urejevalnik, ki zanesljivo obstaja na cisto vsakem Unixu,
 pametno poznati nekaj osnovnih ukazov za delo z njim.

 Po izkusnjah pisca tako originalni vi kot tudi vim sama po sebi brez
 tezav prepuscata osembitne znake. Tezave lahko vcasih povzrocajo
 zunanji programi, ki jih klicemo iz urejevalnika (npr. fmt za
 poravnavanje besedila). Navadno pomaga, ce v ~/.profile dolocimo
 spremenljivko LC_CTYPE (glej poglavje ``Slovenski locale'').


 66..55..  EElleekkttrroonnsskkaa ppoossttaa

 66..55..11..  PPiinnee

 Pine najprej prebere skupne nastavitve iz /usr/local/lib/pine.conf
 (ali /etc/pine.conf, zatem pa se osebne nastavitve iz ~/.pinerc. V
 enem ali drugem poiscemo niz character-set in postavimo to
 spremenljivko na ISO-8859-2:

 ______________________________________________________________________
 ...
 # character-set should reflect the capabilities of the display
 # you have. Normal default is US-ASCII.  Typical alternatives
 # include ISO-8859-x, where x is a number between 1 and 9.
 character-set=ISO-8859-2
 ...
 ______________________________________________________________________




 66..55..22..  eellmm

 Opozorilo: pisec ze dolgo ne uporablja vec tega programa in zapisanega
 ni preveril. Danski in nemski HOWTO trdita, da je bodisi dovolj v
 ukazni lupini postaviti spremenljivko LANG na vrednost iso_8859_1,
 bodisi v konfiguracijski datoteki ~/.elm/elmrc nastaviti vrednosti
 naslednjih spremenljivk:





 ______________________________________________________________________
 ...
 charset=iso-8859-1
 displaycharset=iso-8859-1
 textencoding=8bit
 ...
 ______________________________________________________________________


 Vse ISO 8859-1 bi bilo pri nas verjetno potrebno nadomestiti z ISO
 8859-2.

 Se enkrat prosim koga, ki ta program v resnici uporablja, da opise
 svoje izkusnje.


 66..55..33..  NNeettssccaappee MMaaiill

 V Netscape Mail 4.06 je mozno pisati nase znake v telesu sporocila, ne
 pa tudi v glavi. Ko imamo enkrat namescene nase pisave in urejeno
 preslikavo tipkovnice (razdelka ``Pisave pod X11'' in ``Tipkovnica pod
 X11''), le se v menuju View postnega programa izberemo ``Encoding'',
 tam pa ``Central European (ISO-8859-2)''.

 Vesel bom opisa izkusenj z drugimi izdajami programa Netscape Mail.


 66..66..  SSvveettoovvnnii sspplleett



 66..66..11..  LLyynnxx

 Lynx pozna od izdaje 2.5 dalje tudi kodno stran ISO 8859-2. Nastavimo
 jo lahko na enega od treh nacinov. Prvi je, da izberemo O)ptions,
 zatem pa C)harset, ter z pritiskanjem na kurzorske puscice izberemo
 zeljeni nabor znakov. Drugi je, da v datoteki ~/.lynxrc (osebna
 nastavitev) nastavimo

      character_set=ISO Latin 2


 In zadnji je, da v datoteki /usr/lib/lynx.cfg (skupna nastavitev)

      CHARACTER_SET:ISO Latin 2



 66..66..22..  NNeettssccaappee NNaavviiggaattoorr

 (Metod Kozelj, Message-id:
 <[email protected]>)

 Netscape Navigator, pa tudi brkljalnik iz Netscape Communicator,
 uporabljata nabor znakov, ki ga nudi X Windows System. Za prikaz nasih
 znakov je torej najprej namestiti pisave za X11 (poglavje ``Pisave pod
 X11''). Ko Navigator zazenemo, sam ugotovi, da so na voljo tudi pisave
 za 'Central European (ISO-8859-2)'. Ce pregledujemo stran, ki
 brkljalniku pravilno sporoci uporabljeni nabor znakov, potem Navigator
 avtomaticno uporabi pisavo s pravim kodnim naborom. Seveda lahko
 spremenimo osnovno velikost crk ali pa obliko za proporcionalno
 pisavo.

 To storimo tako, da v 'Edit / Preferences / Appearance / Fonts'
 dolocimo, da spreminjamo nastavitve za srednjeevropske pisave ('For
 the Encoding / Central European (iso-8859-2)'), potem pa izberemo, s
 katero pisavo naj Navigator prikazuje tekste. Navigator nam sam ponudi
 le pisave s pravim naborom znakov.

 Ce pregledujemo strani, ki imajo sicer pravilen razpored crk (razpored
 ISO 8859-2 in ne Windows-1250), pa Navigator ne uporabi pisave s
 pravim razporedom crk, lahko razpored preklopimo rocno z izbiro ,,View
 / Encoding / Central European (ISO-8859-2)``.

 Ob izbiri pisave s pravilnim razporedom crk in ob pravilnem razporedu
 tipk na tipkovnici lahko uporabljamo nase crke tudi pri pisanju v
 modulu 'Page Composer'.

 Netscape Communicator 4.06 in novejsi znajo na Unixih, ki imajo
 namescene pisave ISO 8859-2, prikazati tudi strani, napisane v kodni
 strani Microsoft CP1250, oznacene kot windows-1250 v glavi.


 66..66..33..  SSpplleettnnii ssttrreezznniikkii

 Opomba: spodnje besedilo je prevod navodil ,,Configuring WWW Server
 for ISO 8859-2`` http://sizif.mf.uni-lj.si/linux/cee/app/httpd.html,
 ta pa se v veliki meri naslanjajo na besedilo Marka Martinca ,,Resitev
 problema slovenskih sumnikov v HTML dokumentih``
 http://www.ijs.si/doc/www-csz.html.


 66..66..33..11..  NNaacceellaa


 1. Dolocilo HTTP zahteva, da prenosni protokol HTTP prenasa tok
    podatkov brez omejitve na nabor ASCII ali izpisljive znake. To
    vkljucuje osembitne znake, sestnajstbitne znake kot npr. ISO10646
    ali daljnovzhodne jezike, slike, animacije, zvok ipd.

 2. Vsebino spisa doloca glava MIME (vrstica Content-Type. To je edina
    informacija o zvrsti informacije, ki jo ima na voljo brskalnik,
    zato mora odrazati pravo vsebino spisa.

 3. Privzeto kodni razpored (terminologija MIME/HTTP uporablja izraz
    ,,nabor znakov``) za spise HTML je ISO 10646 oz. njegova osembitna
    podmnozica ISO 8859-1. _V_s_a_k spletni brskalnik mora biti zmozen
    prikazati spis HTML, ki uporablja kodni razpored ISO 8859-1. Glava
    MIME za spise HTML, kodirane po ISO 8859-1, je:


      Content-Type: text/html





 4. Dolocilo HTTP dovoljuje, da z dodatnim dolocilom charset v vrstici
    Content-Type glave MIME izberemo drug kodni razpored. Naceloma je
    dovoljen katerikoli kodni razpored, registriran pri IANA Character
    Set Registry. Iz prakticnih razlogov pa je priporocljivo, da se
    omejimo na naslednje entitete HTTP:


      charset = "US-ASCII"
                   | "ISO-8859-1" | "ISO-8859-2" | "ISO-8859-3"
                   | "ISO-8859-4" | "ISO-8859-5" | "ISO-8859-6"
                   | "ISO-8859-7" | "ISO-8859-8" | "ISO-8859-9"
                   | "ISO-2022-JP" | "ISO-2022-JP-2" | "ISO-2022-KR"
                   | "UNICODE-1-1" | "UNICODE-1-1-UTF-7" | "UNICODE-1-1-UTF-8"
                   | token

 Entiteta, ki je definirana pri IANA Character Set Registry, mora pred-
 stavljati nabor znakov, kot je bil prijavljen pri IANA. Prazna
 entiteta implicira nabor ISO 8859-1 (kar vkljucuje US-ASCII, ki je
 njegova podmnozica).

 Spise HTML, kodirane v skladu s kodnim razporedom ISO 8859-2, morajo
 potemtakem vsebovati v glavi MIME vrstico


      Content-Type: text/html; charset=ISO-8859-2




 Pri tem presledek med podpicjem in charset=ISO-8859-2 ni obvezen.

 5. Numericne entitete oblike &#_n_n_n; dolocajo pismenko s kodo _n_n_n v
    referencnem razporedu znakov (ISO 8859-1 oz. ISO 10646), ne pa v
    trenutno izbranem. Na ta nacin torej sploh ne moremo uporabljati
    nasih znakov, kodiranih skladno s kodnim razporedom ISO 8859-2,
    lahko pa uporabimo 16-bitne kode ISO 10646. Crko c (mali C s
    kljukico) lahko torej zapisemo kot &#269;. In samo tako.


 66..66..33..22..  PPrraakkttiiccnnii oozziirrii

 Kdaj je uporaba kodnega razporeda ISO 8859-2 priporocljiva, kdaj pa
 ne? Znotraj _i_n_t_r_a_n_e_t_a (notranjega informacijskega sistema) v okolju,
 kjer se uporablja ISO 8859-2, je morda smiselno ta razpored uporabiti
 za _v_s_e spise. Ce pa je informacija namenjena sirsemu obcinstvu, pa je
 potrebno vedeti, da je uporabniki zunaj srednje ali vzhodne Evrope,
 kjer se ta kodni razpored uporablja, informacije morda ne bodo mogli
 prikazati. Veljavno dolocilo prenosnega protokola HTTP namrec od
 spletnih brskalnikov ne zahteva, da prikazejo spise HTML, ki
 uporabljajo kodni razpored ISO 8859-2. V primeru, da brskalnik ne
 zmore prikazati strani v zahtevanem kodnem razporedu, lahko ta problem
 ignorira in stran (nepravilno) prikaze v nekem drugem kodnem razporedu
 (navadno ISO 8859-1), ali pa ponudi, da spis shranimo na disk. Zato je
 priporocljivo, da vstopne tocke v vas informacijski sistem ne
 uporabljajo kodnih razporedov, razlicnih od ISO 8859-1.


 66..66..33..33..  PPooddrroobbnnoossttii iizzvveeddbbee

 Obdelali bomo tri metode, s katerimi lahko spletni streznik
 prilagodimo, da pravilno postreze uporabniku s spisom, kodiranim po
 ISO 8859-2:

 +o  dolocitev nove pripone za staticne spise, kodirane po ISO-8859-2,
    in vezava le-te na na primeren tip spisa v glavi MIME

 +o  dinamicno prekodiranje spisov

 +o  uporaba posebnosti streznika ali brskalnika


 66..66..33..44..  DDoolloocciitteevv nnoovvee pprriippoonnee zzaa ssttaattiiccnnee ssppiissee

 Ob zahtevku za spis vecina spletnih streznikov izve zvrst staticnih
 spisov iz pripone datoteke ter na osnovi tega izdela glavo MIME, s
 katero opremi spis, preden ga izroci prejemniku. Vec razlicnih pripon
 lahko ustreza isti zvrsti spisa (priponi .jpeg in .jpg na primer obe
 dolocata zvrst image/jpeg), obratno pa ne - ena pripona lahko doloca
 kvecjemu eno zvrst spisa.


 Nobene splosne metode ni, ki bi dovoljevala uporabo pripone .html za
 spletne spise, kodirane bodisi v skladu s kodnim razporedom ISO
 8859-1, bodisi ISO 8859-2, in pricakovala od spletnega streznika, da
 se bo nekako odlocil, s kaksno glavi MIME bo opremil ene in druge. Ena
 moznost je vsekakor, da pripono .html trajno vezemo na zvrst spisov
 HTML, kodirani skladno s kodnim razporedom ISO 8859-2. Ta resitev ima
 seveda ocitno pomanjkljivost za obcinstvo, ki ne more prikazati tega
 nabora znakov.

 Tukaj predlagana resitev izkorisca zmoznost spletnih streznikov, da
 dolocijo novo pripono datoteke in jo vezejo na zvrst spisa text/html;
 charset=ISO-8859-2 v glavi MIME. To moznost podpira vecina spletnih
 streznikov. Streznika W3C ter NCSA httpd (ter vse njune izpeljanke,
 npr. Apache) uporabljata ukaz AddType v nastavitveni datoteki za
 vezavo dodatnih zvrsti spisov na nove pripone datotek. Z enostavno in
 domisleno shemo (glej Resitev problema slovenskih sumnikov v HTML
 dokumentih lahko zagotovimo pravilne glave MIME za zvrsti spisov, ki
 uporabljajo kodne razporede, razlicne od ISO 8859-1. Ce na primer
 dolocimo pripono .html-l2 za spise, kodirane skladno s kodnim
 razporedom ISO 8859-2, moramo v nastavitveni datoteki dodati vrstico:


 +o  Streznik W3C httpd (CERN httpd): v datoteki httpd.conf dodamo:


      AddType  .html-l2     text/html;charset=ISO-8859-2  8bit 1.0





 +o  Streznik NCSA httpd: v datoteki srm.conf dodamo:


      AddType  text/html;charset=ISO-8859-2   .html-l2





 +o  Streznik Apache se od NCSA httpd razlikuje samo po manjkajoci piki:
    v datoteki srm.conf dodamo:


      AddType  text/html;charset=ISO-8859-2   html-l2





 66..66..33..55..  DDiinnaammiiccnnoo pprreekkooddiirraannjjee

 Na vsakem spletnem strezniku, ki podpira vmesnik Common Gateway
 Interface (CGI) lahko izvedemo dinamicno prekodiranje spletnih spisov.
 Poleg dobrih strani (iz enega samega izvora lahko ponudimo spletni
 spis v mnogo razlicnih kodnih razporedih) ima ta metoda tudi slabe:
 pretvarjanje spisa po eni strani porablja procesorski cas streznika,
 po drugi pa dinamicnih spisov posredniki (angl. proxy) navadno ne
 shranjujejo v medpomnilniku, zato z njimi dodatno obremenjujemo
 komunikacijske vode.

 Primera skriptov, ki izvajata dinamicno prekodiranje:

 +o  slovene - paket za dinamicno pretvarjanje spletnih spisov iz
    kodnega razporeda JUS I.B1.002 v CP852, CP1250, ISO 8859-2 ter US-
    ASCII (s precrkovanjem iz CSZ v CSZ). Avtor Tadej Vodopivec,
    Ljubljana, Slovenija.

 +o  pl-conv - skript v Perl za dinamicno pretvarjanje kodiranja
    spletnih spisov med ISO 8859-2, CP852, CP1250, Mazowia, Apple
    RomanCE in US-ASCII (s precrkovanjem). Avtor Jaroslaw Strzalkowski,
    Krakow, Poljska.

 Sledijo tri resitve, ki uporabljajo posebnosti in nestandardne
 razsiritve programske opreme. Prvi dve se nanasata na spletni
 streznik, zadnja na priljubljeni spletni brskalnik Netscape Navigator.
 Istega problema se je lotil G. Nicol s predlogom ``MIME Header
 Supplemented File Type''.


 66..66..33..66..  MMeettaaiinnffoorrmmaacciijjaa zzaa sspplleettnnii ssttrreezznniikk WW33CC

 Spletni streznik W3C (nekoc poznan kot CERN WWW) omogoca dodajanje
 metainformacije v glave MIME odhodnih spisov.

 Po privzeti nastavitvi isce streznik metainformacije v datotekah s
 pripono .meta podimenik .web imenika s spisi. Ce na primer spletne
 spise hranimo v imeniku /WWW/Hypertext in zelimo opremiti spis
 isolatin2.html v njem s pravilno glavo MIME, napravimo to takole:


 +o  Ce se ne obstaja, najprej ustvarimo podimenik .web:


      $ mkdir /WWW/Hypertext/.web





 +o  Zatem v tem podimeniku ustvarimo datoteko z metainformacijami. Za
    datoteko isolatin2.html se bo ta imenovala isolatin2.html.meta.
    Datoteka mora vsebovati glavo MIME v obliki, kot jo predpisuje
    format RFC822. V nasem primeru je to ena sama vrstica:


      Content-Type: text/html; charset=ISO-8859-2





 66..66..33..77..  DDaattootteekkee AASSIISS zzaa ssttrreezznniikk AAppaacchhee

 Streznik Apache doloca poseben tip datoteke, imenovan ASIS. Streznik
 poslje datoteko ASIS odjemniku natancno taksno, kot je (angl. ``as
 is''), ne da bi jo opremil z glavo, ki jo sicer zahteva protokol HTTP.
 Datoteka sama mora zato vsebovati vsa potrebna polja, ki jih zahteva
 protokol HTTP, tem sledi prazna vrstica in vsebina spisa HTML.

 V nastavitveni datoteki za streznik dolocimo, da pripona .asis pripada
 zvrsti spisa httpd/send-as-is:


      AddType httpd/send-as-is asis




 Primer datoteke ASIS:


 Status: 200 OK
 Content-Type: text/html; charset=ISO-8859-2

 <HTML>
 <HEAD>
 <TITLE>Hello world</TITLE>
 </HEAD>
 <BODY>
 <H1>Zivjo svet!</H1>
 </BODY>
 </HTML>




 Kot vidite, morate v datoteko vkljuciti tudi tromestno odzivno kodo
 streznika. Streznik _v_e_d_n_o doda polji Date: in Server:, zato teh ne
 smemo vkljuciti v datoteko.


 66..66..33..88..  ZZnnaacckkaa <<MMEETTAA>> zz oozznnaaccbboo HHTTTTPP--EEQQUUIIVV

 V dolocilu HTTP 2.0 predlagana znacka <META> z oznacbo HTTP-EQUIV je
 bila predlagana kot neobvezna metoda, s katero lahko streznik potegne
 dodatno metainformacijo iz zaglavja (<HEAD>) spletnega spisa in jo
 uporabi pri tvorjenju glave MIME. Piscu teh vrstic ni znano, da bi
 kateri streznik to v resnici tudi pocel. Tovrstno razclenjevanje
 spletnih spisov verjetno predstavlja preveliko obremenitev za procesor
 in bi se mocno poznalo pri odzivnosti spletnega streznika. Pac pa so
 namesto tega zaceli to informacijo uporabljati spletni brskalniki
 (Netscape Navigator, na primer, to pocenja od izdaje 2.0 dalje).

 Primer spisa z metainformacijo o uporabljenem kodnem razporedu v
 zaglavju spisa:


      <HTML>
      <HEAD>
        <TITLE>Naslov<TITLE>
        <META HTTP-EQUIV="Content-Type"
            CONTENT="text/html; charset=ISO-8859-2">
      </HEAD>

      <BODY>
      Besedilo...
      </BODY>
      </HTML>





 66..77..  DDeelloo nnaa ooddddaalljjeenneemm rraaccuunnaallnniikkuu

 Z ukazoma telnet ali rlogin lahko prek omrezja TCP/IP delamo na drugem
 racunalniku.

 Tezave z osembitnimi znaki pri tem so redko posledica napacne
 nastavitve v maloprej omenjenih programov, saj privzeti nastavitvi pri
 obeh podpirata osembitne znake. V primeru tezav se poleg teh programov
 splaca pogledati se

 +o  nastavitev ukazne lupine (poglavje ``Ukazne lupine'')

 +o  nastavitev terminala (fizicnega ali virtualnega).  Eksplicitno ga
    lahko nastavimo z ukazom
      stty -parenb -istrip cs8


 +o  in na koncu res nastavitev programov telnet ali rlogin


 66..77..11..  TTeellnneett

 Telnet eksplicitno pripravimo do vzpostavitve osembitne zveze z ukazom
 toggle binary:

      ~> telnet
      telnet> toggle binary
      Negotiating binary mode with remote host.
      telnet> open _r_a_c_u_n_a_l_n_i_k


 Telnet omogoca tudi, da si nastavitve za izbrane racunalnike vnesemo v
 nastavitveno datoteko, ~/.telnetrc.  Vnosi imajo obliko:


      ...
      biofiz.mf.uni-lj.si
              set binary true
      ...





 66..77..22..  rrllooggiinn

 Privzet nacin zveze pri programu ``rlogin'' je osembiten, eksplicitno
 pa lahko to dolocimo z dolocilom ``-8'':

      rlogin _r_a_c_u_n_a_l_n_i_k -8



 66..88..  TTeeXX iinn LLaaTTeeXX

 Poslovenjenje paketa LaTeX obsega

 +o  7- in 8-bitni nacin vnosa nasih znakov

 +o  nacin izpisa nasih znakov

 +o  poslovenjenje izpisov ``Contents'', ``Figure'' ipd.

 +o  slovenska pravila za deljenje besed

 +o  prilagoditev programa LyX: vizualnega okolja za vnos besedil v
    LaTeX in Linuxdoc DTD

    Urejanje stvarnega kazala po slovenski abecedi zaenkrat se ne gre
    avtomaticno. Pokazemo, kako lahko tezavo z nekaj truda obvozimo.

 Podporo za neangleske jezike v LaTeXu je poenotil paket babel
 Johannesa Braamsa z Nizozemske, ki je standardni del vseh sodobnih
 distribucij paketa TeX na Linuxu, kot sta teTeX in NTeX:

      <ftp://sunsite.informatik.rwth-aachen.de/pub/comp/tex/teTeX/>
      <http://web.mathematik.uni-stuttgart.de/ntex/WWW/>



 Z uporabo izbire ``slovene'' v paketu babel se avtomaticno izberejo
 slovenska imena pod- in nadnapisov, naslovov ipd., slovenska pravila
 za zlogovanje besed (ce imamo namescene slovenske zlogovalne vzorce;
 poglavje ``Slovenska pravila za deljenje besed''), in 7-bitni nacin
 vnosa znakov "c"s"z:


      \usepackage[slovene]{babel}




 V novi razlicici LaTeXa (LaTeX2e) lahko s paketoma fontenc in inputenc
 izberemo tudi 8-bitno kodno tabelo T1 (znano tudi kot DC ali Cork) in
 8-bitni vnos znakov.  Primer celotnega spisa v LaTeXu:

 ______________________________________________________________________
 \documentclass[a4paper]{article}
 \usepackage[slovene]{babel}
 \usepackage[T1]{fontenc}
 \usepackage[latin2]{inputenc}
 \begin{document}
 Ceprav se pouk na zeleznicarski soli v Sentvidu obicajno konca
 sele ob stirih, odpesacijo ucenci iz obcin Zelimlje in Zetale domov
 ze cetrt cez tri.
 \end{document}
 ______________________________________________________________________




 66..88..11..  LLaaTTeeXX 22..0099

 V starejsi razlicici paketa LaTeX, LaTeX 2.09, ne moremo uporabiti
 mehanizma inputenc. Pomagamo si s stilom latin2.sty Andreja Brodnika.
 Primer uporabe:

 ______________________________________________________________________
 \documentstyle[latin2]{article}
 \begin{document}
 ...
 \end{document}
 ______________________________________________________________________


 Stil latin2 je na voljo na vseh streznikih CTAN, npr.

      <ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/latin2/>



 66..88..22..  SSlloovveennsskkaa pprraavviillaa zzaa ddeelljjeennjjee bbeesseedd

 Datoteko s slovenskimi pravili za zlogovanje besed je v okviru svoje
 diplomske naloge leta 1990 izdelal Matjaz Vrecko, in jo predal v last
 slovenskemu drustvu uporabnikov sistema TeX (TeXCeH). Na voljo je za
 individualno uporabo brez namena pridobivanja premozenjske koristi. Od
 leta 1995 dalje zanjo skrbi dr. Leon Zlajpah z IJS, ki jo je
 posredoval tudi skrbniku sistema sistema babel za tujejezicno podporo
 v sistemu TeX, Johannesu Braamsu. Sistem babel praviloma dobimo skupaj
 z distribucijo sistema TeX. Trenutno zadnja izdaja je 2.3, datirana
 1997-04-15.

 V distribuciji _t_e_T_e_X, ki je najbolj priljubljena distribucija na
 Unixu, vklopimo podporo za slovenske delilne vzorce tako, da kot
 administrator pozenete program texconfig. V menuju izberemo moznost
 _H_Y_P_H_E_N _- _h_y_p_h_e_n_a_t_i_o_n _t_a_b_l_e _(_t_e_x_/_l_a_t_e_x_). Program texconfig pri tej
 izbiri pozene urejevalnik vi in vanj nalozi datoteko language.dat. Za
 tiste, ki ga ne poznate, najnujnejse o uporabi le-tega: levo, desno,
 gor in dol po besedilu se premikate s tipkami h, l (mali L), j in k.
 Znak pobrisete tako, da kurzor pripeljete nanj in pritisnete tipko x.
 Datoteko shranite in zakljucite z delom s pritiskom na tipko Esc in
 vpisom :wq (dvopicje, mali W, mali Q), ki mu sledi Enter. Oborozeni s
 tem znanjem v datoteki language.dat pobrisemo komentar (znak za
 procent) pred zapisom slovene sihyph22.tex, shranimo in zapustimo
 urejevalnik. Program texconfig bo avtomaticno ustvaril nove formatne
 datoteke z vgrajenimi delilnimi vzorci.

 Pisec teh vrstic je imel nepojasnjene tezave z datoteko sihyph22.tex,
 ki so enako cudezno izginile, ko mu je dr. Zlajpah poslal novo izdajo
 slovenskih delilnih vzorcev. Dobimo jo lahko na ftp://sizif.mf.uni-
 lj.si/pub/i18n/tex/sihyph23.tex in jo postavimo ob bok stari datoteki,
 navadno v imenik /usr/TeX/texmf/tex/generic/hyphen/. Pozenemo
 texconfig, tam najprej osvezimo seznam datotek (izbira _R_E_H_A_S_H _-
 _r_e_b_u_i_l_d _l_s_-_R _d_a_t_a_b_a_s_e), zatem pa ponovimo postopek iz prejsnjega
 odstavka, s tem, da ime sihyph22.tex popravimo v sihyph23.tex.

 Dodatne informacije o slovenski skupini uporabnikov TeX najdete na

      <http://vlado.fmf.uni-lj.si/texceh/texceh.htm>



 66..88..33..  LLyyXX

 (Roman Maurer, <[email protected]>)

 Ce uporabljamo LyX s standardno slovensko tipkovnico (102/105 tipk),
 ga lahko enostavno prilagodimo za delo s slovenscino:


 1. Tipkovnica v strezniku Xwindow mora biti nastavljena tako, da z njo
    v splosnem lahko vnasamo nase znake (to je opisano v razdelku ``X
    Window System'' poglavja ``Tipkovnica'').

 2. Pozenemo LyX in nastavimo:


      Options / Screen Fonts / Font Norm = iso8859-2





 Zal izgleda, da LyX tega podatka nikamor ne shrani. Zato moramo rocno
 dodati v datoteko lyxrc (sistemska je navadno v imeniku
 /usr/share/lyx/, uporabniska pa v ~/.lyx/) naslednjo vrstico:


      \font_norm iso8859-2





 3. Odpremo (nek) dokument in izberemo:






 Layout / Document / Language = slovene
 Layout / Document / Encoding = latin2
 Layout / Paper / Papersize = A4
 Layout / Quotes = ,,text`` & Double





 4. Ce zelimo te nastavitve uporabljati v vseh nasih dokumentih (in to
    seveda zelimo), uporabimo se izbiro


      Layout / Save layout as default





 5. Kadar uporabimo razred "letter" namesto "article", odgovorimo
    pritrdilno na vprasanje:


      "Should I set some parameters to letter the defaults
      of this document class?"




 Zaradi napake v LyXu do vkljucno 1.0.0pre2 ni mogoc vnos 8-bitnih
 znakov v matematicnem tekstovnem nacinu (math text mode). Pomagamo si
 tako, da postavimo kar celo formulo kot TeXovo kodo ("tex-mode" - s
 tem sicer izgubimo WYSIWYG). Razvijalci LyX-a so o napaki obvesceni in
 jo bodo verjetno popravili v naslednjih izdajah.

 7-bitni vnos sumnikov kot "c"s"z je otezen, ker LyX avtomaticno
 pretvori dvojni narekovaj v dva enojna. Prva misel je, da si lahko
 spet pomagamo z izbiro "tex-mode", udobnejsa moznost pa je, da
 predefiniramo dvojni narekovaj. V datoteko emacs.bind (ali pa
 cua.bind, kar ze uporabljamo) dodamo vrstico:


      \bind "S-quotedbl" "accent-caron"




 Nase znake bomo zdaj dobili s pritiskom na "c"s"z.  S tem zal izgubimo
 avtomaticno pretvarjanje dvojnega narekovaja v dva enojna, a vsega pac
 ne moremo imeti...

 Datoteka emacs.bind je v imeniku ~/.lyx/bind/. Ce je se ni, lahko
 napravimo kopijo sistemske z imenika /usr/share/lyx/bind/ in jo
 popravimo.

 Ce imamo staro slovensko tipkovnico (ameriska s csz namesto ~{`),
 lahko uporabimo premapiranje tipkovnice v Latin 2 Alena Salamuna
 <[email protected]>:


      Options / Keyboard / Primary = slovene





 Ustrezna datoteka slovene.kmap je tipicno v imeniku
 /usr/share/lyx/kbd/.

 Takole pa lahko uporabimo crkovalnik ``ispell'' za crkovanje
 slovenskih spisov:


      Edit / Spellchecker / Spellchecker Options
        * Use alternate language: slovensko
        * Extra special chars allowed in words: cszCSZ




 V slovenski izdaji urejevalnika LyX pa:


      Uredi / Crkovalnik / Izbire crkovalnika
        * Uporabi drug jezik: slovensko
        * Dodatni posebni znaki, dovoljeni v besedah: cszCSZ





 66..88..44..  PPrreegglleedd bbeesseeddiillaa nnaa zzaasslloonnuu

 V Evropi je standardni format papirja A4, kar moramo dopovedati tudi
 programom za pregled besedila na zaslonu:

    XXDDvvii
       V datoteko ~/.Xresources (osebna nastavitev) dodamo vrstico

       ________________________________________________________________
       XDvi.paper:     a4
       ________________________________________________________________




    GGhhoossttvviieeww
       V datoteko ~/.Xresources (osebna nastavitev) ali pa v datoteko
       /usr/lib/X11/app-defaults/Ghostview (skupna nastavitev) dodamo
       vrstice:

       ________________________________________________________________
       !  Ghostview naj uporablja format A4
       *pageMedia:             A4
       !  Tudi Ghostscript naj uporablja format A4
       *Ghostview.interpreter: gs
       *Ghostview.arguments:   -sPAPERSIZE=a4
       ________________________________________________________________


    Ker tiskamo prek Ghostscripta tudi iz drugih programov, ne le iz
    Ghostview, je pametno, ce mu v nastavitveni datoteki (navadno
    /usr/share/ghostscript/_i_z_d_a_j_a/gs_init.ps ali
    /usr/local/share/ghostscript/_i_z_d_a_j_a/gs_init.ps) globalno izberemo
    velikost strani A4. Poiscemo spodnjo vrstico in jo odkomentiramo
    (pobrisemo zacetni znak za procent):


         % (a4) /PAPERSIZE where { pop pop } { /PAPERSIZE exch def } ifelse



 66..88..55..  SSttvvaarrnnaa kkaazzaallaa

 Najpogostejse orodje za izdelavo stvarnih kazal v sistemu TeX je
 Makeindex. Ta je le omejeno lokaliziran (poleg angleskih pozna se
 nemska pravila za razvrscanje) in nase abecede ne pozna.

 Stvarno kazalo v LaTeX izdelamo z ukazom \makeindex v preambuli; vsako
 besedo, ki jo zelimo vnesti v kazalo, pa moramo posebej oznaciti z
 ukazom \index{vnos}. Ker navadno zelimo stvarno kazalo tudi izpisati,
 dodamo se ukaz \printindex, ta pa je definiran v makropaketu makeidx.
 Zgled, datoteki recimo zelez-sola.tex, naj ilustrira povedano:

 ______________________________________________________________________
 \documentclass[a4paper]{article}
 \usepackage[slovene]{babel}
 \usepackage[T1]{fontenc}
 \usepackage[latin2]{inputenc}
 \usepackage{makeidx}
 \makeindex
 \begin{document}
 Ceprav se pouk na zeleznicarski
 soli\index{s~ola@sola!z~eleznic~arska@zeleznicarska} v
 Sentvidu\index{S~entvid@Sentvid} obicajno konca sele ob stirih,
 odpesacijo ucenci iz obcin Zelimlje\index{Z~elimlje@Zelimlje} in
 Zetale\index{Z~etale@Zetale} domov ze cetrt cez tri.
 \printindex
 \end{document}
 ______________________________________________________________________



 Trik je v tem, da makeindex dopusca skladnjo \index{vnos1@vnos2}, kjer
 je vnos1 tisti, po katerem se kazalo ureja, vnos2 pa besedilo, ki se v
 resnici izpise. Naso crko C zato pisemo kot C~ (znak ~ je v kodnem
 razporedu ASCII za vsemi crkami), in tako bo zanesljivo uvrscena za
 vsemi C. Besedilo prevajamo v treh korakih:


      latex zelez-sola
      makeindex zelez-sola
      latex zelez-sola




 Prvi latex iz datoteke zelez-sola.tex izdela datoteko zelez-sola.idx,
 ukaz makeindex to uredi in iz nje izdela datoteko zelez-sola.ind, to
 pa vsrka drugi ukaz latex.


 66..99..  ggrrooffff

 Groff nudi precej omejeno podporo za nase znake. Pri izpisu na zaslon
 (nacin nroff) lahko goljufamo tako, da zapisemo datoteko z osembitnimi
 znaki ISO Latin 2, programu pa lazemo (izbira -Tlatin1), da so
 kodirani po razporedu ISO Latin 1.

 Henryk Paluch je napisal paket groff-latin2, s katerim lahko nase
 znake vnasamo kot makroukaze, na primer:


      \('a    a z ostrivcem
      \(vc    c s stresico
      \vou    u s krozcem


 Izpis v obliki PostScript v casu pisanja tega spisa se vedno ne
 deluje, ceprav bi se mehanizme iz paketa ``ogonkify'' Juliusza
 Chroboczka podobno kot v programu ``a2ps'' verjetno dalo uporabiti
 tudi tu. Se najvecji problem je verjetno ta, da je paket ``groff''
 osirotel, saj ga prvotni avtor, James Clark, ne vzdrzuje vec.  Za
 paket groff-latin2 zdaj skrbi Jan Kasprzak <[email protected]>, najdete
 ga na

      <ftp://ftp.fi.muni.cz/pub/localization/groff/>



 66..1100..  PPeerrll

 Od izdaje 5.004 dalje tudi Perl podpira lokalizacijo. Nastaviti moramo
 primerne spremenljivke okolja in bodisi v programu uporabiti klic

 ______________________________________________________________________
 use locale;
 ______________________________________________________________________


 bodisi poklicati Perl z izbiro -Mlocale. Nekaj primerov; preizkus smo
 si sposodili pri Janu Pazdziori:

 ______________________________________________________________________
 ~> LC_CTYPE=sl_SI.iso88592 perl -Mlocale -e '$_="tezisce\n"; s/\w/$&:/g; print;'
 t:e:z:i:s:c:e:
 ~> LC_CTYPE=C perl -Mlocale -e '$_="tezisce\n"; s/\w/$&:/g; print;'
 t:e:zi:sce:
 ~> LC_CTYPE=sl_SI.iso88592 perl -e '$_="tezisce\n"; s/\w/$&:/g; print;'
 t:e:zi:sce:
 ______________________________________________________________________



 Kot vidimo, je samo v prvem primeru, ko smo izvedli oboje: nastavili
 spremenljivko LC_CTYPE in Perl poklicali z izbiro -Mlocale, nase znake
 res uposteval kot crke (\).


 66..1111..  CCrrkkoovvaannjjee:: iissppeellll

 Vecina sodobnih distribucij Linuxa ze pride s crkovalnikom Ispell;
 manjka pa mu slovenski besedni zaklad. Tega najdete v datoteki

      <ftp://sizif.mf.uni-lj.si/pub/i18n/ispell/slovensko.tar.gz>


 Arhivska datoteka vsebuje dve datoteki, slovensko.hash in sloven-
 sko.aff. Postavimo ju tja, kjer Ispell ze hrani leksikone za ostale
 jezike. Pri piscu teh vrstic je to /usr/lib/ispell/; ce pri vas ni, si
 lahko morda pomagate s tem, da s find poskusite poiskati datoteko
 english.aff. Osnovni slovenski leksikon izvira iz baze, ki jo je pod-
 jetje Amebis d.o.o. prispevalo za mednarodni projekt MULTEXT-East; s
 posredovanjem dr. Tomaza Erjavca z odseka za inteligentne sisteme na
 Institutu Jozef Stefan pa je na voljo za nepridobitno uporabo.

 Ispell uporabljamo tako, da mu v ukazni vrstici podamo jezik, v
 katerem je napisano besedilo, na primer english, deutsch, francais ali
 slovensko:

      ispell -d slovensko besedilo.txt



 Natancnejsa navodila za ravnanje s programom Ispell boste nasli v
 prirocniku, vec o prilagoditvi paketa ispell za slovenscino si lahko
 preberete na strani Slovenscina in racunalniki Alesa Kosirja. Ispell s
 slovenskim besednim zakladom poganja tudi spletni crkovalnik Trubar
 istega avtorja:

      <http://nl.ijs.si/cgi-bin/truform.pl>



 66..1122..  PPrreettvvaarrjjaannjjee mmeedd rraazzlliiccnniimmii kkooddiirraannjjii

 Razen ISO Latin 2 vsebuje vse nase znake se nekaj drugih naborov:
 Microsoft Codepage 1250, IBM Codepage 852, JUS I.B1.002, Apple MacOS-
 CE, Apple MacOS-Croatian, Kamenicky, ISO Latin 4, ISO Latin 6, ISO
 Latin 7 itd.

 Ceprav ni tezko napisati programcka za pretvorbo iz enega kodnega
 nabora v drugega, je pripravno uporabiti ze izdelan program.  Eden
 takih je GNU recode, dostopen npr. na strezniku ARNES:

      <ftp://ftp.arnes.si/software/gnu/recode/recode-3.4.tar.gz>


 Starejse izdaje GNU recode (pred 3.5) ne poznajo Microsoftovih kodnih
 strani 1250-1259.

 Uporaba je enostavna:

      recode yu:latin2 _d_a_t_o_t_e_k_a


 pretvori datoteko iz kodnega nabora JUS I.B1.002 v kodni nabor ISO
 Latin 2.  Kot obicajno izda tudi tu izbira --help se dodatne moznosti.

 Novejse izdaje programa recode (ki poznajo tudi nekaj vec kodnih
 naborov), uporabljajo malo drugacno skladnjo:

      recode yu..latin2 _d_a_t_o_t_e_k_a


 Po izkusnjah pisca pa je precrkovanje (npr. ,,nabori`` latex ali flat)
 se vedno omejeno na pretvorbo iz in v nabor ISO 8859-1. Novejse
 (preizkusne) izdaje programa recode najdete na:

      <ftp://ftp.iro.umontreal.ca/pub/recode/>



 66..1133..  DDrruuggii pprrooggrraammii

 66..1133..11..  PPrreegglleeddoovvaallnniikk lleessss

 Less (avtor Mark Nudelman) je program za pregledovanje besedil na
 zaslonu, in je priljubljena zamenjava standardnega more.

 Less prilagodimo za izpis osembitnih znakov z nastavitvijo v
 ~/.profile:


      LESSCHARSET=latin1; export LESSCHARSET




 latin1 namesto latin2 ni pomota.  Less zaenkrat slednjega se ne pozna,
 ker pa ga pravzaprav zanima samo, kateri znaki so obicajni, kateri pa
 kontrolni (ki zahtevajo posebno obravnavo), ker pa je razpored znakov
 enak v celotni druzini ISO 8859, lahko izberemo kar latin1.  Namesto
 tega lahko tudi eksplicitno navedemo zaporedje tipa znakov v naboru:


      LESSCHARDEF="8bcccbcc18b95.33b."; export LESSCHARDEF




 Vsi nabori iz druzine ISO 8859 imajo osem binarnih znakov (posebnih
 znakov, ki jih praviloma ni v besedilih), tri kontrolne znake, binarni
 znak, dva kontrolna znaka, osemnajst binarnih znakov, 95 navadnih
 znakov, 33 binarnih znakov, in normalne znake do konca tabele.


 66..1133..22..  KKoolleeddaarr ggccaall

 Vsi sistemi Unix imajo vgrajen koledarcek cal, ki pa je precej
 anglocentricen. Thomas Esken iz Nemcije je napisal alternativni
 koledarcek gcal. Od izdaje 2.40 dalje pozna tudi slovenske praznike.
 Najdemo ga na obicajnih mestih distribucije GNU. Najblizje je
 verjetno:

      <ftp://ftp.arnes.si/software/gnu/>


 Spodnja vrednost spremenljivke GCAL ustreza nasim razmeram:


      GCAL="--cc-holidays=SI --gregorian-reform=1582"; export GCAL





 77..  TTiisskkaannjjee

 Pri tiskanju lahko naletimo na razlicne situacije:

 +o  Tiskalnik neposredno podpira ISO Latin 2

 +o  Tiskalnik podpira enega od ostalih osembitnih naborov z nasimi
    znaki (npr. kodno stran 852), ali pa sedembitni nabor JUS I.B1.002

 +o  Tiskalnik razume PostScript

 +o  Tiskalnik ne podpira nicesar drugega razen ASCII

    Zadnja moznost ni predmet obravnave tega spisa.


 77..11..  TTiisskkaallnniikkii,, kkii ppooddppiirraajjoo IISSOO LLaattiinn 22

 Nekaj novejsih tiskalnikov ze neposredno podpira kodni razpored ISO
 Latin 2. Med njimi so

 +o  Hewlett-Packard LaserJet 4 Plus in 4M Plus

 +o  Hewlett-Packard LaserJet 5L

 +o  Epson FX-2170 (NLSP)

 +o  Epson LQ-870 (NLSP)

 +o  Epson LQ-2070 (NLSP)

 +o  Epson LQ-2170 (NLSP)

 +o  Epson DLQ-3000 (NLSP; letnik 1996 in novejsi)

 +o  Fujitsu DL700

 +o  Fujitsu DL1150/1250

 +o  Fujitsu DL3700/3800

 +o  Fujitsu DL6400/6600

    Vse, kar morate storiti, je izbrati pravilno kodno stran v
    tiskalniku. Ubezna sekvenca za tiskalnike Hewlett-Packard (PCL) in
    Epson (ESC/P2) so naslednje

    PPCCLL
       Tole menda deluje:

       ________________________________________________________________
       \033(2N\033(s0p12h0s0b4099T
       ________________________________________________________________




    EESSCC//PP22
       Z ukazom ESC ( t prepisemo kodno tabelo ISO 8859-2 v drugo
       tabelo tiskalnika; zatem z ukazom ESC t izberemo drugo tabelo
       tiskalnika (strani C-73 in C-77 v ,,Epson ESC/P Reference
       Manual``, december 1997):

       ________________________________________________________________
       \033(t\003\000\002\177\002\033t\002
       ________________________________________________________________



    Oznaka \033 je osmiska koda znaka Escape.

 Eden od nacinov, kako z /etc/printcap prilagodimo okolje za tiskanje
 na tak tiskalnik, je podrobneje opisan v razdelku ``Tiskalniki, ki
 podpirajo kak drug nabor z nasimi znaki''.


 77..22..  TTiisskkaallnniikkii,, kkii ppooddppiirraajjoo kkaakk ddrruugg nnaabboorr zz nnaassiimmii zznnaakkii

 Ce tiskalnik podpira kak drug nabor z nasimi znaki (ne dolgo nazaj je
 bila ustaljena praksa, da je bil ROM v tiskalnikih zamenjan z EPROM, v
 njem pa svedski znaki zamenjani z znaki po JUS I.B1.002), lahko s
 primerno nastavitvijo v /etc/printcap se vedno tiskamo spise, kodirane
 po ISO Latin 2.

 Primerno moramo dopolniti datoteko /etc/printcap.  Za zgled si oglejmo
 tiskalnik Epson, ki ima znake po JUS I.B1.002 na mestu svedskega
 nabora.








 ______________________________________________________________________
 lp|ascii|epson|Epson LQ-850:\
         :lp=/dev/lp1:\
         :sd=/usr/spool/lpd/epson:\
         :lf=/usr/spool/lpd/ERRORLOG:\
         :mx#0:\
         :sh:
 jus|Epson LQ-850 z znaki JUS I.B1.002:\
         :lp=/dev/null:\
         :sd=/usr/spool/lpd/jus:\
         :if=/usr/spool/lpd/jus_filter:\
         :lf=/usr/spool/lpd/ERRORLOG:\
         :mx#0:\
         :sh:
 latin2|text|Epson LQ-850 z znaki ISO Latin 2:\
         :lp=/dev/null:\
         :sd=/usr/spool/lpd/latin2:\
         :if=/usr/spool/lpd/latin2_filter:\
         :lf=/usr/spool/lpd/ERRORLOG:\
         :mx#0:\
         :sh:
 ______________________________________________________________________



 Zgled ima tri tiskalniske vrste.  Prva je dejanski tiskalnik z
 ameriskim (ASCII) naborom znakov.  Druga uporablja filter
 /usr/spool/lpd/jus_filter:

 ______________________________________________________________________
 #!/bin/sh
 /usr/spool/lpd/jus_epson | lpr -Pascii
 ______________________________________________________________________


 Datoteko torej precedimo skozi filter /usr/spool/lpd/jus_epson in jo
 postavimo v prvo tiskalnisko vrsto.  Filter jus_epson ne napravi
 drugega, kot da na zacetku doda kodo za preklop v svedski nabor,
 prepise datoteko z vhoda na izhod, in na koncu doda kodo za preklop
 nazaj v ameriski nabor.  To je tudi edini del programja, ki je odvisen
 od vrste tiskalnika:

 ______________________________________________________________________
 #!/bin/sh
 # Tiskanje besedil kodiranih po JUS I.B1.002 na tiskalnik Epson LQ
 #
 # Izberemo slovenski (svedski) nabor
 /bin/echo -ne "\033R\005\c"
 # Izpisemo dokument
 cat
 # Izberemo ameriski nabor
 /bin/echo -ne "\033R\000\c"
 ______________________________________________________________________



 Tretja vrsta uporablja podoben filter kot druga, le da ta najprej
 pretvori besedilo iz Latin 2 v JUS, zatem uporabi ze opisani filter za
 to, da doda na zacetku in na koncu potrebno kodo za tiskalnik, in
 koncno tako datoteko postavi v prvo vrsto.






 ______________________________________________________________________
 #!/bin/sh
 /usr/local/bin/recode --force latin2:yu | \
     /usr/spool/lpd/jus_epson | lpr -Pascii
 ______________________________________________________________________


 Zgled predpostavlja, da je pot do programa recode
 /usr/local/bin/recode.  Izbiro --force moramo uporabiti, ker je pres-
 likava neobrnljiva -- v Latin 2 imamo tako sumnike kot zavite
 oklepaje, v JUS pa samo se prve.

 Za ta zgled smo morali v imeniku /usr/spool/lpd ustvariti tri
 podimenike: /usr/spool/lpd/epson, /usr/spool/lpd/jus in
 /usr/spool/lpd/latin2.

 Tiskanje gre zdaj tako:

 1. Brez eksplicitne izbire vrste, ali pa z izbiro -Pepson ali -Pascii
    se datoteka odtisne kot ASCII:

      lpr _d_a_t_o_t_e_k_a



 2. Z izbiro -Pjus se datoteka odtisne kot besedilo, kodirano po JUS
    I.B1.002:

      lpr -Pjus _d_a_t_o_t_e_k_a



 3. Z izbiro -Platin2 ali -Ptext se datoteka odtisne kot besedilo,
    kodirano po ISO Latin 2:

      lpr -Platin2 _d_a_t_o_t_e_k_a



 77..33..  TTiisskkaallnniikkii,, kkii ppooddppiirraajjoo kkaakk ddrruugg nnaabboorr zz nnaassiimmii zznnaakkii IIII

 (Matjaz Terpin <[email protected]>, Message-id:
 <[email protected]>)

 Matjaz Terpin <[email protected]> je predlagal imenitno
 izboljsavo pravkar opisanega postopka, pri katerem lahko tiskamo nase
 znake _i_n oglate in zavite oklepaje. Srz njegovega predloga je filter,
 ki pred vsakim nasim znakom preklopi v svedski nabor, takoj za njim pa
 spet nazaj v ASCII.

 Datoteka /etc/printcap je v tem primeru taksna:















 ______________________________________________________________________
 # /etc/printcap
 lp|raw|yu:\
        :lp=/dev/lp1:\
        :sd=/var/spool/lpd/lp:\
        :lf=/var/spool/lpd/ERRORLOG:\
        :mx#0:\
        :sh:
 lat2:\
        :lp=/dev/null:\
        :if=/etc/lp/lat2.filter:\
        :sd=/var/spool/lpd/lat2:\
        :lf=/var/spool/lpd/ERRORLOG:\
        :mx#0:\
        :sh:
 ______________________________________________________________________



 Filter /etc/lp/lat2.filter precedi besedilo skozi naslednje sito,
 /etc/lp/lat2.switch, in ga postavi v vrsto lp:

 ______________________________________________________________________
 #!/bin/sh
 # /etc/lp/lat2.filter

 /etc/lp/lat2.switch | lpr -Plp
 ______________________________________________________________________



 ,,Meso`` postopka je v datoteki /etc/lp/lat2.switch:

 ______________________________________________________________________
 #!/bin/sh
 #/etc/lp/lat2.switch

 echo -ne "\033R0"

 sed -e "s/c/`echo -ne "\033R5\~\033R0"`/g" \
  -e "s/C/`echo -ne "\033R5\^\033R0"`/g" \
  -e "s/s/`echo -ne "\033R5\{\033R0"`/g" \
  -e "s/S/`echo -ne "\033R5\[\033R0"`/g" \
  -e "s/z/`echo -ne "\033R5\140\033R0"`/g" \
  -e "s/Z/`echo -ne "\033R5\@\033R0"`/g" \
  -e "s/c/`echo -ne "\033R5\}\033R0"`/g" \
  -e "s/C/`echo -ne "\033R5\]\033R0"`/g" \
  -e "s/d/`echo -ne "\033R5\|\033R0"`/g" \
  -e "s/D/`echo -ne "\033R5\\\\033R0"`/g"

 echo -ne "\033R5"
 ______________________________________________________________________



 Matjaz pravi se: sed slabo prebavi ``echo -ne "\000"'', zato
 uporabljam kar znak 0 (niclo), saj je tiskalnik (NEC pinwriter P7)
 zadovoljen tudi s tem.


 77..44..  TTiisskkaallnniikkii PPoossttSSccrriipptt

 ``Naravni'' kodni nabor v PostScriptu je Adobe Standard Encoding.
 Nasih crk ne pozna. Pa ne le nasih, tudi mnogih drugih crk ne pozna,
 in pravzaprav sploh nima tovrstnih ambicij. Namesto tega je ASCII
 razsirjen z gradniki sestavljenih znakov: stresica, ostrivec, diereza,
 sedij itd. -- vsi so tam. Jezik PostScript pa omogoca definiranje
 sestavljenih znakov. Vse skupaj je cakalo samo se nekoga, ki bo
 definiral sestavljene znake za kodni nabor ISO Latin 2. Ta nekdo je
 bil Juliusz Chroboczek, ki je napisal paket ogonkify.

 Filtra a2ps in GNU enscript sta bila napisana z namenom, da resita za
 nase kraje neobicajno zagato: kako odtisniti cisto obicajno besedilo
 na tiskalnik, ki razume edino PostScript. Eden in drugi postavita
 stran v PostScriptu z danim besedilom in jo posljeta na tiskalnik.
 Fleksibilnost PostScripta omogoca tudi transformacije (npr.
 pomanjsave) ali poudarjanje sintakse pri tiskanju programskih izpisov.
 Oba podpirata nabor ISO Latin 2.


      <http://www.dcs.ed.ac.uk/home/jec/programs/ogonkify/>
      <http://www-inf.enst.fr/~demaille/a2ps/>
      <http://www.iki.fi/~mtr/genscript/>
      <ftp://ftp.arnes.si/gnu/enscript/enscript-1.6.1.tar.gz>



 77..44..11..  ooggoonnkkiiffyy

 Ogonkify je filter za izpise v PostScriptu, in omogoca pravilen odtis
 crk tudi v jezikih, ki ne uporabljajo nabora ISO Latin 1. Ker je
 filter, je ravno korak prepozen, da bi lahko pocel to elegantno, ampak
 mora prezveciti kakrsnokoli grdobijo pac izpljune program korak pred
 njim in iz dobljenega izdelati lep odtis. Programi pa izdelujejo
 datoteke PostScript vsak malo drugace, kar filtru ``ogonkify'' otezi
 delo. Zaenkrat podprti formati izpisa PostScript so: NCSA Mosaic,
 Netscape Navigator, StarOffice, Applixware in XFig.

 Ogonkify za delovanje potrebuje Perl. Ko je namescen, ogonkify
 uporabimo takole za odtis spletnega sestavka, shranjenega iz
 Navigatorja:

      ogonkify -AT -N netscape.ps | lpr



 77..44..22..  GGNNUU eennssccrriipptt

 Ce GNU enscript se ni namescen, ga namestimo po navodilih, ki so
 prilozena programu.  Poleg njega potrebujemo se vsaj eno pisavo z
 vsemi nasimi znaki, zapisan v obliki Type 1.  Primeren je npr. IBM
 Courier, ki je prosto dostopen in se distribuira z X Window System,
 programom ghostscript ipd.  Ce nismo prepricani, ali ga imamo ze
 namescenega, pozenemo:


      find / -name cour.pf[ab]




 V osebno (~/.enscriptrc) ali skupno konfiguracijsko datoteko (navadno
 /usr/local/etc/enscript.cfg ali /usr/local/etc/enscriptsite.cfg)
 dodamo pravilno pot do datotek s pisavami.  Poleg tega potrebuje GNU
 enscript v vsakem imeniku s pisavami se datoteko z imenom font.map, ki
 vsebuje preslikavo med imeni pisav in datotekami, kjer so shranjene.
 Ustvarimo jo z ukazom mkafmmap.

 Primer konfiguracijske datoteke:



 ______________________________________________________________________
 ...
 #  Kje hranimo pisave PostScript?
 AFMPath: /usr/lib/X11/fonts/Type1:/usr/local/lib/ghostscript/fonts
 ...
 #  Privzeti nacin kodiranja:
 DefaultEncoding: latin2
 ...
 #  Privzeti format papirja:
 DefaultMedia: A4
 ...
 #  lpd izbira tiskalniske vrste z -P...
 QueueParam: -P
 ...
 #  Za tiskanje uporabljamo ukaz lpr, ne lp
 Spooler: lpr
 ______________________________________________________________________



 Ko je vse potrebno nastavljeno, odtisnemo besedilo enostavno z ukazom

      enscript _d_a_t_o_t_e_k_a



 77..44..33..  aa22ppss

 Z izdajo 4.7.21 je Akim Demaille v a2ps vgradil mehanizem za
 sestavljene znake, ki ga je Juliusz Chroboczek uporabil v filtru
 ``ogonkify''.

 Nasim krajem prilagodimo a2ps z majckeno spremembo nastavitvene
 datoteke. Sistemsko nastavitveno datoteko najdemo navadno kot
 /usr/etc/a2ps.cfg, /usr/local/etc/a2ps.cfg ali kaj podobnega; osebna
 se imenuje ~/.a2psrc.

 ______________________________________________________________________
 ...
 # Default encoding
 Options: --encoding=latin2

 # Default media
 Options: --media=A4
 ...
 ______________________________________________________________________




 88..  LLiinnuuxx vv SSlloovveenniijjii

 Harald T. Alvestrand z Norveske vodi evidenco o uporabnikih Linuxa po
 drzavah. Seznam slovenskih uporabnikov Linuxa je na naslovu

      <http://domen.uninett.no:29659/bycountry/SI.html>


 Ce vas ni med njimi, se prijavite!

      <http://domen.uninett.no:29659/>





 88..11..  SSkkuuppiinnaa uuppoorraabbnniikkoovv LLiinnuuxxaa

 Od marca 1996 dalje deluje v Ljubljani organizirana skupina
 uporabnikov Linuxa v Sloveniji, drustvo LUGOS (Linux Users Group of
 Slovenia). Drustvo ima svojo stran na WWW:

      <http://www.lugos.si/>


 Drustvo ima tudi svoj elektronski spisek, na katerega se prijavite
 tako, da na naslov [email protected] posljete vrstico

      subscribe lugos-list


 v telesu sporocila.


 88..22..  SSttrreezznniikkii FFTTPP

 Vzdrzevan seznam aktivnih arhivov v Sloveniji najdete na straneh
 streznika LUGOS,

      <http://www.lugos.si/arhiv/>


 Od marca 1997 dalje imamo v Sloveniji svoj Sun SITE, ki je usklajen z
 drugimi strezniki Sun SITE po svetu (Sun SITE na Univerzi Severne
 Karoline, ZDA, je eden glavnih centrov za Linux).

      <ftp://sunsite.fri.uni-lj.si/pub/linux/>


 Na strezniku ARNES se avtomaticno zrcalita distribucija Debian in
 programje iz projekta GNU,

      <ftp://ftp.arnes.si/software/unix/linux/debian/>
      <ftp://ftp.arnes.si/software/gnu/>


 Streznik z zelo veliko izbiro programja za Linux je tudi na Gimnaziji
 v Murski Soboti,

      <ftp://mercur.s-gms.ms.edus.si/pub/UNIX/linux/>


 Studentski informacijski center je s pomocjo Zavoda za odprto druzbo
 uredil streznik FTP v Narodnem domu v Mariboru:

      <ftp://ftp.kibla.org/pub/Linux/>


 Distribucija Slackware se zrcali tudi na strezniku Fakultete za
 racunalnistvo in informatiko Univerze v Ljubljani,

      <ftp://ftp.fri.uni-lj.si/pub/linux/>


 Wowen Goods for Linux se zrcalijo na strezniku Laboratorija za
 robotiko na Fakulteti za elektrotehniko, Univerza v Ljubljani:

      <http://robo.fe.uni-lj.si/woven/>


 Linux Documentation Project ter distribucija Debian se zrcalita na
 strezniku Centra za uporabno matematiko in teorijsko fiziko, Univerza
 v Mariboru:

      <http://www.camtp.uni-mb.si/linux/LDP/>
      <ftp://ftp.camtp.uni-mb.si/pub/linux/debian/>



 88..33..  UUsseenneett

 Linux nima svoje diskusijske skupine, ampak je vsa razprava o sistemih
 Unix zbrana v skupini si.comp.os.unix (kjer pa razprava o Linuxu res
 predstavlja znaten del prometa). Svojo skupino pa ima drustvo LUGOS:
 si.org.lugos.


 88..44..  ZZaassttooppnniikkii zzaa LLiinnuuxx

 Agenda d.o.o., Lavriceva 3, Maribor (tel. 062/2297740), je uradni
 zastopnik podjetij Caldera, RedHat in SuSE v Sloveniji.

 CD-ROM z distribucijami Linuxa se da navadno dobiti pri vseh bolje
 zalozenih trgovcih s tovrstno robo, npr. Infobia (tel.  061/614548)
 ali Mantis (tel. 061/1685473).


 99..  OO tteemm ssppiissuu

 Najnovejsa izdaja tega spisa je razen na uradnem mestu Linux
 Documentation Project dostopen tudi pri avtorju ter na domaci strani
 Slovenskega drustva uporabnikov Linuxa:

      <http://sizif.mf.uni-lj.si/linux/cee/Slovenian-HOWTO.html>
      <http://www.lugos.si/delo/slo/HOWTO-sl/Slovenian-HOWTO.html>


 Vse pripombe na ta spis so dobrodosle na naslov
 <[email protected]>, splosna vprasanja o Linuxu in
 poslovenjenju programov pa sodijo na dopisno listo [email protected]
 ali v si.comp.os.unix.


 99..11..  OOppoommbbee kk ddrruuggii iizzddaajjii

 Druga izdaja je priblizno dvainpolkrat daljsa od prve, ki je izsla
 konec leta 1996. Izkazalo se je, da bi bil koristen kratek seznam
 stvari, ki jim moramo opraviti, ce zelimo usposobiti nase znake na
 konzoli ali v okolju X Window System, zato sem ga dodal na zacetek.
 Dodan je opis uporabe vektorskih pisav Type 1 in TrueType. Nastavitev
 _l_o_c_a_l_e predstavlja standarden nacin prilagoditve programov, zato je
 temu razdelku namenjena vecja pozornost. V celoti so novi opisi
 prilagoditev urejevalnika LyX ter pisarniskih paketov WordPerfect,
 Star Office in Applixware. Dodan je opis prilagoditve nove izdaje
 urejevalnika Emacs. Razdelek o tiskalnikih je razsirjen z domiselno
 alternativno razlicico tiskalniskega filtra; dodatno sta omenjena
 ogonkify in a2ps. Posodobljen je seveda tudi razdelek o Linuxu v
 Sloveniji. In morda se kaj, kar sem pozabil.

 Ce je prva izdaja predstavljala nekaksne zbrane in urejene zapiske o
 problemih, s katerimi sem se sam sreceval, se zdaj nekoliko bolje
 zavedam tudi potreb drugih. Zato sem v to dodal tudi opis prilagoditev
 programov in programskih paketov, ki jih sam ne uporabljam, npr. Star
 Office, Applixware ali Word Perfect. Opisanih resitev nisem
 preizkusal; zaupam pac izkusnjam izvornih piscev. Te sem povsod tudi
 navedel in lahko stopite v stik z njimi.


 99..22..  ZZaahhvvaallaa

 Ce bralka ali bralec nista tega ze sama uganila, je cas, da priznam
 sam: noben strokovnjak za Linux nisem. Nekaj o lokalizaciji Linuxa sem
 se naucil iz spisov ``German HOWTO'' Winnfrieda Truemperja ter
 ``Danish/International HOWTO'' Thomasa Petersena, nekaj o
 internacionalizaciji kar tako iz spisov Michaela Gschwinda. Nadvse
 koristni so bila tudi ``Czech HOWTO'' skupine avtorjev, Polska strona
 ogonkowa, ter Slovenscina in racunalniki Alesa Kosirja. Prvi spis je
 spisala skupina avtorjev, obcasno ga objavijo v cz.comp.linux,
 zrcaljen je pa tudi na nekaj mestih na Ceskem in Slovaskem; drugo
 najdete na http://www.agh.edu.pl/ogonki/; stran vzdrzuje Jaroslaw
 Strzalkowski. ``Slovenscino in racunalnike'' najdete na
 http://nl.ijs.si/gnusl/tex/tslovene/slolang/.

 Z namigi in nasveti so mi pomagali se (v abecednem vrstnem redu):
 Gorazd Bozic <[email protected]>, Ales Casar <[email protected]>,
 Tomaz Erjavec <[email protected]>, Matjaz Godec <[email protected]>,
 Ales Kosir <[email protected]>, Metod Kozelj <metod.kozelj@rzs-
 hm.si>, Renato Lukac <[email protected]>, Roman Maurer
 <[email protected]>, Jaka Mele <[email protected]>, Borut Mrak
 <[email protected]>, Boris Pozar <[email protected]>, Marko
 Samastur <[email protected]>, Robert Susic
 <[email protected]>, Alen Salamun <[email protected]>, Matjaz
 Terpin <[email protected]>, in Leon Zlajpah
 <[email protected]> Vsem hvala. Vsem po nemarnosti izpuscenim se
 opravicujem; poskusil bom popraviti do naslednje izdaje.


 99..33..  VVpprraassaannjjaa

 99..33..11..  SSee pprraavvii SSlloovveenniiaann aallii SSlloovveennee??

 Mnenja so deljena. Pisec teh vrstic se je pozanimal pri strokovnjakih
 s tega podrocja, ki so ga le potrdili v tem, da so mnenja rreess deljena.
 Slovnicno je pravilno eno ali drugo, odlocitev za eno ali drugo
 varianto je zaenkrat bolj domena jezikovne estetike. Iz zgodovinskih
 razlogov ta spis uporablja Slovenian, in tako bo do nadaljnjega tudi
 ostalo.


 99..33..22..  NNaassii zznnaakkii vv tteemm ssppiissuu

 Cel spis govori o tem, kako pridemo do nasih znakov, sam jih pa nima.
 Kako to?

 Kovaceva kobila... Sistem SGML-Tools (nekdaj Linuxdoc-SGML), ki je
 uradni standard za dokumentacijo HOWTO, zaenkrat podpira samo Latin 1.
 Cees de Groot, vzdrzevalec paketa SGML-Tools, kot tudi Tim Bynum,
 urednik zbirke HOWTO, se tezave zavedata. Pisec teh vrstic v upanju na
 boljse case pise v Latin-2; preden poslje material uredniku, pa poreze
 kljukice nad sumevci. Za domaco rabo pa lahko malo pogoljufamo in
 paketu sgmltools lazemo, da so osembitni znaki kodirani po Latin 1:
 pri pretvorbi v navadno besedilo je tako ali tako vseeno, pri
 pretvorbi v HTML moramo dodati vrstico <META> z definicijo
 uporabljenega nabora znakov, pri pretvorbi v LaTeX pa morebiti se malo
 telovaditi s sed.


 99..44..  UUppoorraabbaa iinn rraazzssiirrjjaannjjee

 Copyright (c) 1996,1999 Primoz Peterlin
 <[email protected]>. Ta spis lahko razsirjate pod
 pogoji, navedenimi v licenci LDP, dosegljivi na naslovu
 http://metalab.unc.edu/LDP/COPYRIGHT.html. Spisa ni dovoljeno
 razsirjati v spremenjeni obliki brez privolitve avtorja.
 Informacije v tem spisu so podane v veri, da so tocne in koristne,
 vendar pa brez kakrsnegakoli jamstva, izrecnega ali impliciranega,
 vkljucno, a brez omejitve na implicirano jamstvo za primernost za
 trzenje ali uporabo. Uporabljate jih lahko izkljucno na lastno
 odgovornost. Avtor ne odgovarja za kakrsnekoli skodo, posredno ali
 neposredno, nastalo kot posledico uporabe informacij v tem spisu.


 99..55..  NNoottee ttoo EEnngglliisshh rreeaaddeerrss

 Copyright (c) 1996,1999 by Primoz Peterlin
 <[email protected]>. This document may be
 distributed under the terms set forth in the LDP license at
 http://metalab.unc.edu/LDP/COPYRIGHT.html. This document may not be
 distributed in modified form without consent of the author.

 The information in this document is provided in belief of being
 accurate and useful, however without any warranty, expressed or
 implied, including, but not limited to, the implied warranties of
 merchantability or fitness for a particular purpose. The entire risk
 of using the information goes with the user. The author can not be
 liable for any possible damage, direct or indirect, arising from the
 use of information provided in this document.