Slovenian HOWTO

Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>  v1.0, 30 October 1996

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

Contents

1 Uvod 3 1.1 Kaj je Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Dogovor o zapisu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Prikaz nasih znakov na zaslonu 4 2.1 Nabor znakov “ISO Latin 2” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Konzola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 X Window System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Tipkovnica 5 3.1 Konzola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 X Windows System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4 Drugi programi 6

4.1 Ukazne lupine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.1 bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.2 tcsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.2 Urejevalniki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2.1 GNU emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2.2 crisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2.3 vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.3 Elektronska posta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3.1 Pine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3.2 elm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.4 Delo na oddaljenem racunalniku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.4.1 Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.4.2 rlogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.5 TeX in LaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.5.1 LaTeX 2.09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.5.2 Slovenska pravila za deljenje besed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.5.3 Pregled besedila na zaslonu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.6 Pretvarjanje med razlicnimi kodiranji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.7 Pregledovalnik less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Tiskanje 12 5.1 Tiskalniki, ki podpirajo ISO Latin 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.2 Tiskalniki, ki podpirajo kak drug nabor z nasimi znaki . . . . . . . . . . . . . . . . . . . . . . 13 5.3 Tiskalniki PostScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.3.1 GNU enscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

6 Slovenski locale 15 6.1 Poslovenjenje katalogov sporocil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

7 Linux v Sloveniji 17 7.1 Skupina uporabnikov Linuxa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.2 Strezniki FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.3 Usenet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

8 O tem spisu 18

8.1 Vprasanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 8.1.1 Se pravi Slovenian ali Slovene? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 8.1.2 Nasi znaki v tem spisu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

8.2 Uporaba in razsirjanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.3 Uporaba na lastno odgovornost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.4 Note to English readers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1 Uvod

1.1 Kaj je Linux?

Linux je izvedba vecopravilnega, vecuporabniskega operacijskega sistema Unix za osebne racunalnike s procesorji 80386, 80486, Pentium ali Pentium Pro. Jedro operacijskega sistema je ob pomoci in sodelovanju stevilnih zanesenjakov z Interneta napisal Linus Torvalds z univerze v Helsinkih na Finskem. Skupaj s programi iz projektov GNU, X Window System in BSD predstavlja sodobno programsko okolje, enakovredno komercialnim razlicicam sistema Unix.

Linux je brezplacen in prosto dostopen, vkljucno z izvorno kodo. Najnovejse razlicice programja za Linux je moc najti

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

Obe mesti sta navadno tezko dostopni in zelo zasedeni, zato uporabimo eno od stevilnih mest, kjer se zrcali vsebina zgornjih dveh; pametno je, da zacnemo 7.

1.2 Dogovor o zapisu

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

     echo "Zdravo"

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

ls datoteka

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

Z znakom ~ se po ustaljenem obicaju na sistemih Unix oznacuje osnovno podrocje uporabnika (za uporabnika z imenom uporabnik je to navadno /home/uporabnik).

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 dopusca bash) v analogne

setenv SPREMENLJIVKA vrednost

2 Prikaz nasih znakov na zaslonu

2.1 Nabor znakov “ISO Latin 2”

ISO 8859-2 oz. ISO Latin 2 je clan druzine osembitnih naborov znakov ISO 8859, ki pokriva potrebe alfabetskih pisav zahodne poloble (latinica, cirilica; arabska, hebrejska, grska, armenska, gruzinska ipd.). Druzino je zasnovalo evropsko zdruzenje proizvajalcev racunalnikov (European Computer Manufacturer’s Association, ECMA), kot mednarodni standard pa potrdila organizacija za standardizacij ISO s sedezem v Zenevi.

Nabor ISO Latin 2 vsebuje vse posebne znake za pisanje v albanscini, anglescini, cescini, finscini, hrvascini, irscini, madzarscini, nemscini, poljscini, romunscini, slovascini, slovenscini in luziski sorbscini.

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

2.2 Konzola

Nabor znakov za sistemsko konzolo najdemo v paketu kbd Andriesa Brouwerja z univerze v Eindhovnu, Nizozemska. V paketu Slackware najdemo prevedeni paket pod imenom keytbls. Namestimo ga enako kot druge pakete, z ukazom pkgtool ali installpkg.

Ko imamo paket enkrat namescen, izberemo drugacne fonte na zaslonu z ukazom setfont, na primer:

     setfont lat2-16

Vec o paketu kbd preberemo v poglavju o 3.1.

2.3 X Window System

Kratka navodila za namestitev fontov z nasimi znaki za uporabo z X Window System.

1. Fonte snamemo z najblizjega streznika FTP:

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

Po obicajnem postopku (tar -xzf ...) jih dekompresiramo in razpakiramo.

2. Odlocimo se za mesto v strukturi imenikov, kamor nameravamo namestiti fonte. Obicajno je to podimenik v imeniku /usr/lib/X11/fonts/. Primer:

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

3. Streznik X ne zna uporabiti fontov 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).

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

4. Streznik X zna uporabiti stisnjene fonte, kar izkoristimo:

          compress *.pcf

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

          mkfontdir

Ukaz moramo pognati v vsakem podimeniku s fonti.

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

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

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

7. Ukaz xset velja samo, dokler ne zapustimo X Window System. Trajno spremembo dosezemo s popravkom konfiguracijske datoteke. Streznik XFree86 hrani svoje nastavitve v datoteki

     /usr/X11/lib/X11/Xconfig. Poiscemo niz FontPath in dodamo vrstici:
          FontPath "/usr/X386/lib/X11/fonts/iso_8859.2/75dpi"
          FontPath "/usr/X386/lib/X11/fonts/iso_8859.2/100dpi"

To je vse. Od zdaj naprej zna X Window System prikazovati tudi nase znake.

3 Tipkovnica

3.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 vec. V paketu Slackware najdemo prevedeni paket kbd pod imenom keytbls. Namestimo ga enako kot druge pakete, z ukazom pkgtool ali installpkg.

Paket kbd vsebuje tabelo za slovensko tipkovnico s 102 tipkama in zaslonske fonte za kodni nabor ISO Latin 2. Vsi, ki iz kakrsnihkoli razlogov uporabljajo drugacno tipkovnico, si lahko na osnovi zgledov v /usr/lib/kbd/ pripravijo svojo.

Celoten postopek za izbiro zaslonskega fonta, tabele za tipkovnico in uporabo le-te je taksen:

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

Ce zelimo, da je taksna nastavitev trajna, dodamo zgornje vrstice v nastavitveno datoteko /etc/rc.d/rc.local, ki se izvede ob zagonu operacijskega sistema.

3.2 X Windows System

V X Windows System lahko spreminjamo razpored tipk na tipkovnici z ukazom xmodmap. Tabelo preslikav za obicajno tipkovnico s 102 tipkama, 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

Ce zelimo ta razpored trajno namestiti, preimenujemo datoteko bodisi v ~/.Xmodmap (osebna nastavitev) ali pa v /etc/X11/xinit/Xmodmap (skupna nastavitev za vse uporabnike), ki se avtomaticno nalozi ob vsakem zagonu X Window System.

4 Drugi programi

Metode za vnos in izpis nasih znakov, predstavljene v poglavjih o prilagoditvi tipkovnice in zaslonskih znakov, so splosne. Zato je navadno vse, kar moramo se postoriti, omogociti vnos in/ali izpis osembitnih znakov, kar za posamezni program obicajno napravimo s stikalom v datoteki z nastavitvami. Za nekatere programe so bile razvite tudi locene metode za vnos ali izpis znakov, ki v izjemnih primerih (npr. ce nimamo tipkovnice s slovenskimi znaki) lahko vseeno pridejo prav, zato so tudi navedene.

4.1 Ukazne lupine

4.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.

4.1.2 tcsh

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

     setenv LC_CTYPE iso_8859_1

4.2 Urejevalniki

4.2.1 GNU emacs

GNU emacs je uradni urejevalnik projekta GNU, delo Richarda M. Stallmana z MIT, ZDA.

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

     ;;  Omogocimo izpis znakov s kodo vecjo od 127
     (standard-display-european t)
     ;;  Omogocimo vnos znakov s kodo vecjo od 127
     (set-input-mode (car (current-input-mode))
             (nth 1 (current-input-mode))
             0)

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

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

• ~/.emacs (osebne nastavitve)

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

4.2.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 pokusino” (shareware). Zadnja taksna razlicica je 2.2e iz leta 1991 in je po nekaterih vesteh avtor ne podpira vec. Novejse (trenutno 5.1) pa trzi podjetje Vital, Inc. iz Teksasa, ZDA.

Privzeta nastavitev urejevalnika Crisp 2.2e je, da znakov s kodami od 127 dalje ne prikaze, ampak izpise njihovo sestnajstisko kodo, ki jo uvede z znakoma \x. Pomaga, ce nalozimo paket z izvorno kodo Crisp in v

datoteki $(SRC)/crisp2.2e/src/crunch/tty/xterm.cr popravimo drugi argument funkcije

set term features() iz NULL na "%c". Popravljeni makroukaz prevedemo:

     crunch xterm.cr

Rezultat, popravljeni xterm.cm, postavimo med ostale, navadno v imenik

/usr/local/lib/crisp/macros/tty.

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

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

Ales Kosir je napisal za Crisp makro slovene:

     <http://lfdtb.fs.uni-lj.si/kosir/tex/tslovene/src/slovene.cr>

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

     <http://lfdtb.fs.uni-lj.si/kosir/tex/tslovene/slolang/node6.html>

4.2.3 vi

Na sistemih Linux je vi sinonim za urejevalnik “elvis”, delo Steva Kirkendalla.

Po izkusnjah pisca vi sam po sebi brez tezav prepusca osembitne znake. Tezave lahko vcasih povzrocajo zunanji programi, ki jih klicemo iz urejevalnika (npr. fmt za poravnavanje besedila). Navadno pomaga, ce v ~/.profile dolocimo spremenljivko LC CTYPE (glej poglavje o 6).

4.3 Elektronska posta

4.3.1 Pine

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

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

4.3.2 elm

V delu.

4.4 Delo na oddaljenem racunalniku

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

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

• nastavitev 4.1

• nastavitev terminala (fizicnega ali virtualnega). Eksplicitno ga lahko nastavimo z ukazom

          stty -parenb -istrip cs8

• in na koncu res nastavitev programov telnet ali rlogin

4.4.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 racunalnik

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

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

4.4.2 rlogin

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

rlogin racunalnik -8

4.5 TeX in LaTeX

Poslovenjenje paketa LaTeX obsega

• 7- in 8-bitni nacin vnosa nasih znakov

• nacin izpisa nasih znakov • poslovenjenje izpisov “Contents”, “Figure” ipd.

• slovenska pravila za deljenje besed

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

     <ftp://sunsite.informatik.rwth-aachen.de/pub/comp/tex/teTeX/>
     <http://www.mathematik.uni-stuttgart.de/mathB/lst3/langbein/ntex.html>

Z uporabo izbire “slovene” v paketu babel se avtomaticno izberejo slovenska imena pod- in nadnapisov, naslovov ipd., slovenska pravila za zlogovanje besed (ce imamo namescene 4.5.2), in 7-bitni nacin vnosa znakov "c"s"z:

     \usepackage[slovene]{babel}

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

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

4.5.1 LaTeX 2.09

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

     \documentstyle[latin2]{article}
     ...

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

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

4.5.2 Slovenska pravila za deljenje besed

Datoteko s slovenskimi pravili za zlogovanje besed lahko dobijo clani slovenskega drustva uporabnikov TeX (TeXCeH) za individualno uporabo brez namena pridobivanja premozenjske koristi pri predsedniku drustva, dr. Bojanu Golliju <bojan.golli@ijs.si>.

4.5.3 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

4.6 Pretvarjanje med razlicnimi kodiranji

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

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

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

Uporaba je enostavna:

        recode yu:latin2 datoteka

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

4.7 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 se ne pozna, ker pa ga pravzaprav zanima samo, kateri znaki so obicajni, kateri pa kontrolni (ki zahtevajo posebno obravnavo), ker pa je razpored znakov enak v celotni druzini ISO 8859, lahko izberemo kar latin1. Namesto tega lahko tudi eksplicitno navedemo zaporedje tipa znakov v naboru:

     LESSCHARDEF={\tt "}8bcccbcc18b95.33b.{\tt "}; export LESSCHARDEF

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

5 Tiskanje

Pri tiskanju lahko naletimo na razlicne situacije:

• Tiskalnik neposredno podpira ISO Latin 2

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

• Tiskalnik razume PostScript

• Tiskalnik ne podpira nicesar drugega razen ASCII

5.1 Tiskalniki, ki podpirajo ISO Latin 2

Nekaj novejsih tiskalnikov ze 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

• Epson LQ-870

• Fujitsu DL700

• Fujitsu DL1150/1250

• Fujitsu DL3700/3800

• Fujitsu DL6400/6600 Vse, kar morate storiti, je izbrati pravilno kodno stran v tiskalniku. Ubezna sekvenca za tiskalnike Hewlett-Packard je

     \033(2N\033(s0p12h0s0b4099T

Oznaka \033 je osmiska koda znaka Escape.

Eden od nacinov, kako z /etc/printcap prilagodimo okolje za tiskanje na tak tiskalnik, je podrobneje opisan v 5.2 razdelku.

5.2 Tiskalniki, ki podpirajo kak drug nabor z nasimi znaki

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

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

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

Zgled ima tri tiskalniske vrste. Prva je dejanski tiskalnik z ameriskim (ASCII) naborom znakov. Druga

uporablja filter /usr/spool/lpd/jus filter:
     \#!/bin/sh
     /usr/spool/lpd/jus_epson | lpr -Pascii

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

     \#!/bin/sh
     \# Tiskanje besedil kodiranih po JUS I.B1.002 na tiskalnik Epson LQ

     \#
     \# Izberemo slovenski (svedski) nabor
     /bin/echo "\033R\005\c"
     \# Izpisemo dokument
     cat
     \# Izberemo ameriski nabor
     /bin/echo "\033R\000\c"

Tretja vrsta uporablja podoben filter kot druga, le da ta najprej pretvori besedilo iz Latin 2 v JUS, zatem uporabi ze opisani filter za to, da doda na zacetku in na koncu potrebno kodo za tiskalnik, in koncno 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 preslikava neobrnljiva – v Latin 2 imamo tako sumnike kot zavite oklepaje, v JUS pa samo se prve.

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

/usr/spool/lpd/jus in /usr/spool/lpd/latin2.

Tiskanje gre zdaj tako:

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

lpr 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

5.3 Tiskalniki PostScript

Obicajno besedilo lahko odtisnemo na tiskalnik PostScript prek enega od filtrov, ki opremijo poslani tok podatkov z ustrezno glavo in poskrbijo za ostale administrativne zadeve. Taksna programa sta npr. a2ps in GNU enscript. Zadnji ze podpira nabor ISO Latin 2, medtem ko je podpora za prvega se v delu.

     <ftp://ftp.arnes.si/gnu/enscript-1.4.0.tar.gz>

5.3.1 GNU enscript

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

     find / -name cour.pf[ab]

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

Primer konfiguracijske datoteke:

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

Ko je vse potrebno nastavljeno, odtisnemo besedilo enostavno z ukazom

        enscript datoteka

6 Slovenski locale

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

Locale sestavlja nekaj razredov:

• LC CTYPE (znaki, ki predstavljajo abecedo)

• LC COLLATE (vrstni red znakov v abecedi)

• LC MONETARY (izpis valute)

• LC NUMERIC (izpis stevilcnih vrednosti)

• LC TIME (izpis datuma in ure)

• LC MESSAGES (izpis katalogov sporocil)

LC ALL zajema vse nasteto.

Sledi nekaj primerov odziva poslovenjenega sistema (primeri so pobrani s HP-UX, ker je poslovenjenje Linuxa zaenkrat se v teku).

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

     \~{}> date
     Sat Oct 19 22:32:04 METDST 1996
     \~{}> LANG=slovene date
     Sob, 19 okt 1996 22:32:04

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

     \~{}> sort abc.tex
     abc
     abca
     abd
     abc
     \~{}> LANG=C LC_COLLATE=slovene sort abc.tex
     abc
     abca
     abc
     abd

Oblika LANG=slovene je nestandardna in jo opuscajo tudi pri Hewlett-Packard. Oblika, ki se uveljavlja, je:

LANG=jezik[ drzava[.nabor]]

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

     LANG=sl SI.88592

Dolocitev drzave in nabora znakov je neobvezna, tako lahko pisemo na kratko

     LANG=sl

Kaze tudi, da bo pri GNU prevladalo ime spremenljivke LANGUAGE namesto LANG.

6.1 Poslovenjenje katalogov sporocil

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

     LANGUAGE=sl

bodo programi iz teh paketov izpisovali slovenska sporocila namesto angleskih. Razprava o poslovenjenju projekta GNU poteka med prejemniki elektronskega spiska <sl@li.org>, nanj se lahko narocite tako, da na naslov sl-request@li.org posljete vrstico

     subscribe

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

7 Linux v Sloveniji

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

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

Ce vas ni med njimi, se prijavite!

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

7.1 Skupina uporabnikov Linuxa

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

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

Skupina ima tudi svoj elektronski spisek, na katerega se prijavite tako, da na naslov majordomo@ro.zrsss.si posljete vrstico

     subscribe lugos-list

v telesu sporocila.

7.2 Strezniki FTP

Na strezniku Slovenskega izobrazevalnega omrezja se zrcali ftp.cs.helsinki.fi.

     <ftp://ro.zrsss.si/pub/Linux/>

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

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

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

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

7.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).

8 O tem spisu

Ta spis je razen na uradnem mestu “Linux Documentation Project” dostopen tudi na

     <http://sizif.mf.uni-lj.si/linux/cee/Slovenian-HOWTO.html>

Vse pripombe na ta spis so dobrodosle na naslov <primoz.peterlin@biofiz.mf.uni-lj.si>, splosna vprasanja o Linuxu in poslovenjenju programov pa sodijo v si.comp.os.unix.

8.1 Vprasanja

8.1.1 Se pravi Slovenian ali Slovene?

Mnenja so deljena. Pisec tega pisanja uporablja “Slovenian” za “slovenski, -a, -o” in “Slovene”, kadar ima v mislih slovenscino kot jezik.

8.1.2 Nasi znaki v tem spisu

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

Kovaceva kobila... Sistem Linuxdoc-SGML, ki je uradni standard za dokumentacijo HOWTO, zaenkrat podpira samo Latin1. Greg Hankins, avtor paketa Linuxdoc-SGML in urednik zbirke HOWTO, se tezave zaveda, enako tudi pisec teh vrstic.

8.2 Uporaba in razsirjanje

Copyright (1996) Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>

Ta spis je avtorsko delo. Uporaba v delu ali v celoti, v nepridobitne ali pridobitne namene, ter razsirjanje v kakrsnikoli obliki, tiskani ali elektronski, je eksplicitno dovoljeno ob navedbi vira. Priporocena oblika navajanja je naslednja:

Peterlin, P. (1996) Slovenian HOWTO, http://sunsite.unc.edu/mdw/HOWTO/Slovenian-HOWTO.html

Avtor bo vesel posamezne kopije publikacije, ki citira to delo.

8.3 Uporaba na lastno odgovornost

Informacije v tem spisu so podane v veri, da so tocne in koristne, vendar pa brez kakrsnegakoli jamstva, izrecnega ali impliciranega, vkljucno, a brez omejitve na implicirano jamstvo za primernost za trzenje ali uporabo. Uporabljate jih lahko izkljucno na lastno odgovornost. Avtor ne odgovarja za kakrsnekoli skodo, posredno ali neposredno, nastalo kot posledico uporabe informacij v tem spisu.

8.4 Note to English readers

This document is a copyrighted work. Its use in part or as whole, for non-profit or for-profit purposes, and its dissemination in any form, either printed or electronic is explicitelly allowed, as long as the above copyright notice is retained on all copies. Its suggested citation is

Peterlin, P. (1996) Slovenian HOWTO, http://sunsite.unc.edu/mdw/HOWTO/Slovenian-HOWTO.html

Single copies of any document citing this guide would be much appreciated.

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 merchantibility 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.