Slovenian HOWTO Primoľ Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si> v2.15, 12 July 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 Naąi znaki na konzoli 2.2 Naąi znaki v okolju X Window System 3. Prikaz naąih znakov na zaslonu 3.1 Nabor znakov ``ISO Latin 2'' 3.2 Konzola 3.2.1 Starejąe izdaje 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 sporočil 6. Poslovenjenje različnih 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 Pisarniąki 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 GNU emacs 20 6.4.1.2 Starejąe izdaje programa GNU emacs 6.4.2 crisp 6.4.3 vi 6.5 Elektronska poąta 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 Amaya 6.6.4 Spletni streľniki 6.6.4.1 Načela 6.6.4.2 Praktični oziri 6.6.4.3 Podrobnosti izvedbe 6.6.4.4 Določitev nove pripone za statične spise 6.6.4.5 Dinamično prekodiranje 6.6.4.6 Metainformacija za spletni streľnik W3C 6.6.4.7 Datoteke ASIS za streľnik Apache 6.6.4.8 Značka <META> z označbo HTTP-EQUIV 6.7 Delo na oddaljenem računalniku 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 Črkovanje: ispell 6.12 Pretvarjanje med različnimi 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 naąimi znaki 7.3 Tiskalniki, ki podpirajo kak drug nabor z naąimi 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 Streľniki FTP 8.3 Usenet 8.4 Zastopniki za Linux 9. O tem spisu 9.1 Opombe k drugi izdaji 9.2 Zahvala 9.3 Vpraąanja 9.3.1 Se pravi Slovenian ali Slovene? 9.3.2 Naąi znaki v tem spisu 9.4 Uporaba in raząirjanje 9.5 Note to English readers ______________________________________________________________________ 1. Uvod 1.1. Kaj je Linux? Linux je izvedba večopravilnega, večuporabniąkega operacijskega sistema Unix za osebne računalnike 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 pomoči in sodelovanju ątevilnih 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 različicam sistema Unix. Linux je prost program, dostopen skupaj z izvorno kodo. Najnovejąe različice programja za Linux je moč najti na: <ftp://metalab.unc.edu/pub/Linux/> <ftp://tsx-11.mit.edu/pub/linux/> Obe mesti sta navadno teľko dostopni in zelo zasedeni, zato uporabimo eno od ątevilnih mest, kjer se zrcali vsebina zgornjih dveh; pametno je, da začnemo na katerem od domačih zrcal; naąteta so v poglavju ``Linux v Sloveniji''. 1.2. Dogovor o zapisu V tem spisu so zgledi zamaknjeni od roba in izpisani v pisavi fiksne ąirine, npr. echo "Pozdravljeni" Psevdoimena v zgledih so izpisana s leľečo različico iste pisave, npr. ls datoteka Tu se od bralca ali bralke pričakuje, da bo psevdoime datoteka nado mestil(-a) z dejanskim imenom datoteke. Z znakom ~ se po ustaljenem običaju na sistemih Unix označuje osnovno področje uporabnika (za uporabnika z imenom uporabnik je to navadno /home/uporabnik). Nanj kaľe 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 SPREMENLJIVKA=vrednost; export SPREMENLJIVKA (ali celo export SPREMENLJIVKA=vrednost, kar dopuąča bash) v analogne setenv SPREMENLJIVKA vrednost 2. Za nestrpne To poglavje ponuja nekakąna ``Izbrana poglavja iz slovenskega HOWTO'' za tiste, ki se jim zdajle mudi, da bi lahko bodisi v znakovnem, bodisi v grafičnem načinu, takoj začeli tipkati z naąimi znaki, k branju celotnega spisa pa bi se vrnili kdaj kasneje in v miru. Omenim naj edino ąe to, da sta prilagoditev konzole in prilagoditev okolja X Window System povsem neodvisna. 2.1. Naąi znaki na konzoli Trije koraki so potrebni, da znakovni terminal (ki se mu iz razlogov, po starosti daleč presegajočih povprečnega uporabnika Linuxa, včasih pravi tudi konzola) prilagodimo za delo z naąimi znaki: 1. Omogočiti moramo prikaz naąih znakov v znakovnem načinu. Opisano v razdelku ``Konzola'' poglavja ``Prikaz naąih 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'', če uporabljate to ukazno lupino). 2.2. Naąi znaki v okolju X Window System Z okoljem X Window System je podobno kot s konzolo, le pot je malenkost daljąa. 1. Namestiti moramo naąe znake in pripraviti grafično okolje X Window System do tega, da jih bodo uporabljali. Opisano v razdelku ``X Window System'' poglavja ``Prikaz naąih znakov na zaslonu''. 2. Nastaviti moramo preslikavo tipkovnice. Opisano v razdelku ``X Window System'' poglavja ``Tipkovnica''. 3. Nastaviti moramo terminalski emulator, da bo prikazoval naąe 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'', če uporabljate to ukazno lupino). 3. Prikaz naąih znakov na zaslonu 3.1. Nabor znakov ``ISO Latin 2'' ISO 8859-2 oz. ISO Latin 2 je član druľine osembitnih naborov znakov ISO 8859, ki pokriva potrebe alfabetskih pisav (latinica in cirilica ter arabska, hebrejska in grąka pisava; v pripravi sta tudi armenska in gruzinska). Druľino je zasnovalo evropsko zdruľenje proizvajalcev računalnikov (European Computer Manufacturer's Association, ECMA), kot mednarodni standard pa potrdila organizacija za standardizacijo ISO s sedeľem v ®enevi. Nabor ISO Latin 2 vsebuje vse potrebne znake za pisanje v albanąčini, angleąčini, boąnjaąčini, čeąčini, finąčini, hrvaąčini, irąčini, luľiąki srbąčini, madľarąčini, nemąčini, poljąčini, romunąčini, slovaąčini, slovenąčini, ter srbąčini v latiničnem prečrkovanju. 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 nezdruľljive tako med seboj, kot tudi s standardom ISO. 3.2. Konzola Nabor znakov za sistemsko konzolo najdemo v paketu kbd Andriesa Brouwerja z univerze v Eindhovnu, Nizozemska. Paket je del vseh distribucij Linuxa in se avtomatično naloľi ob namestitvi sistema. Pisave in pretvorne tabele so zloľene v imeniku /usr/lib/kbd. (Avanturisti se lahko namesto s paketom kbd igrajo s prototipnimi Linux Console Tools avtorja Yanna Dirsona. Izdaji LCT 0.2.0 ter kbd 0.99 naj bi bili usklajeni.) Ko imamo paket enkrat nameąčen, izberemo drugo pisavo na zaslonu z ukazom consolechars. Spodnji zgled izbere pisavo z naborom znakov po standardu ISO Latin 2 v velikosti ąestnajst pik: consolechars --font=lat2u-16 --sfm=lat2u.sfm --acm=iso02.acm Zaradi zdruľljivosti s prejąnjimi izdajami paketa kbd ąe vedno deluje tudi ukaz setfont: setfont lat2u-16 Izbrana pisava velja v vseh virtualnih terminalih (glej console(4)) na konzoli. Če nam to ni vąeč, ampak bi radi imeli v vsakem virtualnem terminalu svojo pisavo, si lahko pomagamo s programom vtfontd Iana Zimmermana. Ta vsakič, 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 ąele nekako tretjino vsega dela, potrebnega, da bi lahko v tekstovnem okolju pisali po slovensko. Izvesti moramo vsaj ąe preslikavo tipkovnice ter omogočiti 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. 3.2.1. Starejąe izdaje Starejąe izdaje jedra (2.0 in starejąe) so imele podporo za Unicode izvedeno drugače, in v njih bomo tako ukaz consolechars(8) kot tudi pisavo lat2u-16 zaman iskali. Namesto nje uporabimo ukaz setfont in pisavo lat2-16: setfont lat2-16 Za nas zanimive pisave so ąe 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 izpuąčamo). Opomba: v starejąih distribucijah Slackware se je prevedeni paket imenoval keytbls. Namestimo ga enako kot druge pakete, z ukazom pkgtool ali installpkg. 3.3. X Window System Kratka navodila za namestitev pisav z naąimi znaki za uporabo z X Window System in streľnikom XFree86. 1. Pisave snamemo z najbliľjega streľnika FTP: <ftp://ftp.arnes.si/software/unix/Latin-2-fonts/> Datoteka ISO8859-2-bdf.tar.gz vsebuje najpopolnejąi nabor pisav, kodi ranih po ISO 8859-2, večino uporabnih pisav pa vsebuje tudi xfonts- iso2-0.84.tar.gz. Po običajnem postopku (tar -xzf ...) jih dekomprimi ramo in razpakiramo. 2. Pisavam z naąimi znaki določimo mesto v drevesni strukturi imenikov. Običajno je to podimenik v imeniku /usr/X11R6/lib/X11/fonts/ (včasih tudi /usr/lib/X11/fonts/, /usr/lib/X11R6/lib/X11/fonts ali celo /usr/X386/lib/X11/fonts/ kar pa naj nas ne moti). Moľen 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/ Če imenikov s tem imenom ąe ni, jih ustvarimo. 3. Streľnik 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). Starejąe izdaje X Window System so namesto slednjega uporabljale format SNF (Server Native Format), ki pa se danes ne uporablja več. ___________________________________________________________________ for FILE in *.bdf do bdftopcf $FILE -o `basename $FILE .bdf`.pcf done ___________________________________________________________________ (da, ukazi v bash lahko segajo tudi prek večih vrstic). Pisav v obliki BDF zdaj ne potrebujemo več in jih lahko pobriąemo. 4. Streľnik X zna uporabiti stisnjene datoteke s pisavami, kar lahko izkoristimo in prihranimo ąe nekaj prostora na disku. gzip *.pcf Starejąe izdaje streľnika X podpirajo le stiskanje s compress. 5. V vsakem imeniku s pisavami pričakuje streľnik 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. Končno lahko streľnik 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 Če je ąlo vse gladko, mora ukaz xlsfonts -fn "*-iso8859-2" pokazati seznam vseh novo nameąčenih pisav. 7. Ukaz xset velja samo, dokler ne zapustimo X Window System. Trajno spremembo doseľemo s popravkom konfiguracijske datoteke. Streľnik XFree86 hrani svoje nastavitve v datoteki /etc/XF86Config (pisec teh vrstic je v nekaj letih ukvarjanja z XFree86 na različnih distribucijah nastavitve videl tudi ľe v datotekah /etc/X11/XF86Config, /usr/X11R6/lib/X11/XF86config in /usr/X11/lib/X11/Xconfig). Poiąčemo 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 naąe znake. Več o tem, kako program, npr. xterm, pripravimo do tega, da zahteva naąe znake, si preberemo v razdelku ``xterm'' poglavja o terminalskih emulatorjih. 3.4. PostScript pod X11 Streľnik 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 lepąe, pri večjih velikostih, npr. v grafičnih programih, pa so vektorske pisave znatno lepąe. Nekaj vektorskih pisav Type 1 v kodnem razporedu ISO Latin 2 je pripravil Péter Soós. Pri nameąčanju v celoti sledimo postopku, opisanem v razdelku ``X Window System'' poglavja ``Prikaz naąih znakov na zaslonu''. S streľnika snamemo datoteko v obliki zip: <ftp://ftp.arnes.si/software/unix/Latin-2-fonts/l2pfb005.zip> ©e več pisav je zbrala čeąka 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 ľe 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 poľenimo xfontsel. Novo nameąčene pisave najdemo najhitreje, če jih iąčemo po ``črkolivnici'' (angl. type foundry) sp (po avtorjevih začetnicah) v prvem stolpcu (fndry). Izberite kakąno veliko povečavo (pxlsz) in primerjajte z rastrskimi pisavami! 3.5. TrueType pod X11 Rasterizator za pisave TrueType ąe ni standardni del paketa X Window System. Fantje iz The XFree86 Project, Inc. načrtujejo vključitev podpore zanje v izdaji XFree86 4.0. 3.5.1. Freetype in xfsft Mark Leisher in Juliusz Chroboczek sta standardni streľnik 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. Streľnik je na voljo kot izvorna koda, s katero lahko pokrpate izvorno kodo streľnika X, ali pa kot ľe preveden program za Linux. <http://www.freetype.org/> <http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/> Predpostavili bomo, da ste na kakrąenkoli način ľe uspeli priti do izvedljive datoteke xfsft. 1. Ustvarimo imenik za pisave TrueType, npr. /usr/X11R6/lib/X11/fonts/TrueType/ in vanj prepiąemo datoteke s pisavami TrueType. 2. V omenjenem imeniku ustvarimo datoteko fonts.scale. Preprost primer takąne 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 nanaąa na eno in isto datoteko. Razlikujejo se le po kodnem naboru. Ker datoteka vsebuje vse potrebne znake, jo streľnik pisav aplikacijam lahko predstavi kot katerokoli od naątetih petih kodnih naborov. Joerg Pomnitz je napisal programček ttmkfdir, ki avtomatično pregleda vse datoteke TrueType in ustvari datoteko fonts.scale. <http://www.darmstadt.gmd.de/~pommnitz/xfsft.html> 3. V istem imeniku zatem poľenemo ąe mkfontdir. Ta ne bo napravil nič drugega, kot obstoječo datoteko fonts.scale nespremenjeno prepisal v datoteko z imenom fonts.dir. 4. S streľnikom pisav xfsft bodisi prepiąemo obstoječi streľnik (navadno /usr/X11R6/bin/xfs, ali pa ga premaknemo na kakąno drugo primerno mesto. 5. Streľnik pisav potrebuje konfiguracijsko datoteko. Spodnja naj sluľi za zgled, če nimate boljąe: ___________________________________________________________________ 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 poľenemo streľnik pisav X. Pri zgledu smo uporabili vrata 7100. Če so na vaąem sistemu ľe zasedena, izberite druga. Za podrob nosti si oglejte priročnik xfs(1). xfsft -port 7100 -config /usr/X11R6/lib/X11/fs/config & 6. Ne da bi spreminjali pot, v kateri iąčemo pisave, lahko preverimo, če streľnik deluje: fslsfonts -server localhost:7100 7. Če smo zadovoljni, dodamo streľnik pisav med vire, kjer iąčemo pisave, npr. xset fp+ tcp/localhost:7100 Streľnik pisav lahko seveda teče tudi na drugem računalniku, tako da ni potrebe, da imamo na vseh računalnikih v lokalni mreľi nameąčene vse pisave. Dokončno dodamo streľnik pisav v konfiguracijsko datoteko /etc/XF86Config: FontPath "tcp/localhost:7100" 3.5.2. Xfstt Drugi streľnik pisav za X11, ki podpira pisave TrueType, je Xfstt. Pisec teh vrstic z njim nima izkuąenj, je pa z veseljem pripravljen na to mesto vključiti izkuąnje drugih. Xfstt najdete na navedenem mestu in vseh zrcalih le-tega. <ftp://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz> 4. Tipkovnica 4.1. Konzola 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 več. Paket je del vseh običajnih distribucij in se naloľi avtomatično ob namestitvi sistema. V starejąih 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 kakrąnihkoli razlogov uporabljajo drugačno tipkovnico, si lahko na osnovi zgledov v /usr/lib/kbd/ pripravijo svojo. Marko Maček je ľe pripravil tabelo preslikav za ameriąko 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 takąen: ______________________________________________________________________ # Izberemo pisavo z naborom ISO Latin 2 v velikosti 16 pik setfont lat2-16 # Naloľimo 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. Če ľelimo, da je takąna nastavitev trajna, dodamo zgornjih ąest vrstic v nastavitveno datoteko /etc/rc.d/rc.local, ki se izvede ob zagonu operacijskega sistema. Če ob tem omogočimo ąe vnos osembitnih znakov v ukazni lupini ``bash'', je to najnujnejąe, kar je potrebno za pisanje po slovensko v tekstovnem načinu. 4.2. X Windows System V X Windows System lahko spreminjamo razpored tipk na tipkovnici z ukazom xmodmap. Tabelo preslikav za običajno 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 ameriąko tip kovnico navadno najdemo kot /usr/X11R6/lib/X11/etc/xmodmap.std. Če je ne, si jo lahko pripravimo sami: preden naloľimo slovensko preslikavo tipkovnice, poľenemo: xmodmap -pke > Xmodmap.us To potem naloľimo enako kot slovensko tabelo. Če ľelimo 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 avtomatično naloľi ob vsakem zagonu X Window System. Če se ne naloľ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 omogočiti vnos osembitnih znakov (poglavje ``Ukazne lupine''). 4.2.1. Xks Čeąko podjetje Informatica s.r.o. se je problema preslikave tipkovnice lotilo drugače. Njihov produkt Xks je streľnik, ki se vgnezdi med streľnik X in namenske programe ter prestreľe vse dogodke KeyPress ter jih po potrebi modificira. Ta reąitev deluje tudi pri slabo napisanih programih, pri katerih preslikava z xmodmap ne deluje, obljublja pa tudi reąitev 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 pokuąino (shareware); registracija izvedbe za Linux stane 900 čeąkih kron (okrog 4500 tolarjev). Pisec teh vrstic se zaenkrat ąe ni utegnil ukvarjati s njim, bi pa z veseljem vključil na to mesto izkuąnje drugih. 5. Slovenski locale Z izrazom locale označujemo skupek lastnosti programskega okolja, odvisnih od jezikovnega in kulturnega okolja uporabnika. Mednje sodi informacija o tem, kateri znaki so črke in kakąen je njihov vrstni red, način izpisa datuma in ure, izbiro ločila v zapisu decimalnih ątevil (vejica oz. pika), zapis valute in sporočila programov uporabniku. Programski vmesnik za internacionalizacijo in lokalizacijo na sistemih, zdruľljivih s standardi POSIX, je definiran v standardu ISO/IEC 9899 (Programski jezik ISO C) ter IEEE 1003.2 (POSIX.2). Informacije, pomembne za lokalizacijo, razvrąča v ąest kategorij: · LC_CTYPE (znaki, ki predstavljajo abecedo) · LC_COLLATE (vrstni red znakov v abecedi) · LC_TIME (izpis datuma in ure) · LC_NUMERIC (izpis ątevilčnih vrednosti) · LC_MONETARY (izpis valute) · LC_MESSAGES (komunikacije z uporabnikom) LC_ALL zajema vseh naątetih ąest kategorij. Medtem ko projekt GNU pri izvedbi prvih petih kategorijah zvesto sledi standardu, se je v ąesti odločil za njegovo raząiritev. Standardizacijski komite se namreč ni mogel zediniti okrog izvedbe ravnanja s prevodi sporočil, zato je standard v tej točki praktično neuporaben: določa le prevode za ``da'' in ``ne''. Projekt GNU je zato razvil svojo metodo, to je paket GNU gettext. Prevedeni katalogi sporočil, 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 ąe v teku -- knjiľnica GNU libc 2.0 in kasnejąe izpeljanke sicer ľe ponujajo okvir za lokalizacijo, izvedba pa zaenkrat ąe zaostaja, zato koncepta zaenkrat ąe 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. Če ľelimo obdrľati angleąke izpise, obliko datuma, decimalno piko ipd., ľeleli pa bi, da gre urejanje črk po slovenski abecedi, spremenimo samo LC_COLLATE: ~> sort abc.tex abc abca abd abč ~> LANG=C LC_COLLATE=sl_SI.iso88592 sort abc.tex abc abca abč abd Seveda LC_COLLATE ne reąi vseh problemov v zvezi z urejanjem. Pri razvrąčanju kastiljskih kraljev bi, recimo, ľeleli, da pride Alfonz IX. za Alfonzem VIII. in pred Alfonzem X. Kar pa je verjetno ľe prob lem za umetno inteligenco... Spremenljivka LANG ima v sploąnem obliko: LANG=jezik[_drľava[.nabor]] Pri tem je jezik dvočrkovna koda jezika, kot jo določa standard ISO 639, drľava pa dvočrkovna koda drľave, določena s standardom ISO 3166. Zgled za slovenąčino, kot se govori v Sloveniji in piąe s kodnim naborom ISO 8859-2, je torej LANG=sl_SI.iso88592 Določitev drľave in nabora znakov je neobvezna (pomembna je seveda pri jezikih, ki se govorijo v več drľavah; kakąen locale uporabljajo Slovenci v zamejstvu, je piscu teh vrstic neznano), tako lahko piąemo na kratko LANG=sl 5.1. Programiranje z GNU gettext Paket GNU gettext ponuja nekaj orodij za lokalizacijo: · xgettext, ki iz izvorne kode izluąči sporočila · msgcmp, ki primerja dva kataloga sporočil · msgmerge, zdruľi star preveden katalog sporočil z novim, neprevedenim · msgfmt, ki prenosen katalog sporočil prevede v binarno obliko · msgunfmt, obratno od msgfmt S kratkim zgledom ilustrirajmo, kako poteka pisanje lokaliziranega programa s paketom GNU gettext. 1. Najprej napiąemo program zgled.c. Pri pisanju programa ľe vključimo 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 izluąčimo izpise na zaslon: xgettext zgled.c S tem smo ustvarili datoteko messages.po. To je običajna besedilna datoteka, ki vsebuje skelet prevodov sporočil. 3. Datoteko messages.po z urejevalnikom dopolnimo s prevodi, recimo takole: ___________________________________________________________________ # Slovenski prevod zgleda # Primoľ Peterlin, <primoz.peterlin@biofiz.mf.uni-lj.si> # 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 <peterlin@biofiz.mf.uni-lj.si>\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: Primoľ Peterlin" ___________________________________________________________________ 4. Popravljeno prenosljivo datoteko s sporočili (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 naąel: mv zgled.mo /usr/local/share/locale/sl/LC_MESSAGES 6. Program prevedemo in poveľemo s knjiľnico libintl.a: gcc -o zgled zgled.c -lintl 7. Pa poskusimo, kakąna 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 sporočilo angleąko, 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 sporočil -- to namreč obstaja za locale ``sl''. V predzadnjem zgledu smo uporabili pravi locale, a irelevantno kategorijo LC_CTYPE namesto uporabljene LC_MESSAGES. ©e dve opombi: imenik, kamor prestavimo katalog sporočil, se mora ujemati z imenikom LOCALEDIR, navedenim v izvorni kodi. Teľavo, da GNU gettext razume ``sl'' in ``sl_SI.iso88592'' kot različna locala, je pisec teh vrstic reąil z simbolno povezavo v imeniku /usr/local/share/locale: ln -s sl sl_SI.iso88592 5.2. Poslovenjenje katalogov sporočil V teku je internacionalizacija projekta GNU (programi iz projekta GNU predstavljajo znaten del celotnega sistema Linux in večino tistega, s čimer se sooča končni uporabnik). Trenutno so v slovenąčino ľe prevedena sporočila 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 sporočila namesto angleąkih. Razprava o poslovenjenju projekta GNU poteka med prejemniki elektronskega spiska <sl@li.org>, nanj se lahko naročite tako, da na naslov sl-request@li.org poąljete vrstico subscribe v telesu sporočila. Pomoč prostovoljcev, ki bi prevedli preostale pakete, ali pa se samo zavezali za vzdrľevanje ľe prevedenih, je nadvse zaľelena. Vabljeni! 6. Poslovenjenje različnih programov Na tem mestu bi se v idealnem svetu opis poslovenjenja Linuxa lahko končal. Povedali smo vse potrebno o vnosu in izpisu naąih znakov, ter kako z definiranjem spremenljivk okolja programom dopovemo, da delamo s slovenskimi besedili. To poglavje je takorekoč v celoti posvečeno izjemam -- programom, ki iz takąnih ali drugačnih razlogov ne uporabljajo lokalizacijskih spremenljivk, alternativnim metodam za vnos ali izpis znakov, ki v izjemnih primerih (npr. če nimamo tipkovnice s slovenskimi znaki) lahko vseeno pridejo prav, in podobnemu. 6.1. Ukazne lupine 6.1.1. bash 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 slovenąčino, ko ste ľe pri poslu, si lahko ľivljenje olająate ąe s tem, da tipkam Home, Delete in End vrnete njihov običajni pomen: v isto datoteko (~/.inputrc) dodate ąe vrstice "\e[1~": beginning-of-line "\e[3~": delete-char "\e[4~": end-of-line 6.1.2. tcsh Vnos osembitnih znakov omogočimo, če v nastavitveno datoteko (/etc/csh.login za skupne nastavitve oz. ~/.tcshrc ali ~/.cshrc za osebne nastavitve) dopiąemo vrstico: setenv LC_CTYPE sl_SI.iso88592 Med nami: kaľe, da je ukazni lupini tcsh povsem vseeno, na kaj nastavite spremenljivko LC_CTYPE, samo da ni nedefinirana. Pazite: 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''. Če se pri vas ne izpiąe, vam verjetno ne preostane drugega, kot da snamete izvorno kodo in jo prevedete. 6.2. Terminalski emulatorji 6.2.1. xterm V datoteki ~/.Xresources (osebna nastavitev) ali pa v datoteki /usr/lib/X11/app-defaults/XTerm (skupna nastavitev) določimo pisave, ki jih uporablja XTerm. Izberemo pisavo, ki ima vse znake enako ąiroke, 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 izpiąemo z ukazom xlsfonts (glej ąe razdelek ``X Window System'' poglavja ``Prikaz naąih znakov na zaslonu''): xlsfonts -fn '*-fixed-*-iso8859-2' 6.2.2. rxvt Po podatkih v čeąkem HOWTO rxvt zaenkrat (razvojna izdaja 2.4.6) ne deluje z naąimi znaki brez posegov v izvorno kodo. Potrebne posege najdete v ``Czech HOWTO'' (ki ni del arhiva LDP; glejte razdelek ``Zahvala'', kje ga najdete). 6.3. Pisarniąki paketi 6.3.1. WordPerfect (Jaka Mele, Vse naredim pod Linuxom!, Win.Ini, l.6, ąt.9, str.60) WordPerfect ima vse potrebne znake ľe v svoji tabeli. Vse, kar moramo napraviti, je da za naąe črke definiramo makroukaze. Recimo, da bi radi definirali črko © (velika črka S s streąico). Pričnemo s snemanjem makroukaza (recimo mu Scaron), skočimo v tabelo znakov, v njej izberemo črko ©, zaključimo makro in nazadnje pri nastavitvah poveľemo makro z izbrano tipko. (Jaka Mele, Message-id: <Pine.LNX.4.05.9812241251460.15368-101000@ro.zrsss.si> ---------- Forwarded message ---------- Date: Thu, 24 Dec 1998 11:04:33 +0000 From: "[ALAMUN ALEN" <alen.salamun@uni-mb.si> To: jaka.mele@lugos.si 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: <19981224182341.A3794@perun.mist.si>) 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. 6.3.2. Star Office (Jaka Mele, Vse naredim pod Linuxom!, Win.Ini, l.6, ąt.9, str.60) StarOffice je malce teľavnejąi, zato, ker rabi dodatne Type1 fonte, pa vendarle povejmo recept ąe zanj. Kot prvo si torej moramo dobiti slovenske oziroma latin2 pisave (pfb, afm, fonts.dir in fonts.scale) iz recimo ftp streľnika druątva 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 streľnik. To naredimo tako, da v datoteko /etc/X11/XF86Config dopiąemo: FontPath "/usr/X11R6/lib/X11/fonts/Type1.Latin2/" Za tem poľenemo xset fp+ /usr/X11R6/lib/X11/fonts/Type1.Latin2/ ter ąe 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 ąe za direktorij /usr/local/StarOffice3-1/x3p/pssoftfonts/, le da sem poveľemo .pfb datoteke. Skoraj smo ľe na koncu, v datoteko /usr/local/StarOffice-3.1/xp3/psstd.fonts dodamo po vzoru ľe dodanih pisav v datoteki fonts.dir iz Latin2 področja, 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 ąe tipkovnico in sicer s programom xmodmap, tako da izvrąimo xmodmap xmodmap.si. Če imate starejąi Xwindow sistem, si boste morda morali xmodmap.si ąe popraviti, da vam bosta tipki Backspace in Delete delali normalno, sicer pa samo poľenete swriter3 in uľivate v dodatnih slovenskih pisavah. 6.3.3. Applixware (Boris Poľar, Message-Id: <346044BF.FE97E3AF@guest.arnes.si>) Z Lugosovega streľnika snamemo pisave TrueType v kodnem naboru ISO 8859-2. Potem jih kot root s FontManagerjem dodamo v katalog pisav in zadeva je reąena. <ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/l2ttf004.zip> 6.4. Urejevalniki 6.4.1. GNU emacs Emacs je, tako kot njegov avtor, kontroverzni Richard M. Stallman, urejevalnik, glede katerega ljudje niso indiferentni: ali ga oboľujejo, ali pa sovraľijo. Emacs je več kot urejevalnik; je takorekoč način ľivljenja. V njem lahko piąete programe, iz njega poganjate prevajalnik, piąete besedila, poganjate črkovalnik, poganjate TeX, berete poąto in novice... Ko enkrat v resnici dobro obvladate Emacs, imate realne moľnosti, da se vam ąe dobrąen del naslednjega stoletja ne bo treba naučiti nobenega novega urejevalnika. Dokazano pa ljudje shajajo tudi brez njega. 6.4.1.1. GNU emacs 20 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 način Latin-2 izberemo za vnos in izpis v menuju Mule / Set Language Environment / European / Latin-2. 6.4.1.2. Starejąe izdaje programa GNU emacs Privzeta nastavitev urejevalnika je omejitev na sedembitne znake (ASCII). Nastavitev spremenimo tako, da v datoteko z nastavitvami dodamo naslednjih nekaj vrstic: ______________________________________________________________________ ;; Omogočimo izpis znakov s kodo večjo od 127 (standard-display-european t) ;; Omogočimo vnos znakov s kodo večjo od 127 (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0) ______________________________________________________________________ Prilagoditev Emacsa je moľno izvesti v eni od naslednjih datotek z nastavitvami: · /usr/lib/emacs/site-lisp/site-start.el (skupne nastavitve) · ~/.emacs (osebne nastavitve) · /usr/lib/emacs/site-lisp/default.el (skupne nastavitve) Z vnosom in izpisom naąih znakov seveda ąe ni konec zgodbe o prilagoditvi Emacsa za slovenąčino. ®elimo na primer tudi, da se ukaza forward-word in backward-word ne bosta zatikala na naąih znakih, ter da tudi za naąe znake pravilno teče pretvarjanje med velikimi in malimi črkami. S starejąimi izdajami Emacsa to ni vedno povsem trivialno. Bralcu bo v veliko pomoč zbirka nasvetov Slovenąčina in računalniki avtorja Aleąa Koąirja, v kateri je programu GNU emacs so posvečeno obąirno poglavje. Najdete jo na <http://nl.ijs.si/gnusl/tex/tslovene/slolang/slolang.html> 6.4.2. crisp Crisp je urejevalnik v duhu urejevalnika Brief z burno zgodovino. Napisal ga je Paul Fox iz Anglije in ga distribuiral kot ``program na pokuąino'' (shareware). Zadnja takąna različica je 2.2e iz leta 1991 in je po nekaterih vesteh avtor ne podpira več. Novejąe (trenutno 5.1) pa trľi podjetje Vital, Inc. iz Teksasa, ZDA. Crisp je nekako bliľje pecejevskemu duhu, kot pa sta Emacs in Vi; če 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 prikaľe, ampak izpiąe njihovo ąestnajstiąko kodo, ki jo uvede z znakoma \x. Pomaga, če naloľimo 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 (različica Crisp za X11). Poleg tega se je na starejąi verziji Linuxa (1.0.8) crunch pritoľeval nad predprocesorjem za C, /lib/cpp. Pomagala je logična povezava: ln -s /usr/lib/gcc-lib/i486-linux/2.5.8/cpp /lib/cpp Aleą Koąir je napisal za Crisp makro slovene: <http://nl.ijs.si/gnusl/tex/tslovene/src/slovene.cr> Z njim lahko vnaąamo naąe znake tudi na tipkovnicah, ki nimajo primernih tipk na način: namesto č vtipkamo "c, makro pa pretvori zaporedje v ustrezen znak. Poleg ISO Latin 1 podpira ąe nekaj drugih kodiranj, ki so v uporabi v naąih 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 moľnost kasnejąe ugodnejąe nadgraditve na polno izvedbo. CRiSP LiTE nima zgoraj opisanih teľav z vnosom osembitnih znakov. 6.4.3. vi Urejevalnik vi izvira iz sive davnine Unixa. Zaradi teľav z licenčnino najdete na sistemih Linux namesto originalnega Vi navadno urejevalnik vim (Vi IMproved) avtorja Brama Moolenaarja, včasih 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 naučili pod MS-DOS. Kljub temu pa je glede na to, da je ``vi'' edini urejevalnik, ki zanesljivo obstaja na čisto vsakem Unixu, pametno poznati nekaj osnovnih ukazov za delo z njim. Po izkuąnjah pisca tako originalni vi kot tudi vim sama po sebi brez teľav prepuąčata osembitne znake. Teľave lahko včasih povzročajo zunanji programi, ki jih kličemo iz urejevalnika (npr. fmt za poravnavanje besedila). Navadno pomaga, če v ~/.profile določimo spremenljivko LC_CTYPE (glej poglavje ``Slovenski locale''). 6.5. Elektronska poąta 6.5.1. Pine Pine najprej prebere skupne nastavitve iz /usr/local/lib/pine.conf (ali /etc/pine.conf, zatem pa ąe osebne nastavitve iz ~/.pinerc. V enem ali drugem poiąčemo 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 ... ______________________________________________________________________ 6.5.2. elm Opozorilo: pisec ľe dolgo ne uporablja več tega programa in zapisanega ni preveril. Danski in nemąki 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. ©e enkrat prosim koga, ki ta program v resnici uporablja, da opiąe svoje izkuąnje. 6.5.3. Netscape Mail V Netscape Mail 4.06 je moľno pisati naąe znake v telesu sporočila, ne pa tudi v glavi. Ko imamo enkrat nameąčene naąe pisave in urejeno preslikavo tipkovnice (razdelka ``Pisave pod X11'' in ``Tipkovnica pod X11''), le ąe v menuju View poątnega programa izberemo ``Encoding'', tam pa ``Central European (ISO-8859-2)''. Vesel bom opisa izkuąenj z drugimi izdajami programa Netscape Mail. 6.6. Svetovni splet 6.6.1. Lynx Lynx pozna od izdaje 2.5 dalje tudi kodno stran ISO 8859-2. Nastavimo jo lahko na enega od treh načinov. Prvi je, da izberemo O)ptions, zatem pa C)harset, ter z pritiskanjem na kurzorske puąčice izberemo ľeljeni 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 6.6.2. Netscape Navigator (Metod Koľelj, Message-id: <Pine.HPP.3.96.981216083349.17728E-100000@hmljhp.rzs-hm.si>) Netscape Navigator, pa tudi brkljalnik iz Netscape Communicator, uporabljata nabor znakov, ki ga nudi X Windows System. Za prikaz naąih znakov je torej najprej namestiti pisave za X11 (poglavje ``Pisave pod X11''). Ko Navigator zaľenemo, sam ugotovi, da so na voljo tudi pisave za 'Central European (ISO-8859-2)'. Če pregledujemo stran, ki brkljalniku pravilno sporoči uporabljeni nabor znakov, potem Navigator avtomatično uporabi pisavo s pravim kodnim naborom. Seveda lahko spremenimo osnovno velikost črk ali pa obliko za proporcionalno pisavo. To storimo tako, da v 'Edit / Preferences / Appearance / Fonts' določimo, 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. Če pregledujemo strani, ki imajo sicer pravilen razpored črk (razpored ISO 8859-2 in ne Windows-1250), pa Navigator ne uporabi pisave s pravim razporedom črk, lahko razpored preklopimo ročno z izbiro ,,View / Encoding / Central European (ISO-8859-2)``. Ob izbiri pisave s pravilnim razporedom črk in ob pravilnem razporedu tipk na tipkovnici lahko uporabljamo naąe črke tudi pri pisanju v modulu 'Page Composer'. Netscape Communicator 4.06 in novejąi znajo na Unixih, ki imajo nameąčene pisave ISO 8859-2, prikazati tudi strani, napisane v kodni strani Microsoft CP1250, označene kot windows-1250 v glavi. 6.6.3. Amaya (Andraľ Hvalica, Message-id: <374E958D.ADD55B49@amis.net>) Torej takole je s to Amayo: ąumniki (in ostale reči - preizkusil sem tudi nemąke preglase) čisto lepo delujejo. V čem je ątos? Verjetno gre za hroąča, morda ga tudi ni več, imam Amayo 1.4a, čisto moľno je, da je zunaj ľe kaj novejąega... Vse, kar je treba narediti je, da pri datoteki, ki jo začneą pisati, nastavią ,,Attributes / lang / ISO_Latin_2``, vendar mora biti v datoteki ľe en znak, ki ga je treba ąe prej označiti. Potem so ąumniki vidni v Amayi. Vendar je tukaj ąe nekaj takega kot kavelj 22 - v Navigatorju je treba imeti nastavljeno ,,View / Character Set / Central European (ISO 8852-2)``. To imamo Slovenci itak vsi, ampak to vseeno ni čisto v redu. Amaya bi morala v html datoteko zapisati character=iso-8859-2, vendar tega ne naredi. Pač pa napiąe <body lang="x-Latin-2">, kar, vsaj jaz, prvič vidim. (Andraľ Hvalica, Message-id: <3788BBF0.1041C481@amis.net>) Z interneta sem potegnil novo Amayo 2.1 in si ogledal, kako je s podporo za Latin-2. Pribliľno tako trapasto je, kot pri eni od starejąih različic, ki sem jo ľe imel. ©e zmerom velja, da je treba napisati katerikoli znak, preden program sploh reagira na naąe nastavitve za jezik. Ko vpiąemo ta famozni znak, izberemo ,,Attributes / lang...``, izberemo Czech. S tem doseľemo, da program vtipkane znake upoąteva kot iso-8852-2, vendar v glavo HTML dokumenta tega ne zapiąe. Pač pa napiąe: ______________________________________________________________________ <body lang="cs"> ______________________________________________________________________ Kar je brez veze. Vsaj z Navigatorjem kakega efekta nima. Če nimamo sami nastavljenega kodnega zapisa iso 8859-2, ąumnikov ne bomo videli. Zato moramo sami v glavo HTML dopisati charset=iso-8859-2; tako so ąumniki vidni zmeraj. 6.6.4. Spletni streľniki 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 ,,Reąitev problema slovenskih ąumnikov v HTML dokumentih`` http://www.ijs.si/doc/www-csz.html. 6.6.4.1. Načela 1. Določilo HTTP zahteva, da prenosni protokol HTTP prenaąa tok podatkov brez omejitve na nabor ASCII ali izpisljive znake. To vključuje osembitne znake, ąestnajstbitne znake kot npr. ISO10646 ali daljnovzhodne jezike, slike, animacije, zvok ipd. 2. Vsebino spisa določa glava MIME (vrstica Content-Type. To je edina informacija o zvrsti informacije, ki jo ima na voljo brskalnik, zato mora odraľati pravo vsebino spisa. 3. Privzeto kodni razpored (terminologija MIME/HTTP uporablja izraz ,,nabor znakov``) za spise HTML je ISO 10646 oz. njegova osembitna podmnoľica ISO 8859-1. Vsak spletni brskalnik mora biti zmoľen 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. Določilo HTTP dovoljuje, da z dodatnim določilom charset v vrstici Content-Type glave MIME izberemo drug kodni razpored. Načeloma je dovoljen katerikoli kodni razpored, registriran pri IANA Character Set Registry. Iz praktičnih razlogov pa je priporočljivo, 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 vključuje US-ASCII, ki je njegova podmnoľica). 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 podpičjem in charset=ISO-8859-2 ni obvezen. 5. Numerične entitete oblike &#nnn; določajo pismenko s kodo nnn v referenčnem razporedu znakov (ISO 8859-1 oz. ISO 10646), ne pa v trenutno izbranem. Na ta način torej sploh ne moremo uporabljati naąih znakov, kodiranih skladno s kodnim razporedom ISO 8859-2, lahko pa uporabimo 16-bitne kode ISO 10646. Črko č (mali C s kljukico) lahko torej zapiąemo kot č. In samo tako. 6.6.4.2. Praktični oziri Kdaj je uporaba kodnega razporeda ISO 8859-2 priporočljiva, kdaj pa ne? Znotraj intraneta (notranjega informacijskega sistema) v okolju, kjer se uporablja ISO 8859-2, je morda smiselno ta razpored uporabiti za vse spise. Če pa je informacija namenjena ąirąemu občinstvu, 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 določilo prenosnega protokola HTTP namreč od spletnih brskalnikov ne zahteva, da prikaľejo 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) prikaľe v nekem drugem kodnem razporedu (navadno ISO 8859-1), ali pa ponudi, da spis shranimo na disk. Zato je priporočljivo, da vstopne točke v vaą informacijski sistem ne uporabljajo kodnih razporedov, različnih od ISO 8859-1. 6.6.4.3. Podrobnosti izvedbe Obdelali bomo tri metode, s katerimi lahko spletni streľnik prilagodimo, da pravilno postreľe uporabniku s spisom, kodiranim po ISO 8859-2: · določitev nove pripone za statične spise, kodirane po ISO-8859-2, in vezava le-te na na primeren tip spisa v glavi MIME · dinamično prekodiranje spisov · uporaba posebnosti streľnika ali brskalnika 6.6.4.4. Določitev nove pripone za statične spise Ob zahtevku za spis večina spletnih streľnikov izve zvrst statičnih spisov iz pripone datoteke ter na osnovi tega izdela glavo MIME, s katero opremi spis, preden ga izroči prejemniku. Več različnih pripon lahko ustreza isti zvrsti spisa (priponi .jpeg in .jpg na primer obe določata zvrst image/jpeg), obratno pa ne - ena pripona lahko določa kvečjemu eno zvrst spisa. Nobene sploąne 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 pričakovala od spletnega streľnika, da se bo nekako odločil, s kakąno glavi MIME bo opremil ene in druge. Ena moľnost je vsekakor, da pripono .html trajno veľemo na zvrst spisov HTML, kodirani skladno s kodnim razporedom ISO 8859-2. Ta reąitev ima seveda očitno pomanjkljivost za občinstvo, ki ne more prikazati tega nabora znakov. Tukaj predlagana reąitev izkoriąča zmoľnost spletnih streľnikov, da določijo novo pripono datoteke in jo veľejo na zvrst spisa text/html; charset=ISO-8859-2 v glavi MIME. To moľnost podpira večina spletnih streľnikov. Streľnika 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 Reąitev problema slovenskih ąumnikov v HTML dokumentih lahko zagotovimo pravilne glave MIME za zvrsti spisov, ki uporabljajo kodne razporede, različne od ISO 8859-1. Če na primer določimo pripono .html-l2 za spise, kodirane skladno s kodnim razporedom ISO 8859-2, moramo v nastavitveni datoteki dodati vrstico: · Streľnik W3C httpd (CERN httpd): v datoteki httpd.conf dodamo: AddType .html-l2 text/html;charset=ISO-8859-2 8bit 1.0 · Streľnik NCSA httpd: v datoteki srm.conf dodamo: AddType text/html;charset=ISO-8859-2 .html-l2 · Streľnik Apache se od NCSA httpd razlikuje samo po manjkajoči piki: v datoteki srm.conf dodamo: AddType text/html;charset=ISO-8859-2 html-l2 6.6.4.5. Dinamično prekodiranje Na vsakem spletnem streľniku, ki podpira vmesnik Common Gateway Interface (CGI) lahko izvedemo dinamično prekodiranje spletnih spisov. Poleg dobrih strani (iz enega samega izvora lahko ponudimo spletni spis v mnogo različnih kodnih razporedih) ima ta metoda tudi slabe: pretvarjanje spisa po eni strani porablja procesorski čas streľnika, po drugi pa dinamičnih spisov posredniki (angl. proxy) navadno ne shranjujejo v medpomnilniku, zato z njimi dodatno obremenjujemo komunikacijske vode. Primera skriptov, ki izvajata dinamično prekodiranje: · slovene - paket za dinamično pretvarjanje spletnih spisov iz kodnega razporeda JUS I.B1.002 v CP852, CP1250, ISO 8859-2 ter US- ASCII (s prečrkovanjem iz Č©® v CSZ). Avtor Tadej Vodopivec, Ljubljana, Slovenija. · pl-conv - skript v Perl za dinamično pretvarjanje kodiranja spletnih spisov med ISO 8859-2, CP852, CP1250, Mazowia, Apple RomanCE in US-ASCII (s prečrkovanjem). Avtor Jarosław Strzałkowski, Kraków, Poljska. Sledijo tri reąitve, ki uporabljajo posebnosti in nestandardne raząiritve programske opreme. Prvi dve se nanaąata na spletni streľnik, zadnja na priljubljeni spletni brskalnik Netscape Navigator. Istega problema se je lotil G. Nicol s predlogom ``MIME Header Supplemented File Type''. 6.6.4.6. Metainformacija za spletni streľnik W3C Spletni streľnik W3C (nekoč poznan kot CERN WWW) omogoča dodajanje metainformacije v glave MIME odhodnih spisov. Po privzeti nastavitvi iąče streľnik metainformacije v datotekah s pripono .meta podimenik .web imenika s spisi. Če na primer spletne spise hranimo v imeniku /WWW/Hypertext in ľelimo opremiti spis isolatin2.html v njem s pravilno glavo MIME, napravimo to takole: · Če ąe ne obstaja, najprej ustvarimo podimenik .web: $ mkdir /WWW/Hypertext/.web · 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 naąem primeru je to ena sama vrstica: Content-Type: text/html; charset=ISO-8859-2 6.6.4.7. Datoteke ASIS za streľnik Apache Streľnik Apache določa poseben tip datoteke, imenovan ASIS. Streľnik poąlje datoteko ASIS odjemniku natančno takąno, 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 streľnik določimo, 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>®ivjo svet!</H1> </BODY> </HTML> Kot vidite, morate v datoteko vključiti tudi tromestno odzivno kodo streľnika. Streľnik vedno doda polji Date: in Server:, zato teh ne smemo vključiti v datoteko. 6.6.4.8. Značka <META> z označbo HTTP-EQUIV V določilu HTTP 2.0 predlagana značka <META> z označbo HTTP-EQUIV je bila predlagana kot neobvezna metoda, s katero lahko streľnik potegne dodatno metainformacijo iz zaglavja (<HEAD>) spletnega spisa in jo uporabi pri tvorjenju glave MIME. Piscu teh vrstic ni znano, da bi kateri streľnik to v resnici tudi počel. Tovrstno razčlenjevanje spletnih spisov verjetno predstavlja preveliko obremenitev za procesor in bi se močno poznalo pri odzivnosti spletnega streľnika. Pač pa so namesto tega začeli to informacijo uporabljati spletni brskalniki (Netscape Navigator, na primer, to počenja 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> 6.7. Delo na oddaljenem računalniku Z ukazoma telnet ali rlogin lahko prek omreľja TCP/IP delamo na drugem računalniku. Teľave z osembitnimi znaki pri tem so redko posledica napačne nastavitve v maloprej omenjenih programov, saj privzeti nastavitvi pri obeh podpirata osembitne znake. V primeru teľav se poleg teh programov splača pogledati ąe · nastavitev ukazne lupine (poglavje ``Ukazne lupine'') · nastavitev terminala (fizičnega ali virtualnega). Eksplicitno ga lahko nastavimo z ukazom stty -parenb -istrip cs8 · in na koncu res nastavitev programov telnet ali rlogin 6.7.1. Telnet Telnet eksplicitno pripravimo do vzpostavitve osembitne zveze z ukazom toggle binary: ~> telnet telnet> toggle binary Negotiating binary mode with remote host. telnet> open računalnik Telnet omogoča tudi, da si nastavitve za izbrane računalnike vnesemo v nastavitveno datoteko, ~/.telnetrc. Vnosi imajo obliko: ... biofiz.mf.uni-lj.si set binary true ... 6.7.2. rlogin Privzet način zveze pri programu ``rlogin'' je osembiten, eksplicitno pa lahko to določimo z določilom ``-8'': rlogin računalnik -8 6.8. TeX in LaTeX Poslovenjenje paketa LaTeX obsega · 7- in 8-bitni način vnosa naąih znakov · način izpisa naąih znakov · poslovenjenje izpisov ``Contents'', ``Figure'' ipd. · slovenska pravila za deljenje besed · prilagoditev programa LyX: vizualnega okolja za vnos besedil v LaTeX in Linuxdoc DTD Urejanje stvarnega kazala po slovenski abecedi zaenkrat ąe ne gre avtomatično. Pokaľemo, kako lahko teľavo z nekaj truda obvozimo. Podporo za neangleąke 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 avtomatično izberejo slovenska imena pod- in nadnapisov, naslovov ipd., slovenska pravila za zlogovanje besed (če imamo nameąčene slovenske zlogovalne vzorce; poglavje ``Slovenska pravila za deljenje besed''), in 7-bitni način vnosa znakov "c"s"z: \usepackage[slovene]{babel} V novi različici 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} Čeprav se pouk na ľelezničarski ąoli v ©entvidu običajno konča ąele ob ątirih, odpeąačijo učenci iz občin ®elimlje in ®etale domov ľe četrt čez tri. \end{document} ______________________________________________________________________ 6.8.1. LaTeX 2.09 V starejąi različici 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 streľnikih CTAN, npr. <ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/latin2/> 6.8.2. Slovenska pravila za deljenje besed Datoteko s slovenskimi pravili za zlogovanje besed je v okviru svoje diplomske naloge leta 1990 izdelal Matjaľ Vrečko, in jo predal v last slovenskemu druątvu uporabnikov sistema TeX (TeXCeH). Na voljo je za individualno uporabo brez namena pridobivanja premoľenjske koristi. Od leta 1995 dalje zanjo skrbi dr. Leon ®lajpah z IJS, ki jo je posredoval tudi skrbniku sistema sistema babel za tujejezično 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 teTeX, ki je najbolj priljubljena distribucija na Unixu, vklopimo podporo za slovenske delilne vzorce tako, da kot administrator poľenete program texconfig. V menuju izberemo moľnost HYPHEN - hyphenation table (tex/latex). Program texconfig pri tej izbiri poľene urejevalnik vi in vanj naloľi datoteko language.dat. Za tiste, ki ga ne poznate, najnujnejąe o uporabi le-tega: levo, desno, gor in dol po besedilu se premikate s tipkami h, l (mali L), j in k. Znak pobriąete tako, da kurzor pripeljete nanj in pritisnete tipko x. Datoteko shranite in zaključite z delom s pritiskom na tipko Esc in vpisom :wq (dvopičje, mali W, mali Q), ki mu sledi Enter. Oboroľeni s tem znanjem v datoteki language.dat pobriąemo komentar (znak za procent) pred zapisom slovene sihyph22.tex, shranimo in zapustimo urejevalnik. Program texconfig bo avtomatično ustvaril nove formatne datoteke z vgrajenimi delilnimi vzorci. Pisec teh vrstic je imel nepojasnjene teľave z datoteko sihyph22.tex, ki so enako čudeľno izginile, ko mu je dr. ®lajpah 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/. Poľenemo texconfig, tam najprej osveľimo seznam datotek (izbira REHASH - rebuild ls-R database), zatem pa ponovimo postopek iz prejąnjega 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> 6.8.3. LyX (Roman Maurer, <roman.maurer@fmf.uni-lj.si>) Če uporabljamo LyX s standardno slovensko tipkovnico (102/105 tipk), ga lahko enostavno prilagodimo za delo s slovenąčino: 1. Tipkovnica v streľniku Xwindow mora biti nastavljena tako, da z njo v sploąnem lahko vnaąamo naąe znake (to je opisano v razdelku ``X Window System'' poglavja ``Tipkovnica''). 2. Poľenemo LyX in nastavimo: Options / Screen Fonts / Font Norm = iso8859-2 ®al izgleda, da LyX tega podatka nikamor ne shrani. Zato moramo ročno dodati v datoteko lyxrc (sistemska je navadno v imeniku /usr/share/lyx/, uporabniąka 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. Če ľelimo te nastavitve uporabljati v vseh naąih dokumentih (in to seveda ľelimo), uporabimo ąe izbiro Layout / Save layout as default 5. Kadar uporabimo razred "letter" namesto "article", odgovorimo pritrdilno na vpraąanje: "Should I set some parameters to letter the defaults of this document class?" Zaradi napake v LyXu do vključno 1.0.0pre2 ni mogoč vnos 8-bitnih znakov v matematičnem tekstovnem načinu (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 obveąčeni in jo bodo verjetno popravili v naslednjih izdajah. 7-bitni vnos ąumnikov kot "c"s"z je oteľen, ker LyX avtomatično pretvori dvojni narekovaj v dva enojna. Prva misel je, da si lahko spet pomagamo z izbiro "tex-mode", udobnejąa moľnost pa je, da predefiniramo dvojni narekovaj. V datoteko emacs.bind (ali pa cua.bind, kar ľe uporabljamo) dodamo vrstico: \bind "S-quotedbl" "accent-caron" Naąe znake bomo zdaj dobili s pritiskom na "c"s"z. S tem ľal izgubimo avtomatično pretvarjanje dvojnega narekovaja v dva enojna, a vsega pač ne moremo imeti... Datoteka emacs.bind je v imeniku ~/.lyx/bind/. Če je ąe ni, lahko napravimo kopijo sistemske z imenika /usr/share/lyx/bind/ in jo popravimo. Če imamo staro slovensko tipkovnico (ameriąka s čąľ namesto ~{`), lahko uporabimo premapiranje tipkovnice v Latin 2 Alena ©alamuna <alen.salamun@medinet.si>: Options / Keyboard / Primary = slovene Ustrezna datoteka slovene.kmap je tipično v imeniku /usr/share/lyx/kbd/. Takole pa lahko uporabimo črkovalnik ``ispell'' za črkovanje slovenskih spisov: Edit / Spellchecker / Spellchecker Options * Use alternate language: slovensko * Extra special chars allowed in words: 蹾ȩ® V slovenski izdaji urejevalnika LyX pa: Uredi / Črkovalnik / Izbire črkovalnika * Uporabi drug jezik: slovensko * Dodatni posebni znaki, dovoljeni v besedah: 蹾ȩ® 6.8.4. Pregled besedila na zaslonu V Evropi je standardni format papirja A4, kar moramo dopovedati tudi programom za pregled besedila na zaslonu: XDvi V datoteko ~/.Xresources (osebna nastavitev) dodamo vrstico ________________________________________________________________ XDvi.paper: a4 ________________________________________________________________ Ghostview 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, če mu v nastavitveni datoteki (navadno /usr/share/ghostscript/izdaja/gs_init.ps ali /usr/local/share/ghostscript/izdaja/gs_init.ps) globalno izberemo velikost strani A4. Poiąčemo spodnjo vrstico in jo odkomentiramo (pobriąemo začetni znak za procent): % (a4) /PAPERSIZE where { pop pop } { /PAPERSIZE exch def } ifelse 6.8.5. Stvarna kazala Najpogostejąe orodje za izdelavo stvarnih kazal v sistemu TeX je Makeindex. Ta je le omejeno lokaliziran (poleg angleąkih pozna ąe nemąka pravila za razvrąčanje) in naąe abecede ne pozna. Stvarno kazalo v LaTeX izdelamo z ukazom \makeindex v preambuli; vsako besedo, ki jo ľelimo vnesti v kazalo, pa moramo posebej označiti z ukazom \index{vnos}. Ker navadno ľelimo stvarno kazalo tudi izpisati, dodamo ąe 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} Čeprav se pouk na ľelezničarski ąoli\index{s~ola@ąola!z~eleznic~arska@ľelezničarska} v ©entvidu\index{S~entvid@©entvid} običajno konča ąele ob ątirih, odpeąačijo učenci iz občin ®elimlje\index{Z~elimlje@®elimlje} in ®etale\index{Z~etale@®etale} domov ľe četrt čez tri. \printindex \end{document} ______________________________________________________________________ Trik je v tem, da makeindex dopuąča skladnjo \index{vnos1@vnos2}, kjer je vnos1 tisti, po katerem se kazalo ureja, vnos2 pa besedilo, ki se v resnici izpiąe. Naąo črko Č zato piąemo kot C~ (znak ~ je v kodnem razporedu ASCII za vsemi črkami), in tako bo zanesljivo uvrąčena 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. 6.9. groff Groff nudi precej omejeno podporo za naąe znake. Pri izpisu na zaslon (način nroff) lahko goljufamo tako, da zapiąemo datoteko z osembitnimi znaki ISO Latin 2, programu pa laľemo (izbira -Tlatin1), da so kodirani po razporedu ISO Latin 1. Henryk Paluch je napisal paket groff-latin2, s katerim lahko naąe znake vnaąamo kot makroukaze, na primer: \('a a z ostrivcem \(vc c s streąico \vou u s kroľcem Izpis v obliki PostScript v času pisanja tega spisa ąe vedno ne deluje, čeprav bi se mehanizme iz paketa ``ogonkify'' Juliusza Chroboczka podobno kot v programu ``a2ps'' verjetno dalo uporabiti tudi tu. ©e največji problem je verjetno ta, da je paket ``groff'' osirotel, saj ga prvotni avtor, James Clark, ne vzdrľuje več. Za paket groff-latin2 zdaj skrbi Jan Kasprzak <kas@fi.muni.cz>, najdete ga na <ftp://ftp.fi.muni.cz/pub/localization/groff/> 6.10. Perl 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 '$_="teľiąče\n"; s/\w/$&:/g; print;' t:e:ľ:i:ą:č:e: ~> LC_CTYPE=C perl -Mlocale -e '$_="teľiąče\n"; s/\w/$&:/g; print;' t:e:ľi:ąče: ~> LC_CTYPE=sl_SI.iso88592 perl -e '$_="teľiąče\n"; s/\w/$&:/g; print;' t:e:ľi:ąče: ______________________________________________________________________ Kot vidimo, je samo v prvem primeru, ko smo izvedli oboje: nastavili spremenljivko LC_CTYPE in Perl poklicali z izbiro -Mlocale, naąe znake res upoąteval kot črke (\). 6.11. Črkovanje: ispell Večina sodobnih distribucij Linuxa ľe pride s črkovalnikom Ispell; manjka pa mu slovenski besedni zaklad. Tega najdete katerikoli od navedenih datotek: <ftp://sizif.mf.uni-lj.si/pub/i18n/ispell/ispell-sl-0.1-1.src.rpm> <ftp://sizif.mf.uni-lj.si/pub/i18n/ispell/ispell-sl-0.1-1.i386.rpm> Če je v istem imeniku na voljo kakąna kasnejąa izdaja, seveda vzamemo to. Prva arhivska datoteka je prevedena na sistemu Caldera OpenLinux 1.3 in jo lahko na enakih sistemih namestimo enostavno z ukazom rpm -i ispell-sl-0.1-1.i386.rpm Kopije datoteke, izvorne in prevedene za različne sisteme, najdemo tudi na ustreznih mestih za anonimni FTP: <ftp://contrib.redhat.com/libc5/i386/ispell-sl-0.1-1.i386.rpm> <ftp://contrib.redhat.com/libc5/SRPMS/ispell-sl-0.1-1.i386.rpm> <ftp://ftp.calderasystems.com/pub/OpenLinux/contrib/RPMS/libc6/ispell- sl-0.1-1.i386.rpm> <ftp://ftp.calderasystems.com/pub/OpenLinux/con trib/SRPMS/libc6/ispell-sl-0.1-1.src.rpm> Na vseh ostalih sistemih moramo prevedeno datoteko zgraditi sami. Kot sistemski oskrbnik poľenemo rpm --rebuild ispell-sl-0.1-1.src.rpm Redhat Package Manager bo v nekaj minutah bo pripravil datoteko ispell-sl-0.1-1.i386.rpm in jo pustil v imeniku /usr/src/Open Linux/RPMS/i386/, /usr/src/redhat/RPMS/i386/ ali distribuciji, ki jo uporabljate, ustreznem. To datoteko lahko zatem namestimo z ukazom rpm -i /usr/src/redhat/RPMS/i386/ispell-sl-0.1-1.i386.rpm 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 Natančnejąa navodila za ravnanje s programom Ispell boste naąli v priročniku, več o prilagoditvi paketa ispell za slovenąčino si lahko preberete na strani Slovenąčina in računalniki Aleąa Koąirja. Ispell s slovenskim besednim zakladom poganja tudi spletni črkovalnik Trubar istega avtorja: <http://nl.ijs.si/cgi-bin/truform.pl> Osnovni slovenski leksikon izvira iz baze, ki jo je podjetje Amebis d.o.o. prispevalo za mednarodni projekt MULTEXT-East; s posredovanjem dr. Tomaľa Erjavca z odseka za inteligentne sisteme na Institutu Joľef Stefan pa je na voljo za nepridobitno uporabo. 6.12. Pretvarjanje med različnimi kodiranji Razen ISO Latin 2 vsebuje vse naąe znake ąe 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. Čeprav ni teľko napisati programčka za pretvorbo iz enega kodnega nabora v drugega, je pripravno uporabiti ľe izdelan program. Eden takih je GNU recode, dostopen npr. na streľniku ARNES: <ftp://ftp.arnes.si/software/gnu/recode/recode-3.4.tar.gz> Starejąe izdaje GNU recode (pred 3.5) ne poznajo Microsoftovih kodnih strani 1250-1259. Uporaba je enostavna: recode yu:latin2 datoteka pretvori datoteko iz kodnega nabora JUS I.B1.002 v kodni nabor ISO Latin 2. Kot običajno izda tudi tu izbira --help ąe dodatne moľnosti. Novejąe izdaje programa Recode (ki poznajo tudi nekaj več kodnih naborov), uporabljajo malo drugačno skladnjo: recode yu..latin2 datoteka Po izkuąnjah pisca pa je prečrkovanje (npr. ,,nabori`` latex ali flat) ąe vedno omejeno na pretvorbo iz in v nabor ISO 8859-1. Novejąe izdaje programa Recode najdete na: <ftp://ftp.iro.umontreal.ca/pub/recode/> 6.13. Drugi programi 6.13.1. Pregledovalnik less 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 ąe ne pozna, ker pa ga pravzaprav zanima samo, kateri znaki so običajni, kateri pa kontrolni (ki zahtevajo posebno obravnavo), ker pa je razpored znakov enak v celotni druľini 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 druľine 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. 6.13.2. Koledar gcal Vsi sistemi Unix imajo vgrajen koledarček cal, ki pa je precej anglocentričen. Thomas Esken iz Nemčije je napisal alternativni koledarček gcal. Od izdaje 2.40 dalje pozna tudi slovenske praznike. Najdemo ga na običajnih mestih distribucije GNU. Najbliľje je verjetno: <ftp://ftp.arnes.si/software/gnu/> Spodnja vrednost spremenljivke GCAL ustreza naąim razmeram: GCAL="--cc-holidays=SI --gregorian-reform=1582"; export GCAL 7. Tiskanje Pri tiskanju lahko naletimo na različne situacije: · Tiskalnik neposredno podpira ISO Latin 2 · Tiskalnik podpira enega od ostalih osembitnih naborov z naąimi znaki (npr. kodno stran 852), ali pa sedembitni nabor JUS I.B1.002 · Tiskalnik razume PostScript · Tiskalnik ne podpira ničesar drugega razen ASCII Zadnja moľnost ni predmet obravnave tega spisa. 7.1. Tiskalniki, ki podpirajo ISO Latin 2 Nekaj novejąih tiskalnikov ľe neposredno podpira kodni razpored ISO Latin 2. Med njimi so · Hewlett-Packard LaserJet 4 Plus in 4M Plus · Hewlett-Packard LaserJet 5L · Epson FX-2170 (NLSP) · Epson LQ-870 (NLSP) · Epson LQ-2070 (NLSP) · Epson LQ-2170 (NLSP) · Epson DLQ-3000 (NLSP; letnik 1996 in novejąi) · Fujitsu DL700 · Fujitsu DL1150/1250 · Fujitsu DL3700/3800 · Fujitsu DL6400/6600 Vse, kar morate storiti, je izbrati pravilno kodno stran v tiskalniku. Ubeľna sekvenca za tiskalnike Hewlett-Packard (PCL) in Epson (ESC/P2) so naslednje PCL Tole menda deluje: ________________________________________________________________ \033(2N\033(s0p12h0s0b4099T ________________________________________________________________ ESC/P2 Z ukazom ESC ( t prepiąemo 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 osmiąka koda znaka Escape. Eden od načinov, kako z /etc/printcap prilagodimo okolje za tiskanje na tak tiskalnik, je podrobneje opisan v razdelku ``Tiskalniki, ki podpirajo kak drug nabor z naąimi znaki''. 7.2. Tiskalniki, ki podpirajo kak drug nabor z naąimi znaki Če tiskalnik podpira kak drug nabor z naąimi znaki (ne dolgo nazaj je bila ustaljena praksa, da je bil ROM v tiskalnikih zamenjan z EPROM, v njem pa ąvedski znaki zamenjani z znaki po JUS I.B1.002), lahko s primerno nastavitvijo v /etc/printcap ąe 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 ąvedskega 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 tiskalniąke vrste. Prva je dejanski tiskalnik z ameriąkim (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 tiskalniąko vrsto. Filter jus_epson ne napravi drugega, kot da na začetku doda kodo za preklop v ąvedski nabor, prepiąe datoteko z vhoda na izhod, in na koncu doda kodo za preklop nazaj v ameriąki 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 (ąvedski) nabor /bin/echo -ne "\033R\005\c" # Izpiąemo dokument cat # Izberemo ameriąki 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 ľe opisani filter za to, da doda na začetku in na koncu potrebno kodo za tiskalnik, in končno táko 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 ąumnike kot zavite oklepaje, v JUS pa samo ąe 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 datoteka 2. Z izbiro -Pjus se datoteka odtisne kot besedilo, kodirano po JUS I.B1.002: lpr -Pjus datoteka 3. Z izbiro -Platin2 ali -Ptext se datoteka odtisne kot besedilo, kodirano po ISO Latin 2: lpr -Platin2 datoteka 7.3. Tiskalniki, ki podpirajo kak drug nabor z naąimi znaki II (Matjaľ Terpin <matjaz.terpin@comcom.si>, Message-id: <Pine.LNX.3.96.980709095750.24607B-400000@guru.comcom.si>) Matjaľ Terpin <matjaz.terpin@comcom.si> je predlagal imenitno izboljąavo pravkar opisanega postopka, pri katerem lahko tiskamo naąe znake in oglate in zavite oklepaje. Srľ njegovega predloga je filter, ki pred vsakim naąim znakom preklopi v ąvedski nabor, takoj za njim pa spet nazaj v ASCII. Datoteka /etc/printcap je v tem primeru takąna: ______________________________________________________________________ # /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/č/`echo -ne "\033R5\~\033R0"`/g" \ -e "s/Č/`echo -ne "\033R5\^\033R0"`/g" \ -e "s/ą/`echo -ne "\033R5\{\033R0"`/g" \ -e "s/©/`echo -ne "\033R5\[\033R0"`/g" \ -e "s/ľ/`echo -ne "\033R5\140\033R0"`/g" \ -e "s/®/`echo -ne "\033R5\@\033R0"`/g" \ -e "s/ć/`echo -ne "\033R5\}\033R0"`/g" \ -e "s/Ć/`echo -ne "\033R5\]\033R0"`/g" \ -e "s/đ/`echo -ne "\033R5\|\033R0"`/g" \ -e "s/Đ/`echo -ne "\033R5\\\\033R0"`/g" echo -ne "\033R5" ______________________________________________________________________ Matjaľ pravi ąe: sed slabo prebavi ``echo -ne "\000"'', zato uporabljam kar znak 0 (ničlo), saj je tiskalnik (NEC pinwriter P7) zadovoljen tudi s tem. 7.4. Tiskalniki PostScript ``Naravni'' kodni nabor v PostScriptu je Adobe Standard Encoding. Naąih črk ne pozna. Pa ne le naąih, tudi mnogih drugih črk ne pozna, in pravzaprav sploh nima tovrstnih ambicij. Namesto tega je ASCII raząirjen z gradniki sestavljenih znakov: streąica, ostrivec, diereza, sedij itd. -- vsi so tam. Jezik PostScript pa omogoča definiranje sestavljenih znakov. Vse skupaj je čakalo samo ąe 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 reąita za naąe kraje neobičajno zagato: kako odtisniti čisto običajno besedilo na tiskalnik, ki razume edino PostScript. Eden in drugi postavita stran v PostScriptu z danim besedilom in jo poąljeta na tiskalnik. Fleksibilnost PostScripta omogoča tudi transformacije (npr. pomanjąave) 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> 7.4.1. ogonkify Ogonkify je filter za izpise v PostScriptu, in omogoča pravilen odtis črk tudi v jezikih, ki ne uporabljajo nabora ISO Latin 1. Ker je filter, je ravno korak prepozen, da bi lahko počel to elegantno, ampak mora preľvečiti kakrąnokoli grdobijo pač izpljune program korak pred njim in iz dobljenega izdelati lep odtis. Programi pa izdelujejo datoteke PostScript vsak malo drugače, kar filtru ``ogonkify'' oteľi delo. Zaenkrat podprti formati izpisa PostScript so: NCSA Mosaic, Netscape Navigator, StarOffice, Applixware in XFig. Ogonkify za delovanje potrebuje Perl. Ko je nameąčen, ogonkify uporabimo takole za odtis spletnega sestavka, shranjenega iz Navigatorja: ogonkify -AT -N netscape.ps | lpr 7.4.2. GNU enscript Če GNU enscript ąe ni nameąčen, ga namestimo po navodilih, ki so priloľena programu. Poleg njega potrebujemo ąe vsaj eno pisavo z vsemi naąimi 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. Če nismo prepričani, ali ga imamo ľe nameąčenega, poľenemo: 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 ąe 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 način kodiranja: DefaultEncoding: latin2 ... # Privzeti format papirja: DefaultMedia: A4 ... # lpd izbira tiskalniąke 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 datoteka 7.4.3. a2ps Z izdajo 4.7.21 je Akim Demaille v a2ps vgradil mehanizem za sestavljene znake, ki ga je Juliusz Chroboczek uporabil v filtru ``ogonkify''. Naąim krajem prilagodimo a2ps z majčkeno 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 ... ______________________________________________________________________ 8. Linux v Sloveniji Harald T. Alvestrand iz Trondheima, Norveąka vodi evidenco o uporabnikih Linuxa po drľavah. Seznam slovenskih uporabnikov Linuxa je na naslovu <http://counter.li.org/bycountry/SI.html> Če vas ni med njimi, se prijavite! <http://counter.li.org/> 8.1. Skupina uporabnikov Linuxa Od marca 1996 dalje deluje v Ljubljani organizirana skupina uporabnikov Linuxa v Sloveniji, druątvo LUGOS (Linux Users Group of Slovenia). Druątvo ima svojo stran na WWW: <http://www.lugos.si/> Druątvo ima tudi svoj elektronski spisek, na katerega se prijavite tako, da na naslov majordomo@lugos.si poąljete vrstico subscribe lugos-list v telesu sporočila. 8.2. Streľniki FTP Vzdrľevan seznam aktivnih arhivov v Sloveniji najdete na straneh streľnika LUGOS, <http://www.lugos.si/arhiv/> Od marca 1997 dalje imamo v Sloveniji svoj Sun SITE, ki je usklajen z drugimi streľniki 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 streľniku ARNES se avtomatično zrcalita distribucija Debian in programje iz projekta GNU, <ftp://ftp.arnes.si/software/unix/linux/debian/> <ftp://ftp.arnes.si/software/gnu/> Streľnik z zelo veliko izbiro programja za Linux je tudi na Gimnaziji v Murski Soboti, <ftp://mercur.s-gms.ms.edus.si/pub/UNIX/linux/> ©tudentski informacijski center je s pomočjo Zavoda za odprto druľbo uredil streľnik FTP v Narodnem domu v Mariboru: <ftp://ftp.kibla.org/pub/Linux/> Distribucija Slackware se zrcali tudi na streľniku Fakultete za računalniątvo in informatiko Univerze v Ljubljani, <ftp://ftp.fri.uni-lj.si/pub/linux/> Wowen Goods for Linux se zrcalijo na streľniku 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 streľniku 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/> 8.3. Usenet 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 druątvo LUGOS: si.org.lugos. 8.4. Zastopniki za Linux Agenda d.o.o., Lavričeva 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 zaloľenih trgovcih s tovrstno robo, npr. Infobia (tel. 061/614548) ali Mantis (tel. 061/1685473). 9. O tem spisu Najnovejąa izdaja tega spisa je razen na uradnem mestu Linux Documentation Project dostopen tudi pri avtorju ter na domači strani Slovenskega druątva 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 dobrodoąle na naslov <primoz.peterlin@biofiz.mf.uni-lj.si>, sploąna vpraąanja o Linuxu in poslovenjenju programov pa sodijo na dopisno listo lugos-slo@lugos.si ali v si.comp.os.unix. 9.1. Opombe k drugi izdaji Druga izdaja je pribliľno dvainpolkrat daljąa od prve, ki je iząla konec leta 1996. Izkazalo se je, da bi bil koristen kratek seznam stvari, ki jim moramo opraviti, če ľelimo usposobiti naąe znake na konzoli ali v okolju X Window System, zato sem ga dodal na začetek. Dodan je opis uporabe vektorskih pisav Type 1 in TrueType. Nastavitev locale predstavlja standarden način prilagoditve programov, zato je temu razdelku namenjena večja pozornost. V celoti so novi opisi prilagoditev urejevalnika LyX ter pisarniąkih paketov WordPerfect, Star Office in Applixware. Dodan je opis prilagoditve nove izdaje urejevalnika Emacs. Razdelek o tiskalnikih je raząirjen z domiselno alternativno različico tiskalniąkega filtra; dodatno sta omenjena ogonkify in a2ps. Posodobljen je seveda tudi razdelek o Linuxu v Sloveniji. In morda ąe kaj, kar sem pozabil. Če je prva izdaja predstavljala nekakąne zbrane in urejene zapiske o problemih, s katerimi sem se sam srečeval, 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 reąitev nisem preizkuąal; zaupam pač izkuąnjam izvornih piscev. Te sem povsod tudi navedel in lahko stopite v stik z njimi. 9.2. Zahvala Če bralka ali bralec nista tega ľe sama uganila, je čas, da priznam sam: noben strokovnjak za Linux nisem. Nekaj o lokalizaciji Linuxa sem se naučil 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 Slovenąčina in računalniki Aleąa Koąirja. Prvi spis je spisala skupina avtorjev, občasno ga objavijo v cz.comp.linux, zrcaljen je pa tudi na nekaj mestih na Čeąkem in Slovaąkem; drugo najdete na http://www.agh.edu.pl/ogonki/; stran vzdrľuje Jarosław Strzałkowski. ``Slovenąčino in računalnike'' najdete na http://nl.ijs.si/gnusl/tex/tslovene/slolang/. Z namigi in nasveti so mi pomagali ąe (v abecednem vrstnem redu): Gorazd Boľič <gorazd.bozic@arnes.si>, Aleą Časar <casar@uni-mb.si>, Tomaľ Erjavec <tomaz.erjavec@ijs.si>, Matjaľ Godec <gody@elgo.si>, Andraľ Hvalica <Andraz.Hvalica@amis.net>, Andrej Komelj <andrej.komelj@guest.arnes.si>, Aleą Koąir <ales.kosir@hermes.si>, Metod Koľelj <metod.kozelj@rzs-hm.si>, Renato Lukač <renato@s- gms.ms.edus.si>, Roman Maurer <roman.maurer@fmf.uni-lj.si>, Jaka Mele <jack@ro.zrsss.si>, Borut Mrak <borutm@bigfoot.com>, Rok Papeľ <rok.papez@kiss.uni-lj.si>, Boris Poľar <boris.pozar@guest.arnes.si>, Marko Samastur <marko.samastur@fmf.uni-lj.si>, Robert Susič <robert.susic@ijs.si>, Alen ©alamun <alen.salamun@medinet.si>, Matjaľ Terpin <matjaz.terpin@comcom.si>, in Leon ®lajpah <leon.zlajpah@ijs.si> Vsem hvala. Vsem po nemarnosti izpuąčenim se opravičujem; poskusil bom popraviti do naslednje izdaje. 9.3. Vpraąanja 9.3.1. Se pravi Slovenian ali Slovene? Mnenja so deljena. Pisec teh vrstic se je pozanimal pri strokovnjakih s tega področja, ki so ga le potrdili v tem, da so mnenja res deljena. Slovnično je pravilno eno ali drugo, odločitev 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. 9.3.2. Naąi znaki v tem spisu Cel spis govori o tem, kako pridemo do naąih znakov, sam jih pa nima. Kako to? Kovačeva kobila... Sistem SGML-Tools (nekdaj Linuxdoc-SGML), ki je uradni standard za dokumentacijo HOWTO, zaenkrat podpira samo Latin 1. Cees de Groot, vzdrľevalec paketa SGML-Tools, kot tudi Tim Bynum, urednik zbirke HOWTO, se teľave zavedata. Pisec teh vrstic v upanju na boljąe čase piąe v Latin-2; preden poąlje material uredniku, pa poreľe kljukice nad ąumevci. Za domačo rabo pa lahko malo pogoljufamo in paketu sgmltools laľemo, 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 ąe malo telovaditi s sed. 9.4. Uporaba in raząirjanje Copyright (c) 1996,1999 Primoľ Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>. Ta spis lahko raząirjate pod pogoji, navedenimi v licenci LDP, dosegljivi na naslovu http://metalab.unc.edu/LDP/COPYRIGHT.html. Spisa ni dovoljeno raząirjati v spremenjeni obliki brez privolitve avtorja. Informacije v tem spisu so podane v veri, da so točne in koristne, vendar pa brez kakrąnegakoli jamstva, izrecnega ali impliciranega, vključno, a brez omejitve na implicirano jamstvo za primernost za trľenje ali uporabo. Uporabljate jih lahko izključno na lastno odgovornost. Avtor ne odgovarja za kakrąnekoli ąkodo, posredno ali neposredno, nastalo kot posledico uporabe informacij v tem spisu. 9.5. Note to English readers Copyright (c) 1996,1999 by Primoľ Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>. 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.