Next Previous Contents

## 3. Prikaz nasih znakov na zaslonu

## 3.1 Nabor znakov ``ISO Latin 2''

ISO 8859-2 oz. ISO Latin 2 je clan druzine osembitnih naborov znakov ISO 8859, ki pokriva potrebe alfabetskih pisav (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.

## 3.2 Konzola

Nabor znakov za sistemsko konzolo najdemo v paketu kbd Andriesa Brouwerja z univerze v Eindhovnu, Nizozemska. Paket je del vseh distribucij Linuxa in se 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.

## 3.3 X Window System

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

1. Pisave snamemo z najblizjega streznika FTP:

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

   Datoteka ISO8859-2-bdf.tar.gz vsebuje najpopolnejsi nabor pisav, 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.
2. Pisavam z nasimi znaki dolocimo mesto v drevesni strukturi imenikov. Obicajno je to podimenik v imeniku /usr/X11R6/lib/X11/fonts/ (vcasih tudi /usr/lib/X11/fonts/, /usr/lib/X11R6/lib/X11/fonts ali celo /usr/X386/lib/X11/fonts/ kar pa naj nas ne moti). Mozen primer:

   > `

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

   > `

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

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

   (da, ukazi v `bash` lahko segajo tudi prek vecih vrstic). Pisav v obliki BDF zdaj ne potrebujemo vec in jih lahko pobrisemo.
4. Streznik X zna uporabiti stisnjene datoteke s pisavami, kar lahko izkoristimo in prihranimo se nekaj prostora na disku.

   > `

   >     gzip *.pcf

   > `

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

   > `

   >     mkfontdir

   > `

   Ukaz moramo pognati v vsakem podimeniku s pisavami.
6. Koncno lahko streznik obvestimo o tem, da smo namestili nove pisave, kar storimo z ukazom `xset`:

   > `

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

   > `

   Ce je slo vse gladko, mora ukaz `xlsfonts -fn "*-iso8859-2"` pokazati seznam vseh novo namescenih pisav.
7. Ukaz `xset` velja samo, dokler ne zapustimo X Window System. Trajno spremembo dosezemo s popravkom konfiguracijske datoteke. Streznik XFree86 hrani svoje nastavitve v datoteki /etc/XF86Config (pisec teh vrstic je v nekaj letih ukvarjanja z XFree86 na razlicnih distribucijah nastavitve videl tudi ze v datotekah /etc/X11/XF86Config, /usr/X11R6/lib/X11/XF86config in /usr/X11/lib/X11/Xconfig). Poiscemo niz `FontPath` in dodamo vrstice:

   > `

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

   > `

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

## 3.4 PostScript pod X11

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!

## 3.5 TrueType pod X11

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.

1. Ustvarimo imenik za pisave TrueType, npr. /usr/X11R6/lib/X11/fonts/TrueType/ in vanj prepisemo datoteke s pisavami TrueType.
2. V omenjenem imeniku ustvarimo datoteko fonts.scale. Preprost primer taksne datoteke je naslednji:

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

   Opazimo lahko, da se vseh pet vrstic nanasa na eno in isto datoteko. Razlikujejo se le po kodnem naboru. Ker datoteka vsebuje vse potrebne znake, jo streznik pisav aplikacijam lahko predstavi kot katerokoli od nastetih petih kodnih naborov. Joerg Pomnitz je napisal programcek ttmkfdir, ki avtomaticno pregleda vse datoteke TrueType in ustvari datoteko fonts.scale.

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

3. V istem imeniku zatem pozenemo se mkfontdir. Ta ne bo napravil nic drugega, kot obstojeco datoteko fonts.scale nespremenjeno prepisal v datoteko z imenom fonts.dir.
4. S streznikom pisav xfsft bodisi prepisemo obstojeci streznik (navadno /usr/X11R6/bin/xfs, ali pa ga premaknemo na kaksno drugo primerno mesto.
5. Streznik pisav potrebuje konfiguracijsko datoteko. Spodnja naj sluzi za zgled, ce nimate boljse:

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

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

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

       # in decipoints
       default-point-size = 120

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

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

   > `

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

   > `

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

   > `

   >     fslsfonts -server localhost:7100

   > `

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

   > `

   >     xset fp+ tcp/localhost:7100

   > `

   Streznik pisav lahko seveda tece tudi na drugem racunalniku, tako da ni potrebe, da imamo na vseh racunalnikih v lokalni mrezi namescene vse pisave. Dokoncno dodamo streznik pisav v konfiguracijsko datoteko /etc/XF86Config:

   > `

   >     FontPath "tcp/localhost:7100"

   > `

### 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`

Next Previous Contents