Slovenian HOWTO
Primoz Peterlin
<primoz.peterlin@biofiz.mf.uni-lj.si>
v2.9, 15 February 1999
Zbirka receptov za poslovenjenje sistema Linux.
(Note to English readers: this document addresses Linux localization
issues specific to Slovenian users.)
Linux je izvedba vecopravilnega, vecuporabniskega operacijskega
sistema Unix za osebne racunalnike s procesorji Intel (80386, 80486,
Pentium, Pentium MMX, Pentium Pro in Pentium II), Digital AXP 21x64,
Sun SPARC in Motorola 680x0, v delu pa so priredbe za Power PC, MIPS
in ARM. Jedro operacijskega sistema je ob pomoci in sodelovanju
stevilnih zanesenjakov z Interneta napisal Linus Torvalds z univerze v
Helsinkih na Finskem. Skupaj s programi iz projektov GNU, X Window
System in BSD predstavlja sodobno programsko okolje, enakovredno
komercialnim razlicicam sistema Unix.
Linux je prost program, dostopen skupaj z izvorno kodo.
Najnovejse razlicice programja za Linux je moc najti na:
ftp://metalab.unc.edu/pub/Linux/
ftp://tsx-11.mit.edu/pub/linux/
Obe mesti sta navadno tezko dostopni in zelo zasedeni, zato
uporabimo eno od stevilnih mest, kjer se zrcali vsebina zgornjih
dveh; pametno je, da zacnemo na katerem od domacih zrcal; nasteta so
v poglavju
Linux v Sloveniji.
V tem spisu so zgledi zamaknjeni od roba in izpisani v
pisavi fiksne sirine, npr.
echo "Pozdravljeni"
Psevdoimena v zgledih so izpisana s lezeco razlicico iste pisave,
npr.
ls 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
).
Nanj kaze tudi sistemska spremenljivka $HOME
.
Nadalje je za nastavitve spremenljivk okolja v tem spisu vseskozi
uporabljan zapis, ki se uporablja v Bournovi ukazni lupini in
njenih izpeljankah (Kornova lupina, lupina bash
).
Bralec ali bralka, ki uporablja ukazno lupino C (csh
ali
tcsh
), bo znal(a) sam(a) prevesti primere
SPREMENLJIVKA=vrednost; export SPREMENLJIVKA
(ali celo
export SPREMENLJIVKA=vrednost
,
kar dopusca
bash
) v analogne
setenv SPREMENLJIVKA vrednost
To poglavje ponuja nekaksna ``Izbrana poglavja iz slovenskega HOWTO''
za tiste, ki se jim zdajle mudi, da bi lahko bodisi v znakovnem,
bodisi v graficnem nacinu, takoj zaceli tipkati z nasimi znaki, k
branju celotnega spisa pa bi se vrnili kdaj kasneje in v miru. Omenim
naj edino se to, da sta prilagoditev konzole in prilagoditev okolja X
Window System povsem neodvisna.
Trije koraki so potrebni, da znakovni terminal (ki se mu iz razlogov,
po starosti dalec presegajocih povprecnega uporabnika Linuxa, vcasih
pravi tudi konzola) prilagodimo za delo z nasimi znaki:
- Omogociti moramo prikaz nasih znakov v znakovnem nacinu. Opisano
v razdelku
Konzola poglavja
``Prikaz nasih znakov na zaslonu''.
- Nastaviti moramo ustrezno preslikavo tipkovnice. Opisano v
razdelku
Konzola poglavja
``Tipkovnica''.
- Ukazno lupino moramo nastaviti tako, da bo dovoljevala vnos
osembitnih znakov. Opisano v razdelku
bash v podpoglavju o ukaznih lupinah (ali v razdelku
tcsh, ce uporabljate to ukazno lupino).
Z okoljem X Window System je podobno kot s konzolo, le pot je
malenkost daljsa.
- Namestiti moramo nase znake in pripraviti graficno okolje X
Window System do tega, da jih bodo uporabljali. Opisano v
razdelku
X Window System poglavja
``Prikaz nasih znakov na zaslonu''.
- Nastaviti moramo preslikavo tipkovnice. Opisano v razdelku
X Window System poglavja ``Tipkovnica''.
- Nastaviti moramo terminalski emulator, da bo prikazoval nase
znake. Opisano v razdelku
xterm poglavja
o terminalskih emulatorjih.
- Ukazno lupino moramo nastaviti tako, da bo dovoljevala vnos
osembitnih znakov. Opisano v razdelku
bash v podpoglavju o ukaznih lupinah (ali v razdelku
tcsh, ce uporabljate to ukazno lupino).
ISO 8859-2 oz. ISO Latin 2 je clan druzine osembitnih naborov znakov
ISO 8859, ki pokriva potrebe alfabetskih pisav (latinica in cirilica
ter arabska, hebrejska in grska pisava; v pripravi sta tudi armenska
in gruzinska). Druzino je zasnovalo evropsko zdruzenje proizvajalcev
racunalnikov (European Computer Manufacturer's Association, ECMA), kot
mednarodni standard pa potrdila organizacija za standardizacijo ISO s
sedezem v Zenevi.
Nabor ISO Latin 2 vsebuje vse potrebne znake za pisanje v albanscini,
anglescini, bosnjascini, cescini, finscini, hrvascini, irscini,
luziski srbscini, madzarscini, nemscini, poljscini, romunscini,
slovascini, slovenscini, ter srbscini v latinicnem precrkovanju.
Nekaj proizvajalcev strojne in programske opreme, med njimi IBM, Apple
in Microsoft, uporablja svoje kodne strani za kodiranje znakov
srednje- in vzhodnoevropskih narodov. Te kodne strani so praviloma
nezdruzljive tako med seboj, kot tudi s standardom ISO.
Nabor znakov za sistemsko konzolo najdemo v
paketu kbd Andriesa Brouwerja z univerze v Eindhovnu,
Nizozemska. Paket je del vseh distribucij Linuxa in se avtomaticno
nalozi ob namestitvi sistema. Pisave in pretvorne tabele so zlozene
v imeniku /usr/lib/kbd. (Avanturisti se lahko namesto
s paketom kbd
igrajo s prototipnimi
Linux Console Tools avtorja Yanna Dirsona.)
V starejsih distribucijah Slackware se je prevedeni paket imenoval
keytbls. Namestimo ga enako kot druge pakete, z ukazom
pkgtool
ali installpkg
.
Ko imamo paket enkrat namescen, izberemo drugo pisavo
na zaslonu z ukazom setfont
. Spodnji zgled izbere
pisavo z naborom znakov po standardu ISO Latin 2 v velikosti
sestnajst pik:
setfont lat2-16
Za nas zanimive pisave so iso02.f08,
iso02.f14 in iso02.f16, ter
lat2-08.psf, lat2-10.psf,
lat2-12.psf, lat2-14.psf in
lat2-16.psf (pripono
.psf
lahko pri ukazu
setfont
izpuscamo).
Izbrana pisava velja v vseh virtualnih terminalih (glej
console(4)
) na konzoli. Ce nam to ni vsec, ampak bi radi imeli v
vsakem virtualnem terminalu svojo pisavo, si lahko pomagamo s programom
vtfontd
Iana Zimmermana. Ta vsakic, ko zapustimo virtualni
terminal, shrani izbrano konzolno pisavo, in jo ponovno restavrira, ko
se vrnemo vanj.
ftp://sizif.mf.uni-lj.si/pub/linux/vtfontd-1.0.1.tar.gz
Z izbiro pisave smo opravili sele nekako tretjino vsega dela,
potrebnega, da bi lahko v tekstovnem okolju pisali po slovensko.
Izvesti moramo vsaj se preslikavo tipkovnice ter omogociti vnos
osembitnih znakov v ukazni lupini. Nestrpna bralka ali bralec si lahko
potrebno prebere v razdelku
Konzola
poglavja ``Tipkovnica'' ter v o razdelku ukazni lupini
bash v poglavju o ukaznih lupinah.
Kratka navodila za namestitev pisav z nasimi znaki za uporabo z
X Window System in streznikom XFree86.
- Pisave snamemo z najblizjega streznika FTP:
ftp://ftp.arnes.si/software/unix/Latin-2-fonts/
Datoteka ISO8859-2-bdf.tar.gz vsebuje najpopolnejsi nabor
pisav, kodiranih po ISO 8859-2, vecino uporabnih pisav pa vsebuje tudi
xfonts-iso2-0.84.tar.gz. Po obicajnem postopku
(tar -xzf ...
) jih dekomprimiramo in razpakiramo.
- Pisavam z nasimi znaki dolocimo mesto v drevesni strukturi
imenikov. Obicajno je to podimenik v imeniku
/usr/X11R6/lib/X11/fonts/ (vcasih tudi
/usr/lib/X11/fonts/,
/usr/lib/X11R6/lib/X11/fonts ali celo
/usr/X386/lib/X11/fonts/ kar pa naj nas ne moti). Mozen
primer:
/usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi/
/usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi/
/usr/X11R6/lib/X11/fonts/iso_8859.2/misc/
Ce imenikov s tem imenom se ni, jih ustvarimo.
- Streznik X ne zna uporabiti pisav v enakem formatu, kot se
distribuirajo, zato jih moramo s programom
bdftopcf
prevesti iz formata BDF (Binary Distribution Format) v format
PCF (Portable Compiled Format). Starejse izdaje X Window System so
namesto slednjega uporabljale format SNF (Server Native Format), ki pa
se danes ne uporablja vec.
for FILE in *.bdf
do
bdftopcf $FILE -o `basename $FILE .bdf`.pcf
done
(da, ukazi v bash
lahko segajo tudi prek vecih vrstic). Pisav v
obliki BDF zdaj ne potrebujemo vec in jih lahko pobrisemo.
- Streznik X zna uporabiti stisnjene datoteke s pisavami,
kar lahko izkoristimo in prihranimo se nekaj prostora na disku.
gzip *.pcf
Starejse izdaje streznika X podpirajo le stiskanje s
compress
.
- V vsakem imeniku s pisavami pricakuje streznik datoteko
fonts.dir, ki podaja preslikavo med opisi pisav (X
Logical Font Description, XLFD) in imeni datotek. Ustvarimo jo z
ukazom
mkfontdir
Ukaz moramo pognati v vsakem podimeniku s pisavami.
- Koncno lahko streznik obvestimo o tem, da smo namestili
nove pisave, kar storimo z ukazom
xset
:
xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi/
xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi/
xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/misc/
xset fp rehash
Ce je slo vse gladko, mora ukaz
xlsfonts -fn "*-iso8859-2"
pokazati seznam vseh novo namescenih pisav.
- Ukaz
xset
velja samo, dokler ne zapustimo X Window
System. Trajno spremembo dosezemo s popravkom konfiguracijske
datoteke. Streznik
XFree86 hrani svoje nastavitve v datoteki
/etc/XF86Config (pisec teh vrstic je v nekaj letih
ukvarjanja z XFree86 na razlicnih distribucijah nastavitve videl tudi
ze v datotekah /etc/X11/XF86Config,
/usr/X11R6/lib/X11/XF86config in
/usr/X11/lib/X11/Xconfig). Poiscemo niz FontPath
in dodamo vrstice:
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/misc"
To je vse. Od zdaj naprej zna X Window System na zahtevo programa
prikazati tudi nase znake. Vec o tem, kako program,
npr. xterm
, pripravimo do tega, da zahteva nase znake, si
preberemo v razdelku
xterm poglavja o
terminalskih emulatorjih.
Streznik X zna uporabljati rastrske pisave v oblikah PCF, SNF in BDF
ter vektorske pisave v obliki Speedo in Type 1. Pri majhnih velikostih
(do 10 tipografskih pik) so rastrske pisave na zaslonu navadno lepse,
pri vecjih velikostih, npr. v graficnih programih, pa so vektorske
pisave znatno lepse.
Nekaj vektorskih pisav Type 1 v kodnem razporedu ISO Latin 2 je
pripravil Peter Soos. Pri namescanju v celoti sledimo postopku,
opisanem v razdelku
X Window System
poglavja
Prikaz nasih znakov na zaslonu. S
streznika snamemo datoteko v obliki zip
:
ftp://ftp.arnes.si/software/unix/Latin-2-fonts/l2pfb005.zip
Se vec pisav je zbrala ceska skupina, paket RPM (vsebino namestimo z
ukazom rpm -Uvh ...
) najdemo na
ftp://crash.fce.vutbr.cz/pub/linux_fonts/X11fonts-ulT1mo-beta-1.0-4.noarch.rpm
Ustvarimo nov imenik,
npr. /usr/X11R6/lib/X11/fonts/iso_8859.2/Type1, in vanj
stresemo vsebino arhiva l2pfb004.zip. Avtor je ze
pripravil datoteki fonts.scale in fonts.dir.
Ponovimo vajo z xset
in v nastavitveno datoteko dodamo
vrstico:
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/Type1"
Namesto
xlsfonts
tokrat iz okenskega okolja X Window System
pozenimo
xfontsel
. Novo namescene pisave najdemo najhitreje,
ce jih iscemo po ``crkolivnici'' (angl. type foundry)
sp
(po
avtorjevih zacetnicah) v prvem stolpcu (
fndry
). Izberite
kaksno veliko povecavo (
pxlsz
) in primerjajte z rastrskimi
pisavami!
Rasterizator za pisave TrueType se ni standardni del paketa X Window
System. Fantje iz The XFree86 Project, Inc. nacrtujejo vkljucitev
podpore zanje v izdaji XFree86 4.0.
Freetype in xfsft
Mark Leisher in Juliusz Chroboczek sta standardni streznik pisav iz
okolja X Window System dopolnila s FreeType, prostim rasterizatorjem
za pisave TrueType, ki so ga napisali David Turner, Robert Wilhelm,
Werner Lemberg in sodelavci. Streznik je na voljo kot izvorna koda, s
katero lahko pokrpate izvorno kodo streznika X, ali pa kot ze preveden
program za Linux.
http://www.freetype.org/
http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/
Predpostavili bomo, da ste na kakrsenkoli nacin ze uspeli priti do
izvedljive datoteke xfsft.
- Ustvarimo imenik za pisave TrueType,
npr. /usr/X11R6/lib/X11/fonts/TrueType/ in vanj prepisemo
datoteke s pisavami TrueType.
- V omenjenem imeniku ustvarimo datoteko
fonts.scale. Preprost primer taksne datoteke je
naslednji:
5
times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-1
times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-2
times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-5
times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-koi8-r
times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso10646-1
Opazimo lahko, da se vseh pet vrstic nanasa na eno in isto
datoteko. Razlikujejo se le po kodnem naboru. Ker datoteka vsebuje
vse potrebne znake, jo streznik pisav aplikacijam lahko predstavi kot
katerokoli od nastetih petih kodnih naborov.
Joerg Pomnitz je napisal programcek ttmkfdir, ki
avtomaticno pregleda vse datoteke TrueType in ustvari datoteko
fonts.scale.
http://www.darmstadt.gmd.de/~pommnitz/xfsft.html
- V istem imeniku zatem pozenemo se mkfontdir. Ta ne
bo napravil nic drugega, kot obstojeco datoteko
fonts.scale nespremenjeno prepisal v datoteko z imenom
fonts.dir.
- S streznikom pisav xfsft bodisi prepisemo obstojeci
streznik (navadno /usr/X11R6/bin/xfs, ali pa ga
premaknemo na kaksno drugo primerno mesto.
- Streznik pisav potrebuje konfiguracijsko datoteko. Spodnja naj
sluzi za zgled, ce nimate boljse:
clone-self = off
use-syslog = off
client-limit = 20
catalogue = /usr/X11R6/lib/X11/fonts/TrueType,/usr/X11R6/lib/X11/fonts/Type1
error-file = /usr/X11R6/lib/X11/fs/fs-errors
# in decipoints
default-point-size = 120
# x,y
default-resolutions = 100,100,75,75
Zdaj lahko pozenemo streznik pisav X. Pri zgledu smo uporabili vrata
7100. Ce so na vasem sistemu ze zasedena, izberite druga. Za
podrobnosti si oglejte prirocnik xfs(1)
.
xfsft -port 7100 -config /usr/X11R6/lib/X11/fs/config &
- Ne da bi spreminjali pot, v kateri iscemo pisave, lahko
preverimo, ce streznik deluje:
fslsfonts -server localhost:7100
- Ce smo zadovoljni, dodamo streznik pisav med vire, kjer iscemo
pisave, npr.
xset fp+ tcp/localhost:7100
Streznik pisav lahko seveda tece tudi na drugem racunalniku, tako da
ni potrebe, da imamo na vseh racunalnikih v lokalni mrezi namescene
vse pisave.
Dokoncno dodamo streznik pisav v konfiguracijsko datoteko
/etc/XF86Config:
FontPath "tcp/localhost:7100"
Xfstt
Drugi streznik pisav za X11, ki podpira pisave TrueType, je
Xfstt. Pisec teh vrstic z njim nima izkusenj, je pa z veseljem
pripravljen na to mesto vkljuciti izkusnje drugih. Xfstt najdete na
navedenem mestu in vseh zrcalih le-tega.
ftp://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz
Nabor znakov za sistemsko konzolo in tabele za premapiranje
tipkovnice najdemo v
paketu kbd Andriesa Brouwerja z univerze v Eindhovnu,
Nizozemska. Avtor paketa je napisal tudi
Keyboard HOWTO, kjer si lahko o tej temi preberemo vec.
Paket je del vseh obicajnih distribucij in se nalozi avtomaticno ob
namestitvi sistema.
V starejsih distribucijah Slackware se je prevedeni paket imenoval
keytbls. Namestimo ga enako kot druge pakete, z ukazom
pkgtool
ali installpkg
.
Paket kbd
vsebuje tabelo za slovensko tipkovnico s 102
tipkama in zaslonske pisave za kodni nabor ISO Latin 2. Vsi, ki
iz kakrsnihkoli razlogov uporabljajo drugacno tipkovnico, si
lahko na osnovi zgledov v /usr/lib/kbd/ pripravijo
svojo. Marko Macek je ze pripravil tabelo preslikav za amerisko
tipkovnico s 101 tipko:
http://www.kiss.uni-lj.si/~k4fr0235/kbd/
Celoten postopek za izbiro zaslonske pisave, tabele za
tipkovnico in uporabo le-te je taksen:
# Izberemo pisavo z naborom ISO Latin 2 v velikosti 16 pik
setfont lat2-16
# Nalozimo prireditveno tabelo za slovensko tipkovnico...
loadkeys slovene
# ...in jo izberemo
echo -e -n "\\033(K" > /dev/console
Distribucija Debian pozna tudi ukaz kbdconfig
, ki opravi
isto.
Ce zelimo, da je taksna nastavitev trajna, dodamo zgornjih sest vrstic
v nastavitveno datoteko /etc/rc.d/rc.local
, ki se izvede
ob zagonu operacijskega sistema. Ce ob tem omogocimo se vnos osembitnih
znakov v ukazni lupini
bash, je to najnujnejse,
kar je potrebno za pisanje po slovensko v tekstovnem nacinu.
V X Windows System lahko spreminjamo razpored tipk na tipkovnici
z ukazom xmodmap
. Tabelo preslikav za obicajno tipkovnico
s 102 ali 105 tipkami, kot je v rabi pri nas, lahko snamemo z
ftp://sizif.mf.uni-lj.si/pub/i18n/Xmodmap.sl.pc102
Uporaba je enostavna:
xmodmap Xmodmap.sl.pc102
Preslikava tipkovnice velja, dokler ne zapustimo okolja X Window
System. Zamenjamo jo lahko s ponovnim ukazom
xmodmap
, ki mu
kot argument podamo datoteko s tabelo preslikav. Tabela za standardno
amerisko tipkovnico navadno najdemo kot
/usr/X11R6/lib/X11/etc/xmodmap.std. Ce je ne, si jo lahko
pripravimo sami:
preden nalozimo slovensko preslikavo
tipkovnice, pozenemo:
xmodmap -pke > Xmodmap.us
To potem nalozimo enako kot slovensko tabelo.
Ce zelimo ta razpored trajno namestiti, preimenujemo datoteko bodisi v
~/.Xmodmap (osebna nastavitev) ali pa v
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap (skupna
nastavitev za vse uporabnike; ponekod se ta datoteka imenuje tudi
/etc/X11/xinit/Xmodmap), ki se avtomaticno nalozi ob
vsakem zagonu X Window System. Ce se ne nalozi, preverite
svojo datoteko ~/.xinitrc. V njej mora biti nekaj
takega kot:
usermodmap=$HOME/.Xmodmap
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
Ob preslikavi tipkovnice ne pozabimo na to, da moramo tudi v ukazni
lupini omogociti vnos osembitnih znakov (poglavje
Ukazne lupine).
Xks
Cesko podjetje Informatica s.r.o. se je problema preslikave tipkovnice
lotilo drugace. Njihov produkt Xks je streznik, ki se vgnezdi med
streznik X in namenske programe ter prestreze vse dogodke
KeyPress
ter jih po potrebi modificira. Ta resitev deluje
tudi pri slabo napisanih programih, pri katerih preslikava z
xmodmap
ne deluje, obljublja pa tudi resitev za aktivacijo
nemih tipk (tipke v zgornji vrstici slovenske tipkovnice lahko v
kombinaciji s tipko AltGr
delujejo kot neme tipke).
http://www.informatica.cz/
Xks je program na pokusino (shareware); registracija izvedbe za Linux
stane 900 ceskih kron (okrog 4500 tolarjev). Pisec teh vrstic se
zaenkrat se ni utegnil ukvarjati s njim, bi pa z veseljem vkljucil na
to mesto izkusnje drugih.
Z izrazom locale oznacujemo skupek lastnosti programskega
okolja, odvisnih od jezikovnega in kulturnega okolja
uporabnika. Mednje sodi informacija o tem, kateri znaki so crke in
kaksen je njihov vrstni red, nacin izpisa datuma in ure, izbiro locila
v zapisu decimalnih stevil (vejica oz. pika), zapis valute in
sporocila programov uporabniku.
Programski vmesnik za internacionalizacijo in lokalizacijo na
sistemih, zdruzljivih s standardi POSIX, je definiran v standardu
ISO/IEC 9899 (Programski jezik ISO C) ter IEEE 1003.2
(POSIX.2). Informacije, pomembne za lokalizacijo, razvrsca v sest
kategorij:
LC_CTYPE
(znaki, ki predstavljajo abecedo)
LC_COLLATE
(vrstni red znakov v abecedi)
LC_TIME
(izpis datuma in ure)
LC_NUMERIC
(izpis stevilcnih vrednosti)
LC_MONETARY
(izpis valute)
LC_MESSAGES
(komunikacije z uporabnikom)
LC_ALL
zajema vseh nastetih sest kategorij. Medtem ko projekt
GNU pri izvedbi prvih petih kategorijah zvesto sledi standardu, se je
v sesti odlocil za njegovo razsiritev. Standardizacijski komite se
namrec ni mogel zediniti okrog izvedbe ravnanja s prevodi sporocil,
zato je standard v tej tocki prakticno neuporaben: doloca le prevode
za ``da'' in ``ne''. Projekt GNU je zato razvil svojo metodo, to je
paket GNU gettext
. Prevedeni katalogi sporocil, ki jih
uporablja mehanizem gettext
se navadno nahajajo v podimenikih
imenika /usr/share/locale/.
Sledi nekaj primerov odziva poslovenjenega sistema. Primeri so pobrani
s HP-UX, ker je lokalizacija Linuxa zaenkrat se v teku -- knjiznica
GNU libc 2.0 in kasnejse izpeljanke sicer ze ponujajo okvir za
lokalizacijo, izvedba pa zaenkrat se zaostaja, zato koncepta zaenkrat
se ne moremo ilustrirati s programi iz paketov textutils
,
fileutils
ipd.
Z nastavitvijo spremenljivke LANG
na slovenski locale se
spremenijo vsi prilastki:
~> date
Sat Oct 19 22:32:04 METDST 1996
~> LANG=sl_SI.iso88592 date
Sob, 19 okt 1996 22:32:04
Lahko pa jih spreminjamo tudi vsakega posebej. Ce zelimo obdrzati
angleske izpise, obliko datuma, decimalno piko ipd., zeleli pa
bi, da gre urejanje crk po slovenski abecedi, spremenimo samo
LC_COLLATE
:
~> sort abc.tex
abc
abca
abd
abc
~> LANG=C LC_COLLATE=sl_SI.iso88592 sort abc.tex
abc
abca
abc
abd
Seveda
LC_COLLATE
ne resi vseh problemov v zvezi z urejanjem.
Pri razvrscanju kastiljskih kraljev bi, recimo, zeleli, da pride Alfonz IX.
za Alfonzem VIII. in pred Alfonzem X. Kar pa je verjetno ze problem za
umetno inteligenco...
Spremenljivka LANG
ima v splosnem obliko:
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.iso88592
Dolocitev drzave in nabora znakov je neobvezna (pomembna je seveda pri
jezikih, ki se govorijo v vec drzavah; kaksen locale uporabljajo
Slovenci v zamejstvu, je piscu teh vrstic neznano), tako lahko pisemo
na kratko
LANG=sl
Paket GNU gettext
ponuja nekaj orodij za lokalizacijo:
xgettext
, ki iz izvorne kode izlusci sporocila
msgcmp
, ki primerja dva kataloga sporocil
msgmerge
, zdruzi star preveden katalog sporocil z
novim, neprevedenim
msgfmt
, ki prenosen katalog sporocil prevede v binarno
obliko
msgunfmt
, obratno od msgfmt
S kratkim zgledom ilustrirajmo, kako poteka pisanje lokaliziranega
programa s paketom GNU gettext
.
- Najprej napisemo program zgled.c. Pri pisanju
programa ze vkljucimo mehanizme internacionalizacije:
#include <locale.h>
#include <stdio.h>
#include <libintl.h>
#define PACKAGE "zgled"
#define LOCALEDIR "/usr/local/share/locale"
char main() {
setlocale (LC_MESSAGES, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
printf("%s\n", gettext("This is a short example."));
printf("%s\n", gettext("Author: Primoz Peterlin"));
return(0);
}
- Z ukazom
xgettext
iz izvorne kode izluscimo izpise na
zaslon:
xgettext zgled.c
S tem smo ustvarili datoteko messages.po. To je obicajna
besedilna datoteka, ki vsebuje skelet prevodov sporocil.
- Datoteko messages.po z urejevalnikom dopolnimo s
prevodi, recimo takole:
# Slovenski prevod zgleda
# Primoz 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: Primoz Peterlin"
- Popravljeno prenosljivo datoteko s sporocili (angl. portable
message file) messages.po prevedemo v binarno obliko:
msgfmt -v -o zgled.mo messages.po
- Binarno datoteko prestavimo v imenik, kjer jo bo
gettext
nasel:
mv zgled.mo /usr/local/share/locale/sl/LC_MESSAGES
- Program prevedemo in povezemo s knjiznico libintl.a:
gcc -o zgled zgled.c -lintl
- Pa poskusimo, kaksna je razlika!
LANG=C ./zgled
LANG=sl ./zgled
LC_ALL=sl ./zgled
LC_MESSAGES=sl ./zgled
LC_CTYPE=sl ./zgled
LC_ALL=sl_SI.iso88592 ./zgled
V prvem in zadnjem primeru je izpisano sporocilo anglesko, v
predzadnjem pa verjetno tudi. V prvem zato, ker smo eksplicitno
zahtevali locale ``C'', v zadnjem pa zato, ker smo zahtevali locale
``sl_SI.iso88592'', v katerem ni prevoda sporocil -- to namrec obstaja
za locale ``sl''. V predzadnjem zgledu smo uporabili pravi locale, a
irelevantno kategorijo LC_CTYPE
namesto uporabljene
LC_MESSAGES
.
Se dve opombi: imenik, kamor prestavimo katalog sporocil, se mora
ujemati z imenikom LOCALEDIR
, navedenim v izvorni
kodi. Tezavo, da GNU gettext
razume ``sl'' in
``sl_SI.iso88592'' kot razlicna locala, je pisec teh vrstic resil z
simbolno povezavo v imeniku /usr/local/share/locale:
ln -s sl sl_SI.iso88592
V teku je internacionalizacija projekta GNU (programi iz projekta
GNU predstavljajo znaten del celotnega sistema Linux in vecino
tistega, s cimer se sooca koncni uporabnik). Trenutno so v
slovenscino ze prevedena sporocila za naslednje pakete GNU:
enscript
, fileutils
, gettext
,
grep
, hello
, recode
in tar
.
Z nastavitvijo spremenljivke okolja
LANG=sl
bodo programi iz teh paketov izpisovali slovenska sporocila
namesto angleskih.
Razprava o poslovenjenju projekta GNU poteka med prejemniki
elektronskega spiska <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!
Na tem mestu bi se v idealnem svetu opis poslovenjenja Linuxa lahko
koncal. Povedali smo vse potrebno o vnosu in izpisu nasih znakov, ter
kako z definiranjem spremenljivk okolja programom dopovemo, da delamo
s slovenskimi besedili. To poglavje je takorekoc v celoti posveceno
izjemam -- programom, ki iz taksnih ali drugacnih razlogov ne
uporabljajo lokalizacijskih spremenljivk, alternativnim metodam za
vnos ali izpis znakov, ki v izjemnih primerih (npr. ce nimamo
tipkovnice s slovenskimi znaki) lahko vseeno pridejo prav, in
podobnemu.
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 slovenscino, ko ste ze pri poslu, si
lahko zivljenje olajsate se s tem, da tipkam Home
,
Delete
in End
vrnete njihov obicajni pomen: v isto
datoteko (~/.inputrc) dodate se vrstice
"\e[1~": beginning-of-line
"\e[3~": delete-char
"\e[4~": end-of-line
tcsh
Vnos osembitnih znakov omogocimo, ce v nastavitveno datoteko
(/etc/csh.login za skupne nastavitve oz.
~/.tcshrc ali ~/.cshrc za osebne
nastavitve) dopisemo vrstico:
setenv LC_CTYPE sl_SI.iso88592
Med nami: kaze, da je ukazni lupini tcsh
povsem vseeno, na
kaj nastavite spremenljivko LC_CTYPE
, samo da ni
nedefinirana.
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''. Ce se pri vas ne izpise, vam verjetno ne
preostane drugega, kot da snamete izvorno kodo in jo prevedete.
xterm
V datoteki ~/.Xresources (osebna nastavitev)
ali pa v datoteki /usr/lib/X11/app-defaults/XTerm
(skupna nastavitev) dolocimo pisave, ki jih uporablja XTerm.
Izberemo pisavo, ki ima vse znake enako siroke, npr. ,,fixed``
ali ,,Courier``, in je kodirana po razporedu ISO Latin 2.
Zgled:
XTerm*font: -*-fixed-medium-r-normal--16-*-iso8859-2
XTerm*boldFont: -*-fixed-bold-r-normal-sans-16-*-iso8859-2
Primerne pisave lahko izpisemo z ukazom xlsfonts
(glej se
razdelek
X Window System poglavja
``Prikaz nasih znakov na zaslonu''):
xlsfonts -fn '*-fixed-*-iso8859-2'
rxvt
Po podatkih v ceskem HOWTO rxvt
zaenkrat (razvojna izdaja
2.4.6) ne deluje z nasimi znaki brez posegov v izvorno kodo. Potrebne
posege najdete v ``Czech HOWTO'' (ki ni del arhiva LDP;
glejte razdelek
Zahvala, kje ga najdete).
WordPerfect
(Jaka Mele, Vse naredim pod Linuxom!, Win.Ini, l.6, st.9, str.60)
WordPerfect ima vse potrebne znake ze v svoji tabeli. Vse, kar
moramo napraviti, je da za nase crke definiramo makroukaze. Recimo,
da bi radi definirali crko S (velika crka S s stresico). Pricnemo
s snemanjem makroukaza (recimo mu Scaron), skocimo v tabelo
znakov, v njej izberemo crko S, zakljucimo makro in nazadnje pri
nastavitvah povezemo makro z izbrano tipko.
(Jaka Mele, Message-id:
<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.
Star Office
(Jaka Mele, Vse naredim pod Linuxom!, Win.Ini, l.6, st.9, str.60)
StarOffice je malce tezavnejsi, zato, ker rabi dodatne Type1 fonte, pa
vendarle povejmo recept se zanj. Kot prvo si torej moramo dobiti
slovenske oziroma latin2 pisave (pfb, afm, fonts.dir in
fonts.scale) iz recimo ftp streznika drustva uporabnikov
linuxa slovenije
ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/,
datoteki l2afm004.zip in l2pfb004.zip). Nato
arhiva odpremo v /usr/lib/X11/fonts/Type1.Latin2/, ter ta
imenik dodamo v spisek imenikov s pisavami, ki jih uporabi XWindow
streznik. To naredimo tako, da v datoteko
/etc/X11/XF86Config dopisemo:
FontPath "/usr/X11R6/lib/X11/fonts/Type1.Latin2/"
Za tem pozenemo
xset fp+ /usr/X11R6/lib/X11/fonts/Type1.Latin2/
ter se xset fp rehash
. Nato je potrebno v direktoriju
/usr/local/StarOffice3-1/x3p/fontmetrics/ za
.afm
datoteke narediti povezave iz
/usr/lib/X11/fonts/Type1.Latin2/. Podobno naredimo se za
direktorij /usr/local/StarOffice3-1/x3p/pssoftfonts/, le
da sem povezemo .pfb datoteke. Skoraj smo ze na koncu, v datoteko
/usr/local/StarOffice-3.1/xp3/psstd.fonts dodamo po vzoru
ze dodanih pisav v datoteki fonts.dir iz Latin2 podrocja, vse nove
pisave, tako, da namesto npr. arial.pfb pride
arial
, namesto -0-0-0-0
pa -%d-%d-%d-%d...
Saj se takoj vidi. Na koncu si premapirajmo se tipkovnico in sicer s
programom xmodmap, tako da izvrsimo xmodmap
xmodmap.si
. Ce imate starejsi Xwindow sistem, si boste morda
morali xmodmap.si se popraviti, da vam bosta tipki
Backspace in Delete delali normalno, sicer pa samo pozenete
swriter3 in uzivate v dodatnih slovenskih pisavah.
Applixware
(Boris Pozar, Message-Id:
<346044BF.FE97E3AF@guest.arnes.si>
)
Z Lugosovega streznika snamemo pisave TrueType v kodnem naboru ISO
8859-2. Potem jih kot root
s FontManagerjem dodamo v katalog
pisav in zadeva je resena.
ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/l2ttf004.zip
GNU emacs
Emacs je, tako kot njegov avtor, kontroverzni Richard M. Stallman,
urejevalnik, glede katerega ljudje niso indiferentni: ali ga obozujejo,
ali pa sovrazijo. Emacs je vec kot urejevalnik; je takorekoc
nacin zivljenja. V njem lahko pisete programe, iz njega poganjate
prevajalnik, pisete besedila, poganjate crkovalnik, poganjate TeX,
berete posto in novice... Ko enkrat v resnici dobro obvladate Emacs,
imate realne moznosti, da se vam se dobrsen del naslednjega stoletja
ne bo treba nauciti nobenega novega urejevalnika. Dokazano pa ljudje
shajajo tudi brez njega.
Starejse 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:
;; 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)
Z vnosom in izpisom nasih znakov seveda se ni konec zgodbe o
prilagoditvi Emacsa za slovenscino. Zelimo na primer tudi, da se ukaza
forward-word
in backward-word
ne bosta zatikala na
nasih znakih, ter da tudi za nase znake pravilno tece pretvarjanje med
velikimi in malimi crkami. S starejsimi izdajami Emacsa to ni vedno
povsem trivialno. Bralcu bo v veliko pomoc zbirka nasvetov Slovenscina
in racunalniki avtorja Alesa Kosirja, v kateri je programu GNU emacs
so posveceno obsirno poglavje. Najdete jo na
http://nl.ijs.si/gnusl/tex/tslovene/slolang/slolang.html
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 nacin Latin-2 izberemo za vnos in izpis v menuju Mule /
Set Language Environment / European / Latin-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. Crisp je nekako blizje pecejevskemu duhu, kot pa sta Emacs
in Vi; ce se nobenega od teh dveh ne morete navaditi, je morda Crisp
prava izbira.
Privzeta nastavitev urejevalnika Crisp 2.2e je, da znakov s kodami od
127 dalje ne prikaze, ampak izpise njihovo sestnajstisko kodo, ki jo
uvede z znakoma \x
. Pomaga, ce nalozimo paket z izvorno
kodo Crisp in v datoteki
$(SRC)/crisp2.2e/src/crunch/tty/xterm.cr popravimo drugi
argument funkcije set_term_features()
iz NULL
na
"%c"
. Popravljeni makroukaz prevedemo:
crunch xterm.cr
Rezultat, popravljeni xterm.cm, postavimo med ostale,
navadno v imenik /usr/local/lib/crisp/macros/tty.
Makro xterm
velja, kot bi iz imena sami uganili, za
Crisp, pognan v oknu XTerm znotraj X Window System. Enaka
intervencija piscu teh vrstic ni uspela na linux.cr
(konzola) in xcrisp.cr (razlicica Crisp za X11). Poleg
tega se je na starejsi verziji Linuxa (1.0.8) crunch
pritozeval nad predprocesorjem za C, /lib/cpp. Pomagala
je logicna povezava:
ln -s /usr/lib/gcc-lib/i486-linux/2.5.8/cpp /lib/cpp
Ales Kosir je napisal za Crisp makro slovene
:
http://nl.ijs.si/gnusl/tex/tslovene/src/slovene.cr
Z njim lahko vnasamo nase znake tudi na tipkovnicah, ki nimajo
primernih tipk na nacin: namesto c vtipkamo
"c
, makro
pa pretvori zaporedje v ustrezen znak. Poleg ISO Latin 1 podpira
se nekaj drugih kodiranj, ki so v uporabi v nasih krajih.
Navodila za uporabo so na voljo tudi prek WWW:
http://nl.ijs.si/gnusl/tex/tslovene/slolang/
Del distribucije Caldera OpenLinux je tudi ``lahka'' izvedba urejevalnika
Crisp, CRiSP LiTE. Caldera ponuja tudi moznost kasnejse ugodnejse
nadgraditve na polno izvedbo. CRiSP LiTE nima zgoraj opisanih tezav z
vnosom osembitnih znakov.
vi
Urejevalnik vi
izvira iz sive davnine Unixa. Zaradi tezav z
licencnino najdete na sistemih Linux namesto originalnega Vi navadno
urejevalnik vim
(Vi IMproved) avtorja Brama Moolenaarja,
vcasih pa tudi ``elvis'', delo Steva Kirkendalla, ali nvi
iz
distribucije BSD 4.4. Ideje, na katerih temelji ``vi'' so v temeljih
ortogonalne na vse, kar ste se o urejevalnikih naucili pod
MS-DOS. Kljub temu pa je glede na to, da je ``vi'' edini urejevalnik,
ki zanesljivo obstaja na cisto vsakem Unixu, pametno poznati nekaj
osnovnih ukazov za delo z njim.
Po izkusnjah pisca tako originalni vi
kot tudi vim
sama po sebi brez tezav prepuscata osembitne znake. Tezave lahko
vcasih povzrocajo zunanji programi, ki jih klicemo iz urejevalnika
(npr. fmt
za poravnavanje besedila). Navadno pomaga, ce v
~/.profile
dolocimo spremenljivko LC_CTYPE
(glej poglavje
Slovenski locale).
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
...
elm
Opozorilo: pisec ze dolgo ne uporablja vec tega programa in zapisanega
ni preveril. Danski in nemski HOWTO trdita, da je bodisi dovolj
v ukazni lupini postaviti spremenljivko LANG
na vrednost
iso_8859_1
, bodisi v konfiguracijski datoteki
~/.elm/elmrc
nastaviti vrednosti naslednjih spremenljivk:
...
charset=iso-8859-1
displaycharset=iso-8859-1
textencoding=8bit
...
Vse ISO 8859-1 bi bilo pri nas verjetno potrebno nadomestiti z ISO
8859-2.
Se enkrat prosim koga, ki ta program v resnici uporablja, da opise svoje
izkusnje.
Netscape Mail
V Netscape Mail 4.06 je mozno pisati nase znake v telesu sporocila, ne
pa tudi v glavi. Ko imamo enkrat namescene nase pisave in urejeno
preslikavo tipkovnice (razdelka
Pisave pod X11 in
Tipkovnica pod X11), le se v
menuju View postnega programa izberemo ``Encoding'', tam pa ``Central
European (ISO-8859-2)''.
Vesel bom opisa izkusenj z drugimi izdajami programa Netscape Mail.
Lynx
Lynx pozna od izdaje 2.5 dalje tudi kodno stran ISO 8859-2. Nastavimo
jo lahko na enega od treh nacinov. Prvi je, da izberemo
O)ptions
, zatem pa C)harset
, ter z pritiskanjem na
kurzorske puscice izberemo zeljeni nabor znakov. Drugi je, da v
datoteki ~/.lynxrc (osebna nastavitev) nastavimo
character_set=ISO Latin 2
In zadnji je, da v datoteki /usr/lib/lynx.cfg (skupna
nastavitev)
CHARACTER_SET:ISO Latin 2
Netscape Navigator
(Metod Kozelj, 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 nasih
znakov je torej najprej namestiti pisave za X11 (poglavje
Pisave pod X11). Ko Navigator zazenemo, sam
ugotovi, da so na voljo tudi pisave za 'Central European
(ISO-8859-2)'. Ce pregledujemo stran, ki brkljalniku pravilno sporoci
uporabljeni nabor znakov, potem Navigator avtomaticno uporabi pisavo s
pravim kodnim naborom. Seveda lahko spremenimo osnovno velikost crk
ali pa obliko za proporcionalno pisavo.
To storimo tako, da v 'Edit / Preferences / Appearance / Fonts' dolocimo,
da spreminjamo nastavitve za srednjeevropske pisave ('For the Encoding
/ Central European (iso-8859-2)'), potem pa izberemo, s katero pisavo
naj Navigator prikazuje tekste. Navigator nam sam ponudi le pisave s
pravim naborom znakov.
Ce pregledujemo strani, ki imajo sicer pravilen razpored crk (razpored
ISO 8859-2 in ne Windows-1250), pa Navigator ne uporabi pisave s
pravim razporedom crk, lahko razpored preklopimo rocno z izbiro
,,View / Encoding / Central European (ISO-8859-2)``.
Ob izbiri pisave s pravilnim razporedom crk in ob pravilnem razporedu
tipk na tipkovnici lahko uporabljamo nase crke tudi pri pisanju v
modulu 'Page Composer'.
Netscape Communicator 4.06 in novejsi znajo na Unixih, ki imajo
namescene pisave ISO 8859-2, prikazati tudi strani, napisane v kodni
strani Microsoft CP1250, oznacene kot windows-1250
v glavi.
Spletni strezniki
Opomba: spodnje besedilo je prevod navodil ,,Configuring WWW Server
for ISO 8859-2``
http://sizif.mf.uni-lj.si/linux/cee/app/httpd.html, ta pa se v
veliki meri naslanjajo na besedilo Marka Martinca ,,Resitev problema
slovenskih sumnikov v HTML dokumentih``
http://www.ijs.si/doc/www-csz.html.
Nacela
- Dolocilo HTTP zahteva, da prenosni protokol HTTP prenasa tok
podatkov brez omejitve na nabor ASCII ali izpisljive znake. To
vkljucuje osembitne znake, sestnajstbitne znake kot npr. ISO10646 ali
daljnovzhodne jezike, slike, animacije, zvok ipd.
- Vsebino spisa doloca glava MIME (vrstica
Content-Type
. To je edina informacija o zvrsti informacije,
ki jo ima na voljo brskalnik, zato mora odrazati pravo vsebino spisa.
- Privzeto kodni razpored (terminologija MIME/HTTP uporablja izraz
,,nabor znakov``) za spise HTML je ISO 10646 oz. njegova osembitna
podmnozica ISO 8859-1. Vsak spletni brskalnik mora biti
zmozen prikazati spis HTML, ki uporablja kodni razpored ISO
8859-1. Glava MIME za spise HTML, kodirane po ISO 8859-1, je:
Content-Type: text/html
- Dolocilo HTTP dovoljuje, da z dodatnim dolocilom
charset
v vrstici Content-Type
glave MIME izberemo
drug kodni razpored. Naceloma je dovoljen katerikoli kodni razpored,
registriran pri IANA Character Set Registry. Iz prakticnih razlogov pa
je priporocljivo, da se omejimo na naslednje entitete HTTP:
charset = "US-ASCII"
| "ISO-8859-1" | "ISO-8859-2" | "ISO-8859-3"
| "ISO-8859-4" | "ISO-8859-5" | "ISO-8859-6"
| "ISO-8859-7" | "ISO-8859-8" | "ISO-8859-9"
| "ISO-2022-JP" | "ISO-2022-JP-2" | "ISO-2022-KR"
| "UNICODE-1-1" | "UNICODE-1-1-UTF-7" | "UNICODE-1-1-UTF-8"
| token
Entiteta, ki je definirana pri IANA Character Set Registry, mora
predstavljati nabor znakov, kot je bil prijavljen pri IANA. Prazna
entiteta implicira nabor ISO 8859-1 (kar vkljucuje US-ASCII, ki je
njegova podmnozica).
Spise HTML, kodirane v skladu s kodnim razporedom ISO 8859-2, morajo
potemtakem vsebovati v glavi MIME vrstico
Content-Type: text/html; charset=ISO-8859-2
Pri tem presledek med podpicjem in charset=ISO-8859-2
ni
obvezen.
- Numericne entitete oblike
&#nnn;
dolocajo
pismenko s kodo nnn v referencnem razporedu znakov (ISO
8859-1 oz. ISO 10646), ne pa v trenutno izbranem. Na ta nacin torej
sploh ne moremo uporabljati nasih znakov, kodiranih skladno s kodnim
razporedom ISO 8859-2, lahko pa uporabimo 16-bitne kode ISO
10646. Crko c (mali C s kljukico) lahko torej zapisemo kot
č
. In samo tako.
Prakticni oziri
Kdaj je uporaba kodnega razporeda ISO 8859-2 priporocljiva, 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. Ce pa je informacija namenjena
sirsemu obcinstvu, pa je potrebno vedeti, da je uporabniki zunaj
srednje ali vzhodne Evrope, kjer se ta kodni razpored uporablja,
informacije morda ne bodo mogli prikazati. Veljavno dolocilo
prenosnega protokola HTTP namrec od spletnih brskalnikov ne zahteva,
da prikazejo spise HTML, ki uporabljajo kodni razpored ISO 8859-2. V
primeru, da brskalnik ne zmore prikazati strani v zahtevanem kodnem
razporedu, lahko ta problem ignorira in stran (nepravilno) prikaze v
nekem drugem kodnem razporedu (navadno ISO 8859-1), ali pa ponudi, da
spis shranimo na disk. Zato je priporocljivo, da vstopne tocke v vas
informacijski sistem ne uporabljajo kodnih razporedov, razlicnih od
ISO 8859-1.
Podrobnosti izvedbe
Obdelali bomo tri metode, s katerimi lahko spletni streznik
prilagodimo, da pravilno postreze uporabniku s spisom, kodiranim po
ISO 8859-2:
- dolocitev nove pripone za staticne spise, kodirane po
ISO-8859-2, in vezava le-te na na primeren tip spisa v glavi MIME
- dinamicno prekodiranje spisov
- uporaba posebnosti streznika ali brskalnika
Dolocitev nove pripone za staticne spise
Ob zahtevku za spis vecina spletnih streznikov izve zvrst staticnih
spisov iz pripone datoteke ter na osnovi tega izdela glavo MIME, s
katero opremi spis, preden ga izroci prejemniku. Vec razlicnih pripon
lahko ustreza isti zvrsti spisa (priponi .jpeg
in
.jpg
na primer obe dolocata zvrst image/jpeg
),
obratno pa ne - ena pripona lahko doloca kvecjemu eno zvrst spisa.
Nobene splosne metode ni, ki bi dovoljevala uporabo pripone
.html
za spletne spise, kodirane bodisi v skladu s kodnim
razporedom ISO 8859-1, bodisi ISO 8859-2, in pricakovala od spletnega
streznika, da se bo nekako odlocil, s kaksno glavi MIME bo opremil ene
in druge. Ena moznost je vsekakor, da pripono .html
trajno
vezemo na zvrst spisov HTML, kodirani skladno s kodnim razporedom ISO
8859-2. Ta resitev ima seveda ocitno pomanjkljivost za obcinstvo, ki
ne more prikazati tega nabora znakov.
Tukaj predlagana resitev izkorisca zmoznost spletnih streznikov, da
dolocijo novo pripono datoteke in jo vezejo na zvrst spisa
text/html; charset=ISO-8859-2
v glavi MIME. To moznost
podpira vecina spletnih streznikov. Streznika W3C ter NCSA
httpd
(ter vse njune izpeljanke, npr. Apache) uporabljata
ukaz AddType
v nastavitveni datoteki za vezavo dodatnih
zvrsti spisov na nove pripone datotek. Z enostavno in domisleno shemo
(glej
Resitev problema slovenskih sumnikov v HTML dokumentih lahko zagotovimo
pravilne glave MIME za zvrsti spisov, ki uporabljajo kodne razporede,
razlicne od ISO 8859-1. Ce na primer dolocimo pripono
.html-l2
za spise, kodirane skladno s kodnim razporedom ISO
8859-2, moramo v nastavitveni datoteki dodati vrstico:
- Streznik W3C httpd (CERN httpd): v datoteki
httpd.conf dodamo:
AddType .html-l2 text/html;charset=ISO-8859-2 8bit 1.0
- Streznik NCSA httpd: v datoteki srm.conf
dodamo:
AddType text/html;charset=ISO-8859-2 .html-l2
- Streznik Apache se od NCSA httpd razlikuje samo po manjkajoci
piki: v datoteki srm.conf dodamo:
AddType text/html;charset=ISO-8859-2 html-l2
Dinamicno prekodiranje
Na vsakem spletnem strezniku, ki podpira vmesnik Common Gateway
Interface (CGI) lahko izvedemo dinamicno prekodiranje spletnih
spisov. Poleg dobrih strani (iz enega samega izvora lahko ponudimo
spletni spis v mnogo razlicnih kodnih razporedih) ima ta metoda tudi
slabe: pretvarjanje spisa po eni strani porablja procesorski cas
streznika, po drugi pa dinamicnih spisov posredniki (angl. proxy)
navadno ne shranjujejo v medpomnilniku, zato z njimi dodatno
obremenjujemo komunikacijske vode.
Primera skriptov, ki izvajata dinamicno prekodiranje:
- slovene - paket za dinamicno pretvarjanje spletnih spisov iz
kodnega razporeda JUS I.B1.002 v CP852, CP1250, ISO 8859-2 ter
US-ASCII (s precrkovanjem iz CSZ v CSZ). Avtor Tadej Vodopivec,
Ljubljana, Slovenija.
- pl-conv - skript v Perl za dinamicno pretvarjanje kodiranja
spletnih spisov med ISO 8859-2, CP852, CP1250, Mazowia, Apple RomanCE
in US-ASCII (s precrkovanjem). Avtor Jaroslaw Strzalkowski, Krakow,
Poljska.
Sledijo tri resitve, ki uporabljajo posebnosti in nestandardne
razsiritve programske opreme. Prvi dve se nanasata na spletni
streznik, zadnja na priljubljeni spletni brskalnik Netscape
Navigator. Istega problema se je lotil G. Nicol s predlogom ``MIME
Header Supplemented File Type''.
Metainformacija za spletni streznik W3C
Spletni streznik W3C (nekoc poznan kot CERN WWW) omogoca dodajanje
metainformacije v glave MIME odhodnih spisov.
Po privzeti nastavitvi isce streznik metainformacije v datotekah s
pripono .meta
podimenik .web
imenika s spisi. Ce na
primer spletne spise hranimo v imeniku /WWW/Hypertext
in
zelimo opremiti spis isolatin2.html
v njem s pravilno glavo
MIME, napravimo to takole:
- Ce se 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 nasem primeru
je to ena sama vrstica:
Content-Type: text/html; charset=ISO-8859-2
Datoteke ASIS za streznik Apache
Streznik Apache doloca poseben tip datoteke, imenovan ASIS. Streznik
poslje datoteko ASIS odjemniku natancno taksno, kot je (angl. ``as
is''), ne da bi jo opremil z glavo, ki jo sicer zahteva protokol
HTTP. Datoteka sama mora zato vsebovati vsa potrebna polja, ki jih
zahteva protokol HTTP, tem sledi prazna vrstica in vsebina spisa
HTML.
V nastavitveni datoteki za streznik dolocimo, da pripona
.asis
pripada zvrsti spisa httpd/send-as-is
:
AddType httpd/send-as-is asis
Primer datoteke ASIS:
Status: 200 OK
Content-Type: text/html; charset=ISO-8859-2
<HTML>
<HEAD>
<TITLE>Hello world</TITLE>
</HEAD>
<BODY>
<H1>Zivjo svet!</H1>
</BODY>
</HTML>
Kot vidite, morate v datoteko vkljuciti tudi tromestno odzivno kodo
streznika. Streznik vedno doda polji Date:
in
Server:
, zato teh ne smemo vkljuciti v datoteko.
Znacka <META> z oznacbo HTTP-EQUIV
V dolocilu HTTP 2.0 predlagana znacka <META>
z oznacbo
HTTP-EQUIV
je bila predlagana kot neobvezna metoda, s katero
lahko streznik potegne dodatno metainformacijo iz zaglavja
(<HEAD>
) spletnega spisa in jo uporabi pri tvorjenju
glave MIME. Piscu teh vrstic ni znano, da bi kateri streznik to v
resnici tudi pocel. Tovrstno razclenjevanje spletnih spisov verjetno
predstavlja preveliko obremenitev za procesor in bi se mocno poznalo
pri odzivnosti spletnega streznika. Pac pa so namesto tega zaceli to
informacijo uporabljati spletni brskalniki (Netscape Navigator, na
primer, to pocenja od izdaje 2.0 dalje).
Primer spisa z metainformacijo o uporabljenem kodnem razporedu v
zaglavju spisa:
<HTML>
<HEAD>
<TITLE>Naslov<TITLE>
<META HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-2">
</HEAD>
<BODY>
Besedilo...
</BODY>
</HTML>
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 ukazne lupine (poglavje
Ukazne lupine)
- nastavitev terminala (fizicnega ali virtualnega).
Eksplicitno ga lahko nastavimo z ukazom
stty -parenb -istrip cs8
- in na koncu res nastavitev programov
telnet
ali rlogin
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
...
rlogin
Privzet nacin zveze pri programu ``rlogin'' je osembiten,
eksplicitno pa lahko to dolocimo z dolocilom ``-8'':
rlogin racunalnik -8
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
- prilagoditev programa LyX: vizualnega okolja za vnos besedil v
LaTeX in Linuxdoc DTD
Urejanje stvarnega kazala po slovenski abecedi zaenkrat se ne gre
avtomaticno. Pokazemo, kako lahko tezavo z nekaj truda obvozimo.
Podporo za neangleske jezike v LaTeXu je poenotil paket babel
Johannesa Braamsa z Nizozemske, ki je standardni del vseh sodobnih
distribucij paketa TeX na Linuxu, kot sta teTeX in NTeX:
ftp://sunsite.informatik.rwth-aachen.de/pub/comp/tex/teTeX/
http://web.mathematik.uni-stuttgart.de/ntex/WWW/
Z uporabo izbire ``slovene'' v paketu babel
se avtomaticno
izberejo slovenska imena pod- in nadnapisov, naslovov ipd., slovenska
pravila za zlogovanje besed (ce imamo namescene slovenske zlogovalne
vzorce; poglavje
Slovenska pravila za deljenje besed), in 7-bitni nacin vnosa znakov "c"s"z
:
\usepackage[slovene]{babel}
V novi razlicici LaTeXa (LaTeX2e) lahko s paketoma
fontenc
in inputenc
izberemo tudi 8-bitno kodno
tabelo T1
(znano tudi kot DC ali Cork) in 8-bitni vnos
znakov. Primer celotnega spisa v LaTeXu:
\documentclass[a4paper]{article}
\usepackage[slovene]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin2]{inputenc}
\begin{document}
Ceprav se pouk na zeleznicarski soli v Sentvidu obicajno konca
sele ob stirih, odpesacijo ucenci iz obcin Zelimlje in Zetale domov
ze cetrt cez tri.
\end{document}
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}
\begin{document}
...
\end{document}
Stil
latin2
je na voljo na vseh streznikih CTAN, npr.
ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/latin2/
Slovenska pravila za deljenje besed
Datoteko s slovenskimi pravili za zlogovanje besed je v okviru svoje
diplomske naloge leta 1990 izdelal Matjaz Vrecko, in jo predal v last
slovenskemu drustvu uporabnikov sistema TeX (TeXCeH). Na voljo je za
individualno uporabo brez namena pridobivanja premozenjske koristi. Od
leta 1995 dalje zanjo skrbi dr. Leon Zlajpah z IJS, ki jo je
posredoval tudi skrbniku sistema sistema babel
za tujejezicno
podporo v sistemu TeX, Johannesu Braamsu. Sistem babel
praviloma dobimo skupaj z distribucijo sistema TeX. Trenutno zadnja
izdaja je 2.3, datirana 1997-04-15.
V distribuciji teTeX, ki je najbolj priljubljena distribucija
na Unixu, vklopimo podporo za slovenske delilne vzorce tako, da kot
administrator pozenete program texconfig
. V menuju izberemo
moznost HYPHEN - hyphenation table (tex/latex). Program
texconfig
pri tej izbiri pozene urejevalnik vi
in
vanj nalozi datoteko language.dat. Za tiste, ki ga ne
poznate, najnujnejse o uporabi le-tega: levo, desno, gor in dol po
besedilu se premikate s tipkami h
, l
(mali L),
j
in k
. Znak pobrisete tako, da kurzor pripeljete
nanj in pritisnete tipko x
. Datoteko shranite in zakljucite z
delom s pritiskom na tipko Esc
in vpisom :wq
(dvopicje, mali W, mali Q), ki mu sledi Enter
. Oborozeni s
tem znanjem v datoteki language.dat pobrisemo komentar
(znak za procent) pred zapisom slovene sihyph22.tex
, shranimo
in zapustimo urejevalnik. Program texconfig
bo avtomaticno
ustvaril nove formatne datoteke z vgrajenimi delilnimi vzorci.
Pisec teh vrstic je imel nepojasnjene tezave z datoteko
sihyph22.tex, ki so enako cudezno izginile, ko mu je
dr. Zlajpah poslal novo izdajo slovenskih delilnih vzorcev. Dobimo jo
lahko na
ftp://sizif.mf.uni-lj.si/pub/i18n/tex/sihyph23.tex in jo
postavimo ob bok stari datoteki, navadno v imenik
/usr/TeX/texmf/tex/generic/hyphen/. Pozenemo
texconfig
, tam najprej osvezimo seznam datotek (izbira
REHASH - rebuild ls-R database), zatem pa ponovimo postopek
iz prejsnjega odstavka, s tem, da ime sihyph22.tex
popravimo
v sihyph23.tex
.
Dodatne informacije o slovenski skupini uporabnikov TeX najdete na
http://vlado.fmf.uni-lj.si/texceh/texceh.htm
LyX
(Roman Maurer, <roman.maurer@fmf.uni-lj.si>)
Ce uporabljamo LyX s standardno slovensko tipkovnico (102/105 tipk), ga
lahko enostavno prilagodimo za delo s slovenscino:
- Tipkovnica v strezniku Xwindow mora biti nastavljena tako, da z
njo v splosnem lahko vnasamo nase znake (to je opisano v razdelku
X Window System poglavja ``Tipkovnica'').
- Pozenemo LyX in nastavimo:
Options / Screen Fonts / Font Norm = iso8859-2
Zal izgleda, da LyX tega podatka nikamor ne shrani. Zato moramo rocno
dodati v datoteko lyxrc (sistemska je navadno v imeniku
/usr/share/lyx/, uporabniska pa v ~/.lyx/)
naslednjo vrstico:
\font_norm iso8859-2
- Odpremo (nek) dokument in izberemo:
Layout / Document / Language = slovene
Layout / Document / Encoding = latin2
Layout / Paper / Papersize = A4
Layout / Quotes = ,,text`` & Double
- Ce zelimo te nastavitve uporabljati v vseh nasih dokumentih
(in to seveda zelimo), uporabimo se izbiro
Layout / Save layout as default
- Kadar uporabimo razred "letter" namesto "article", odgovorimo
pritrdilno na vprasanje:
"Should I set some parameters to letter the defaults
of this document class?"
Zaradi napake v LyXu do vkljucno 1.0.0pre2 ni mogoc vnos 8-bitnih
znakov v matematicnem tekstovnem nacinu (math text mode). Pomagamo si
tako, da postavimo kar celo formulo kot TeXovo kodo
("tex-mode"
- s tem sicer izgubimo WYSIWYG). Razvijalci LyX-a
so o napaki obvesceni in jo bodo verjetno popravili v naslednjih
izdajah.
7-bitni vnos sumnikov kot "c"s"z
je otezen, ker LyX avtomaticno
pretvori dvojni narekovaj v dva enojna. Prva misel je, da si lahko
spet pomagamo z izbiro "tex-mode"
, udobnejsa moznost pa je, da
predefiniramo dvojni narekovaj. V datoteko emacs.bind
(ali pa cua.bind, kar ze uporabljamo) dodamo vrstico:
\bind "S-quotedbl" "accent-caron"
Nase znake bomo zdaj dobili s pritiskom na "c"s"z
.
S tem zal izgubimo avtomaticno pretvarjanje dvojnega narekovaja
v dva enojna, a vsega pac ne moremo imeti...
Datoteka emacs.bind je v imeniku
~/.lyx/bind/. Ce je se ni, lahko napravimo kopijo
sistemske z imenika /usr/share/lyx/bind/ in jo popravimo.
Ce imamo staro slovensko tipkovnico (ameriska s csz namesto ~{`),
lahko uporabimo premapiranje tipkovnice v Latin 2
Alena Salamuna <alen.salamun@medinet.si>
:
Options / Keyboard / Primary = slovene
Ustrezna datoteka slovene.kmap je tipicno v imeniku
/usr/share/lyx/kbd/.
Takole pa lahko uporabimo crkovalnik
ispell
za crkovanje slovenskih spisov:
Edit / Spellchecker / Spellchecker Options
* Use alternate language: slovensko
* Extra special chars allowed in words: cszCSZ
V slovenski izdaji urejevalnika LyX pa:
Uredi / Crkovalnik / Izbire crkovalnika
* Uporabi drug jezik: slovensko
* Dodatni posebni znaki, dovoljeni v besedah: cszCSZ
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, ce 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. Poiscemo spodnjo vrstico in jo
odkomentiramo (pobrisemo zacetni znak za procent):
% (a4) /PAPERSIZE where { pop pop } { /PAPERSIZE exch def } ifelse
Stvarna kazala
Najpogostejse orodje za izdelavo stvarnih kazal v sistemu TeX je
Makeindex. Ta je le omejeno lokaliziran (poleg angleskih pozna se
nemska pravila za razvrscanje) in nase abecede ne pozna.
Stvarno kazalo v LaTeX izdelamo z ukazom \makeindex
v
preambuli; vsako besedo, ki jo zelimo vnesti v kazalo, pa moramo
posebej oznaciti z ukazom \index{vnos}
. Ker navadno
zelimo stvarno kazalo tudi izpisati, dodamo se ukaz
\printindex
, ta pa je definiran v makropaketu
makeidx
. Zgled, datoteki recimo zelez-sola.tex,
naj ilustrira povedano:
\documentclass[a4paper]{article}
\usepackage[slovene]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin2]{inputenc}
\usepackage{makeidx}
\makeindex
\begin{document}
Ceprav se pouk na zeleznicarski
soli\index{s~ola@sola!z~eleznic~arska@zeleznicarska} v
Sentvidu\index{S~entvid@Sentvid} obicajno konca sele ob stirih,
odpesacijo ucenci iz obcin Zelimlje\index{Z~elimlje@Zelimlje} in
Zetale\index{Z~etale@Zetale} domov ze cetrt cez tri.
\printindex
\end{document}
Trik je v tem, da makeindex
dopusca skladnjo
\index{vnos1@vnos2}
, kjer je vnos1
tisti, po katerem
se kazalo ureja, vnos2
pa besedilo, ki se v resnici
izpise. Naso crko C
zato pisemo kot C~
(znak
~
je v kodnem razporedu ASCII za vsemi crkami), in tako
bo zanesljivo uvrscena za vsemi C. Besedilo prevajamo v treh korakih:
latex zelez-sola
makeindex zelez-sola
latex zelez-sola
Prvi latex
iz datoteke zelez-sola.tex izdela
datoteko zelez-sola.idx, ukaz makeindex
to uredi
in iz nje izdela datoteko zelez-sola.ind, to pa vsrka
drugi ukaz latex
.
Groff nudi precej omejeno podporo za nase znake. Pri izpisu na zaslon
(nacin nroff
) lahko goljufamo tako, da zapisemo datoteko z
osembitnimi znaki ISO Latin 2, programu pa lazemo (izbira
-Tlatin1
), da so kodirani po razporedu ISO Latin 1.
Henryk Paluch je napisal paket groff-latin2
, s katerim lahko
nase znake vnasamo kot makroukaze, na primer:
\('a a z ostrivcem
\(vc c s stresico
\vou u s krozcem
Izpis v obliki PostScript v casu pisanja tega spisa se vedno ne
deluje, ceprav bi se mehanizme iz paketa ``ogonkify'' Juliusza
Chroboczka podobno kot v programu ``a2ps'' verjetno dalo uporabiti
tudi tu. Se najvecji problem je verjetno ta, da je paket ``groff''
osirotel, saj ga prvotni avtor, James Clark, ne vzdrzuje vec.
Za paket
groff-latin2
zdaj skrbi Jan Kasprzak
<kas@fi.muni.cz>, najdete ga na
ftp://ftp.fi.muni.cz/pub/localization/groff/
Od izdaje 5.004 dalje tudi Perl podpira lokalizacijo. Nastaviti moramo
primerne spremenljivke okolja in bodisi v programu uporabiti klic
use locale;
bodisi poklicati Perl z izbiro
-Mlocale
. Nekaj primerov;
preizkus smo si sposodili pri Janu Pazdziori:
~> LC_CTYPE=sl_SI.iso88592 perl -Mlocale -e '$_="tezisce\n"; s/\w/$&:/g; print;'
t:e:z:i:s:c:e:
~> LC_CTYPE=C perl -Mlocale -e '$_="tezisce\n"; s/\w/$&:/g; print;'
t:e:zi:sce:
~> LC_CTYPE=sl_SI.iso88592 perl -e '$_="tezisce\n"; s/\w/$&:/g; print;'
t:e:zi:sce:
Kot vidimo, je samo v prvem primeru, ko smo izvedli oboje: nastavili
spremenljivko LC_CTYPE
in Perl poklicali z izbiro
-Mlocale
, nase znake res uposteval kot crke
(\
).
Vecina sodobnih distribucij Linuxa ze pride s crkovalnikom Ispell;
manjka pa mu slovenski besedni zaklad. Tega najdete v datoteki
ftp://sizif.mf.uni-lj.si/pub/i18n/ispell/slovensko.tar.gz
Arhivska datoteka vsebuje dve datoteki, slovensko.hash in
slovensko.aff. Postavimo ju tja, kjer Ispell ze hrani
leksikone za ostale jezike. Pri piscu teh vrstic je to
/usr/lib/ispell/; ce pri vas ni, si lahko morda pomagate
s tem, da s find poskusite poiskati datoteko
english.aff. Osnovni slovenski leksikon izvira iz baze,
ki jo je podjetje Amebis d.o.o. prispevalo za mednarodni projekt
MULTEXT-East; s posredovanjem dr. Tomaza Erjavca z odseka za
inteligentne sisteme na Institutu Jozef Stefan pa je na voljo za
nepridobitno uporabo.
Ispell uporabljamo tako, da mu v ukazni vrstici podamo jezik, v
katerem je napisano besedilo, na primer english, deutsch, francais
ali slovensko:
ispell -d slovensko besedilo.txt
Natancnejsa navodila za ravnanje s programom Ispell boste nasli v
prirocniku, vec o prilagoditvi paketa ispell
za slovenscino
si lahko preberete na strani
Slovenscina in racunalniki Alesa Kosirja. Ispell s slovenskim besednim zakladom
poganja tudi spletni crkovalnik Trubar istega avtorja:
http://nl.ijs.si/cgi-bin/truform.pl
Razen ISO Latin 2 vsebuje vse nase znake se nekaj drugih naborov:
Microsoft Codepage 1250, IBM Codepage 852, JUS I.B1.002, Apple
MacOS-CE, Apple MacOS-Croatian, Kamenicky, ISO Latin 4, ISO Latin 6,
ISO Latin 7 itd.
Ceprav ni tezko napisati programcka za pretvorbo iz enega kodnega
nabora v drugega, je pripravno uporabiti ze izdelan program.
Eden takih je GNU recode, dostopen npr. na strezniku ARNES:
ftp://ftp.arnes.si/software/gnu/recode/recode-3.4.tar.gz
Starejse izdaje GNU recode (pred 3.5) ne poznajo Microsoftovih
kodnih strani 1250-1259.
Uporaba je enostavna:
recode yu:latin2 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.
Novejse izdaje programa recode (ki poznajo tudi nekaj vec kodnih
naborov), uporabljajo malo drugacno skladnjo:
recode yu..latin2 datoteka
Po izkusnjah pisca pa je precrkovanje (npr. ,,nabori``
latex
ali
flat
) se vedno omejeno na pretvorbo iz in v nabor ISO
8859-1. Novejse (preizkusne) izdaje programa recode najdete na:
ftp://ftp.iro.umontreal.ca/pub/recode/
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="8bcccbcc18b95.33b."; export LESSCHARDEF
Vsi nabori iz druzine ISO 8859 imajo osem binarnih znakov
(posebnih znakov, ki jih praviloma ni v besedilih), tri kontrolne
znake, binarni znak, dva kontrolna znaka, osemnajst binarnih
znakov, 95 navadnih znakov, 33 binarnih znakov, in normalne znake
do konca tabele.
Koledar gcal
Vsi sistemi Unix imajo vgrajen koledarcek cal
, ki pa je
precej anglocentricen. Thomas Esken iz Nemcije je napisal alternativni
koledarcek gcal
. Od izdaje 2.40 dalje pozna tudi slovenske
praznike. Najdemo ga na obicajnih mestih distribucije GNU. Najblizje
je verjetno:
ftp://ftp.arnes.si/software/gnu/
Spodnja vrednost spremenljivke GCAL
ustreza nasim razmeram:
GCAL="--cc-holidays=SI --gregorian-reform=1582"; export GCAL
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
Zadnja moznost ni predmet obravnave tega spisa.
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 (NLSP)
- Epson LQ-870 (NLSP)
- Epson LQ-2070 (NLSP)
- Epson LQ-2170 (NLSP)
- Epson DLQ-3000 (NLSP; letnik 1996 in novejsi)
- 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 (PCL) in
Epson (ESC/P2) so naslednje
- PCL
Tole menda deluje:
\033(2N\033(s0p12h0s0b4099T
- ESC/P2
Z ukazom ESC ( t
prepisemo kodno tabelo ISO 8859-2 v drugo
tabelo tiskalnika; zatem z ukazom ESC t
izberemo drugo tabelo
tiskalnika (strani C-73 in C-77 v ,,Epson ESC/P Reference Manual``,
december 1997):
\033(t\003\000\002\177\002\033t\002
Oznaka
\033
je osmiska koda znaka Escape.
Eden od nacinov, kako z /etc/printcap prilagodimo okolje
za tiskanje na tak tiskalnik, je podrobneje opisan v razdelku
Tiskalniki, ki podpirajo kak drug nabor z nasimi znaki.
Ce tiskalnik podpira kak drug nabor z nasimi znaki (ne dolgo nazaj
je bila ustaljena praksa, da je bil ROM v tiskalnikih zamenjan z
EPROM, v njem pa svedski znaki zamenjani z znaki po JUS I.B1.002),
lahko s primerno nastavitvijo v /etc/printcap se vedno
tiskamo spise, kodirane po ISO Latin 2.
Primerno moramo dopolniti datoteko /etc/printcap. Za zgled
si oglejmo tiskalnik Epson, ki ima znake po JUS I.B1.002 na mestu
svedskega nabora.
lp|ascii|epson|Epson LQ-850:\
:lp=/dev/lp1:\
:sd=/usr/spool/lpd/epson:\
:lf=/usr/spool/lpd/ERRORLOG:\
:mx#0:\
:sh:
jus|Epson LQ-850 z znaki JUS I.B1.002:\
:lp=/dev/null:\
:sd=/usr/spool/lpd/jus:\
:if=/usr/spool/lpd/jus_filter:\
:lf=/usr/spool/lpd/ERRORLOG:\
:mx#0:\
:sh:
latin2|text|Epson LQ-850 z znaki ISO Latin 2:\
:lp=/dev/null:\
:sd=/usr/spool/lpd/latin2:\
:if=/usr/spool/lpd/latin2_filter:\
:lf=/usr/spool/lpd/ERRORLOG:\
:mx#0:\
:sh:
Zgled ima tri tiskalniske vrste.
Prva je dejanski tiskalnik z ameriskim (ASCII) naborom znakov.
Druga uporablja filter /usr/spool/lpd/jus_filter
:
#!/bin/sh
/usr/spool/lpd/jus_epson | lpr -Pascii
Datoteko torej precedimo skozi filter /usr/spool/lpd/jus_epson
in jo postavimo v prvo tiskalnisko vrsto.
Filter
jus_epson
ne napravi drugega, kot da
na zacetku doda kodo za preklop v svedski nabor, prepise datoteko
z vhoda na izhod, in na koncu doda kodo za preklop nazaj
v ameriski nabor. To je tudi edini del programja, ki je odvisen
od vrste tiskalnika:
#!/bin/sh
# Tiskanje besedil kodiranih po JUS I.B1.002 na tiskalnik Epson LQ
#
# Izberemo slovenski (svedski) nabor
/bin/echo -ne "\033R\005\c"
# Izpisemo dokument
cat
# Izberemo ameriski nabor
/bin/echo -ne "\033R\000\c"
Tretja vrsta uporablja podoben filter kot druga, le da ta najprej
pretvori besedilo iz Latin 2 v JUS, zatem uporabi ze opisani
filter za to, da doda na zacetku in na koncu potrebno kodo za
tiskalnik, in koncno 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:
- Brez eksplicitne izbire vrste, ali pa z izbiro
-Pepson
ali -Pascii
se datoteka odtisne kot
ASCII:
lpr datoteka
- Z izbiro
-Pjus
se datoteka odtisne kot besedilo,
kodirano po JUS I.B1.002:
lpr -Pjus datoteka
- Z izbiro
-Platin2
ali -Ptext
se datoteka
odtisne kot besedilo, kodirano po ISO Latin 2:
lpr -Platin2 datoteka
(Matjaz Terpin <
matjaz.terpin@comcom.si>, Message-id:
<Pine.LNX.3.96.980709095750.24607B-400000@guru.comcom.si>
)
Matjaz Terpin <
matjaz.terpin@comcom.si> je predlagal imenitno izboljsavo
pravkar opisanega postopka, pri katerem lahko tiskamo nase znake
in oglate in zavite oklepaje. Srz njegovega predloga je
filter, ki pred vsakim nasim znakom preklopi v svedski nabor, takoj za
njim pa spet nazaj v ASCII.
Datoteka /etc/printcap je v tem primeru taksna:
# /etc/printcap
lp|raw|yu:\
:lp=/dev/lp1:\
:sd=/var/spool/lpd/lp:\
:lf=/var/spool/lpd/ERRORLOG:\
:mx#0:\
:sh:
lat2:\
:lp=/dev/null:\
:if=/etc/lp/lat2.filter:\
:sd=/var/spool/lpd/lat2:\
:lf=/var/spool/lpd/ERRORLOG:\
:mx#0:\
:sh:
Filter /etc/lp/lat2.filter precedi besedilo skozi naslednje
sito, /etc/lp/lat2.switch, in ga postavi v vrsto
lp
:
#!/bin/sh
# /etc/lp/lat2.filter
/etc/lp/lat2.switch | lpr -Plp
,,Meso`` postopka je v datoteki /etc/lp/lat2.switch:
#!/bin/sh
#/etc/lp/lat2.switch
echo -ne "\033R0"
sed -e "s/c/`echo -ne "\033R5\~\033R0"`/g" \
-e "s/C/`echo -ne "\033R5\^\033R0"`/g" \
-e "s/s/`echo -ne "\033R5\{\033R0"`/g" \
-e "s/S/`echo -ne "\033R5\[\033R0"`/g" \
-e "s/z/`echo -ne "\033R5\140\033R0"`/g" \
-e "s/Z/`echo -ne "\033R5\@\033R0"`/g" \
-e "s/c/`echo -ne "\033R5\}\033R0"`/g" \
-e "s/C/`echo -ne "\033R5\]\033R0"`/g" \
-e "s/d/`echo -ne "\033R5\|\033R0"`/g" \
-e "s/D/`echo -ne "\033R5\\\\033R0"`/g"
echo -ne "\033R5"
Matjaz pravi se: sed slabo prebavi ``echo -ne "\000"'', zato
uporabljam kar znak 0 (niclo), saj je tiskalnik (NEC pinwriter P7)
zadovoljen tudi s tem.
``Naravni'' kodni nabor v PostScriptu je Adobe Standard
Encoding. Nasih crk ne pozna. Pa ne le nasih, tudi mnogih drugih crk
ne pozna, in pravzaprav sploh nima tovrstnih ambicij. Namesto tega je
ASCII razsirjen z gradniki sestavljenih znakov: stresica, ostrivec,
diereza, sedij itd. -- vsi so tam. Jezik PostScript pa omogoca
definiranje sestavljenih znakov. Vse skupaj je cakalo samo se nekoga,
ki bo definiral sestavljene znake za kodni nabor ISO Latin 2. Ta nekdo
je bil Juliusz Chroboczek, ki je napisal paket
ogonkify.
Filtra a2ps
in GNU enscript
sta bila napisana z
namenom, da resita za nase kraje neobicajno zagato: kako odtisniti
cisto obicajno besedilo na tiskalnik, ki razume edino PostScript. Eden
in drugi postavita stran v PostScriptu z danim besedilom in jo
posljeta na tiskalnik. Fleksibilnost PostScripta omogoca tudi
transformacije (npr. pomanjsave) ali poudarjanje sintakse pri tiskanju
programskih izpisov. Oba podpirata nabor ISO Latin 2.
http://www.dcs.ed.ac.uk/home/jec/programs/ogonkify/
http://www-inf.enst.fr/~demaille/a2ps/
http://www.iki.fi/~mtr/genscript/
ftp://ftp.arnes.si/gnu/enscript/enscript-1.6.1.tar.gz
ogonkify
Ogonkify je filter za izpise v PostScriptu, in omogoca pravilen odtis
crk tudi v jezikih, ki ne uporabljajo nabora ISO Latin 1. Ker je
filter, je ravno korak prepozen, da bi lahko pocel to elegantno, ampak
mora prezveciti kakrsnokoli grdobijo pac izpljune program korak pred
njim in iz dobljenega izdelati lep odtis. Programi pa izdelujejo
datoteke PostScript vsak malo drugace, kar filtru ``ogonkify'' otezi
delo. Zaenkrat podprti formati izpisa PostScript so: NCSA Mosaic,
Netscape Navigator, StarOffice, Applixware in XFig.
Ogonkify za delovanje potrebuje Perl. Ko je namescen,
ogonkify
uporabimo takole za odtis spletnega sestavka,
shranjenega iz Navigatorja:
ogonkify -AT -N netscape.ps | lpr
GNU enscript
Ce
GNU enscript se ni namescen, ga namestimo po navodilih,
ki so prilozena programu. Poleg njega potrebujemo se vsaj eno
pisavo z vsemi nasimi znaki, zapisan v obliki Type 1. Primeren je
npr. IBM Courier, ki je prosto dostopen in se distribuira z X
Window System, programom ghostscript
ipd. Ce nismo
prepricani, ali ga imamo ze namescenega, pozenemo:
find / -name cour.pf[ab]
V osebno (~/.enscriptrc) ali skupno konfiguracijsko
datoteko (navadno /usr/local/etc/enscript.cfg ali
/usr/local/etc/enscriptsite.cfg) dodamo pravilno pot do
datotek s pisavami. Poleg tega potrebuje GNU enscript v vsakem
imeniku s pisavami se datoteko z imenom font.map, ki
vsebuje preslikavo med imeni pisav in datotekami, kjer so shranjene.
Ustvarimo jo z ukazom mkafmmap
.
Primer konfiguracijske datoteke:
...
# Kje hranimo pisave PostScript?
AFMPath: /usr/lib/X11/fonts/Type1:/usr/local/lib/ghostscript/fonts
...
# Privzeti nacin kodiranja:
DefaultEncoding: latin2
...
# Privzeti format papirja:
DefaultMedia: A4
...
# lpd izbira tiskalniske vrste z -P...
QueueParam: -P
...
# Za tiskanje uporabljamo ukaz lpr, ne lp
Spooler: lpr
Ko je vse potrebno nastavljeno, odtisnemo besedilo enostavno z
ukazom
enscript datoteka
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.
Nasim krajem prilagodimo a2ps
z majckeno spremembo
nastavitvene datoteke. Sistemsko nastavitveno datoteko najdemo navadno
kot /usr/etc/a2ps.cfg,
/usr/local/etc/a2ps.cfg ali kaj podobnega; osebna se
imenuje ~/.a2psrc.
...
# Default encoding
Options: --encoding=latin2
# Default media
Options: --media=A4
...
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/
Od marca 1996 dalje deluje v Ljubljani organizirana skupina
uporabnikov Linuxa v Sloveniji, drustvo LUGOS (Linux Users Group
of Slovenia). Drustvo ima svojo stran na WWW:
http://www.lugos.si/
Drustvo ima tudi svoj elektronski spisek, na katerega se
prijavite tako, da na naslov
majordomo@lugos.si posljete vrstico
subscribe lugos-list
v telesu sporocila.
Vzdrzevan seznam aktivnih arhivov v Sloveniji najdete na straneh
streznika LUGOS,
http://www.lugos.si/arhiv/
Od marca 1997 dalje imamo v Sloveniji svoj Sun SITE, ki je usklajen
z drugimi strezniki Sun SITE po svetu (Sun SITE na Univerzi
Severne Karoline, ZDA, je eden glavnih centrov za Linux).
ftp://sunsite.fri.uni-lj.si/pub/linux/
Na strezniku ARNES se avtomaticno zrcalita distribucija Debian
in programje iz projekta GNU,
ftp://ftp.arnes.si/software/unix/linux/debian/
ftp://ftp.arnes.si/software/gnu/
Streznik z zelo veliko izbiro programja za Linux je tudi na
Gimnaziji v Murski Soboti,
ftp://mercur.s-gms.ms.edus.si/pub/UNIX/linux/
Studentski informacijski center je s pomocjo Zavoda za odprto
druzbo uredil streznik FTP v Narodnem domu v Mariboru:
ftp://ftp.kibla.org/pub/Linux/
Distribucija Slackware se zrcali tudi na strezniku Fakultete za
racunalnistvo in informatiko Univerze v Ljubljani,
ftp://ftp.fri.uni-lj.si/pub/linux/
Wowen Goods for Linux se zrcalijo na strezniku Laboratorija za
robotiko na Fakulteti za elektrotehniko, Univerza v Ljubljani:
http://robo.fe.uni-lj.si/woven/
Linux Documentation Project ter distribucija Debian se zrcalita na
strezniku Centra za uporabno matematiko in teorijsko fiziko, Univerza
v Mariboru:
http://www.camtp.uni-mb.si/linux/LDP/
ftp://ftp.camtp.uni-mb.si/pub/linux/debian/
Linux nima svoje diskusijske skupine, ampak je vsa razprava
o sistemih Unix zbrana v skupini
si.comp.os.unix (kjer pa razprava
o Linuxu res predstavlja znaten del prometa). Svojo skupino pa ima
drustvo LUGOS:
si.org.lugos.
Agenda d.o.o., Lavriceva
3, Maribor (tel. 062/2297740), je uradni zastopnik podjetij Caldera,
RedHat in SuSE v Sloveniji.
CD-ROM z distribucijami Linuxa se da navadno dobiti pri vseh
bolje zalozenih trgovcih s tovrstno robo, npr. Infobia (tel.
061/614548) ali Mantis (tel. 061/1685473).
Najnovejsa izdaja tega spisa je razen na uradnem mestu
Linux Documentation Project dostopen tudi pri avtorju ter na domaci strani Slovenskega
drustva uporabnikov Linuxa:
http://sizif.mf.uni-lj.si/linux/cee/Slovenian-HOWTO.html
http://www.lugos.si/delo/slo/HOWTO-sl/Slovenian-HOWTO.html
Vse pripombe na ta spis so dobrodosle na naslov
<primoz.peterlin@biofiz.mf.uni-lj.si>
, splosna
vprasanja o Linuxu in poslovenjenju programov pa sodijo na dopisno listo
lugos-slo@lugos.si ali
v
si.comp.os.unix.
Druga izdaja je priblizno dvainpolkrat daljsa od prve, ki je izsla
konec leta 1996. Izkazalo se je, da bi bil koristen kratek seznam
stvari, ki jim moramo opraviti, ce zelimo usposobiti nase znake na
konzoli ali v okolju X Window System, zato sem ga dodal na zacetek.
Dodan je opis uporabe vektorskih pisav Type 1 in TrueType. Nastavitev
locale predstavlja standarden nacin prilagoditve programov,
zato je temu razdelku namenjena vecja pozornost. V celoti so novi
opisi prilagoditev urejevalnika LyX ter pisarniskih paketov
WordPerfect, Star Office in Applixware. Dodan je opis prilagoditve
nove izdaje urejevalnika Emacs. Razdelek o tiskalnikih je razsirjen z
domiselno alternativno razlicico tiskalniskega filtra; dodatno sta
omenjena ogonkify
in a2ps
. Posodobljen je seveda
tudi razdelek o Linuxu v Sloveniji. In morda se kaj, kar sem pozabil.
Ce je prva izdaja predstavljala nekaksne zbrane in urejene zapiske o
problemih, s katerimi sem se sam sreceval, se zdaj nekoliko bolje
zavedam tudi potreb drugih. Zato sem v to dodal tudi opis prilagoditev
programov in programskih paketov, ki jih sam ne uporabljam, npr. Star
Office, Applixware ali Word Perfect. Opisanih resitev nisem
preizkusal; zaupam pac izkusnjam izvornih piscev. Te sem povsod tudi
navedel in lahko stopite v stik z njimi.
Ce bralka ali bralec nista tega ze sama uganila, je cas, da priznam
sam: noben strokovnjak za Linux nisem. Nekaj o lokalizaciji Linuxa sem
se naucil iz spisov ``German HOWTO'' Winnfrieda Truemperja ter
``Danish/International HOWTO'' Thomasa Petersena, nekaj o
internacionalizaciji kar tako iz spisov Michaela Gschwinda. Nadvse
koristni so bila tudi ``Czech HOWTO'' skupine avtorjev,
Polska strona ogonkowa,
ter
Slovenscina in racunalniki Alesa Kosirja. Prvi spis je spisala
skupina avtorjev, obcasno ga objavijo v cz.comp.linux
,
zrcaljen je pa tudi na nekaj mestih na Ceskem in Slovaskem; drugo
najdete na
http://www.agh.edu.pl/ogonki/; stran vzdrzuje Jaroslaw
Strzalkowski. ``Slovenscino in racunalnike'' najdete na
http://nl.ijs.si/gnusl/tex/tslovene/slolang/.
Z namigi in nasveti so mi pomagali se (v abecednem vrstnem redu):
Gorazd Bozic <gorazd.bozic@arnes.si>
,
Ales Casar <casar@uni-mb.si>
,
Tomaz Erjavec <tomaz.erjavec@ijs.si>
,
Matjaz Godec <gody@elgo.si>
,
Ales Kosir <ales.kosir@hermes.si>
,
Metod Kozelj <metod.kozelj@rzs-hm.si>
,
Renato Lukac <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>
,
Boris Pozar <boris.pozar@guest.arnes.si>
,
Marko Samastur <marko.samastur@fmf.uni-lj.si>
,
Robert Susic <robert.susic@ijs.si>
,
Alen Salamun <alen.salamun@medinet.si>
,
Matjaz Terpin <matjaz.terpin@comcom.si>
,
in
Leon Zlajpah <leon.zlajpah@ijs.si>
Vsem hvala. Vsem po nemarnosti izpuscenim se opravicujem; poskusil bom
popraviti do naslednje izdaje.
Se pravi Slovenian ali Slovene?
Mnenja so deljena. Pisec teh vrstic se je pozanimal pri strokovnjakih
s tega podrocja, ki so ga le potrdili v tem, da so mnenja res
deljena. Slovnicno je pravilno eno ali drugo, odlocitev za eno ali
drugo varianto je zaenkrat bolj domena jezikovne estetike. Iz
zgodovinskih razlogov ta spis uporablja Slovenian, in tako bo do
nadaljnjega tudi ostalo.
Nasi znaki v tem spisu
Cel spis govori o tem, kako pridemo do nasih znakov, sam jih pa
nima. Kako to?
Kovaceva kobila... Sistem SGML-Tools (nekdaj Linuxdoc-SGML), ki je
uradni standard za dokumentacijo HOWTO, zaenkrat podpira samo Latin
1. Cees de Groot, vzdrzevalec paketa SGML-Tools, kot tudi Tim Bynum,
urednik zbirke HOWTO, se tezave zavedata. Pisec teh vrstic v upanju na
boljse case pise v Latin-2; preden poslje material uredniku, pa poreze
kljukice nad sumevci. Za domaco rabo pa lahko malo pogoljufamo in
paketu sgmltools
lazemo, da so osembitni znaki kodirani po
Latin 1: pri pretvorbi v navadno besedilo je tako ali tako vseeno, pri
pretvorbi v HTML moramo dodati vrstico <META> z definicijo
uporabljenega nabora znakov, pri pretvorbi v LaTeX pa morebiti se malo
telovaditi s sed
.
Copyright (c) 1996,1999
Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>
. Ta
spis lahko razsirjate pod pogoji, navedenimi v licenci LDP, dosegljivi
na naslovu
http://metalab.unc.edu/LDP/COPYRIGHT.html. Spisa ni dovoljeno
razsirjati v spremenjeni obliki brez privolitve avtorja.
Informacije v tem spisu so podane v veri, da so tocne in koristne,
vendar pa brez kakrsnegakoli jamstva, izrecnega ali impliciranega,
vkljucno, a brez omejitve na implicirano jamstvo za primernost za
trzenje ali uporabo. Uporabljate jih lahko izkljucno na lastno
odgovornost. Avtor ne odgovarja za kakrsnekoli skodo, posredno ali
neposredno, nastalo kot posledico uporabe informacij v tem spisu.
Copyright (c) 1996,1999 by Primoz 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.