old-www/HOWTO/Slovenian-HOWTO-3.html

377 lines
14 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Slovenian HOWTO: Prikaz nasih znakov na zaslonu</TITLE>
<LINK HREF="Slovenian-HOWTO-4.html" REL=next>
<LINK HREF="Slovenian-HOWTO-2.html" REL=previous>
<LINK HREF="Slovenian-HOWTO.html#toc3" REL=contents>
</HEAD>
<BODY>
<A HREF="Slovenian-HOWTO-4.html">Next</A>
<A HREF="Slovenian-HOWTO-2.html">Previous</A>
<A HREF="Slovenian-HOWTO.html#toc3">Contents</A>
<HR>
<H2><A NAME="zaslon"></A> <A NAME="s3">3. Prikaz nasih znakov na zaslonu</A></H2>
<H2><A NAME="ss3.1">3.1 Nabor znakov ``ISO Latin 2''</A>
</H2>
<P>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.
<P>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.
<P>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.
<P>
<H2><A NAME="pisave-konzola"></A> <A NAME="ss3.2">3.2 Konzola</A>
</H2>
<P>Nabor znakov za sistemsko konzolo najdemo v
<A HREF="ftp://metalab.unc.edu/pub/Linux/system/keyboards/">paketu kbd</A> 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 <CODE>kbd</CODE> igrajo s prototipnimi
<A HREF="http://www.multimania.com/ydirson/en/lct/">Linux Console Tools</A> avtorja Yanna Dirsona.)
<P>V starejsih distribucijah Slackware se je prevedeni paket imenoval
<A HREF="ftp://ftp.cdrom.com/pub/linux/slackware/source/a/kbd/">keytbls</A>. Namestimo ga enako kot druge pakete, z ukazom
<CODE>pkgtool</CODE> ali <CODE>installpkg</CODE>.
<P>Ko imamo paket enkrat namescen, izberemo drugo pisavo
na zaslonu z ukazom <CODE>setfont</CODE>. Spodnji zgled izbere
pisavo z naborom znakov po standardu ISO Latin 2 v velikosti
sestnajst pik:
<BLOCKQUOTE><CODE>
<PRE>
setfont lat2-16
</PRE>
</CODE></BLOCKQUOTE>
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 <CODE>.psf</CODE> lahko pri ukazu
<CODE>setfont</CODE> izpuscamo).
<P>Izbrana pisava velja v vseh virtualnih terminalih (glej
<CODE>console(4)</CODE>) na konzoli. Ce nam to ni vsec, ampak bi radi imeli v
vsakem virtualnem terminalu svojo pisavo, si lahko pomagamo s programom
<CODE>vtfontd</CODE> Iana Zimmermana. Ta vsakic, ko zapustimo virtualni
terminal, shrani izbrano konzolno pisavo, in jo ponovno restavrira, ko
se vrnemo vanj.
<BLOCKQUOTE><CODE>
<A HREF="ftp://sizif.mf.uni-lj.si/pub/linux/vtfontd-1.0.1.tar.gz">ftp://sizif.mf.uni-lj.si/pub/linux/vtfontd-1.0.1.tar.gz</A></CODE></BLOCKQUOTE>
<P>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
<A HREF="Slovenian-HOWTO-4.html#tipk-konz">Konzola</A>
poglavja ``Tipkovnica'' ter v o razdelku ukazni lupini
<A HREF="Slovenian-HOWTO-6.html#bash">bash</A> v poglavju o ukaznih lupinah.
<P>
<H2><A NAME="pisave-x11"></A> <A NAME="ss3.3">3.3 X Window System</A>
</H2>
<P>Kratka navodila za namestitev pisav z nasimi znaki za uporabo z
X Window System in streznikom XFree86.
<P>
<OL>
<LI>Pisave snamemo z najblizjega streznika FTP:
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.arnes.si/software/unix/Latin-2-fonts/">ftp://ftp.arnes.si/software/unix/Latin-2-fonts/</A></CODE></BLOCKQUOTE>
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
(<CODE>tar -xzf ...</CODE>) jih dekomprimiramo in razpakiramo.
</LI>
<LI>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:
<BLOCKQUOTE><CODE>
<PRE>
/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/
</PRE>
</CODE></BLOCKQUOTE>
Ce imenikov s tem imenom se ni, jih ustvarimo.
</LI>
<LI>Streznik X ne zna uporabiti pisav v enakem formatu, kot se
distribuirajo, zato jih moramo s programom <CODE>bdftopcf</CODE>
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.
<HR>
<PRE>
for FILE in *.bdf
do
bdftopcf $FILE -o `basename $FILE .bdf`.pcf
done
</PRE>
<HR>
(da, ukazi v <CODE>bash</CODE> lahko segajo tudi prek vecih vrstic). Pisav v
obliki BDF zdaj ne potrebujemo vec in jih lahko pobrisemo.
</LI>
<LI>Streznik X zna uporabiti stisnjene datoteke s pisavami,
kar lahko izkoristimo in prihranimo se nekaj prostora na disku.
<BLOCKQUOTE><CODE>
<PRE>
gzip *.pcf
</PRE>
</CODE></BLOCKQUOTE>
Starejse izdaje streznika X podpirajo le stiskanje s
<CODE>compress</CODE>.
</LI>
<LI>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
<BLOCKQUOTE><CODE>
<PRE>
mkfontdir
</PRE>
</CODE></BLOCKQUOTE>
Ukaz moramo pognati v vsakem podimeniku s pisavami.
</LI>
<LI>Koncno lahko streznik obvestimo o tem, da smo namestili
nove pisave, kar storimo z ukazom <CODE>xset</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
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
</PRE>
</CODE></BLOCKQUOTE>
Ce je slo vse gladko, mora ukaz
<CODE>xlsfonts -fn &quot;*-iso8859-2&quot;</CODE>
pokazati seznam vseh novo namescenih pisav.
</LI>
<LI>Ukaz <CODE>xset</CODE> velja samo, dokler ne zapustimo X Window
System. Trajno spremembo dosezemo s popravkom konfiguracijske
datoteke. Streznik
<A HREF="http://www.xfree86.org/XFree86/">XFree86</A> 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 <CODE>FontPath</CODE>
in dodamo vrstice:
<BLOCKQUOTE><CODE>
<PRE>
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"
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</OL>
<P>To je vse. Od zdaj naprej zna X Window System na zahtevo programa
prikazati tudi nase znake. Vec o tem, kako program,
npr. <CODE>xterm</CODE>, pripravimo do tega, da zahteva nase znake, si
preberemo v razdelku
<A HREF="Slovenian-HOWTO-6.html#xterm">xterm</A> poglavja o
terminalskih emulatorjih.
<P>
<H2><A NAME="pisave-type1"></A> <A NAME="ss3.4">3.4 PostScript pod X11</A>
</H2>
<P>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.
<P>Nekaj vektorskih pisav Type 1 v kodnem razporedu ISO Latin 2 je
pripravil Peter Soos. Pri namescanju v celoti sledimo postopku,
opisanem v razdelku
<A HREF="#pisave-x11">X Window System</A>
poglavja
<A HREF="#zaslon">Prikaz nasih znakov na zaslonu</A>. S
streznika snamemo datoteko v obliki <CODE>zip</CODE>:
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.arnes.si/software/unix/Latin-2-fonts/l2pfb005.zip">ftp://ftp.arnes.si/software/unix/Latin-2-fonts/l2pfb005.zip</A></CODE></BLOCKQUOTE>
<P>Se vec pisav je zbrala ceska skupina, paket RPM (vsebino namestimo z
ukazom <CODE>rpm -Uvh ...</CODE>) najdemo na
<BLOCKQUOTE><CODE>
<A HREF="ftp://crash.fce.vutbr.cz/pub/linux_fonts/X11fonts-ulT1mo-beta-1.0-4.noarch.rpm">ftp://crash.fce.vutbr.cz/pub/linux_fonts/X11fonts-ulT1mo-beta-1.0-4.noarch.rpm</A></CODE></BLOCKQUOTE>
<P>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 <CODE>xset</CODE> in v nastavitveno datoteko dodamo
vrstico:
<BLOCKQUOTE><CODE>
<PRE>
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/Type1"
</PRE>
</CODE></BLOCKQUOTE>
Namesto <CODE>xlsfonts</CODE> tokrat iz okenskega okolja X Window System
pozenimo <CODE>xfontsel</CODE>. Novo namescene pisave najdemo najhitreje,
ce jih iscemo po ``crkolivnici'' (angl. type foundry) <CODE>sp</CODE> (po
avtorjevih zacetnicah) v prvem stolpcu (<CODE>fndry</CODE>). Izberite
kaksno veliko povecavo (<CODE>pxlsz</CODE>) in primerjajte z rastrskimi
pisavami!
<P>
<H2><A NAME="pisave-tt"></A> <A NAME="ss3.5">3.5 TrueType pod X11</A>
</H2>
<P>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.
<P>
<H3>Freetype in xfsft</H3>
<P>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.
<P>
<BLOCKQUOTE><CODE>
<A HREF="http://www.freetype.org/">http://www.freetype.org/</A><BR>
<A HREF="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/</A></CODE></BLOCKQUOTE>
<P>Predpostavili bomo, da ste na kakrsenkoli nacin ze uspeli priti do
izvedljive datoteke xfsft.
<P>
<OL>
<LI>Ustvarimo imenik za pisave TrueType,
npr. /usr/X11R6/lib/X11/fonts/TrueType/ in vanj prepisemo
datoteke s pisavami TrueType.
</LI>
<LI>V omenjenem imeniku ustvarimo datoteko
fonts.scale. Preprost primer taksne datoteke je
naslednji:
<HR>
<PRE>
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
</PRE>
<HR>
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.
<BLOCKQUOTE><CODE>
<A HREF="http://www.darmstadt.gmd.de/~pommnitz/xfsft.html">http://www.darmstadt.gmd.de/~pommnitz/xfsft.html</A></CODE></BLOCKQUOTE>
</LI>
<LI>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.
</LI>
<LI>S streznikom pisav xfsft bodisi prepisemo obstojeci
streznik (navadno /usr/X11R6/bin/xfs, ali pa ga
premaknemo na kaksno drugo primerno mesto.
</LI>
<LI>Streznik pisav potrebuje konfiguracijsko datoteko. Spodnja naj
sluzi za zgled, ce nimate boljse:
<HR>
<PRE>
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
</PRE>
<HR>
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 <CODE>xfs(1)</CODE>.
<BLOCKQUOTE><CODE>
<PRE>
xfsft -port 7100 -config /usr/X11R6/lib/X11/fs/config &amp;
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Ne da bi spreminjali pot, v kateri iscemo pisave, lahko
preverimo, ce streznik deluje:
<BLOCKQUOTE><CODE>
<PRE>
fslsfonts -server localhost:7100
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Ce smo zadovoljni, dodamo streznik pisav med vire, kjer iscemo
pisave, npr.
<BLOCKQUOTE><CODE>
<PRE>
xset fp+ tcp/localhost:7100
</PRE>
</CODE></BLOCKQUOTE>
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:
<BLOCKQUOTE><CODE>
<PRE>
FontPath "tcp/localhost:7100"
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</OL>
<P>
<H3>Xfstt</H3>
<P>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.
<P>
<BLOCKQUOTE><CODE>
<A HREF="ftp://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz">ftp://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz</A></CODE></BLOCKQUOTE>
<P>
<HR>
<A HREF="Slovenian-HOWTO-4.html">Next</A>
<A HREF="Slovenian-HOWTO-2.html">Previous</A>
<A HREF="Slovenian-HOWTO.html#toc3">Contents</A>
</BODY>
</HTML>