1. Uvod
Gotovo svi korisnici bilo kog operativnog sistema van granica Sjedinjenih Americkih
Drzava imaju dva problema. Prvi je u nacinu saopstavanja kompjuteru da imate tastaturu
koja sadrzi i druge znake osim americkih. Drugi problem je - kako podesiti kompjuter
da prikaze specijalne znake iz abecede (ili azbuke) jezika kojim govorite. Da
stvari budu jos gore, neke aplikacije ce vas smatrati izuzetkom ako niste Amerikanac
i zahtevace specijalne opcije ili podesavanja "environment" promenljivih.
Pod Linuxom mozete da promenite
nacin na koji vas kompjuter interpretira ono sto otkucate na tastaturi. To radite
komandom loadkeys i xmodmap. Komanda loadkeys ce modifikovati tastaturu u konzolnom
nacinu rada, dok ce xmodmap uraditi sve sto je potrebno kada se nalazite u X11
grafickom okruzenju.
Da biste prikazali nasa slova
treba da saopstite aplikacijama da koristite ISO-8859-2 (takodje poznat i kao
Latin-2) skup znakova. Ovo nije uvek potrebno, ali nekoliko kljucnih aplikacija
zahteva posebnu paznju.
Ovaj HOWTO je pisan sa ciljem
da korisnicima koji razumeju srpski jezik objasni kako da izvedu potrebna podesavanja.
Ako budete imali problema i posle citanja ovog dokumenta, mozete da procitate
German HOWTO, Linux Keyboard and Console HOWTO ili ISO 8859-1 National Character
Set HOWTO. Mnogi saveti u ovom tekstu preuzeti su od tamo. Takodje pogledajte
odeljak Vazne reference i FTP sajtovi za linkove ka tim dokumentima. Mozete
poslati i email na moju elektronsku adresu, a ja cu pokusati da vam odgovorim
kad mi vreme dozvoli.
Najveci problem je da su poruke
o greskama, meniji i dokumentacija gotovo svih aplikacija na engleskom jeziku.
Postoji GNU projekt kome je cilj pokusaj resavanja ovog problema. Da biste videli
o cemu se radi, preuzmite datoteku ABOUT-NLS ili paket gettext-0.10.tar.gz (ili
bilo koju noviju verziju) sa vama najblizeg FTP sajta koji ima kopiju prep.ai.mit.edu.
Dokumentacija u paketu gettext opisuje kako da koristite prevode u vasim programima.
2. Prikazivanje nasih slova na
ekranu
2.1 Skup znakova "ISO-8859-2"
ISO-8859-2 ili "Latin-2" je clan porodice osmobitnih kodnih rasporeda
ISO 8859. Taj skup kodnih rasporeda pokriva alfabete kojima se pise u Evropi,
Severnoj i Juznoj Americi, Africi i nekim zemljama Azije. Skup kodnih rasporeda
je napravilo evropsko udruzenje proizodjaca racunara (European Computer Manufacturer's
Association, ECMA), a potvrdio ga je kao medjunarodni standard organizacija
za standardizaciju ISO sa sedistem u Zenevi.
Kodni raspored "Latin 2"
koristi sve potrebne znake koji se koriste za pisanje na albanskom, ceskom,
engleskom, finskom, hrvatskom, irskom, madjarskom, nemackom, poljskom, rumunskom,
slovackom, slovenackom, srpskom (latinica) i luzickosrpskom jeziku.
Neki proizvodjaci racunara ili
operativnih sistema, kao sto su IBM, Apple i Microsoft, upotrebljavaju svoje
kodne rasporede za slova u gorepomenutim jezicima. Ti kodni rasporedi su po
pravilu nepodudarni kako medjusobno, tako i sa ISO standardom.
2.2 Konzolni rezim rada
Skup znakova za konzolni rezim rada mozete naci u paketu kbd koji je napisao
Andrijes Bouver [Andries Bouwer] sa univerziteta u Ajndhovenu [Eindhoven], Holandija.
U Slackware distribuciji pomenuti paket naci cete kao deo veceg paketa keytbls.
Mozete ga instalirati (ako vec to niste ucinili) kao i ostale pakete, naredbom
pkgtool ili installpkg. Kada je rec o distribuciji RedHat, na raspolaganju vam
je RPM paket kbd-x.xx-x. Instalira se na poznati nacin, komandom rpm -Uvv kbd-x.xx-x
(opciju vv navodite ako zelite da vidite sta se desava, sto bih vam toplo preporucio).
Po instalaciji paketa, potreban
skup znakova za prikaz nasih slova dobijate komandom setfont na sledeci nacin:
setfont lat2-16
Vise o paketu kbd naci cete u
poglavlju 3, Podesavanje tastature.
2.3 X-Windows graficko okruzenje
Najkraci postupak za dobijanje nasih slova na ekranu pod X-Windowsima bio bi:
Preuzmite fontove sa slovenackog FTP sajta
ftp://ftp.arnes.si/software/unix/Latin-2-fonts/
Prijavite se na sistem kao root.
Kreirajte odgovarajuce poddirektorijume u direktorijumu /usr/X11R6/lib/X11/fonts.
Na primer:
/usr/X11R6/lib/X11/fonts/ISO-8859-2/100dpi /usr/X11R6/lib/X11/fonts/ISO-8859-2/75dpi
Raspakujte fontove ( tar -xvf ...) u odgovarajuce poddirektorijume.
X server zahteva fontove u odgovarajucem,
prevedenom formatu. Pribavljene fontove prevedite komandom bdftopcf, koja je
deo paketa XFree86-X.X.X-XX (RedHat):
for FILE in *.bdf
do
bdftopcf $FILE -o `basename $FILE .bdf`.pcf
done
Kompresujte tako dobijene fontove
komandom gzip:
gzip *.pcf
U svakom poddirektorijumu X server ocekuje datoteku fonts.dir koja preslikava
imena datoteka sa fontovima u kanonicka imena fontova (X Logical Font Description,
XLFD). Datoteku kreirajte sa
mkfontdir
koju morate ponoviti u svakom poddirektorijumu direktorijuma ISO-8859-2.
Ostaje vam jos samo da X server
"date do znanja" da ste instalirali nove fontove. To cinite nizom
komandi 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 rehash
Ako je sve islo kao sto treba,
naredba
xlsfonts -fn "*-iso8859-2"
mora prikazati nazive novih fontova.
Komanda xset vazi samo dok ne
izadjete iz X Windows-a. Da biste promene u putu za pretrazivanje fontova ucinili
trajnim, morate da promenite konfiguracionu datoteku XFree86 servera. Ona se
nalazi u
/usr/X11/lib/X11/Xconfig (Slackware) ili
/etc/X11/XF86Config (RedHat)
Potrazite u njoj redove koji pocinju
sa FontPath i dodajte:
FontPath "/usr/X11R6/lib/X11/fonts/ISO-8859-2/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/ISO-8859-2/100dpi"
Navodnici oko puta do direktorijuma
se moraju otkucati.
To bi bilo sve. Od sada X-Windows ima "infrastrukturu" za prikazivanje
nasih slova.
3. Podesavanje tastature
3.1 Konzolni rezim rada
skup znakova za konzolni rezim rada i tabele za preslikavanje tastature mozete
naci u paketu kbd Andriesa Brouwera sa univerziteta u Ajndhovenu, Holandija.
Autor paketa je takodje napisao i Keyboard HOWTO (u pripremi na srpskom jeziku),
gde mozete dobiti dodatna obavestenja o ovoj temi. U Slackware distribuciji
mozete naci pomenuti paket pod imenom keytbls, dok je kod RedHat distribucije
u pitanju kbd-X.XX-X.i386.rpm. Paketi se instaliraju komandama pkgtool ili rpm,
respektivno.
Paket kbd sadrzi raspored za srpsku
tastaturu, po ugledu na postojece pisace masine kod nas. Ovaj paket ce raditi
ako prethodno pripremite i odgovarajuce fontove po ISO-8859-2 kodnom rasporedu.
Ukoliko koristite neki drugi kodni raspored na dirkama tastature, pogledajte
datoteke u /usr/lib/kbd/keytables direktorijumu (RedHat) ili /usr/lib/kbd direktorijumu
(Slackware) i napravite ono sto vam je potrebno.
Ceo postupak izbora ekranskg fonta
i rasporeda na tastaturi sastoji se u sledecem:
# Biramo font za ekran visine
16 piksela
setfont lat2-16 ( ili iso02.f16, ako nemate prvi fajl)
# Srpska latinicna tastatura
loadkeys sr
# Aktivacija tastature
echo -e -n "33(K" > /dev/console
Gornje redove mozete dodati u
datoteku /etc/rc.d/rc.local, kako bi se izvrsili prilikom svakog pokretanja
Linuxa.
3.2 X-Windows graficko okruzenje
U X-Windows grafickom okruzenju tastaturu podesavamo za nasa slova komandom
xmodmap. Datoteku sa rasporedom tastera koji se koristi na pisacim masinama
za srpski jezik mozete naci na
ftp://www.linux.org.yu/sr/utils/Xmodmap.sr.pc102
Upotreba je jednostavna:
xmodmap Xmodmap.sl.pc102
Ako hocete da promenu ucinite trajnom, prekopirajte datoteku u ~/.Xmodmap (samo
za vas nalog na Linuxu) ili u /etc/X11/xinit/Xmodmap (raspored tastera ce vaziti
za sve korisnike). Ova promena ce se aktivirati od momenta novog pokretanja
X-Windowsa.
4. Prilagodjavanje nekih aplikacija nasim slovima
Prilagodjavanja tastature i ekrana, na zalost, najcesce nisu dovoljna da bi
pojedini programi korektno postupali sa nasim slovima. Zato su potrebna dodatna
podesavanja. Da bi neki od vaznih programa umeli da prepoznaju nasa slova, potrebno
je uraditi sledece:
4.1 Shell-ovi
bash:
Bourne shell (i Bourne-Again-Shell) ce ispravno razumeti srpska podesavanja
ako u datoteku ~/.inputrc ubacite sledece redove:
set meta-flag on
set convert-meta off
set output-meta on
Mozda ne bi bilo lose da ove redove
dodate u /etc/skel, jer se tamo nalaze datoteke koje se kopiraju u $HOME direktorijum
svakog novog korisnika.
(t)csh:
Unos nasih znakova moguc je ako dodamo sledece redove u ~/.cshrc ili (samo za
vas) ili /etc/csh.cshrc (za sve korisnike):
stty pass8
setenv LC_CTYPE iso_8859_2
setenv LANG C
4.2 Ostali programi
elm:
U datoteku ~/.elm/elmrc dodajte sledece:
charset = iso-8859-2
displaycharset = iso-8859-2
textencoding = 8bit
Medjutim, nije garantovano da
ce ovo raditi u svim verzijama elm-a.
emacs:
Dodajte sledece redove u vasu ~/.emacs datoteku ili u sistemsku inicijaliza-
cionu datoteku (verovatno /usr/lib/emacs/site-lisp/default.el ili /usr/share/emacs/site-lisp/default.el):
(standard-display-european t)
(require 'iso-syntax)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)
groff:
Komandu navedite kao
groff -Tlatin2
Nemojte zaboraviti da ovo izmenite u /etc/man.config da biste dobili nasa slova
u man stranicama, kada one jednog dana budu na raspolaganju na srpskom jeziku.
Takodje, nemojte uklanjati -mandoc prekidac.
joe:
Kucajte komandu kao
joe -asis
ili dodajte sledece u vasu ~/.joerc datoteku:
-asis
Crtica (-) MORA biti u prvoj koloni datoteke.
kermit:
Ovo je najbolje sto mozete dobiti, ali nije bas sasvim zadovoljavajuce. Stavite
sledece u vasu ~/.kermrc datoteku:
set terminal bytesize 8
set command bytesize 8
set file bytesize 8
set file character-set latin2-iso
set transfer character-set latin2-iso
set terminal character-set latin2-iso
less:
Postavite sledecu promenljivu:
LESSCHARSET=latin1
ls:
Kucajte komandu kao
ls -N
ili, ako to ne radi, kao
ls --8bit
man:
Vidite deo o groff komandi.
metamail:
Postavite sledecu promenljivu:
MM_CHARSET-ISO-8859-2
nn:
Stavite sledece u ~/.nn/init datoteku:
set data-bits 8
pine:
Stavite sledecu definiciju u ~/.pinerc datoteku:
character-set=ISO-8859-2
Ovo mozete uraditi i iz "Setup"-a, opcija "Config".
rlogin:
Navedite komandu kao
rlogin -8 neki.sajt.yu
telnet:
Stavite po jednu liniju u vasu ~/.telnetrc datoteku za svaki host kome zelite
da pristupite koristeci telnet:
set outbinary true
Na primer:
moje.malo.mesto.yu set outbinary
true
moj.ISP.yu set outbinary true
tin:
Stavite sledece definicije u vasu ~/.tin/headers datoteku:
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
Sada mozete da saljete poruke
u diskusione grupe koristeci nasa slova.
5. Razna podesavanja
5.1 Vremenska zona
Jugoslavija se nalazi u centralno-evropskoj vremenskoj zoni (CET ili MET) koja
tokom zime odgovara grinickom vremenu uvecanom za 1 sat (GMT+1). Vremensku zonu
na Linux sistemu mozete postaviti pravljenjem simbolicke veze:
ln -sf /usr/lib/zoneinfo/MET /etc/localtime
ili
ln -sf /usr/lib/zoneinfo/Europe/Belgrade /etc/localtime
Ovim, takodje, prelazite na letnje racunanje vremena (GMT+2).
Sistemsko vreme mozete da uskladite sa CMOS casovnikom zadavanjem komande clock
dok ste prijavljeni kao root korisnik. Ako je vas CMOS casovnik podesen na GMT
vreme (poznato i kao UTC vreme - standard svih pravih UNIX sistema), onda mozete
koristiti
clock -u -s
U suprotnom, za uskladjivanje lokalnog vremena koristite
clock -s
5.2 Format papira A4
dvips: Promenite datoteku /usr/lib/texmf/dvips/config.ps
ili ~/.dvips.
ghostscript: Dodajte opciju -sPAPERSIZE=a4 u komandnoj liniji kojom pozivate
program.
ghostview: Dodajte sledecu liniju u ~/.Xresources:
Ghostview.pageMedia: A4
xdvi: Dodajte sledecu liniju u ~/.Xresources:
XDvi.paper: A4
5.3 Format tekstualnih datoteka za druge operativne sisteme
Koristeci paket recode mozete prevesti datoteke koje sadrze tekst u ISO-8859-2
rasporedu u neki drugi raspored, na primer Microsoft CP-1250, IBM Codepage 852
ili neki treci. Upotreba je jednostavna:
recode cp852:latin2
Paket je dostupan kao recode-3.4.tar.gz (ili noviji) na svim sajtovima koji
drze kopiju sajta prep.ai.mit.edu.
6. Podesavanje stampanja
Kod stampanja mozete naici na razne situacije:
Stampac neposredno podrzava ISO
Latin 2 raspored (idealno!)
Stampac podrzava jedan od ostalih 8-bitnih rasporeda sa nasim slovima (na pr.
kodni raspored 852), ali i 7-bitni raspored JUS I.B1.002 (bolje)
Stampac razume PostScript (dobro)
Stampac ne razume nista drugo osim ASCII znakova (lose!)
6.1 Stampaci koji podrzavaju ISO-8859-2 kodnu stranicu
Neki od novijih stampaca neposredno podrzavaju ISO-8859-2 kodni raspored. Medju
njima su:
Hewlett-Packard LaserJet 4 Plus
i 4M Plus
Hewlett-Packard LaserJet 5L
Epson FX-2170
Epson LQ-870
Fujitsu DL700
Fujitsu DL1150/1250
Fujitsu DL3700/3800
Fujitsu DL6400/6600
Sve sto treba da uradite je da stampacu naredite da koristi odgovarajucu kodnu
stranicu. Komandna sekvenca za stampace Hewlett-Packard je:
33(@N33(s0p12h0s0b4099T
gde je 33 oktalni kod znaka Escape.
Jedan od nacina da pomocu datoteke /etc/printcap prilagodimo stampac da stampa
po tom rasporedu opisan je u sledecem odeljku.
6.2 Stampaci koji podrzavaju neki drugi 8-bitni kodni raspored
Ako stampac podrzava neki drugi kodni raspored s nasim slovima, ipak mozemo
pomocu njega stampati tekstove po ISO-8859-2 rasporedu, ako datoteku /etc/printcap
prilagodimo na odgovarajuci nacin.
Postupak cemo objasniti na primeru
stampaca marke Epson, koji ima znake po YUSCII rasporedu na mesto svedske abecede.
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 sa znakovima 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 sa znakovima po 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:
U pitanju su tri reda za stampanje.
Prva je americki (ASCII) izbor znakova. Drugi koristi /var/spool/lpd/jus_epson:
#!/bin/sh
/usr/spool/lpd/jus_epson | lpr -Pascii
Potrebno je da datoteku filtrirate
kroz filter /var/spool/lpd/jus_epson i da je postavite u prvi red za stampanje.
Filter jus_epson ne radi nista drugo osim sto bira svedski kodni raspored, prepise
datoteku sa ulaza na izlaz i na kraju opet bira americki raspored. To je jedini
deo programa koji zavisi od vrste stampaca:
#!/bin/sh
# Stampanje dokumenta kodiranih po JUS I.B1.002 na stampac Epson LQ
#
# Biramo srpski (svedski) raspored
/bin/echo "33R05c"
# Ispisujemo dokument
cat
# Biramo ASCII raspored
/bin/echo "33R00c"
Treci red (queue) je modifikacija
drugog. Najpre se dokument pretvara iz Latin 2 u JUS kodni raspored, zatim se
koristi prethodno opisani filter da doda na pocetku i na kraju potrebne kodove
za stampac, i na kraju se datoteka salje u prvi red za stampanje.
#!/bin/sh
/usr/local/bin/recode --force latin2:yu |
/usr/spool/lpd/jus_epson | lpr -Pascii
Ovde pretpostavljamo da posedujemo
program recode u /usr/local/bin direktorijumu.
U ovu svrhu morate u direktorijumu /usr/spool/lpd (ili /var/spool/lpd) kreirati
poddirektorijume /usr/spool/lpd/epson, /usr/spool/lpd/jus i /usr/spool/lpd/latin2.
Stampanje bi trebalo da ide lako:
Bez eksplicitne izbora reda, ili
sa izborima -Pepson ili -Pascii, datoteka se stampa kao ASCII:
lpr
Izborom reda -Pjus datoteka se stampa kao dokument po JUS I.B1.002 rasporedu:
lpr -Pjus
Izborom reda -Platin2 ili -Ptext datoteka se stampa po ISO-8859-2 rasporedu:
lpr -Platin2
6.3 PostScript stampaci
Datoteku mozete lako odstampati ako koristite jedan od filtera za PostScript
stampace koji podrzavaju ISO-8859-2 raspored. Takvi programi su, na primer,
a2ps i GNU enscript. Poslednji podrzava ISO-8859-2 raspored, dok je podrska
za prvi program u izradi.
Enscript za Red Hat distribucije
mozete naci na http://rufus.w3.org/linux/RPM "skladistu" RPM paketa.
GNU enscript
Ako niste instalirali GNU enscript, mozete to da ucinite po uputstvima koja
prate program. Osim njega, potreban vam je i neki font u Type 1 obliku koji
sadrzi nasa slova. Dobar izbor bi bio IBM Courier, koji se distribuira uz X
Windows sisteme ili sa programom ghostscript. Ako font postoji, ali ne znate
tacno gde se nalazi, mozete ga pronaci komandom
find / -name cour.pf[ab]
U licnu (~/.enscriptrc) ili sistemsku konfiguracionu datoteku (/usr/local/etc/enscript.cfg
ili /usr/loca/etc/enscriptsite.cfg) dodajte put do datoteke sa fontovima. Osim
toga, GNU enscript zahteva u svakom direktorijumu sa fontovima datoteku font.map,
koja sadrzi preslikavanje izmedju fontova i datoteka u kojima se fontovi nalaze
- slicno kao fonts.dir. Datoteku font.map mozete da kreirate naredbom mkafmmap.
Primer konfiguracione datoteke enscriptsite.cfg:
...
# Gde su PostScript fontovi?
AFMPath: /usr/lib/X11/fonts/Type1:/usr/local/lib/ghostscript/fonts
...
# Podrazumevani nacin kodiranja:
DefaultEncoding: latin2
...
# Podrazumevani format papira:
DefaultMedia: A4
...
# lpd bira red za stampanje prekidacem -P...
QueueParam: -P
...
# Za stampanje koristimo naredbu lpr, a ne lp
Spooler: lp
Posto ste sve namestili, jednostavno
posaljite datoteku na stampanje komandom
enscript
Ovaj tekst je preuzet sa http://www.linuxselfhelp.com i autor ovog prevoda je
Zoltan Csala
|