<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ <!ENTITY version "3.0beta4"> <!ENTITY s-linux-si "<link linkend=linux-si>Linux v Sloveniji</link>"> <!ENTITY s-pisave-konzola "<link linkend=pisave-konzola>Konzola</link>"> <!ENTITY s-tipk-konz "<link linkend=tipk-konz>Konzola</link>"> <!ENTITY s-bash "<link linkend=bash>Bash</link>"> <!ENTITY s-tcsh "<link linkend=tcsh>Tcsh</link>"> <!ENTITY s-pisave-x11 "<link linkend=pisave-x11>X Window System</link>"> <!ENTITY s-pisave-type1 "<link linkend=pisave-type1>Postscript v X11</link>"> <!ENTITY s-tipk-x11 "<link linkend=tipk-x11>X Window System</link>"> <!ENTITY s-xterm "<link linkend=xterm>Xterm</link>"> <!ENTITY s-zaslon "<link linkend=zaslon>Prikaz naših znakov na zaslonu</link>"> <!ENTITY s-shell "<link linkend=shell>Ukazne lupine</link>"> <!ENTITY s-xkb "<link linkend=xkb>XKB</link>"> <!ENTITY s-locale "<link linkend=locale>Slovensko jezikovno okolje</link>"> <!ENTITY s-zahvala "<link linkend=zahvala>Zahvala</link>"> <!ENTITY s-zlogovanje "<link linkend=zlogovanje>Slovenska pravila za deljenje besed</link>"> <!ENTITY s-ispell "<link linkend=ispell>Črkovanje: Ispell</link>"> <!ENTITY s-tisk-cp "<link linkend=tisk-cp>Tiskalniki, ki podpirajo kak drug nabor z našimi znaki</link>"> <!ENTITY s-ogonkify "<link linkend=ogonkify>Ogonkify</link>"> <!ENTITY s-yudit "<link linkend=yudit>Yudit</link>"> ]> <!-- $Id: Slovenian-HOWTO.sgml,v 2.72 2002/03/23 14:15:31 roman Exp $ --> <article status=draft> <?html-filename Slovenian-HOWTO.html> <artheader> <title>Slovenian HOWTO</title> <author> <firstname>Primož</firstname> <surname>Peterlin</surname> <affiliation> <address> <email>primoz.peterlin@biofiz.mf.uni-lj.si</email> </address> </affiliation> </author> <releaseinfo>Različica &version;</releaseinfo> <edition>&version;</edition> <pubdate role="cvs">$Date: 2002/03/23 14:15:31 $</pubdate> <copyright> <year>1996</year> <year>1999</year> <year>2000</year> <year>2001</year> <year>2002</year> <holder>Primož Peterlin</holder> </copyright> <legalnotice> <title>Uporaba in razširjanje</title> <para>Ta spis lahko uporabljate in razširjate pod pogoji, navedenimi v licenci <ulink url="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</ulink>.</para> <para>Informacije v tem spisu so podane v veri, da so točne in koristne, vendar zanje ne jamčimo, ne izrecno ne implicirano, tudi za to ne, da so primerne za trženje ali rabo. Uporabljate jih zgolj na lastno odgovornost. Avtor ne bo odgovoren za morebitno škodo, posredno ali neposredno, ki bi nastala kot posledica rabe informacij iz tega spisa.</para> </legalnotice> <legalnotice> <title>Note to English readers</title> <para>This document may be used and distributed under the terms set forth in the <ulink url="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</ulink>.</para> <para>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.</para> </legalnotice> <revhistory> <revision> <revnumber>3.0</revnumber> <date>2001-12-27</date> <authorinitials>pp</authorinitials> <revremark> Izvirnik spisa je pretvorjen iz oblike Linuxdoc v Docbook. Razširil razdelek o programiranju z uporabo paketa GNU gettext. Posodobil uvodni odstavek o tem, kaj je Linux. Poleg nabora ISO 8859-2 omenjam tudi ISO 10646. Ob ukazu recode omenjam tudi iconv. Izpustil odstavek o tem, zakaj v prejšnjih izdajah ni bilo naših znakov. Posodobil navodila za uporabo StarOffice 5.2. Jernej Kovačič je prispeval opis rabe programov Yudit, Xfmail in Wprint. Miha Tomšič pa opis prikaza naših znakov v Magic Point. </revremark> </revision> <revision> <revnumber>2.22</revnumber> <date>2000-02-24</date> <authorinitials>pp</authorinitials> <revremark> Popravljen naslov Alveestrandovega števca uporabnikov. Ob ukazu "setfont" je obravnavan tudi njegov novejši nadomestek, "consolechars". Ob slovenskem besedišču za ispell so podana navodila za uporabo paketov rpm. Dodana informacija Andraža Hvalice o tem, kako ukrotiti Amayo. Kazalci na lokacije ispell-sl v strežnikih FTP Red Hat in Caldera. Andrej Komelj dodan na seznam sodelavcev, s katerega je bil pomotoma izpadel. Popravljen naslov Marka Samasturja. Upoštevan nov žalostni status paketa SGMLtools. Popravljeni kazalci na strežnik CAMTP v Mariboru. Počedeni pogoji rabe, da ne postavljamo dodatnih pogojev glede na licenco LDP. Vnesena razdelka o XKB in KDE, ki ju je napisal Marko Samastur. Dopisano še nekaj malega o slovenskem jezikovnem okolju. Dodana informacija Milana Gaborja o urejevalniku AbiWord. </revremark> </revision> <revision> <revnumber>2.9</revnumber> <date>1999-02-15</date> <authorinitials>pp</authorinitials> <revremark> Zadnja izdaja, objavljena na www.linuxdoc.org. </revremark> </revision> <revision> <revnumber>1.0</revnumber> <date>1996-10-30</date> <authorinitials>pp</authorinitials> <revremark> Prva objavljena izdaja spisa Slovenian-HOWTO. </revremark> </revision> </revhistory> <abstract> <title>Povzetek</title> <para> Slovenian-HOWTO je zbirka receptov za poslovenjenje sistema Linux. Opisan je vnos slovenskih znakov s tipkovnice, prikaz teh znakov na zaslonu in odtis na tiskalniku. Ogledamo si splošno zasnovo <emphasis>krajevne prilagoditve</emphasis> (pogosto se zanjo uporablja tudi tujka <emphasis>lokalizacija</emphasis>) programov, kot jo podpirajo sistemi <acronym>GNU</acronym>. Opisana je tudi prilagoditev nekaterih priljubljenih programov za delo s slovenščino; med njimi so urejevalniki in pisarniški paketi, programi za elektronsko pošto in spletni brskalniki, ukazne lupine, terminalski posnemovalniki in različni drugi programi. Na koncu podajamo kratek pregled virov za Linux pri nas. </para> <para><foreignphrase>Note to English readers: this document addresses Linux localization issues specific to Slovenian locale.</foreignphrase></para> </abstract> </artheader> <sect1 id="uvod"> <title>Uvod</title> <sect2 id="linux-kaj"> <title>Kaj je Linux?</title> <para>Linux je izvedba večopravilnega, večuporabniškega operacijskega sistema Unix za računalnike s procesorji Intel (80386, 80486, izvirni Pentium in vse njegove novejše izvedbe), Digital AXP 21x64 (Alpha), Sun SPARC in Motorola 680x0, Power PC, MIPS, ARM in druge, nekako v razredu od ročnih računalnikov Palm do velikih računalnikov IBM S/390, vštevši oboje. Jedro operacijskega sistema je ob pomoči in sodelovanju številnih zanesenjakov iz interneta napisal Linus Torvalds z univerze v Helsinkih na Finskem. Skupaj s programi iz projektov GNU, X Window System in BSD sestavlja sodobno programsko okolje, enakovredno komercialnim različicam sistema Unix.</para> <para>Linux je prosti program, dostopen skupaj z izvirno kodo. Najnovejše različice programja za Linux je moč najti na:</para> <itemizedlist> <listitem> <para> <ulink url="ftp://ibiblio.org/pub/Linux/">Ibiblio</ulink> </para> </listitem> <listitem> <para> <ulink url="ftp://tsx-11.mit.edu/pub/linux/">TSX-11</ulink> </para> </listitem> </itemizedlist> <para>Obe mesti sta navadno težko dostopni in zelo zasedeni, zato uporabimo eno od številnih mest, na katerih se zrcali vsebina zgornjih dveh; pametno je, da začnemo na katerem od domačih zrcal; našteta so v poglavju &s-linux-si;.</para> <para>Večina pa verjetno tudi teh naslovov ne bo potrebovala, saj smo zadovoljni že z Linuxom, s kakršnim postreže ta ali ona <emphasis>distribucija</emphasis>. Med tistimi, ki bolj ali manj dobro pokrivajo prilagoditve Linuxa slovenskemu jezikovnemu okolju, omenimo <ulink url="http://www.redhat.com/">Red Hat</ulink>, <ulink url="http://www.mandrakesoft.com/">Mandrake</ulink>, <ulink url="http://www.euroteh.si/">SuSE</ulink> in <ulink url="http://www.pasadena.si/">Pingo</ulink> (slednja je pravzaprav dopolnjena in prilagojena distribucija Red Hat 6.2).</para> </sect2> <sect2 id="zapis"> <title>Dogovor o zapisu</title> <para>V tem spisu so zgledi izpisani v pisavi nespremenljive širine, npr.</para> <screen> echo "Pozdravljeni"</screen> <para>Psevdoimena v zgledih so izpisana z ležečo različico iste pisave, npr.</para> <cmdsynopsis> <command>ls</command> <arg choice=plain><replaceable>datoteka</replaceable></arg> </cmdsynopsis> <para>Tu se od bralca ali bralke pričakuje, da bo psevdonime <filename><replaceable>datoteka</replaceable></filename> nadomestil(-a) z dejanskim imenom datoteke.</para> <para>Z znakom <literal remap="tt">˜</literal> se po ustaljenem običaju v sistemih Unix označuje osnovno področje uporabnika (za uporabnika z imenom <emphasis>uporabnik</emphasis> je to navadno <filename>/home/<replaceable>uporabnik</replaceable></filename>). Nanj kaže tudi sistemska spremenljivka <envar>$HOME</envar>.</para> <para>Nadalje je za nastavitve spremenljivk okolja v tem spisu vseskozi rabljen zapis, ki se uporablja v Bournovi ukazni lupini in njenih izpeljankah (Kornova lupina, lupina <command>bash</command>). Bralec ali bralka, ki uporablja ukazno lupino C (<command>csh</command> ali <command>tcsh</command>), bo znal(a) sam(a) prevesti zglede</para> <cmdsynopsis> <arg choice=plain>SPREMENLJIVKA</arg> <arg choice=plain>=<replaceable>vrednost</replaceable>; </arg> <command>export</command> <arg choice=plain>SPREMENLJIVKA</arg> </cmdsynopsis> <para>ali celo obliko, ki jo dopušča <literal remap="tt">bash</literal>:</para> <cmdsynopsis> <command>export</command> <arg choice=plain>SPREMENLJIVKA</arg> <arg choice=plain>=<replaceable>vrednost</replaceable></arg> </cmdsynopsis> <para>v analogne</para> <cmdsynopsis> <command>setenv</command> <arg choice=plain>SPREMENLJIVKA</arg> <arg choice=plain><replaceable>vrednost</replaceable></arg> </cmdsynopsis> </sect2> </sect1> <sect1 id="quick"> <title>Za nestrpne</title> <para>To poglavje ponuja nekakšna »Izbrana poglavja iz slovenskega HOWTO« za tiste, ki se jim mudi, da bi bodisi v znakovnem bodisi v grafičnem načinu takoj začeli tipkati z našimi znaki, k branju celotnega spisa pa bi se radi vrnili kdaj pozneje v miru. Samo še to naj omenim, da sta prilagoditev konzole in prilagoditev okolja X Window System povsem neodvisni.</para> <sect2 id="quick-konzola"> <title>Naši znaki na konzoli</title> <para>Trije koraki so potrebni, da znakovni terminal (ki se mu iz razlogov, ki po starosti daleč prekašajo povprečnega uporabnika Linuxa, včasih pravi tudi <emphasis>konzola</emphasis>) prilagodimo delu z našimi znaki:</para> <para> <orderedList> <listitem> <para>Omogočiti moramo prikaz naših znakov v znakovnem načinu. Opisano v razdelku &s-pisave-konzola; poglavja »Prikaz naših znakov na zaslonu«.</para> </listitem> <listitem> <para>Nastaviti moramo ustrezno preslikavo tipkovnice. Opisano v razdelku &s-tipk-konz; poglavja »Tipkovnica«.</para> </listitem> <listitem> <para>Ukazno lupino moramo nastaviti tako, da bo dovoljevala vnos osembitnih znakov. Opisano v razdelku &s-bash;, v podpoglavju o ukaznih lupinah (ali v razdelku &s-tcsh;, če uporabljate to ukazno lupino).</para> </listitem> </orderedlist> </para> </sect2> <sect2 id="quick-x11"> <title>Naši znaki v okolju X Window System</title> <para>Z okoljem X Window System je podobno kakor s konzolo, le pot je malce daljša.</para> <para> <orderedList> <listitem> <para>Namestiti moramo naše znake in pripraviti grafično okolje X Window System do tega, da jih bo uporabljalo. Opisano v razdelku &s-pisave-x11; poglavja »Prikaz naših znakov na zaslonu«.</para> </listitem> <listitem> <para>Nastaviti moramo preslikavo tipkovnice. Opisano v razdelku &s-tipk-x11; poglavja »Tipkovnica«.</para> </listitem> <listitem> <para>Nastaviti moramo terminalski posnemovalnik, da bo prikazoval naše znake. Opisano v razdelku &s-xterm; poglavja o terminalskih posnemovalnikih.</para> </listitem> <listitem> <para>Ukazno lupino moramo nastaviti tako, da bo dovoljevala vnos osembitnih znakov. Opisano v razdelku &s-bash;, v podpoglavju o ukaznih lupinah (ali v razdelku &s-tcsh;, če uporabljate to ukazno lupino).</para> </listitem> </orderedlist> </para> </sect2> </sect1> <sect1 id="zaslon"> <title>Prikaz naših znakov na zaslonu</title> <sect2 id="iso-latin-2"> <title>Nabor znakov »ISO Latin 2«</title> <para>ISO 8859-2 ali ISO Latin 2 je član družine osembitnih naborov znakov ISO 8859, ki pokriva potrebe alfabetskih pisav (latinica in cirilica ter arabska, hebrejska in grška pisava; v pripravi sta tudi armenska in gruzinska). Družino je zasnovalo evropsko združenje izdelovalcev računalnikov (European Computer Manufacturer's Association, <acronym>ECMA</acronym>), kot mednarodni standard pa jo je potrdila organizacija za standardizacijo <acronym>ISO</acronym> s sedežem v Ženevi.</para> <para>Nabor ISO Latin 2 obsega vse potrebne znake za pisanje v albanščini, angleščini, bošnjaščini, češčini, finščini, hrvaščini, irščini, lužiški srbščini, madžarščini, nemščini, poljščini, romunščini, slovaščini, slovenščini ter srbščini v latiničnem prečrkovanju.</para> <para>Nekaj izdelovalcev 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 nezdružljive tako med seboj kakor tudi s standardom ISO.</para> </sect2> <sect2 id="unicode"> <title>ISO 10646/Unicode</title> <para>Osembitni nabori znakov imajo tudi pomanjkljivosti. Če smo računalnik nastavili tako, da pravilno prikazuje slovenske znake, s tem samodejno rešimo tudi prikaz besedil v prej naštetih jezikih, kot so poljščina ali madžarščina, ne pa tudi besedil v francoščini, ruščini ali grščini. V mednarodnem okolju so lahko s tem težave. Ponujenih rešitev je bilo več, največ pozornosti pa je bil deležen razširjeni standard Unicode.</para> <para>ISO 10646 <acronym>UCS</acronym> (Universal Character Set) je 31-bitni nabor znakov, razdeljen na 128 »skupin« (angl. group), vsaka od njih pa na 256 »ravnin« (angl. plane); 65536 znakov prve ravnine je definiranih kot osnovna večjezična ravnina (Base Multilangual Plane, <acronym>BMP</acronym>). V tretji izdaji standarda Unicode (enakovredni standardu ISO/IEC 10646-1:2000) je definiranih 49.194 znakov, 7827 16-bitnih kod je še nedodeljenih, če štejemo še 1.048.544 za zdaj nedodeljenih mest, ki jih lahko naslavljamo s pari surogatov (torej s parom 16-bitnih kod), pa bi moral standard za nekaj časa zadostovati.</para> <para>Za kodiranje besedil se ob kodiranju <acronym>UCS-2</acronym>, v katerem je vsak od 65.536 znakov predstavljen z dvema bajtoma, ter <acronym>UCS-4</acronym>, v katerem je vsak znak predstavljen s štirimi bajti, uporablja tudi pretvorna shema <acronym>UTF-8</acronym> (<acronym>UCS</acronym> Transformation Scheme), v kateri se prvih 128 znakov iz nabora Unicode (kar ustreza naboru <acronym>ASCII</acronym>) kodira z enim bajtom, naslednjih 1920 (med njimi je večina drugih latiničnih znakov, cirilica, osnovna grščina, hebrejščina in osnovna arabščina) kot dva bajta, nadaljnjih 63.488 znakov (med njimi kitajski, japonski, korejski) s tremi, preostali znaki iz nabora ISO 10646 pa s štirimi do šestimi bajti. Prednost kodiranja UTF-8 je za evropske latinično pišoče narode v tem, da so besedila komaj kaj daljša od besedil, kodiranih v katerem od osembitnih standardov ISO 8859, kodiranje v UCS-2 pa pomeni dvakrat daljše besedilo (UCS-4 pa celo štirikrat daljše). Slabost je seveda v tem, da v takih besedilih ni več enostavne zveze med številom znakov v besedilu in dolžino besedila v bajtih.</para> <para>Izčrpnejše informacije o uporabi kodnega nabora Unicode v Linuxu prinaša spis <ulink url="http://www.lugos.si/delo/slo/HOWTO-sl/Unicode-HOWTO-sl.html"> Unicode HOWTO</ulink>, na voljo tudi v slovenskem prevodu.</para> </sect2> <sect2 id="pisave-konzola"> <title id="pisave-konzola.title">Konzola</title> <para>Nabor znakov za sistemsko konzolo najdemo v <ulink url="ftp://metalab.unc.edu/pub/Linux/system/keyboards/">paketu kbd</ulink> Andriesa Brouwerja z univerze v Eindhovnu na Nizozemskem. Paket je del vseh distribucij Linuxa in se samodejno naloži ob namestitvi sistema. Pisave in pretvorne tabele so zložene v imeniku <filename>/usr/lib/kbd</filename>. (Avanturisti se lahko namesto s paketom <literal remap="tt">kbd</literal> igrajo s prototipnimi <ulink url="http://www.multimania.com/ydirson/en/lct/">Linux Console Tools</ulink> avtorja Yanna Dirsona. Izdaji LCT 0.2.0 ter <literal remap="tt">kbd</literal> 0.99 naj bi bili usklajeni.)</para> <para>Ko je paket naposled nameščen, izberemo na zaslonu drugo pisavo z ukazom <command remap="tt">consolechars</command>. Spodnji zgled izbere pisavo z naborom znakov po standardu ISO Latin 2, veliko šestnajst pik:</para> <para> <userinput>consolechars --font=lat2u-16 --sfm=lat2u.sfm --acm=iso02.acm</userinput> </para> <para>Zaradi združljivosti s prejšnjimi izdajami paketa <literal remap="tt">kbd</literal> še vedno deluje tudi ukaz <command>setfont</command>, ki pa bo morda v kateri od naslednjih izdaj opuščen:</para> <para> <userinput>setfont lat2u-16</userinput> </para> <para>Sistemske nastavitve zaslonske pisave so shranjene v datoteki <filename>/usr/sysconfig/i18n</filename>:</para> <programlisting> SYSFONT="lat2-sun16" SYSFONTACM="iso02" LANG="sl_SI" </programlisting> <para>V isti nastavitveni datoteki je shranjen tudi podatek o tem, za katere jezike smo izbrali podporo ob namestitvi, na primer:</para> <programlisting> SUPPORTED="en_US:en:sl_SI:sl" </programlisting> <para>Rok Papež predlaga naslednjo izboljšavo nastavitve spremenljivk <envar>SYSFONT</envar> in <envar>SYSFONTACM</envar>:</para> <programlisting> SYSFONT="lat2u-16" UNIMAP="lat2u" SYSFONTACM="iso02+euro" </programlisting> <para>Pisave z našimi znaki podpirajo le ločljivost 80 x 25 znakov. Če izberemo kakšno drugo ločljivost, denimo z izbiro <literal>vga=ext</literal> v LILO, se ločljivost avtomatično vrne na 80 x 25.</para> <para>Izbrana pisava velja v vseh navideznih terminalih (glej <literal remap="tt">console(4)</literal>) na konzoli. Če nam to ni všeč in bi radi imeli v vsakem navideznem terminalu svojo pisavo, si lahko pomagamo s programom <literal remap="tt">vtfontd</literal> Iana Zimmermana. Ta vsakič, ko zapustimo navidezni terminal, shrani izbrano konzolno pisavo in jo znova restavrira, ko se vrnemo vanj.</para> <screen> ftp://sizif.mf.uni-lj.si/pub/linux/vtfontd-1.0.1.tar.gz </screen> <para>Z izbiro pisave smo opravili šele nekako tretjino vsega dela, potrebnega, da bi lahko v tekstovnem okolju pisali po slovensko. Izvesti moramo vsaj še preslikavo tipkovnice ter omogočiti vnos osembitnih znakov v ukazni lupini. Nestrpna bralka ali bralec si lahko potrebno prebere v razdelku &s-tipk-konz; poglavja »Tipkovnica« ter v o razdelku ukazni lupini &s-bash; v poglavju o ukaznih lupinah.</para> <sect3 id="konzola-stari"> <title>Starejše izdaje</title> <para>Pri starejših izdajah jedra (2.0 in starejše) je bila podpora za Unicode izvedena drugače in v njih bomo tako ukaz <literal remap="tt">consolechars(8)</literal> kot tudi pisavo <literal remap="tt">lat2u-16</literal> zaman iskali. Namesto nje uporabimo ukaz <command>setfont</command> in pisavo <literal remap="tt">lat2-16</literal>:</para> <para> <userinput>setfont lat2-16</userinput> </para> <para>Za nas zanimive pisave so še <filename>iso02.f08</filename>, <filename>iso02.f14</filename> in <filename>iso02.f16</filename>, ter <filename>lat2-08.psf</filename>, <filename>lat2-10.psf</filename>, <filename>lat2-12.psf</filename>, <filename>lat2-14.psf</filename> in <filename>lat2-16.psf</filename> (pripono <literal>.psf</literal> lahko pri ukazu <command>setfont</command> izpuščamo).</para> <para>Distribucija Red Hat od različice 6.2 naprej shranjuje nastavitve zaslonskih pisav v datoteki <filename>/etc/syconfig/i18n</filename>. Prej omenjeni ukaz <literal>setfont</literal> vanjo ob izboru slovenske tipkovnice zapiše primerne vrednosti, na primer:</para> <screen> LANG="sl_SI" SYSFONT="lat2-sun16" SYSFONTACM="iso02" </screen> <note> <para>V starejših distribucijah Slackware se je prevedeni paket imenoval <ulink url="ftp://ftp.cdrom.com/pub/linux/slackware/source/a/kbd/"> keytbls</ulink>. Namestimo ga enako kakor druge pakete, z ukazom <command>pkgtool</command> ali <command>installpkg</command>.</para> </note> </sect3> </sect2> <sect2 id="pisave-x11"> <title>X Window System</title> <para>Kratka navodila za namestitev pisav z našimi znaki za uporabo z X Window System in strežnikom XFree86.</para> <para> <orderedlist> <listitem> <para>Rastrske pisave navadno namestimo kot paket RPM (ime paketa je <literal>XFree86-ISO8859-2</literal>, <literal>XFree86-ISO8859-2-75dpi-fonts</literal> ali <literal>XFree86-ISO8859-2-100dpi-fonts</literal>).</para> <para>Če paketa RPM nikakor ne dobimo, pisave snamemo iz najbližjega strežnika FTP:</para> <screen> ftp://ftp.arnes.si/software/Latin-2-fonts/ </screen> <para>V datoteki <filename>ISO8859-2-bdf.tar.gz</filename> je najpopolnejši nabor pisav, kodiranih po ISO 8859-2, precej uporabnih pisav pa je tudi v <filename>xfonts-iso2-0.84.tar.gz</filename>. Po običajnem postopku (<userinput>tar -xzf ...</userinput>) jih razširimo in razpakiramo.</para> </listitem> <listitem> <para>Pisavam z našimi znaki določimo mesto v drevesni strukturi imenikov. Navadno je to podimenik v imeniku <filename>/usr/X11R6/lib/X11/fonts/</filename> (včasih tudi <filename>/usr/lib/X11/fonts/</filename>, <filename>/usr/lib/X11R6/lib/X11/fonts</filename>, <filename>/usr/X386/lib/X11/fonts/</filename> ali celo <filename>/usr/share/fonts/</filename>, kar pa naj nas ne moti). Možni zgled:</para> <screen> /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/ </screen> <para>Če imenikov s tem imenom še ni, jih ustvarimo.</para> </listitem> <listitem> <para>Strežnik X ne zna uporabiti pisav v enakem formatu, kot se distribuirajo, zato jih moramo s programom <command>bdftopcf</command> prevesti iz formata BDF (Binary Distribution Format) v format PCF (Portable Compiled Format). Starejše izdaje X Window System so namesto slednjega uporabljale format SNF (Server Native Format), ki pa se danes ne uporablja več.</para> <programlisting> for FILE in *.bdf do bdftopcf $FILE -o `basename $FILE .bdf`.pcf done </programlisting> <para>(da, ukazi v <literal>bash</literal> lahko segajo tudi čez več vrstic). Pisav v obliki BDF zdaj ne potrebujemo več in jih lahko zbrišemo.</para> </listitem> <listitem> <para>Strežnik X zna uporabiti stisnjene datoteke s pisavami, kar lahko izkoristimo in prihranimo še nekaj prostora na disku.</para> <para> <userinput>gzip *.pcf</userinput> </para> <para>Starejše izdaje strežnika X (ampak res <emphasis>zelo</emphasis> stare) so podpirale le stiskanje s <command>compress</command>.</para> </listitem> <listitem> <para>V vsakem imeniku s pisavami pričakuje strežnik datoteko <filename>fonts.dir</filename>, ki podaja preslikavo med opisi pisav (X Logical Font Description, XLFD) in imeni datotek. Ustvarimo jo z ukazom</para> <para> <userinput>mkfontdir</userinput> </para> <para>Ukaz moramo pognati v vsakem podimeniku s pisavami.</para> </listitem> <listitem> <para>Končno lahko strežnik obvestimo o tem, da smo namestili nove pisave. To storimo z ukazom <command>xset</command>:</para> <screen> 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 </screen> <para>Če je šlo vse gladko, mora ukaz <userinput>xlsfonts -fn '*-iso8859-2'</userinput> pokazati seznam vseh novo nameščenih pisav.</para> </listitem> <listitem> <para>Ukaz <literal>xset</literal> velja samo, dokler ne zapustimo X Window System. Trajno spremembo dosežemo s popravkom konfiguracijske datoteke. Strežnik <ulink url="http://www.xfree86.org/XFree86/">XFree86</ulink> hrani svoje nastavitve v datoteki <filename>/etc/X11/XF86Config-4</filename> (XFree86 4.0 po vrsti poskuša prebrati nastavitve takole: <filename>/etc/X11/XF86Config-4</filename>, <filename>/etc/X11/XF86Config</filename> in <filename>/etc/X11/XF86Config</filename>. Pri nekaterih starejših distribucijah se je nastavitvena datoteka imenovala tudi <filename>/usr/X11R6/lib/X11/XF86config</filename> ali <filename>/usr/X11/lib/X11/Xconfig</filename>). Poiščemo niz <literal>FontPath</literal> in dodamo vrstice:</para> <programlisting> 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" </programlisting> </listitem> </orderedlist> </para> <para>To je vse. Od zdaj naprej zna X Window System na zahtevo programa prikazati tudi naše znake. Več o tem, kako program, npr. <application>Xterm</application>, pripravimo do tega, da zahteva naše znake, si preberemo v razdelku &s-xterm; poglavja o terminalskih posnemovalnikih.</para> </sect2> <sect2 id="pisave-type1"> <title>Postscript v X11</title> <para>Strežnik X zna uporabljati rastrske pisave v oblikah <acronym>PCF</acronym>, <acronym>SNF</acronym> in <acronym>BDF</acronym> ter vektorske pisave v obliki Speedo in Type 1. Pri majhnih velikostih (do deset tipografskih pik) so rastrske pisave na zaslonu navadno lepše, pri večjih velikostih, npr. v grafičnih programih, pa so vektorske znatno lepše.</para> <para>Nemška »digitalna črkolivnica« URW++ je projektu <application>Ghostscript</application> podarila zbirko 35 osnovnih postscriptnih pisav (Times, Helvetica, Courier, Avant Garde, Bookman, New Century Schoolbook, Palatino in Zapf Chancery) v obliki type 1. S tem so postale dostopne pod pogoji splošne licence GNU. Češka podružnica SuSE je pisave prekodirala v nabor ISO 8859-2 in jih objavila v svojem strežniku FTP:</para> <screen> ftp://ftp.suse.cz/pub/suse/czfonts/ </screen> <para>Pisave so pripravljene v obliki paketa RPM, ki ga namestimo po ustaljenem postopku. Paket predpostavlja, da uporabljamo strežnik pisav <literal>xfs</literal> in v nastavitveni datoteki <filename>/etc/X11/fs/config</filename> ob namestitvi doda ustrezne vrstice:</para> <programlisting> /usr/share/fonts/ISO8859-2/75dpi:unscaled, /usr/share/fonts/ISO8859-2/75dpi /usr/share/fonts/ISO8859-2/misc:unscaled, /usr/share/fonts/ISO8859-2/misc </programlisting> <para>Če strežnika pisav iz kakršnegakoli vzroka ne uporabljamo, navedemo pisave v nastavitveni datoteki strežnika X:</para> <programlisting> FontPath "/usr/share/fonts/ISO8859-2/75dpi:unscaled" FontPath "/usr/share/fonts/ISO8859-2/75dpi" FontPath "/usr/share/fonts/ISO8859-2/misc:unscaled" FontPath "/usr/share/fonts/ISO8859-2/misc" </programlisting> <para>Namesto <command>xlsfonts</command> tokrat iz okenskega okolja X Window System poženimo <command>xfontsel</command>. Novo nameščene pisave najdemo najhitreje, če jih iščemo po »črkolivnici« (angl. <foreignphrase>type foundry</foreignphrase>) <literal>sp</literal> (po avtorjevih začetnicah) v prvem stolpcu (<literal>fndry</literal>). Izberite kakšno veliko povečavo (<literal>pxlsz</literal>) in primerjajte z rastrskimi pisavami!</para> </sect2> <sect2 id="pisave-tt"> <title>TrueType v X11</title> <para>Rasterizator za pisave TrueType je od izdaje XFree86 4.0 naprej standardni del paketa <productname>X Window System</productname> in je vgrajen v strežnik pisav <command>xfs</command>.</para> <para>Če uporabljate kak drug strežnik X11, ki ne podpira pisav TrueType, pa si lahko pomagate s prostimi strežniki za pisave TrueType, kot sta npr. <application>Xfsft</application> in <application>Xfstt</application>, ki sta opisana v nadaljevanju.</para> <para>V nadaljevanju bomo predpostavili, da vaš strežnik <command>xfs</command> podpira pisave TrueType ali pa ste že uspeli priti do izvedljive datoteke <filename>xfsft</filename>.</para> <orderedlist> <listitem> <para>Ustvarimo imenik za pisave TrueType, npr. <filename>/usr/share/fonts/TrueType/</filename> ali <filename>/usr/X11R6/lib/X11/fonts/TrueType/</filename>, in vanj prepišemo datoteke s pisavami TrueType.</para> </listitem> <listitem> <para>V omenjenem imeniku ustvarimo datoteko <filename>fonts.scale</filename>. Preprost zgled take datoteke je naslednji:</para> <programlisting> 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 </programlisting> <para>Opazimo, da se vseh pet vrstic nanaša na eno in isto datoteko. Razlikujejo se le po kodnem naboru. Ker so v datoteki vsi potrebni znaki, jo strežnik pisav programom lahko predstavi kot kodirano v kateremkoli od naštetih petih kodnih naborov.</para> <para>Joerg Pomnitz je napisal programček <ulink url="http://www.darmstadt.gmd.de/~pommnitz/xfsft.html"> <command>ttmkfdir</command></ulink>, ki samodejno pregleda vse datoteke TrueType in ustvari datoteko <filename>fonts.scale</filename>. Program navadno namestimo v sistem kot del paketa <application>freetype</application>.</para> </listitem> <listitem> <para>V istem imeniku zatem poženemo še ukaz <command>mkfontdir</command>. Ta ne bo napravil drugega, kot da bo datoteko <filename>fonts.scale</filename> nespremenjeno prepisal v datoteko z imenom <filename>fonts.dir</filename>.</para> </listitem> <listitem> <para>Če naš strežnik pisav ne podpira pisav TrueType, s strežnikom pisav <filename>xfsft</filename> bodisi prepišemo strežnik (navadno <filename>/usr/X11R6/bin/xfs</filename> ali pa ga premaknemo na kakšno drugo primerno mesto.</para> </listitem> <listitem> <para>Strežnik pisav potrebuje konfiguracijsko datoteko, navadno <filename>/etc/X11/fs/config</filename>. Spodnja naj bo za zgled, če nimate boljše:</para> <programlisting> clone-self = off use-syslog = off client-limit = 20 catalogue = /usr/share/fonts/TrueType,/usr/share/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 </programlisting> <para>Zdaj lahko poženemo strežnik pisav X. Pri zgledu smo uporabili vrata 7100. Če so v vašem sistemu že zasedena, izberite druga. Podrobnosti si oglejte v priročniku <literal>xfs(1)</literal>.</para> <para> <userinput>xfs -daemon -port 7100 -config /etc/X11/fs/config </userinput> </para> <note> <para>Strežnika razen med preizkušanjem ne bomo poganjali tako, ampak s primernim skriptom (navadno <filename>/etc/rc.d/init.d/xfs</filename>):</para> <para><userinput># service xfs start</userinput></para> </note> </listitem> <listitem> <para>Ne da bi spreminjali pot, po kateri iščemo pisave, lahko preverimo, ali strežnik deluje:</para> <para> <userinput>fslsfonts -server localhost:7100</userinput> </para> </listitem> <listitem> <para>Če smo zadovoljni, dodamo strežnik pisav med vire, v katerih iščemo pisave, npr.</para> <para><userinput>xset fp+ tcp/localhost:7100</userinput> </para> <para>Strežnik pisav lahko seveda teče tudi v drugem računalniku, tako da ni potrebe, da imamo v vseh računalnikih v krajevnem omrežju nameščene vse pisave.</para> <para>Dokončno dodamo strežnik pisav v konfiguracijsko datoteko <filename>/etc/X11/XF86Config-4</filename>:</para> <programlisting> FontPath "tcp/localhost:7100" </programlisting> </listitem> </orderedlist> <sect3 id="freetype"> <title>Freetype in xfsft</title> <para>Mark Leisher in Juliusz Chroboczek sta standardni strežnik pisav iz okolja <productname>X Window System</productname> dopolnila s FreeType, prostim rasterizatorjem za pisave TrueType, ki so ga napisali David Turner, Robert Wilhelm, Werner Lemberg in sodelavci. Strežnik je na voljo kot izvirna koda, s katero lahko pokrpate izvirno kodo strežnika X, ali pa kot že preveden program za <productname>Linux</productname>.</para> <screen> http://www.freetype.org/ http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/ </screen> </sect3> <sect3 id="Xfstt"> <title>Xfstt</title> <para>Drugi strežnik pisav za X11, ki podpira pisave TrueType, je <application>Xfstt</application>. Pisec teh vrstic z njim nima izkušenj, je pa z veseljem pripravljen na to mesto vstaviti izkušnje drugih. <application>Xfstt</application> najdete na navedenem mestu in v vseh zrcalih le-tega.</para> <screen> ftp://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz </screen> </sect3> </sect2> </sect1> <sect1 id="tipk"> <title>Tipkovnica</title> <para>Linux ima povsem ločena sistema za vnašanje znakov s tipkovnice v tekstovnem načinu (»konzola«) in v grafičnem načinu (<emphasis>X Window System</emphasis>). Do nedavna je imel pravzaprav celo tri neodvisne sisteme, saj namizje KDE ni uporabljalo splošne vnosne metode okenskega okolja <productname>X Window System</productname>, z različico KDE 2.0 pa so tudi snovalci namizja KDE svoj mehanizem nadomestili s splošnejšim vnosnim mehanizmom <acronym>XKB</acronym>.</para> <para>Najprej si bomo ogledali vnos znakov v tekstovnem, nato pa še v grafičnem načinu.</para> <sect2 id="tipk-konz"> <title>Konzola</title> <para>Nabor znakov za sistemsko konzolo in tabele za premapiranje tipkovnice najdemo v <ulink url="ftp://metalab.unc.edu/pub/Linux/system/keyboards/">paketu kbd</ulink>, ki ga je pripravil Andries Brouwerja z univerze v Eindhovnu na Nizozemskem. Avtor paketa je napisal tudi <ulink url="http://metalab.unc.edu/LDP/HOWTO/Keyboard-and-Console-HOWTO.html"> Keyboard HOWTO</ulink>, kjer si lahko o tej temi preberemo več. Paket je del vseh običajnih distribucij in se naloži samodejno ob namestitvi sistema.</para> <para>V starejših distribucijah Slackware se je prevedeni paket imenoval <ulink url="ftp://ftp.cdrom.com/pub/linux/slackware/source/a/kbd/">keytbls</ulink>. Namestimo ga enako kakor druge pakete, z ukazom <command>pkgtool</command> ali <command>installpkg</command>.</para> <para>V paketu <literal>kbd</literal> so tabela za slovensko tipkovnico s 102 tipkama in zaslonske pisave za kodni nabor ISO Latin 2. Vsi, ki iz kakršnihkoli razlogov uporabljajo drugačno tipkovnico, si lahko na podlagi zgledov v <filename>/usr/lib/kbd/</filename> pripravijo svojo. Marko Maček je svojčas pripravil tabelo preslikav za ameriško tipkovnico s 101 tipko, ki pa je zdaj na naslovu <literal>http://www.kiss.uni-lj.si/~k4fr0235/kbd/</literal> ni več najti.</para> <para>V večini distribucij, preverjeno pa v Red Hat in Debian, je »uradni« način za nastavitev tipkovnice ukaz <command>kbdconfig</command>.</para> <para>Če pa bi želeli postopek za izbor zaslonske pisave, tabele za tipkovnico in uporabo le-te izvesti ročno, gre takole:</para> <programlisting> # Izberemo pisavo z naborom ISO Latin 2 v velikosti 16 pik setfont lat2-16 # Naložimo prireditveno tabelo za slovensko tipkovnico... loadkeys slovene # ...in jo izberemo echo -e -n "\\033(K" > /dev/console </programlisting> <para>Ponesrečene poskuse prednastavitve tipkovnice prekličemo z ukazom <userinput>loadkeys -d</userinput>, s čimer naložimo nazaj privzeto preslikavo tipkovnice. Če pa, nasprotno, želimo, da bi nova nastavitev ostala trajna, dodamo zgornjih šest vrstic v nastavitveno datoteko <filename>/etc/rc.d/rc.local</filename>, ki se izvede ob zagonu operacijskega sistema. Če ob tem omogočimo še vnos osembitnih znakov v ukazni lupini &s-bash;, je to najnujnejše, kar je treba za pisanje po slovensko v tekstovnem načinu.</para> <para>Distribucija Red Hat od različice 6.2 naprej shranjuje podatek o izbrani tipkovnici v datoteki <filename>/etc/syconfig/keyboard</filename>, zato ni pametno ročno packati po <filename>/etc/rc.d/rc.local</filename>. Prej omenjeni ukaz <command>kbdconfig</command> vanjo ob izboru slovenske tipkovnice zapiše</para> <programlisting> KEYBOARDTYPE="pc" KEYTABLE="slovene" </programlisting> </sect2> <sect2 id="tipk-x11"> <title>X Window System</title> <para>Strežnik <ulink url="http://www.xfree86.org/">XFree86</ulink> od različice 4.0 naprej podpira tudi slovensko tipkovnico, ki uporablja vnosni mehanizem XKB.</para> <sect3 id="xkb"> <title>XKB<footnote><para>Prispeval Marko Samastur, <email>markos@elite.org</email>.</para> </footnote> </title> <para><application>Xmodmap</application>, ki smo ga lahko uporabljali doslej, med razvijalci <productname>XFree86</productname> že nekaj časa velja za preživeto tehnologijo. Njegovo vlogo naj bi popolnoma nadomestil protokol XKB. Ker je bila slovenska tipkovnica dodana strežnikom XFree86 šele pred kratkim, je morda vaša distribucija še nima. Snamete jo lahko z</para> <itemizedlist> <listitem> <para><literal><ulink url="ftp://sizif.mf.uni-lj.si/pub/i18n/xkb.tar.gz">ftp://sizif.mf.uni-lj.si/pub/i18n/xkb.tar.gz</ulink> </literal></para> </listitem> </itemizedlist> <para>Vsebovano datoteko (<filename>si</filename>) namestite v imenik <filename>/usr/lib/X11/xkb/symbols</filename>. Da bo pravilno delovala, morate nastaviti spremenljivko okolja <envar>LANG</envar> na <literal>sl_SI</literal> (ni dovolj, če je nastavljena le na sl). Tipkovnico nato uporabite tako, da v zagnanih oknih X izvedete ukaz</para> <para> <userinput>setxkbmap si</userinput> </para> <para>ali (če želite, da se naloži ob vsakem zagonu oken X) da v nastavitveno datoteko strežnika X (<filename>/etc/X11/XF86Config-4</filename> ali <filename>/etc/X11/XF86Config</filename>)vpišete</para> <programlisting> XkbLayout "si" </programlisting> </sect3> <sect3 id="xmodmap"> <title>Xmodmap</title> <para>V starejših izdajah <productname>X Windows System</productname>, ki še ne podpirajo vnosnega mehanizma XKB, lahko spreminjamo razporeditev tipk na tipkovnici z ukazom <command>xmodmap</command>. Tabelo preslikav za navadno tipkovnico s 102 ali 105 tipkami, kot je v rabi pri nas, lahko snamemo z</para> <itemizedlist> <listitem> <para><literal><ulink url="ftp://sizif.mf.uni-lj.si/pub/i18n/Xmodmap.sl.pc102">ftp://sizif.mf.uni-lj.si/pub/i18n/Xmodmap.sl.pc102</ulink> </literal></para> </listitem> </itemizedlist> <para>Datoteko smo morda že samodejno namestili v sistem skupaj s paketom <literal>gnome-applets</literal>; v tem primeru jo najdemo v imeniku <filename>/usr/share/xmodmap/</filename> pod imenom <filename>xmodmap.si</filename>.</para> <para>Uporaba je enostavna:</para> <para> <userinput> xmodmap Xmodmap.sl.pc102 </userinput> </para> <para>Preslikava tipkovnice velja, dokler ne zapustimo okolja X Window System. Zamenjamo jo lahko z vnovičnim ukazom <command>xmodmap</command>, ki mu kot argument podamo datoteko s tabelo preslikav. Tabelo za standardno ameriško tipkovnico navadno najdemo kot <filename>/usr/X11R6/lib/X11/etc/xmodmap.std</filename>. Če je ne, si jo lahko pripravimo sami: <emphasis>preden</emphasis> naložimo slovensko preslikavo tipkovnice, poženemo:</para> <para> <userinput> xmodmap -pke > Xmodmap.us </userinput> </para> <para>To potem naložimo enako kakor slovensko tabelo.</para> <para>Če želimo to razporeditev trajno namestiti, preimenujemo datoteko bodisi v <filename>˜/.Xmodmap</filename> (osebna nastavitev) ali pa v <filename>/usr/X11R6/lib/X11/xinit/.Xmodmap</filename> (skupna nastavitev za vse uporabnike; ponekod se ta datoteka imenuje tudi <filename>/etc/X11/xinit/Xmodmap</filename>) in se samodejno naloži ob vsakem zagonu X Window System. Če se <emphasis>ne naloži</emphasis>, preverite svojo datoteko <filename>˜/.xinitrc</filename>. V njej mora biti nekaj takega kot:</para> <programlisting> usermodmap=$HOME/.Xmodmap sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi </programlisting> <para>Ob preslikavi tipkovnice ne pozabimo na to, da moramo tudi v ukazni lupini omogočiti vnos osembitnih znakov (poglavje &s-shell;).</para> </sect3> <!-- Xmodmap --> <sect3 id="kde20"> <title>KDE 2.0</title> <para><productname>KDE</productname> 2.0 se od prejšnjih različic razlikuje po mehanizmu vnosa naših znakov; namesto lastne sheme namreč uporablja &s-xkb; in &s-locale;. Tabela preslikav za slovensko tipkovnico je del paketa <productname>XFree86</productname> 4.0 ali novejšega.</para> <para>Slovensko okolje (in s tem tudi tipkovnico) vklopimo, tako da <emphasis>preden</emphasis> poženemo okna X (tudi pred zagonom <application>Xdm</application>, <application>Kdm</application> ali <application>Gdm</application>), nastavimo spremenljivko <envar>LANG</envar>: <userinput>LANG=sl_SI</userinput>.</para> <para>Če ne želimo poslovenjenih sporočil, namesto tega nastavimo <userinput>LC_CTYPE=sl_SI</userinput>.</para> <para>Pri distribuciji Red Hat to nastavitev enkrat za vselej vpišemo v datoteko <filename>/etc/sysconfig/i18n</filename>, pri distribuciji Debian pa v <filename>/etc/environment</filename>.</para> </sect3> <sect3 id="kde"> <title>KDE 1.x<footnote><para>Prispeval Marko Samastur, <email>markos@elite.org</email>.</para> </footnote> </title> <para>Skupina za slovenjenje Linuxa pri društvu LUGOS je leta 1999 popolnoma poslovenila namizje <productname>KDE</productname>. Čeprav so na voljo prevodi tudi starejših različic tega namizja, priporočam uporabo različice 1.1.2, ker je to najpopolnejši prevod, v katerem so odpravljene nekatere napake starejših različic.</para> <para>Če že imate nameščeno namizje KDE, lahko poslovenite programe tako, da z menuja, ki ga prikličete s <menuchoice> <guimenu>K</guimenu> <guisubmenu>Settings</guisubmenu> <guisubmenu>Desktop</guisubmenu> <guimenuitem>Language</guimenuitem> </menuchoice>, kot prvi jezik izberete <literal>Slovenian</literal>. Prevedeni programi, ki jih boste zagnali potem, bodo že imeli slovenski prevod menujev.</para> <para>Če v zapisih na menujih ni šumnikov, s <menuchoice> <guimenu>K</guimenu> <guisubmenu>Nastavitve</guisubmenu> <guisubmenu>Namizje</guisubmenu> <guimenuitem>Pisave</guimenuitem> </menuchoice> odprete okno, v katerem jih ustrezno nastavite. Vsem pisavam, naštetim v levem stolpcu, morate nastaviti znakovni nabor na iso-8859-2. Če imate pisave pravilno nameščene (tako kakor opisuje ta HOWTO), se bodo z uveljavitvijo sprememb pokazali tudi šumniki.</para> <para>Zdaj je treba nastaviti le še tipkovnico. Pri tem so nam na voljo že našteti prijemi, lahko pa uporabimo tudi »Mednarodno tipkovnico«, ki je vključena v namizje KDE. Ta nam omogoča preprosto preklapljanje različnih tipkovnic (kar nekateri že poznajo iz okolja Windows).</para> <para>Okno Internacionalna tipkovnica odpremo z <menuchoice> <guimenu>K</guimenu> <guisubmenu>Nastavitve</guisubmenu> <guisubmenu>Vhodne enote</guisubmenu> <guimenuitem>Mednarodna tipkovnica</guimenuitem> </menuchoice> in dodamo novo shemo tipkovnice z gumbom Dodaj. Če na našem namizju ni slovenske tipkovnice, lahko uporabimo hrvaško ali pa slovensko poberemo z naslova <ulink url="ftp://sizif.mf.uni-lj.si/pub/i18n/sl.kimap"> <literal>ftp://sizif.mf.uni-lj.si/pub/i18n/sl.kimap</literal> </ulink>.</para> <para>Tipkovnico moramo shraniti v imenik <filename>/usr/share/apps/kikbd/</filename>. Če hočemo, da se mednarodna tipkovnica naloži ob vsakem zagonu oken X, lahko to nastavimo na podmenuju <guisubmenu>Samodejni zagon</guisubmenu>, drugače pa jo zaženemo s <menuchoice> <guimenu>K</guimenu> <guisubmenu>Sistem</guisubmenu> <guimenuitem>Razporeditev mednarodne tipkovnice</guimenuitem> </menuchoice> </para> <para>Pri uporabi moramo paziti le na to, da hkrati ne uporabljamo različnih metod za opis tipkovnice (npr. mednarodne tipkovnice v <productname>KDE</productname> in <application>Xkb</application>).</para> </sect3> <sect3 id="Xks"> <title>Xks</title> <para>Češko podjetje <ulink url="http://www.informatica.cz/">Informatica s.r.o.</ulink> se je problema preslikave tipkovnice lotilo drugače. Njihov izdelek Xks je strežnik, ki se ugnezdi med strežnik X in namenske programe ter prestreže vse dogodke <literal>KeyPress</literal> ter jih po potrebi prilagodi. Ta rešitev deluje tudi pri slabo napisanih programih, pri katerih preslikava z <command>xmodmap</command> ne deluje, obljublja pa tudi rešitev za sprožitev nemih tipk (tipke v zgornji vrstici slovenske tipkovnice lahko v kombinaciji s tipko <keycap>AltGr</keycap> delujejo kot neme tipke).</para> <para><application>Xks</application> je program za pokušino (shareware); registracija izvedbe za Linux stane 900 čeških kron (okrog 4500 tolarjev). Pisec teh vrstic se zaenkrat še ni utegnil ukvarjati z njim, bi pa z veseljem vstavil na to mesto izkušnje drugih.</para> </sect3> </sect2> </sect1> <sect1 id="locale"> <title>Slovensko jezikovno okolje</title> <para>Z izrazom <emphasis>jezikovno okolje</emphasis> (angl. locale) označujemo skupek lastnosti programskega okolja, odvisnih od jezikovnega in kulturnega okolja uporabnika. Mednje sodi informacija o tem, kateri znaki so črke in kakšen je njihov vrstni red, način izpisa datuma in ure, izbiro ločila v zapisu decimalnih števil (vejica ali pika), zapis valute in sporočila programov uporabniku.</para> <para>Programski vmesnik za internacionalizacijo in krajevno prilagajanje (lokalizacijo) v sistemih, združljivih s standardi POSIX, je definiran v standardu ISO/IEC 9899 (Programski jezik ISO C) ter IEEE 1003.2 (POSIX.2). Informacije, pomembne za krajevno prilagoditev, razvršča v šest kategorij:</para> <itemizedlist> <listitem> <para><envar>LC_CTYPE</envar> (znaki, ki predstavljajo abecedo)</para> </listitem> <listitem> <para><envar>LC_COLLATE</envar> (vrstni red znakov v abecedi)</para> </listitem> <listitem> <para><envar>LC_TIME</envar> (izpis datuma in časa)</para> </listitem> <listitem> <para><envar>LC_NUMERIC</envar> (izpis številčnih vrednosti)</para> </listitem> <listitem> <para><envar>LC_MONETARY</envar> (izpis valute)</para> </listitem> <listitem> <para><envar>LC_MESSAGES</envar> (komunikacije z uporabnikom)</para> </listitem> </itemizedlist> <para><envar>LC_ALL</envar> zajema vseh šest naštetih kategorij. Medtem ko projekt GNU pri izvedbi prvih petih kategorij zvesto sledi standardu, se je v šesti odločil za njegovo razširitev. Standardizacijski komite se namreč ni mogel zediniti o izvedbi ravnanja s prevodi sporočil, zato je standard v tej točki praktično neuporaben: določa le prevode za »da« in »ne«. Projekt GNU je zato razvil svojo metodo, to je paket <productname>GNU gettext</productname>. Prevedeni katalogi sporočil, ki jih uporablja mehanizem <literal>gettext</literal>, so navadno v podimenikih imenika <filename>/usr/share/locale/</filename>.</para> <para>Sledi nekaj zgledov odziva poslovenjenega sistema. Zgledi v tej izdaji spisa HOWTO so že preverjeni in pobrani iz Linuxa (paketi <productname>GNU textutils</productname>, <productname>GNU fileutils</productname> ipd.), v katerega pa mora biti nameščena knjižnica GNU libc 2.0 ali poznejša izdaja. Če katerega od zgledov pisec ni uspel preveriti v Linuxu, je na to posebej opozorjeno.</para> <para>Z nastavitvijo spremenljivke <envar>LANG</envar> ali <envar>LC_ALL</envar> na slovensko jezikovno okolje se spremenijo vsi prilastki, spreminjamo pa lahko tudi vsakega posebej:</para> <screen> ˜> cal February 2000 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ˜> date Sun Feb 13 20:16:07 CET 2000 ˜> LC_ALL=sl_SI.iso88592 cal februar 2000 ne po to sr če pe so 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ˜> LC_TIME=sl_SI date ned feb 13 20:16:22 CET 2000 </screen> <para>Lahko pa jih spreminjamo tudi vsakega posebej. Če bi želili obdržati angleške izpise, obliko datuma, decimalno piko ipd., a bi želeli črke urejene po slovenski abecedi, bi spremenili samo <envar>LC_COLLATE</envar> (urejanje po izkušnjah pisca z GNU libc 2.1 še vedno <emphasis>ne deluje</emphasis>):</para> <screen> ~> sort abc.tex abc abca abd abč ~> LANG=C LC_COLLATE=sl_SI.iso88592 sort abc.tex abc abca abč abd </screen> <para>Seveda <envar>LC_COLLATE</envar> ne reši vseh težav v zvezi z urejanjem. Pri razvrščanju kastiljskih kraljev bi, recimo, želeli, da Alfonz IX. sledi Alfonzu VIII. in je pred Alfonzom X. Prepoznavanje takih zgledov pa je verjetno že problem za umetno inteligenco...</para> <para>Spremenljivka <envar>LANG</envar> ima v splošnem obliko:</para> <cmdsynopsis> <arg choice=plain>LANG</arg> <arg choice=plain>=<replaceable>jezik</replaceable></arg> <arg><replaceable>_država</replaceable> <arg><replaceable>.nabor</replaceable></arg></arg> </cmdsynopsis> <para>Pri tem je <emphasis>jezik</emphasis> dvočrkovna koda jezika, kot jo določa standard <ulink url="http://nl.ijs.si/gnusl/cee/std/ISO_639.html">ISO 639</ulink>, <emphasis>država</emphasis> pa dvočrkovna koda države, določena s standardom <ulink url="http://nl.ijs.si/gnusl/cee/std/ISO_3166.html">ISO 3166</ulink>. Zgled za slovenščino, kot se govori v Sloveniji in piše s kodnim naborom ISO 8859-2, je torej</para> <programlisting> LANG=sl_SI.iso88592 </programlisting> <para>Določitev države in nabora znakov je neobvezna (pomembna je seveda pri jezikih, ki se govorijo v več državah; kakšno jezikovno okolje uporabljajo Slovenci v zamejstvu, piscu teh vrstic ni znano), tako lahko pišemo na kratko</para> <programlisting> LANG=sl </programlisting> <para>Vsaj v teoriji naj bi bilo tako. Praksa v Linuxu se navadno majčkeno razlikuje: v imeniku <filename>/usr/share/locale/sl</filename> so shranjeni samo katalogi sporočil iz kategorije <envar>LC_MESSAGES</envar>, podatki iz vseh drugih kategorij pa so v imeniku <filename>/usr/share/locale/sl_SI</filename>. Zato moramo postaviti spremenljivko <envar>LANG</envar> (ali <envar>LC_ALL</envar>) na vrednost <literal>sl_SI</literal> (ali <literal>sl_SI.iso88592</literal>), spremenljivko <envar>LC_MESSAGES</envar> pa na <literal>sl</literal>:</para> <programlisting> LANG=sl_SI LC_MESSAGES=sl </programlisting> <sect2 id="prog-intl"> <title>Programiranje z GNU gettext</title> <para>Paket <productname>GNU gettext</productname> ponuja nekaj orodij za lokalizacijo:</para> <itemizedlist> <listitem> <para><command>xgettext</command>, ki iz izvirne kode izlušči sporočila</para> </listitem> <listitem> <para><command>msgcmp</command>, ki primerja dva kataloga sporočil</para> </listitem> <listitem> <para><command>msgmerge</command> združi star prevedeni katalog sporočil z novim, neprevedenim</para> </listitem> <listitem> <para><command>msgfmt</command>, ki prenosni katalog sporočil prevede v binarno obliko</para> </listitem> <listitem> <para><command>msgunfmt</command>, nasprotno od <command>msgfmt</command></para> </listitem> </itemizedlist> <para>S kratkim zgledom ponazorimo, kako poteka pisanje krajevno prilagojenega programa s paketom <productname>GNU gettext</productname>.</para> <orderedlist> <listitem> <para>Najprej napišemo program <filename>zgled.c</filename>. Pri pisanju programa že vpletemo mehanizme internacionalizacije:</para> <!-- DO TU! --> <programlisting> #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); } </programlisting> </listitem> <listitem> <para>Z ukazom <command>xgettext</command> iz izvirne kode izluščimo izpise na zaslon:</para> <para> <userinput> xgettext zgled.c </userinput> </para> <para>S tem smo ustvarili datoteko <filename>messages.po</filename>. To je navadna besedilna datoteka s skeletom prevodov sporočil.</para> </listitem> <listitem> <para>Datoteko <filename>messages.po</filename> z urejevalnikom dopolnimo s prevodi, recimo takole:</para> <programlisting> # Slovenski prevod zgleda # Primož 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: Primož Peterlin" </programlisting> </listitem> <listitem> <para>Popravljeno prenosljivo datoteko s sporočili (angl. <foreignphrase>portable message file</foreignphrase>) <filename>messages.po</filename> prevedemo v binarno obliko:</para> <para> <userinput> msgfmt -v -o zgled.mo messages.po </userinput> </para> </listitem> <listitem> <para>Binarno datoteko prestavimo v imenik, v katerem jo bo <command>gettext</command> našel:</para> <para> <userinput> mv zgled.mo /usr/local/share/locale/sl/LC_MESSAGES </userinput> </para> </listitem> <listitem> <para>Program prevedemo in povežemo s knjižnico <filename>libintl.a</filename>:</para> <para> <userinput> gcc -o zgled zgled.c -lintl </userinput> </para> </listitem> <listitem> <para>Pa poskusimo, kakšna je razlika!</para> <programlisting> LANG=C ./zgled LANG=sl ./zgled LC_ALL=sl ./zgled LC_MESSAGES=sl ./zgled LC_CTYPE=sl ./zgled LC_ALL=sl_SI.iso88592 ./zgled </programlisting> <para>V prvem in zadnjem zgledu je izpisano sporočilo angleško, v predzadnjem pa verjetno tudi. V prvem zato, ker smo izrecno zahtevali jezikovno okolje »C«, v zadnjem pa zato, ker smo zahtevali jezikovno okolje »sl_SI.iso88592«, v katerem ni prevoda sporočil -- to namreč obstaja za jezikovno okolje »sl«. V predzadnjem zgledu smo uporabili pravo jezikovno okolje, a irelevantno kategorijo <envar>LC_CTYPE</envar> namesto uporabljene <envar>LC_MESSAGES</envar>.</para> </listitem> </orderedlist> <para>Še dve opombi: imenik, v katerega prestavimo katalog sporočil, se mora ujemati z imenikom <envar>LOCALEDIR</envar>, navedenim v izvirni kodi. Težavo, da GNU <command>gettext</command> razume »sl« in »sl_SI.iso88592« kot različna locala, je pisec teh vrstic rešil s simbolno povezavo v imeniku <filename>/usr/local/share/locale</filename>:</para> <para> <userinput> ln -s sl sl_SI.iso88592 </userinput> </para> </sect2> <sect2 id="perl"> <title>Perl</title> <para>Od izdaje 5.004 naprej tudi Perl podpira krajevne prilagoditve. Nastaviti moramo primerne spremenljivke okolja in bodisi v programu uporabiti klic</para> <programlisting> use locale; </programlisting> <para>bodisi poklicati Perl z izbiro <option>-Mlocale</option>. Nekaj zgledov; preizkus smo si sposodili pri Janu Pazdziori:</para> <screen> ~> LC_CTYPE=sl_SI.iso88592 perl -Mlocale -e '$_="težišče\n"; s/\w/$&:/g; print;' t:e:ž:i:š:č:e: ~> LC_CTYPE=C perl -Mlocale -e '$_="težišče\n"; s/\w/$&:/g; print;' t:e:ži:šče: ~> LC_CTYPE=sl_SI.iso88592 perl -e '$_="težišče\n"; s/\w/$&:/g; print;' t:e:ži:šče: </screen> <para>Kakor vidimo, je samo v prvem zgledu, ko smo izvedli oboje: nastavili spremenljivko <envar>LC_CTYPE</envar> in perl poklicali z izbiro <option>-Mlocale</option>, naše znake res upošteval kot črke (<literal>\</literal>).</para> <para>Lokalizacijski paket Gettext ni omejen samo na programska jezika C in C++, za katera je bil razvit. Funkcije iz paketa lahko kličemo tudi iz skriptnih jezikov, kot so perl, python in drugi. Za prvega potrebujemo modul <literal>Locale::gettext</literal>, ki je na voljo paket <literal>perl-gettext</literal> (RPM) oziroma <literal>liblocale-gettext-perl</literal> (Debian). Raba je enaka, kot smo že opisali:</para> <programlisting> #!/usr/bin/perl use Locale::gettext; use POSIX; # Potrebno za setlocale() setlocale(LC_MESSAGES, ""); bindtextdomain("countfiles", "/usr/share/locale"); textdomain("countfiles"); printf(gettext("Usage: %s directory\n"), $0); </programlisting> </sect2> <sect2 id="python"> <title>Python</title> <para>Modul <literal>gettext</literal> je v pythonu že del standardnega paketa. Tudi tu raba sledi temu, kar smo že povedali. Zgled:</para> <programlisting> #!/usr/bin/python import gettext import sys gettext.bindtextdomain('countfiles', '/usr/share/locale/') gettext.textdomain('countfiles') _ = gettext.gettext print _('Usage: %s directory\n') % sys.argv[0] </programlisting> </sect2> <sect2 id="php"> <title>PHP</title> <para>Podpora gettextu je zajeta tudi v skriptni jezik PHP. Zgled je prispeval Rudi Benkovič, <email>rudib@email.si</email>:</para> <programlisting> <?php bindtextdomain ("countfiles", "/usr/share/locale"); textdomain ("countfiles"); print sprintf(gettext("Usage: %s directory\n"), $var); ?> </programlisting> <para>PHP moramo imeti preveden s podporo za gettext.</para> </sect2> <sect2 id="bash-gettext"> <title>Ukazna lupina Bash</title> <para>Ker obstaja tudi vmesnik na uporabniški ravni -- ukaz <command>gettext</command> -- je mogoče krajevno prilagoditi tudi sporočila ukazne lupine Bash:</para> <programlisting> #!/bin/sh TEXTDOMAINDIR=/usr/share/locale TEXTDOMAIN=countfiles printf "$(gettext -s "Usage: %s directory\n")" "$0" </programlisting> <para>Druga izdaja ukazne lupine Bash (preverjeno velja za 2.04) podpira tudi izbiri <option>-D</option> in <option>--dump-po-strings</option>, s katerima iz skripta izluščimo vsa sporočila uporabniku. Več o krajevnem prilagajanju te ukazne lupine si je moč prebrati v <ulink url="http://www.linuxdoc.org/LDP/abs/html/localization.html">Advanced Bash-Scripting Guide</ulink>.</para> </sect2> <sect2 id="gnu-intl"> <title>Poslovenjenje katalogov sporočil</title> <para>Od leta 1996 naprej poteka internacionalizacija projekta GNU, v okviru katere so doslej prevedeni v slovenščino paketi <literal>a2ps</literal>, <literal>enscript</literal>, <literal>fileutils</literal>, <literal>findutils</literal>, <literal>gettext</literal>, <literal>grep</literal>, <literal>hello</literal>, <literal>lynx</literal>, <literal>recode</literal>, <literal>sed</literal>, <literal>sh-utils</literal>, <literal>tar</literal>, <literal>textutils</literal> in <literal>wget</literal>.</para> <para>Komisija za slovenjenje pri društvu Lugos se od jeseni 1998 naprej ukvarja s prevajanjem namizja KDE v slovenščino in sproti vzdržuje prevode tudi v novejših izdajah. Nekaj mlajši projekt je prevajanje namizja GNOME v slovenščino.</para> <para>Razprava o delu komisije za slovenjenje poteka med prejemniki elektronskega seznama <email>lugos-slo@lugos.si</email>. Nanj se naročite tako, da na naslov <ulink url="mailto:sympa@lugos.si">sympa@lugos.si</ulink> v telesu sporočila pošljete vrstico</para> <para> <literal> subscribe lugos-slo </literal> </para> <para>Obvestila o poslovenjenju paketov iz projekta GNU prejemajo prejemniki elektronskega seznama <email>sl@li.org</email> (seznam je seveda tudi namenjen razpravi med udeleženci, vendar se je ta v zadnjih letih preselila na seznam lugos-slo). Nanj se naročite tako, da na naslov <ulink url="mailto:sl-request@li.org">sl-request@li.org</ulink> v telesu sporočila pošljete vrstico</para> <para> <literal> subscribe </literal> </para> </sect2> </sect1> <sect1 id="razni-prog"> <title>Poslovenjenje različnih programov</title> <para>Na tem mestu bi se v idealnem svetu opis poslovenjenja Linuxa lahko končal. Povedali smo vse potrebno o vnosu in izpisu naših znakov in o tem, kako z definiranjem spremenljivk okolja programom dopovemo, da delamo s slovenskimi besedili. To poglavje je tako rekoč v celoti posvečeno <emphasis>izjemam</emphasis> - programom, ki iz takih ali drugačnih razlogov ne uporabljajo lokalizacijskih spremenljivk, alternativnim metodam za vnos ali izpis znakov, ki v izjemnih primerih (npr. če nimamo tipkovnice s slovenskimi znaki) lahko vseeno pridejo prav, in podobnemu.</para> <sect2 id="shell"> <title>Ukazne lupine</title> <sect3 id="bash"> <title>bash</title> <para>Nastavitve ukazne lupine <literal>bash</literal> so v datoteki <filename>˜/.inputrc</filename> (ki jo po potrebi ustvarimo):</para> <programlisting> set meta-flag on set convert-meta off set output-meta on </programlisting> <para>Te tri vrstice je morda pametno dodati tudi v <filename>/etc/skel</filename>, tako da jih podedujejo tudi vsi na novo ustvarjeni uporabniki.</para> <para>Tole se sicer ne navezuje na slovenščino, a ko ste že pri delu, si lahko življenje olajšate še s tem, da tipkam <keycap>Home</keycap>, <keycap>Delete</keycap> in <keycap>End</keycap> vrnete njihov običajni pomen: v isto datoteko (<filename>˜/.inputrc</filename>) dodaste še vrstice</para> <programlisting> "\e[1˜": beginning-of-line "\e[3˜": delete-char "\e[4˜": end-of-line </programlisting> </sect3> <sect3 id="tcsh"> <title>tcsh</title> <para>Vnos osembitnih znakov omogočimo, če v nastavitveno datoteko (<filename>/etc/csh.login</filename> za skupne nastavitve oz. <filename>˜/.tcshrc</filename> ali <filename>˜/.cshrc</filename> za osebne nastavitve) dopišemo vrstico:</para> <programlisting> setenv LC_CTYPE sl_SI.iso88592 </programlisting> <para>Med nami: kaže, da je ukazni lupini <literal>tcsh</literal> povsem vseeno, na kaj nastavite spremenljivko <envar>LC_CTYPE</envar>, samo da ni nedefinirana.</para> <para><emphasis>Pazite:</emphasis> ukazna lupina mora biti prevedena z vklopljeno izbiro »8-bit«! To lahko preverite z ukazom <command>set</command>:</para> <screen> rufko:~% set ... version tcsh 6.06.00 (Cornell) 1995-05-13 (i386-intel-linux) options 8b,dl,al rufko:~% </screen> <para>Pomemben je tisti »8b«. Če se pri vas ne izpiše, vam verjetno ne preostane drugega, kakor da snamete izvirno kodo in jo prevedete.</para> </sect3> </sect2> <sect2 id="termin-emul"> <title>Terminalski posnemovalniki</title> <sect3 id="xterm"> <title>Xterm</title> <para>V datoteki <filename>˜/.Xresources</filename> (osebna nastavitev) ali pa v datoteki <filename>/usr/lib/X11/app-defaults/XTerm</filename> (skupna nastavitev) določimo pisave, ki jih uporablja <application>XTerm</application>. Izberemo pisavo, ki ima vse znake enako široke, npr. »fixed« ali »Courier«, in je kodirana po razporeditvi ISO Latin 2. Zgled:</para> <programlisting> XTerm*font: -*-fixed-medium-r-normal--16-*-iso8859-2 XTerm*boldFont: -*-fixed-bold-r-normal-sans-16-*-iso8859-2 </programlisting> <para>Primerne pisave lahko izpišemo z ukazom <command>xlsfonts</command> (glej še razdelek &s-pisave-x11; poglavja »Prikaz naših znakov na zaslonu«):</para> <screen> xlsfonts -fn '*-fixed-*-iso8859-2' </screen> </sect3> <sect3 id="rxvt"> <title>rxvt</title> <para>Po podatkih v češkem HOWTO <application>rxvt</application> zaenkrat (razvojna izdaja 2.4.6) ne deluje z našimi znaki brez posegov v izvirno kodo. Potrebne posege najdete v »Czech HOWTO« (ki <emphasis>ni</emphasis> del arhiva LDP; glej razdelek &s-zahvala;, kje ga najdete).</para> </sect3> </sect2> <sect2 id="office"> <title>Pisarniški paketi</title> <sect3 id="WP"> <title>WordPerfect</title> <blockquote> <attribution>Jaka Mele, <citetitle>Vse naredim v Linuxu!, Win.Ini, l.6, št.9, str.60</citetitle> </attribution> <para>WordPerfect ima vse potrebne znake že v svoji tabeli. Narediti moramo samo še to, da za naše črke definiramo makroukaze. Recimo, da bi radi definirali črko Š (velika črka S s strešico). Začnemo snemati makroukaz (recimo mu Scaron), skočimo v tabelo znakov, v njej izberemo črko Š, končamo makro in ga nazadnje pri nastavitvah povežemo z izbrano tipko.</para> </blockquote> <para>Alen Šalamun je pripravil tudi prireditveno tabelo za slovensko tipkovnico brez makroukazov. Datoteko <filename>SLO.WGK</filename> s prireditveno tabelo za slovensko tipkovnico najdete na</para> <para> <ulink url="ftp://sizif.mf.uni-lj.si/pub/i18n/SLO.WGK">ftp://sizif.mf.uni-lj.si/pub/i18n/SLO.WGK</ulink> </para> <blockquote> <attribution>Andrej Komelj, <literal>Message-id: <19981224182341.A3794@perun.mist.si></literal></attribution> <para>Odgovor na vprašanje: "Kako je s podporo šumnikom v WP 8.0 v Linuxu?" se glasi: SLABO.</para> <para>1. Rešitev v obliki "insert symbol -> multinational" je v teoriji uporabna, vendar... Hja, multinacionalni znaki so v pisavi WP Multinational, ta pa je najbolj podoben pisavi Roman-WP. Ima "serife", zato Helvetica in Zurich odpadeta. Vendar tudi pri Roman-WP nastanejo težave, če se jo uporablja krepko, ležeče ali krepko in ležeče.</para> <para>2. Rešitev v obliki uporabe pisav Type 1 z definiranimi slovenskimi znaki (kje se jih dobi? odg: oglejte si v Slovenian-HOWTO ali pa jih skopirajte iz OS/2, če ga imate) pa žal tudi odpade, ker "brezplačna" različica WP nima font installerja (xwpfi) in zato kakršnokoli dodajanje pisav v wp.drs odpade... Skratka, tako kot je nekdo že zapisal; brezplačen in neoskubljen WP je velika potegavščina... Za Američane je morda še nekako uporaben, za povprečnega Slovenca, ki piše tudi slovenska besedila, pa je popolnoma brez vrednosti. :-(</para> <para>Nazaj k LyX in že sestavljenim vzorcem. :-)</para> <para>Mimogrede, kaj se je zgodilo z WP?!? Dokler še ni bil v lasti Corela, je znal postavljati strešice na katerikoli znak v katerikoli pisavi. Z WP 6.0 za DOS sem tako pisal besedila v TrueType, Type 1 in pisavah CG ... POVSOD sem lahko uporabljal šumnike. Eh, "napredek" pa tak.</para> </blockquote> </sect3> <sect3 id="StarOffice"> <title>Star Office</title> <para>Navodila za zadnjo izdajo pisarniškega paketa StarOffice smo si sposodili iz navodil Janeza Kreka za <ulink url="http://www.lugos.si/delo/slo/suse73.html">poslovenjenje distribucije SuSE Linux 7.3</ulink>.</para> <sect4 id="StarOffice5.2"> <title>StarOffice 5.2</title> <para>Predpogoj za podporo slovenščini v programu StarOffice je podpora slovenščini v grafičnem okolju (okolje KDE). Ta podpora obsega podporo razporeditvi črk na tipkovnici in tudi pravilni nastavitvi jezika.</para> <para>V tem primeru tudi program StarOffice podpira vnos in izpis slovenskih črk. Pravilno razporejene slovenske črke v programu StarOffice 5.2 imajo naslednje pisave:</para> <para> <orderedlist> <listitem> <para>pisave iz družine Lucida (Lucidux Serif, Lucidux Sans, Lucidux Mono, Lucidabright, Lucidasans, Lucidatypewriter)</para> </listitem> <listitem> <para>pisave URW, katerih imena obsegajo niz L EE (Nimbus Mono, Nimbus Sans, Nimbus Roman, Gothic, Bookman, Country Schoolbook, Chancery in Palladio)</para> </listitem> </orderedlist> </para> <para>Pisave URW iz druge točke morate namestiti naknadno, saj se pri privzeti namestitvi (Default with Office) ne namestijo. Postopek je opisan v razdelku &s-pisave-type1;.</para> <para>Zdaj poženemo orodje <command>spadmin</command>, s katerim nastavljamo vedenje pisav in tiskalnika, tako da izberemo <guimenu>Add fonts</guimenu> in poiščemo pravkar nameščene pisave, ki so v imeniku <filename>/usr/share/fonts/default/Type1/</filename>. Če smo prej izbrali napačen tiskalnik ali če naš tiskalnik ni podprt, ga lahko v orodju <command>spadmin</command> spremenimo v splošni postscriptni tiskalnik, imenovan <guimenu>Generic printer</guimenu>. Tako bomo lahko iz pisarne tiskali v postscriptno datoteko, pozneje pa rezultat izpisali iz ukazne vrstice z ukazom <userinput>lpr -P ps datoteka.ps</userinput>.</para> </sect4> <sect4 id="StarOffice3.1"> <title>StarOffice 3.1<footnote><para>Jaka Mele, <citetitle>Vse naredim v Linuxu!, Win.Ini, l. 6, št. 9, str. 60</citetitle></para></footnote> </title> <para>StarOffice je malce težavnejši, ker potrebuje dodatne pisave Type1, pa vendar povejmo recept še zanj. Najprej moramo torej dobiti slovenske pisave oziroma pisave latin2 (pfb, afm, <filename>fonts.dir</filename> in <filename>fonts.scale</filename>), recimo iz strežnika ftp Društva uporabnikov Linuxa Slovenije <ulink url="ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/">ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/</ulink>, datoteki <filename>l2afm004.zip</filename> in <filename>l2pfb004.zip</filename>). Nato arhiva odpremo v <filename>/usr/lib/X11/fonts/Type1.Latin2/</filename> in ta imenik dodamo na seznam imenikov s pisavami, ki jih uporabi strežnik XWindow. To naredimo tako, da v datoteko <filename>/etc/X11/XF86Config</filename> dopišemo:</para> <programlisting> FontPath "/usr/X11R6/lib/X11/fonts/Type1.Latin2/" </programlisting> <para>Zatem poženemo</para> <para> <userinput> xset fp+ /usr/X11R6/lib/X11/fonts/Type1.Latin2/ </userinput> </para> <para>in še <userinput>xset fp rehash</userinput>. Nato je treba v imeniku <filename>/usr/local/StarOffice3-1/x3p/fontmetrics/</filename> za <literal>.afm</literal> datoteke narediti povezave iz <filename>/usr/lib/X11/fonts/Type1.Latin2/</filename>. Podobno naredimo še za imenik <filename>/usr/local/StarOffice3-1/x3p/pssoftfonts/</filename>, le da sem povežemo datoteke .pfb. Skoraj smo že na koncu. V datoteko <filename>/usr/local/StarOffice-3.1/xp3/psstd.fonts</filename> dodamo po vzoru že dodanih pisav v datoteki <filename>fonts.dir</filename> z območja Latin2 vse nove pisave, tako da namesto npr. <filename>arial.pfb</filename> pride <literal>arial</literal>, namesto <literal>-0-0-0-0</literal> pa <literal>-%d-%d-%d-%d...</literal>. Saj se takoj vidi. Na koncu si premapirajmo še tipkovnico, in sicer s programom <filename>xmodmap</filename>, tako da izvedemo <userinput>xmodmap xmodmap.si</userinput>. Če imate starejši sistem Xwindow, si boste morda morali <filename>xmodmap.si</filename> še popraviti, da vam bosta tipki <keycap>Backspace</keycap> in <keycap>Delete</keycap> delovali normalno, drugače pa samo poženete <command>swriter3</command> in uživate v dodatnih slovenskih pisavah.</para> </sect4> </sect3> <sect3 id="applix"> <title>Applixware<footnote><para>Boris Požar, <literal>Message-Id: <346044BF.FE97E3AF@guest.arnes.si></literal></para></footnote> </title> <para>Iz Lugosovega strežnika snamemo pisave TrueType v kodnem naboru ISO 8859-2. Potem jih kot <literal>root</literal> s FontManagerjem dodamo v katalog pisav in zadeva je rešena.</para> <para> <ulink url="ftp://ftp.lugos.si/pub/lugos/arhiv/Type1-Latin2-Fonts/l2ttf004.zip">l2ttf04.zip</ulink> </para> </sect3> <sect3 id="abiword"> <title>AbiWord<footnote><para>Milan Gabor, <email>milan.gabor@uni-mb.si</email></para></footnote></title> <para>V imenik <filename>/opt/AbiSuite/fonts</filename> sem prepisal pisave PCF (latin2) za strežnik X in popravil datoteko <filename>fonts.dir</filename> (popravil, ne na novo naredil!, ker Abi uporablja drugačna imena za pisave, kot so registrirana v pisavah). Težave pa so bile naslednje:</para> <itemizedlist> <listitem> <para>Pisavam ni bilo mogoče spreminjati velikosti (ker so v rastrskem formatu PCF)</para> </listitem> <listitem> <para>Z njimi se ni dalo tiskati (Abi zahteva za tiskanje pisave Type1)</para> </listitem> </itemizedlist> <para>Če bi podtaknil pisave Type1, bi povečevanje in tiskanje delovalo.</para> </sect3> <sect3 id="magicpoint"> <title>Magicpoint<footnote><para>Prispeval Miha Tomšič, <email>miha.tomsic@guest.arnes.si</email>.</para></footnote></title> <para>Program za predstavitve <ulink url="http://www.mew.org/mgp/"> <application>Magic Point</application></ulink> sicer ne moremo uvrščati med pisarniške <emphasis>pakete</emphasis>, pomensko pa nekako vendarle sodi zraven.</para> <para>Pomembno je, da lahko program uporablja pisave TrueType v različnih kodnih naborih (za nas je, denimo, zanimiv ISO 8859-2). Starejše izdaje tega niso podpirale; za 1.04a in 1.05a je Dobrica Pavlinušić pripravil popravke, ki jih najdemo na <ulink url="http://www.foi.hr/~dpavlin/projects/">njegovi spletni strani</ulink>.</para> <para>Vsaj od izdaje 1.08a naprej popravki izvirne kode niso potrebni. Ključna je naslednja vrstica v datoteki <filename>&tilde/.mgprc</filename>, ki programu pove, kje imamo shranjene pisave Truetype:</para> <programlisting> tfdir "/usr/share/fonts/truetype" </programlisting> <para>V navedenem imeniku naj bodo pisave Truetype kodirane po ISO 8859-2. Zbirko takih najdemo v <ulink url="ftp://ftp.lugos.si/arhiv/Type1-Latin2-Fonts/">strežniku društva Lugos</ulink>.</para> <para>V datoteki s predstavitvijo (denimo <filename>vzorec.mgp</filename> primerno definiramo pisave, denimo pisavo <literal>standard</literal>:</para> <programlisting> %deffont "standard" xfont "helvetica-medium-r" "iso8859-2", tfont "arl2____.ttf" </programlisting> <para>Podobno določimo preslikavo med imeni pisav, ki jih uporablja <application>Magic Point</application>, in imeni datotek s pisavami za vse uporabljene pisave. Če je tega veliko, lahko definicije za vse pisave v navedenem arhivu zberemo v datoteki <filename>l2fonts.mgp</filename>, ki jo v izbrano predstavitev dodamo z ukazom <literal>%include "l2fonts.mgp"</literal>:</para> <programlisting> %% %% l2fonts.mgp - Definicija pisav TrueType v kodnem naboru ISO 8859-2 %% %deffont "arial" xfont "helvetica-medium-r" "iso8859-2", tfont "arl2____.ttf" %deffont "arialb" xfont "helvetica-bold-r" "iso8859-2", tfont "arl2b___.ttf" %deffont "ariali" xfont "helvetica-medium-i" "iso8859-2", tfont "arl2i___.ttf" %deffont "arialbi" xfont "helvetica-bold-i" "iso8859-2", tfont "arl2bi__.ttf" %deffont "courier" xfont "courier-medium-r" "iso8859-2", tfont "cnl2____.ttf" %deffont "courierb" xfont "courier-bold-r" "iso8859-2", tfont "cnl2b___.ttf" %deffont "courieri" xfont "courier-medium-i" "iso8859-2", tfont "cnl2i___.ttf" %deffont "courierbi" xfont "courier-bold-i" "iso8859-2", tfont "cnl2bi__.ttf" %deffont "times" xfont "times-medium-r" "iso8859-2", tfont "tnrl2___.ttf" %deffont "timesb" xfont "times-bold-r" "iso8859-2", tfont "tnrl2b__.ttf" %deffont "timesi" xfont "times-medium-i" "iso8859-2", tfont "tnrl2i__.ttf" %deffont "timesbi" xfont "times-bold-i" "iso8859-2", tfont "tnrl2bi_.ttf" </programlisting> <para><application>Magic Point</application> mora biti preveden z izbiro <option>--enable-locale</option>, da so besede s šumevci pravilno deljene. Paketi <literal>.deb</literal> in <literal>.rpm</literal> naj bi bili že prevedeni tako.</para> </sect3> </sect2> <sect2 id="urejevalniki"> <title>Urejevalniki</title> <sect3 id="emacs"> <title>GNU emacs</title> <para><application>Emacs</application> je, tako kakor njegov avtor, kontroverzni Richard M. Stallman, urejevalnik, do katerega ljudje niso ravnodušni: ali ga obožujejo ali pa ne prenesejo. <application>Emacs</application> je več kakor urejevalnik; je tako rekoč način življenja. V njem lahko pišete programe, iz njega poganjate prevajalnik, pišete besedila, poganjate črkovalnik, poganjate TeX, berete pošto in novice... Ko boste zares dobro obvladali Emacs, se vam prav mogoče še dobršen del pravkar začetega stoletja ne bo treba naučiti nobenega novega urejevalnika. Dokazano pa ljudje shajajo tudi brez njega.</para> <sect4> <title>GNU emacs 20</title> <para>Z zadnjo izdajo urejevalnika Emacs in standardno slovensko tipkovnico je prilagoditev posebno enostavna. Vse, kar potrebujemo, je</para> <programlisting> ;;; Turn on Latin-2 both as input and output method (Emacs 20.* ;;; and onwards) (set-language-environment "Latin-2") </programlisting> <para>Pozneje lahko način Latin-2 izberemo za vnos in izpis na menuju <menuchoice> <guimenu>Mule</guimenu> <guisubmenu>Set Language Environment</guisubmenu> <guisubmenu>European</guisubmenu> <guimenuitem>Latin-2</guimenuitem> </menuchoice></para> <para>Res najnovejše izdaje Emacsa že poznajo tudi način <guimenuitem>Slovenian</guimenuitem>.</para> </sect4> <sect4> <title>Starejše izdaje programa GNU emacs</title> <para>Privzeta nastavitev urejevalnika je omejitev na sedembitne znake (ASCII). Nastavitev spremenimo tako, da v datoteko z nastavitvami dodamo naslednjih nekaj vrstic:</para> <programlisting> ;; Omogočimo izpis znakov s kodo, večjo od 127 (standard-display-european t) ;; Omogočimo vnos znakov s kodo, večjo od 127 (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0) </programlisting> <para>Prilagoditev Emacsa je mogoče izvesti v eni od naslednjih datotek z nastavitvami:</para> <itemizedlist> <listitem> <para><filename>/usr/lib/emacs/site-lisp/site-start.el</filename> (skupne nastavitve)</para> </listitem> <listitem> <para><filename>˜/.emacs</filename> (osebne nastavitve)</para> </listitem> <listitem> <para><filename>/usr/lib/emacs/site-lisp/default.el</filename> (skupne nastavitve)</para> </listitem> </itemizedlist> <para>Z vnosom in izpisom naših znakov seveda še ni konec zgodbe o prilagoditvi Emacsa za slovenščino. Želimo si na primer tudi, da bi se ukaza <literal>forward-word</literal> in <literal>backward-word</literal> ne zatikala na naših znakih in da bi tudi za naše znake pravilno teklo pretvarjanje iz velikih črk v male in nazaj. Pri starejših izdajah Emacsa to ni vedno povsem trivialno. Bralcu bo v veliko pomoč zbirka nasvetov <ulink url="http://nl.ijs.si/gnusl/tex/tslovene/slolang/slolang.html"> Slovenščina in računalniki</ulink> avtorja Aleša Koširja, v kateri je programu GNU emacs posvečeno obširno poglavje.</para> </sect4> <sect4> <title>Emacs in slovensko jezikovno okolje <footnote><para>Aleš Košir, <email>ales.kosir@hermes.si</email></para></footnote></title> <para><application>Emacs</application> 20 uporablja svoj, torej nestandardni mehanizem za vnašanje in prikaz tujejezičnih znakov. To že samo po sebi ni lepo, še huje pa je, da se vgrajeni mehanizem tepe s standardnim: če je vrednost spremenljivke <envar>LANG</envar>> kaj drugega kot <literal>C</literal>, potem vgrajeni Emacsov način odpove.</para> <para>Nekoliko grda rešitev je, da Emacs vedno poženemo v okolju <literal>LANG=C</literal>. Najlaže to naredimo tako, da v <filename>˜/.bashrc</filename> definiramo</para> <programlisting> alias emacs='LANG=C emacs' </programlisting> <para>Če kdo zares razume interakcijo Emacsa s spremenljivko <envar>LANG</envar>, bom dodatne informacije z veseljem vstavil sem.</para> </sect4> </sect3> <!-- Konec Emacsa --> <sect3 id="vi"> <title>Vi</title> <para>Urejevalnik <command>vi</command> izvira iz sive davnine Unixa. Zaradi težav z licenčnino najdete v sistemih Linux namesto izvirnega Vi navadno urejevalnik <command>vim</command> (Vi IMproved) avtorja Brama Moolenaarja, včasih pa tudi <command>elvis</command>, delo Steva Kirkendalla, ali <command>nvi</command> iz distribucije BSD 4.4. Zamisli, na katerih temelji <command>vi</command>, so v temeljih ortogonalne na vse, kar ste se o urejevalnikih naučili v MS-DOS. Kljub temu je glede na to, da je <command>vi</command> edini urejevalnik, ki je zanesljivo v čisto vsakem Unixu, pametno poznati nekaj osnovnih ukazov za delo z njim.</para> <para>Po izkušnjah pisca tako izvirni <command>vi</command> kakor tudi <command>vim</command> sama po sebi brez težav prepuščata osembitne znake. Težave lahko včasih povzročajo zunanji programi, ki jih kličemo iz urejevalnika (npr. <command>fmt</command> za poravnavanje besedila). Navadno pomaga, če v <filename>˜/.profile</filename> določimo spremenljivko <envar>LC_CTYPE</envar> (glej poglavje &s-locale;).</para> </sect3> <sect3> <title id="yudit">Yudit 2.4<footnote><para>Prispeval Jernej Kovačič, <email>jkovacic@email.si</email></para></footnote></title> <para>Yudit je precej osnoven urejevalnik, ki pa vam lahko pride prav, kadar morate napisati kratko besedilo v jeziku, katerega znakov vaša tipkovnica iz takih ali drugačnih razlogov ne podpira. Vse nastavitve lahko nastavite bodisi v datoteki <filename>˜/.yudit/yudit.properties</filename> (veljajo le za določenega uporabnika) ali v <filename>/usr/share/yudit/config/yudit.properties</filename> (veljajo za vse uporabnike, predpostavili smo, da imate Yudit nameščen v imeniku <filename>/usr/share/yudit</filename>). Če je neka lastnost nastavljena v obeh datotekah, bo veljala nastavitev za določenega uporabnika.</para> <para>Priporočamo vam, da si, če še nimate nobene, omislite pisavo TrueType, kodirano po Unicode, ki ima vse znake, ki jih potrebujete. Dobra stran za začetek iskanja je <ulink url="http://www.ccss.de/slovo/unifonts.htm">Multilingual Unicode TrueType Fonts in the Internet</ulink> (glej tudi Unicode-HOWTO). Pisavo (datoteko s pripono <literal>.ttf</literal>) prenesite v imenik <filename>˜/.yudit/fonts</filename> ali <filename>/usr/share/yudit/fonts</filename> ali pa tam naredite vsaj simbolično povezavo do nje. V datoteki yudit.properties dodajte vrstico (če je še ni): <literal>yudit.font.TrueType=<ime_pisave>.ttf</literal>. Lahko je naštetih tudi več pisav (ki morajo biti ločene z vejicami), v tem primeru poskrbite, da bo vaša najljubša pisava navedena na prvem mestu. Ob zagonu Yudita nastavite pisavo (tretji gumb z desne, zgornja vrstica) na TrueType. Ker Yudit uporablja lasten gonilnik za pisave TrueType, vam te podpore ni treba nastaviti v okolju XWindow. Če izbrana pisava ne podpira kakšnega znaka, se bo na njegovem mestu prikazal kvadratek s kodo znaka po Unicode. Pri shranjevanju besedila v datoteko to ne bo povzročalo težav, je pa lahko toliko bolj neprijetno ob tiskanju neposredno iz Yudita.</para> <para>Uporabniški vmesnik Yudita je preveden v več jezikov, po zaslugi Romana Maurerja tudi v slovenščino. Slovenščino nastavite, če v yudit.properties vpišete vrstico: <literal>yudit.default.language=sl</literal>.</para> <para>Poglavitna odlika Yudita je, da je mogoče vtipkati praktično katerikoli znak iz nabora Unicode, tudi če ga vaša tipkovnica ne podpira. V vhodnih datotekah (s pripono <literal>.kmap</literal>) je namreč mogoče določiti, naj se določena zaporedja vtipkanih znakov samodejno pretvorijo v določen znak, odvisno od imena trenutno izbranega »vhoda«. 12 najpogostejših »vhodov« (ločenih z vejicami) si lahko nastavite v <literal>yudit.properties</literal> v vrstici: <literal>yudit.editor.inputs=...</literal> lahko pa tudi kar interaktivno v samem Yuditu z gumbom <guimenu>Vhod</guimenu> (oz. <guimenu>Input</guimenu>), ki je drugi z desne v zgornji vrstici. Potem lahko izbrane »vhode« preklapljate enostavno s funkcijskimi tipkami <keycap>F1</keycap>..<keycap>F12</keycap>.</para> <para>Če ste tipkovnico nastavili za podporo našim črkam po standardu ISO 8859-2, je pametno, da je eden izmed izbranih »vhodov« kar iso-8859-2, ki vam omogoča neposredno vtipkavanje šumnikov. Nekaj uporabnikov, ki kot preslikavo za tipkovnico uporabljajo XKB, poroča, da tak vnos ne deluje, zato pa preverjeno deluje pri načinu <literal>.Xmodmap</literal>. Če kdo ve, kako rešiti ta problem, ga vljudno prosimo, naj nam to sporoči.</para> <para>Na voljo je nekaj že pripravljenih »vhodov«, ki podpirajo tudi slovenske šumnike. Njihove kombinacije za posamezen šumnik so prikazane v spodnji tabeli:</para> <informaltable frame='none'> <tgroup cols='7'> <thead> <row> <entry>»vhod«</entry> <entry>č</entry> <entry>š</entry> <entry>ž</entry> <entry>Č</entry> <entry>Š</entry> <entry>Ž</entry> </row> </thead> <tbody> <row> <entry>Slovenian, Croatian, Czech</entry> <entry><literal>c<</literal></entry> <entry><literal>s<</literal></entry> <entry><literal>z<</literal></entry> <entry><literal>C<</literal></entry> <entry><literal>S<</literal></entry> <entry><literal>Z<</literal></entry> </row> <row> <entry>CS-dead, SK</entry> <entry><literal>+c</literal></entry> <entry><literal>+s</literal></entry> <entry><literal>+z</literal></entry> <entry><literal>+C</literal></entry> <entry><literal>+S</literal></entry> <entry><literal>+Z</literal></entry> </row> <row> <entry>Lithuanian</entry> <entry><literal>2</literal></entry> <entry><literal>6</literal></entry> <entry><literal>=</literal></entry> <entry><literal>@</literal></entry> <entry><literal>^</literal></entry> <entry><literal>+</literal></entry> </row> <row> <entry>Mnemonic</entry> <entry><literal>&c<</literal></entry> <entry><literal>&s<</literal></entry> <entry><literal>&z<</literal></entry> <entry><literal>&C<</literal></entry> <entry><literal>&S<</literal></entry> <entry><literal>&Z<</literal></entry> </row> <row> <entry>SGML</entry> <entry><literal>&ccaron;</literal></entry> <entry><literal>&scaron;</literal></entry> <entry><literal>&zcaron;</literal></entry> <entry><literal>&Ccaron;</literal></entry> <entry><literal>&Scaron;</literal></entry> <entry><literal>&Zcaron;</literal></entry> </row> <row> <entry>TeX</entry> <entry><literal>\v{c}</literal></entry> <entry><literal>\v{s}</literal></entry> <entry><literal>\v{z}</literal></entry> <entry><literal>\v{C}</literal></entry> <entry><literal>\v{S}</literal></entry> <entry><literal>\v{Z}</literal></entry> </row> <row> <entry>unicode</entry> <entry><literal>u010d</literal></entry> <entry><literal>u0161</literal></entry> <entry><literal>u017e</literal></entry> <entry><literal>u010c</literal></entry> <entry><literal>u0160</literal></entry> <entry><literal>u017d</literal></entry> </row> </tbody> </tgroup> </informaltable> <para>Opomba 1: če uporabljate hrvaški (Croatian) »vhod«, ne pozabite, da so v hrvaščini (ne pa tudi v slovenščini) nj, lj in dž enakovredne črke, ki imajo tudi svoje mesto v naboru Unicode. Pazite na morebitne podobne jezikovne značilnosti tudi pri uporabi češkega (Czech, CS-dead), slovaškega (SK, CS-dead) ali litovskega (Lithuanian) »vhoda«.</para> <para>Opomba 2: do različice 2.4 v »vhodu« SGML ni bilo velikih šumnikov, dokler ni pisec teh vrstic avtorju Yudita poslal dopolnila.</para> <para>Opomba 3: nekateri izmed naštetih vhodov so bili prvič na voljo šele v različici 2.5, vendar so uporabni tudi v starejših.</para> <para>Oglejmo si še zgled, kako si lahko sami v vhodni datoteki določimo poljubna zaporedja tipk za želeni znak. Najprej moramo v datoteko s pripono <literal>.kmap</literal> vpisati seznam zaporedij. Oglejmo si, kako je to narejeno v datoteki <filename>Slovenian.kmap</filename> (avtorja Romana Maurerja):</para> <programlisting> "C<=0x010C", // LATIN CAPITAL LETTER C WITH CARON "S<=0x0160", // LATIN CAPITAL LETTER S WITH CARON "Z<=0x017D", // LATIN CAPITAL LETTER Z WITH CARON "c<=0x010D", // LATIN SMALL LETTER C WITH CARON "s<=0x0161", // LATIN SMALL LETTER S WITH CARON "z<=0x017E", // LATIN SMALL LETTER Z WITH CARON </programlisting> <para>Kakor vidimo, je definicija zaporedij preprosta. Začne se z narekovajem, sledi mu želeno zaporedje znakov, temu sledi enačaj (<literal>=</literal>), temu pa koda znaka (po Unicode), ki naj ga to zaporedje vrne. Koda znaka je lahko v desetiškem, osmiškem, največkrat pa je kar v šestnajstiškem številskem sistemu, kar označuje predpona 0x. Tako definirano zaporedje končamo z narekovajem, ki mu (tudi zadnjemu zaporedju!) sledi vejica. Kjerkoli v datoteki lahko pišemo tudi komentarje (vse med <literal>//</literal> in koncem vrstice). Če bomo svojo definicijsko datoteko posredovali tudi drugim, se spodobi, da vsak znak tudi opišemo.</para> <para>Tako nastalo datoteko moramo spremeniti v tako obliko, da jo bo Yudit razumel (to označuje pripona <literal>.my</literal>). Z Yuditom dobimo tudi programček mytool, ki nam to naredi. Če se zgornja datoteka imenuje <filename>Slovenian.kmap</filename> in bi jo radi »prevedli« v <filename>Slovenian.my</filename>, to storimo takole:</para> <para> <userinput>mytool -type kmap -kmap Slovenian.kmap -rkmap Slovenian.kmap -write Slovenian.my</userinput> </para> <para>Če se je pretvorba izvedla brez sporočil o napakah, moramo tako nastalo datoteko s pripono <literal>.my</literal> le še prenesti v <filename>/usr/share/yudit/data</filename> ali <filename>˜/.yudit/data</filename> in znova pognati Yudit.</para> <para>Pri nalaganju datoteke v Yudit bodite pozorni na privzeto kodno razporeditev (če v <literal>yudit.properties</literal> pod <literal>yudit.default.encoding</literal> sami niste napisali ničesar, bo to UTF-8) in poleg določanja imena datoteke ne pozabite na to podrobnost. Prav tako pazite, če datoteko shranjujete v kaki drugi kodni razporeditvi kot različici Unicode. Če je v besedilu kak znak, ki ne pripada izbrani kodni razporeditvi, se bo na njegovem mestu brez poprejšnjega opozorila izpisalo <literal>\u+koda znaka</literal> (po Unicode v šestnajstiškem sistemu).</para> </sect3> <!-- konec Yudit --> <sect3 id="joe"> <title>Joe<footnote><para>Prispeval Danilo Godec, <email>danci@kibla.org</email></para></footnote></title> <para>Skupne nastavitve za urejevalnik Joe so v datoteki <filename>/usr/lib/joe/joerc</filename> (morda jo imate shranjeno kje drugje). Izbira <option>-asis</option> omogoči vnos in izpis osembitnih znakov. Sprožimo jo tako, da zbrišemo presledek pred njo.</para> </sect3> <sect3 id="crisp"> <title>Crisp</title> <para><application>Crisp</application> je urejevalnik v duhu urejevalnika <application>Brief</application> z burno zgodovino. Napisal ga je <ulink url="mailto:fox@crisp.demon.co.uk">Paul Fox</ulink> iz Anglije in ga distribuiral kot »program za pokušino« (shareware). Zadnja taka različica je 2.2e iz leta 1991 in je po nekaterih vesteh avtor ne podpira več. Novejše (trenutno 7.0) pa trži podjetje <ulink url="http://www.crisp.com/">Vital, Inc.</ulink> iz Teksasa v ZDA. Crisp je nekako bliže pecejevskemu duhu kakor Emacs in Vi; če se nobenemu od njiju ne morete privaditi, bo morda Crisp pravi za vas.</para> <para>Privzeta nastavitev urejevalnika Crisp 2.2e je, da znakov s kodami od 127 naprej ne prikaže, ampak izpiše njihovo šestnajstiško kodo, ki jo uvede z znakoma <literal>\x</literal>. Pomaga, če naložimo paket z izvirno kodo Crisp in v datoteki <filename>$(SRC)/crisp2.2e/src/crunch/tty/xterm.cr</filename> popravimo drugi argument funkcije <literal>set_term_features()</literal> iz <literal>NULL</literal> na <literal>"%c"</literal>. Popravljeni makroukaz prevedemo:</para> <para> <userinput> crunch xterm.cr </userinput> </para> <para>Rezultat, popravljeni <filename>xterm.cm</filename>, postavimo med druge, navadno v imenik <filename>/usr/local/lib/crisp/macros/tty</filename>.</para> <para>Makro <literal>xterm</literal> velja, kot bi iz imena sami uganili, za <application>Crisp</application>, pognan v oknu <application>Xterm</application> znotraj X Window System. Enaka intervencija piscu teh vrstic ni uspela na <filename>linux.cr</filename> (konzola) in <filename>xcrisp.cr</filename> (različica Crisp za X11). Poleg tega se je v starejši različici Linuxa (1.0.8) <literal>crunch</literal> pritoževal nad predprocesorjem za C, <filename>/lib/cpp</filename>. Pomagala je logična povezava:</para> <para> <userinput> ln -s /usr/lib/gcc-lib/i486-linux/2.5.8/cpp /lib/cpp </userinput> </para> <para>Aleš Košir je napisal za Crisp makro <ulink url="http://nl.ijs.si/gnusl/tex/tslovene/src/slovene.cr"> <literal>slovene</literal></ulink>.</para> <para>Z njim lahko vnašamo naše znake tudi na tipkovnicah, ki nimajo primernih tipk: namesto č vtipkamo <literal>"c</literal>, makro pa pretvori zaporedje v ustrezen znak. Poleg ISO Latin 1 podpira še nekaj drugih kodiranj, ki so v rabi v naših krajih. Navodila za uporabo so na voljo tudi <ulink url="http://nl.ijs.si/gnusl/tex/tslovene/slolang/">v spletu</ulink>.</para> <para>Del distribucije Caldera OpenLinux je tudi »lahka« izvedba urejevalnika Crisp, <application>CRiSP LiTE</application>. Caldera ponuja tudi možnost poznejše ugodnejše nadgraditve na polno izvedbo. CRiSP LiTE ne pozna zgoraj opisanih težav z vnašanjem osembitnih znakov.</para> </sect3> <!-- Konec Crispa --> </sect2> <!-- Konec urejevalnikov --> <sect2 id="email"> <title>Elektronska pošta</title> <sect3 id="pine"> <title>Pine</title> <para>Pine najprej prebere skupne nastavitve iz <filename>/usr/local/lib/pine.conf</filename> (ali <filename>/etc/pine.conf</filename>, zatem pa še osebne nastavitve iz <filename>˜/.pinerc</filename>. V enem ali drugem poiščemo niz <literal>character-set</literal> in postavimo to spremenljivko na <literal>ISO-8859-2</literal>:</para> <programlisting> ... # 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 ... </programlisting> </sect3> <sect3 id="xfmail"> <title>Xfmail 1.3<footnote><para>Prispeval Jernej Kovačič, <email>jkovacic@email.si</email></para></footnote></title> <para>V odjemalcu za elektronsko pošto XFMail je privzeto vgrajeno 16 sistemskih pisav knjižnice XForms, ki žal nimajo šumnikov. Je pa zato kljub vsemu mogoče izbrati tudi druge »zunanje« pisave okolja XWindow. Če tega niste storili že prej, je zdaj skrajni čas, da v strežniku X nastavite nekaj pisav z znaki iz nabora ISO8859-2 {morda še povezava do ustreznega razdelka}. Z ukazom <userinput>xlsfonts -fn "*-iso8859-2"</userinput> izpišite seznam vseh nameščenih pisav s podporo znakom iz ISO8859-2 in izberite nekaj pisav, ki so vam najbolj všeč.</para> <para>Prikaz naših črk boste potrebovali pri seznamih sporočil v osnovnem oknu, pri branju in sestavljanju sporočil, pri prikazu naslovnika ali pošiljatelja in pri naslovu samega sporočila in pa vsaj še na seznamu naslovov. Čeprav to nikakor ni nujno, vam priporočam, da si izberete pisave stalne širine. Z menuja osnovnega okna izberite <menuchoice> <guimenu>Misc</guimenu> <guimenuitem>Appearance</guimenuitem> </menuchoice>. V novo odprtem oknu pritisnite na gumb <guibutton>Add</guibutton>, vtipkajte polno ime (natanko tako, kakor vam ga izpiše programček <command>xlsfonts</command>) vsake izbrane pisave posebej in vnos končajte s pritiskom na gumb <guibutton>OK</guibutton>. Postopek ponavljajte za vse izbrane pisave, pri tem pa nikar ne pretiravajte, ker je zaradi omejitev v knjižnici XForms lahko vseh pisav skupaj (s sistemskimi 16 vred) največ 64.</para> <para>Ko ste tako vnesli vse izbrane pisave, morate še posameznim gradnikom XFMailovega uporabniškega vmesnika dopovedati, naj jih uporabljajo. V istem oknu (torej Fonts & Colors) morate obvezno izbrati najprej gradnik na skrajni desni strani. Nato v preostalih dveh izbirnikih izberite samo pisavo in velikost znakov. Pisave s podporo naboru ISO8859-2 določite predvsem naslednjim gradnikom: <guilabel>Message browser</guilabel> (prikaz vseh sporočil v izbrani mapi), <guilabel>Address book</guilabel> (izpis imen na vašem seznamu el. naslovov) in pa iso-8859-2 (Latin-2) (uporablja se pri branju in sestavljanju sporočil, pri pravilni nastavitvi v glavi sporočila za prikaz pošiljateljevega imena in naslova sporočila, pri seznamu naslovnikov itd.). Pisave lahko določite tudi preostalim gradnikom, vendar tam podpora šumnikom ni potrebna. Ko boste prvič zapustili <application>XFMail</application>, ne pozabite z »Yes« odgovoriti na vprašanje, ali naj se nastavitve shranijo.</para> <para>Ob sestavljanju novega sporočila (gumb <guibutton>Compose new</guibutton>) lahko nabor znakov določite vsakič posebej (z menuja okna za novo sporočilo izberete najprej <menuchoice> <guimenu>Encoding</guimenu> <guimenuitem>8 bit</guimenuitem> </menuchoice>, nato pa še <menuchoice> <guimenu>Language</guimenu> <guimenuitem>iso-8859-2 (Latin-2))</guimenuitem> </menuchoice>, lahko pa to tudi določite kot privzeto. To storite, če z menuja osnovnega okna izberete <menuchoice> <guimenu>Misc</guimenu> <guimenuitem>Config Display</guimenuitem> </menuchoice>, nato pa v novo odprtem oknu še Charsets. V spodnjem desnem kotu, kjer je izbirnik Default character set, izberite <guibutton>iso-8859-2 (Latin-2)</guibutton>, nad tem izbirnikom pa pod <guilabel>Default encoding</guilabel> označite še <guibutton>8-bit(none)</guibutton> in pa <guibutton>Encode header</guibutton>.</para> <para>Če želite uporabiti šumnike tudi pri odgovoru na sporočilo, se najprej prepričajte, ali so nastavitve pravilne (z menuja okna za sestavljanje sporočila najprej po potrebi nastavite <menuchoice> <guimenu>Encoding</guimenu> <guimenuitem>8 bit</guimenuitem> </menuchoice>, nato pa še <menuchoice> <guimenu>Language</guimenu> <guimenuitem>iso-8859-2</guimenuitem> </menuchoice>). Pri odgovarjanju se namreč privzeto nastavita kodiranje in nabor znakov izvirnega sporočila (ali 7-bitno kodiranje, če ni navedeno nič) in naslovnik lahko prejme drugačne znake, kot jih vidite vi v urejevalniku sporočila. Kaj lahko se vam zgodi, da ostane kodiranje sedembitno in se biti z največjo utežjo (<acronym>MSB</acronym>) ob pošiljanju samodejno nastavijo na 0, tako da namesto šumnika naslovnik prejme znak s spodnje polovice tabele ASCII.</para> </sect3> <sect3 id="ns-mail"> <title>Netscape Mail</title> <para>V Netscape Mail 4.06 in novejšem, npr. 4.78, je mogoče pisati naše znake v telesu sporočila, ne pa tudi v glavi. Ko imamo enkrat nameščene naše pisave in urejeno preslikavo tipkovnice (razdelka &s-pisave-x11; in &s-tipk-x11;), le še z menuja <guimenu>View</guimenu> poštnega programa izberemo <guisubmenu>Encoding</guisubmenu>, tam pa <guimenuitem>Central European (ISO-8859-2)</guimenuitem>.</para> <para>Vesel bom opisa izkušenj z drugimi izdajami programa Netscape Mail.</para> </sect3> <sect3 id="elm"> <title>Elm</title> <para>Opozorilo: pisec že dolgo ne uporablja več tega programa in zapisanega ni preveril. Danski in nemški HOWTO trdita, da je bodisi dovolj v ukazni lupini postaviti spremenljivko <envar>LANG</envar> na vrednost <literal>iso_8859_1</literal> bodisi v konfiguracijski datoteki <literal>˜/.elm/elmrc</literal> nastaviti vrednosti naslednjih spremenljivk:</para> <programlisting> ... charset=iso-8859-1 displaycharset=iso-8859-1 textencoding=8bit ... </programlisting> <para>Vse ISO 8859-1 bi bilo pri nas verjetno treba nadomestiti z ISO 8859-2.</para> <para>Še enkrat prosim koga, ki ta program zares uporablja, naj opiše svoje izkušnje.</para> </sect3> </sect2> <!-- Konec poštnih programov --> <sect2 id="www"> <title>Svetovni splet</title> <sect3 id="lynx"> <title>Lynx</title> <para>Lynx pozna od izdaje 2.5 naprej tudi kodno stran ISO 8859-2. Nastavimo jo lahko na enega od treh načinov. Prvi je, da izberemo <literal>O)ptions</literal>, zatem <literal>C)harset</literal> in s pritiskanjem na smerne tipke izberemo želeni nabor znakov. Drugi je, da v datoteki <filename>˜/.lynxrc</filename> (osebna nastavitev) nastavimo</para> <screen> character_set=ISO Latin 2 </screen> <para>Kot zadnje pa nam je na voljo, da v datoteki <filename>/usr/lib/lynx.cfg</filename> (skupna nastavitev)</para> <screen> CHARACTER_SET:ISO Latin 2 </screen> </sect3> <sect3 id="netscape"> <title>Netscape Navigator<footnote><para> Metod Koželj, <literal>Message-id: <Pine.HPP.3.96.981216083349.17728E-100000@hmljhp.rzs-hm.si></literal> </para> </footnote></title> <para>Netscape Navigator pa tudi brskalnik iz Netscape Communicatorja uporabljata nabor znakov X Windows System. Za prikaz naših znakov je torej treba najprej namestiti pisave za X11 (poglavje &s-pisave-x11;). Ko Navigator zaženemo, sam ugotovi, da so na voljo tudi pisave za »Central European (ISO-8859-2)«. Če pregledujemo stran, ki brskalniku pravilno sporoči uporabljeni nabor znakov, Navigator samodejno uporabi pisavo s pravim kodnim naborom. Seveda lahko spremenimo osnovno velikost črk ali pa obliko za proporcionalno pisavo.</para> <para>To storimo tako, da v <menuchoice> <guimenu>Edit</guimenu> <guisubmenu>Preferences</guisubmenu> <guisubmenu>Appearance</guisubmenu> <guimenuitem>Fonts</guimenuitem> </menuchoice> določimo, da spreminjamo nastavitve za srednjeevropske pisave: <menuchoice> <guimenu>For the Encoding</guimenu> <guimenuitem>Central European (iso-8859-2)</guimenuitem> </menuchoice>, potem pa izberemo, s katero pisavo naj Navigator prikazuje besedila. Navigator nam sam ponudi le pisave s pravim naborom znakov.</para> <para>Če pregledujemo strani s pravilno razporeditvijo črk (razporeditev ISO 8859-2 in ne Windows-1250), pa Navigator ne uporabi pisave s pravo razporeditvijo črk, lahko razporeditev preklopimo ročno z izborom: <menuchoice> <guimenu>View</guimenu> <guisubmenu>Encoding</guisubmenu> <guimenuitem>Central European (ISO-8859-2)</guimenuitem> </menuchoice> </para> <para>Ob izboru pisave s pravilno razporeditvijo črk in ob pravilni razporeditvi tipk na tipkovnici lahko uporabljamo naše črke tudi pri pisanju v modulu »Page Composer«.</para> <para>Netscape Communicator 4.06 in novejši znajo v Unixih z nameščenimi pisavami ISO 8859-2 prikazati tudi strani, napisane v kodni strani Microsoft CP1250, označene kot <literal>windows-1250</literal> v glavi.</para> <para>V brskalniku Netscape Navigator lahko nastavimo tudi prednostni seznam jezikov, v katerih želimo prebirati spletne strani. To storimo tako, da z menuja <menuchoice> <guimenu>Edit</guimenu> <guisubmenu>Preferences</guisubmenu> <guisubmenu>Navigator</guisubmenu> <guimenuitem>Languages</guimenuitem> </menuchoice> izberemo slovenščino (<literal>sl</literal>) in jo dvignemo na vrh prednostnega seznama. Ker je večina spletnih strani pisana v angleščini, naj bo nekje na seznamu tudi angleščina (<literal>en</literal>). Strežniki, ki uporabljajo mehanizem za izbiro jezika, vgrajen v http (zgled je, denimo, <ulink url="http://www.google.com/">iskalnik Google</ulink>), se bodo tako z brskalnikom samodejno sporazumeli o tem, v katerem jeziku vam bodo ponudili spletne strani.</para> </sect3> <sect3 id="amaya"> <title>Amaya<footnote><para>Prispeval Andraž Hvalica, <literal>Message-id: <374E958D.ADD55B49@amis.net></literal> in <literal>Message-id: <3788BBF0.1041C481@amis.net></literal>.</para></footnote></title> <para>Torej takole je s to Amayo: šumniki (in druge reči - preizkusil sem tudi nemške preglase) čisto lepo delujejo. V čem je štos? Verjetno gre za hrošča, morda ga tudi ni več, imam Amayo 1.4a, čisto mogoče, da je izšlo že kaj novejšega... Narediti je treba le to, da pri datoteki, ki jo začneš pisati, nastaviš <menuchoice> <guimenu>Attributes</guimenu> <guisubmenu>lang</guisubmenu> <guimenuitem>ISO_Latin_2</guimenuitem> </menuchoice> vendar <emphasis>mora biti v datoteki že en znak</emphasis>, ki ga je treba še prej označiti. Potem so šumniki vidni v Amayi.</para> <para>A tu je še nekaj takega kot kavelj 22 - v Navigatorju je treba imeti nastavljeno <menuchoice> <guimenu>View</guimenu> <guisubmenu>Encoding</guisubmenu> <guimenuitem>Central European (ISO-8859-2)</guimenuitem> </menuchoice> To imamo Slovenci tako ali tako vsi, ampak vseeno ni čisto v redu. Amaya bi morala v datoteko html zapisati <literal>character=iso-8859-2</literal>, vendar tega ne naredi. Napiše pa <literal><body lang="x-Latin-2"></literal>, kar, vsaj jaz, prvič vidim.</para> <para>… Iz interneta sem potegnil novo Amayo 2.1 in si ogledal, kako je s podporo Latin-2. Približno tako trapasto je kot pri eni od starejših različic, ki sem jo že imel.</para> <para>Še zmerom velja, da je treba napisati katerikoli znak, preden se program sploh odzove na naše nastavitve za jezik. Ko vpišemo ta famozni znak, izberemo »Attributes / lang...«, izberemo Czech.</para> <para>S tem dosežemo, da program vtipkane znake upošteva kot iso-8852-2, vendar v glavo dokumenta HTML tega <emphasis>ne</emphasis> zapiše. Napiše pa:</para> <programlisting> <body lang="cs"> </programlisting> <para>Kar je nesmisel. Vsaj z Navigatorjem nima učinka. Če nimamo sami nastavljenega kodnega zapisa iso 8859-2, šumnikov ne bomo videli. Zato moramo sami v glavo HTML dopisati charset=iso-8859-2; tako so šumniki vidni zmeraj.</para> </sect3> <sect3 id="www-server"> <title>Spletni strežniki</title> <note> <para>Opomba: ta razdelek je prevod navodil <ulink url="http://nl.ijs.si/gnusl/cee/app/httpd.html">»Configuring WWW Server for ISO 8859-2«</ulink>, ta pa se bolj ali manj opirajo na besedilo Marka Martinca <ulink url="http://www.ijs.si/doc/www-csz.html">»Rešitev problema slovenskih šumnikov v HTML dokumentih«</ulink>.</para> </note> <sect4> <title>Načela</title> <orderedlist> <listitem> <para>Določilo HTTP zahteva, da prenosni protokol HTTP prenaša tok podatkov brez omejitve na nabor ASCII ali izpisljive znake. To zajema osembitne znake, šestnajstbitne znake kot npr. ISO10646 ali jezike z Daljnega vzhoda, slike, animacije, zvok ipd.</para> </listitem> <listitem> <para>Vsebino spisa določa glava MIME (vrstica <literal>Content-Type</literal>. To je edina informacija o zvrsti informacije, ki jo ima na voljo brskalnik, zato mora odražati pravo vsebino spisa.</para> </listitem> <listitem> <para>Privzeta kodna razporeditev (terminologija MIME/HTTP uporablja izraz »nabor znakov«) za spise HTML je ISO 10646 ali njegova osembitna podmnožica ISO 8859-1. <emphasis>Vsak</emphasis> spletni brskalnik mora biti zmožen prikazati spis HTML, ki uporablja kodno razporeditev ISO 8859-1. Glava MIME za spise HTML, kodirane po ISO 8859-1, je:</para> <screen> Content-Type: text/html </screen> </listitem> <listitem> <para>Določilo HTTP dovoljuje, da z dodatnim določilom <literal>charset</literal> v vrstici <literal>Content-Type</literal> glave MIME izberemo drugo kodno razporeditev. Načeloma je dovoljena katerakoli kodna razporeditev, registrirana pri IANA Character Set Registry. Iz praktičnih razlogov pa se je priporočljivo omejiti na naslednje entitete HTTP:</para> <screen> 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 </screen> <para>Entiteta, ki je definirana pri <ulink url="http://www.iana.org/">IANA Character Set Registry</ulink>, mora predstavljati nabor znakov, kot je bil prijavljen pri IANA. Prazna entiteta implicira nabor ISO 8859-1 (skupaj z US-ASCII, ki je njegova podmnožica).</para> <para>Spisi HTML, kodirani v skladu s kodno razporeditvijo ISO 8859-2, morajo potemtakem imeti v glavi vrstico MIME</para> <screen> Content-Type: text/html; charset=ISO-8859-2 </screen> <para>Pri tem presledek med podpičjem in <literal>charset=ISO-8859-2</literal> ni obvezen.</para> </listitem> <listitem> <para>Numerične entitete oblike <literal>&#nnn;</literal> določajo pismenko s kodo <emphasis>nnn</emphasis> v referenčni razporeditvi znakov (ISO 8859-1 ali. ISO 10646), ne pa v trenutno izbrani. Tako torej sploh ne moremo uporabljati naših znakov, kodiranih skladno s kodno razporeditvijo ISO 8859-2, lahko pa uporabimo 16-bitne kode ISO 10646. Črko č (mali C s strešico) lahko torej zapišemo kot <literal>&#269;</literal>. In samo tako.</para> </listitem> </orderedlist> </sect4> <sect4> <title>Praktični oziri</title> <para>Kdaj je priporočljiva uporabiti kodno razporeditev ISO 8859-2 in kdaj ne? Znotraj <emphasis>intraneta</emphasis> (notranjega informacijskega sistema) v okolju, v katerem se uporablja ISO 8859-2, je morda smiselno to razporeditev uporabiti za <emphasis>vse</emphasis> spise. Če pa je informacija namenjena širšemu občinstvu, je treba vedeti, da je uporabniki zunaj Srednje ali Vzhodne Evrope, kjer se ta kodna razporeditev uporablja, morda ne bodo mogli prikazati. Veljavno določilo prenosnega protokola HTTP namreč od spletnih brskalnikov ne zahteva, naj prikažejo spise HTML, ki uporabljajo kodno razporeditev ISO 8859-2. Če brskalnik ne zmore prikazati strani v zahtevani kodni razporeditvi, lahko ta problem ignorira in stran (nepravilno) prikaže v kakšni drugi kodni razporeditvi (navadno ISO 8859-1) ali pa ponudi, da spis shranimo na disk. Zato je priporočljivo, da vstopne točke v naš informacijski sistem ne uporabljajo kodnih razporeditev, različnih od ISO 8859-1.</para> </sect4> <sect4> <title>Podrobnosti izvedbe</title> <para>Obdelali bomo tri metode, s katerimi lahko spletni strežnik prilagodimo, da pravilno postreže uporabniku s spisom, kodiranem po ISO 8859-2:</para> <itemizedlist> <listitem> <para>določitev nove pripone za statične spise, kodirane po ISO-8859-2, in vezava le-te na na primerno vrsto spisa v glavi MIME</para> </listitem> <listitem> <para>dinamično prekodiranje spisov</para> </listitem> <listitem> <para>uporaba posebnosti strežnika ali brskalnika</para> </listitem> </itemizedlist> </sect4> <sect4> <title>Določitev nove pripone za statične spise</title> <para>Ob zahtevku za spis večina spletnih strežnikov izve zvrst statičnih spisov iz pripone datoteke ter na podlagi tega izdela glavo MIME, s katero opremi spis, preden ga izroči prejemniku. Več različnih pripon lahko ustreza isti zvrsti spisa (priponi <literal>.jpeg</literal> in <literal>.jpg</literal> na primer obe določata zvrst <literal>image/jpeg</literal>), nasprotno pa ne - ena pripona lahko določa kvečjemu eno zvrst spisa.</para> <para>Nobene splošne metode ni, ki bi dovoljevala uporabo pripone <literal>.html</literal> za spletne spise, kodirane bodisi v skladu s kodno razporeditvijo ISO 8859-1 bodisi ISO 8859-2, in pričakovala od spletnega strežnika, da se bo nekako odločil, s kakšno glavo MIME bo opremil ene in druge. Ena možnost je vsekakor, da pripono <literal>.html</literal> trajno vežemo na zvrst spisov HTML, kodirano skladno s kodno razporeditvijo ISO 8859-2. Ta rešitev ima seveda očitno pomanjkljivost za občinstvo, ki ne more prikazati tega nabora znakov.</para> <para>Tu predlagana rešitev izkorišča zmožnost spletnih strežnikov, da določijo novo pripono datoteke in jo vežejo na zvrst spisa <literal>text/html; charset=ISO-8859-2</literal> v glavi MIME. To možnost podpira večina spletnih strežnikov. Strežnika W3C in NCSA <literal>httpd</literal> (ter vse njune izpeljanke, npr. Apache) uporabljata ukaz <literal>AddType</literal> v nastavitveni datoteki za vezavo dodatnih zvrsti spisov na nove pripone datotek. Z enostavno in domiselno shemo (glej <ulink url="http://www.ijs.si/doc/www-csz.html"> Rešitev problema slovenskih šumnikov v HTML dokumentih</ulink>) lahko zagotovimo pravilne glave MIME za zvrsti spisov, ki uporabljajo kodne razporeditve, različne od ISO 8859-1. Če na primer določimo pripono <literal>.html-l2</literal> za spise, kodirane skladno s kodno razporeditvijo ISO 8859-2, moramo v nastavitveni datoteki dodati vrstico:</para> <itemizedlist> <listitem> <para>Strežnik W3C httpd (CERN httpd): v datoteki <filename>httpd.conf</filename> dodamo: <screen> AddType .html-l2 text/html;charset=ISO-8859-2 8bit 1.0 </screen></para> </listitem> <listitem> <para>Strežnik NCSA httpd: v datoteki <filename>srm.conf</filename> dodamo: <screen> AddType text/html;charset=ISO-8859-2 .html-l2 </screen> </para> </listitem> <listitem> <para>Strežnik Apache se od NCSA httpd razlikuje samo po manjkajoči piki: v datoteki <filename>srm.conf</filename> dodamo: <screen> AddType text/html;charset=ISO-8859-2 html-l2 </screen> </para> </listitem> </itemizedlist> </sect4> <sect4> <title>Dinamično prekodiranje</title> <para>V vsakem spletnem strežniku, ki podpira vmesnik Common Gateway Interface (CGI), lahko izvedemo dinamično prekodiranje spletnih spisov. Poleg dobrih strani (iz enega samega izvora lahko ponudimo spletni spis v številnih različnih kodnih razporeditvah) ima ta metoda tudi slabosti: pretvarjanje spisa po eni strani porablja procesorski čas strežnika, po drugi strani pa dinamičnih spisov posredniki (angl. <foreignphrase>proxy</foreignphrase>) navadno ne shranjujejo v medpomnilniku, zato z njimi dodatno obremenjujemo komunikacijske vode.</para> <para>Zgleda skriptov, ki izvajata dinamično prekodiranje:</para> <itemizedlist> <listitem> <para><application>slovene</application> - paket za dinamično pretvarjanje spletnih spisov iz kodne razporeditve JUS I.B1.002 v CP852, CP1250, ISO 8859-2 ter US-ASCII (s prečrkovanjem iz ČŠŽ v CSZ). Avtor Tadej Vodopivec, Ljubljana, Slovenija.</para> </listitem> <listitem> <para><application>pl-conv</application> - skript v perlu za dinamično pretvarjanje kodiranja spletnih spisov ISO 8859-2, CP852, CP1250, Mazowia, Apple RomanCE in US-ASCII (s prečrkovanjem). Avtor Jarosław Strzałkowski, Kraków, Poljska.</para> </listitem> </itemizedlist> <para>Sledijo tri rešitve, ki uporabljajo posebnosti in nestandardne razširitve programske opreme. Prvi dve se nanašata na spletni strežnik, zadnja na priljubljeni spletni brskalnik Netscape Navigator. Istega problema se je lotil Gavin Nicol s predlogom »MIME Header Supplemented File Type«.</para> </sect4> <sect4> <title>Metainformacija za spletni strežnik W3C</title> <para>Spletni strežnik W3C (nekoč znan kot CERN WWW) omogoča dodajanje metainformacije v glave MIME odhodnih spisov.</para> <para>Po privzeti nastavitvi išče strežnik metainformacije v datotekah s pripono <literal>.meta</literal> podimenik <literal>.web</literal> imenika s spisi. Če na primer spletne spise hranimo v imeniku <filename>/WWW/Hypertext</filename> in želimo opremiti spis <filename>isolatin2.html</filename> v njem s pravilno glavo MIME, napravimo to takole:</para> <itemizedlist> <listitem> <para>Če ga še ni, najprej ustvarimo podimenik <filename>.web</filename>:</para> <screen> $ mkdir /WWW/Hypertext/.web </screen> </listitem> <listitem> <para>Zatem v tem podimeniku ustvarimo datoteko z metainformacijami. Za datoteko <filename>isolatin2.html</filename> se bo ta imenovala <filename>isolatin2.html.meta</filename>. Datoteka mora imeti glavo MIME v obliki, kot jo predpisuje format RFC822. V našem primeru je to ena sama vrstica:</para> <screen> Content-Type: text/html; charset=ISO-8859-2 </screen> </listitem> </itemizedlist> </sect4> <sect4> <title>Datoteke ASIS za strežnik Apache</title> <para>Strežnik Apache določa posebno vrsto datoteke, imenovano ASIS. Strežnik pošlje datoteko ASIS odjemniku natančno tako, kot je (angl. »<foreignphrase>as is</foreignphrase>«), ne da bi jo opremil z glavo, ki jo sicer zahteva protokol HTTP. V sami datoteki morajo zato biti vsa potrebna polja, ki jih zahteva protokol HTTP, tem sledi prazna vrstica in vsebina spisa HTML.</para> <para>V nastavitveni datoteki za strežnik določimo, da pripona <literal>.asis</literal> pripada zvrsti spisa <literal>httpd/send-as-is</literal>:</para> <screen> AddType httpd/send-as-is asis </screen> <para>Zgled datoteke ASIS:</para> <screen> Status: 200 OK Content-Type: text/html; charset=ISO-8859-2 <HTML> <HEAD> <TITLE>Hello world</TITLE> </HEAD> <BODY> <H1>Živjo, svet!</H1> </BODY> </HTML> </screen> <para>Kakor vidite, morate v datoteko vstaviti tudi trimestno odzivno kodo strežnika. Strežnik <emphasis>vedno</emphasis> doda polji <literal>Date:</literal> in <literal>Server:</literal>, zato ju ne smemo vstaviti v datoteko.</para> </sect4> <sect4> <title>Značka <META> z označbo HTTP-EQUIV</title> <para>V določilu HTTP 2.0 predlagana značka <literal><META></literal> z označbo <literal>HTTP-EQUIV</literal> je bila predlagana kot neobvezna metoda, po kateri lahko strežnik potegne dodatno metainformacijo iz zaglavja (<literal><HEAD></literal>) spletnega spisa in jo uporabi pri tvorjenju glave MIME. Piscu teh vrstic ni znano, da bi kak strežnik to tudi v resnici počel. Tako razčlenjevanje spletnih spisov je verjetno prevelika obremenitev za procesor in bi se zelo poznalo pri odzivnosti spletnega strežnika. Pač pa so namesto tega začeli to informacijo uporabljati spletni brskalniki (Netscape Navigator, na primer, to počenja od izdaje 2.0 naprej).</para> <para>Zgled spisa z metainformacijo o uporabljeni kodni razporeditvi v zaglavju spisa: <screen> <HTML> <HEAD> <TITLE>Naslov<TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-2"> </HEAD> <BODY> Besedilo... </BODY> </HTML> </screen> </para> </sect4> </sect3> </sect2> <!-- Konec spleta --> <sect2 id="remote"> <title>Delo na oddaljenem računalniku</title> <para>Z ukazoma <command>telnet</command> ali <command>rlogin</command> lahko prek omrežja TCP/IP delamo na drugem računalniku.</para> <para>Težave z osembitnimi znaki pri tem so redko posledica napačne nastavitve v malo prej omenjenih programov, saj privzeti nastavitvi pri obeh podpirata osembitne znake. Če naletimo na težave, se poleg teh programov splača pogledati še</para> <itemizedlist> <listitem> <para>nastavitev ukazne lupine (poglavje &s-shell;)</para> </listitem> <listitem> <para>nastavitev terminala (fizičnega ali navideznega). Eksplicitno ga lahko nastavimo z ukazom <screen> stty -parenb -istrip cs8 </screen> </para> </listitem> <listitem> <para>in na koncu res nastavitev programov <command>telnet</command> ali <command>rlogin</command></para> </listitem> </itemizedlist> <sect3 id="telnet"> <title>Telnet</title> <para><application>Telnet</application> eksplicitno pripravimo do vzpostavitve osembitne zveze z ukazom <literal>toggle binary</literal>:</para> <screen> ~> telnet telnet> toggle binary Negotiating binary mode with remote host. telnet> open nekje.dalec.si </screen> <para>Telnet omogoča tudi, da si nastavitve za izbrane računalnike vnesemo v nastavitveno datoteko, <filename>˜/.telnetrc</filename>. Vnosi imajo obliko:</para> <screen> ... biofiz.mf.uni-lj.si set binary true ... </screen> </sect3> <sect3 id="rlogin"> <title>rlogin</title> <para>Privzeti način zveze pri programu »rlogin« je osembiten, eksplicitno pa lahko to določimo z določilom »-8«:</para> <cmdsynopsis> <command>rlogin</command> <arg choice=plain><replaceable>računalnik</replaceable></arg> <arg choice=plain>-8</arg> </cmdsynopsis> </sect3> </sect2> <sect2 id="TeX"> <title>TeX in LaTeX</title> <para>Poslovenjenje paketa LaTeX obsega</para> <itemizedlist> <listitem> <para>7- in 8-bitni način vnosa naših znakov</para> </listitem> <listitem> <para>način izpisa naših znakov</para> </listitem> <listitem> <para>poslovenjenje izpisov »Contents«, »Figure« ipd.</para> </listitem> <listitem> <para>slovenska pravila deljenja besed</para> </listitem> <listitem> <para>prilagoditev programa LyX: vizualnega okolja za vnos besedil v LaTeX in Linuxdoc DTD</para> </listitem> </itemizedlist> <para>Urejanje stvarnega kazala po slovenski abecedi zaenkrat še ne poteka samodejno. Pokažimo, kako lahko težavo z nekaj truda obidemo.</para> <para>Podporo neangleškim jezikom v LaTeXu je poenotil paket <application>babel</application> Johannesa Braamsa z Nizozemske, ki je standardni del vseh sodobnih distribucij paketa TeX v Linuxu, denimo <ulink url="http://www.tug.org/teTeX/"> <productname>teTeX</productname></ulink>.</para> <para>Z uporabo izbire »slovene« v paketu <application>babel</application> se samodejno izberejo slovenska imena pod- in nadnapisov, naslovov ipd., slovenska pravila za zlogovanje besed (če imamo nameščene slovenske zlogovalne vzorce; poglavje &s-zlogovanje;), in 7-bitni način vnosa znakov <literal>"c"s"z</literal>: <!-- sodi ", da deluje barvanje skladnje v Emacsu --></para> <cmdsynopsis> <command>\usepackage</command><arg choice=opt>slovene</arg><arg choice=req>babel</arg> </cmdsynopsis> <para>V novi različici LaTeXa (LaTeX2e) lahko s paketoma <literal>fontenc</literal> in <literal>inputenc</literal> izberemo tudi 8-bitno kodno tabelo <literal>T1</literal> (znano tudi kot DC ali Cork) in 8-bitni vnos znakov. Zgled celotnega spisa v LaTeXu:</para> <programlisting> \documentclass[a4paper]{article} \usepackage[slovene]{babel} \usepackage[T1]{fontenc} \usepackage[latin2]{inputenc} \begin{document} Čeprav se pouk na železničarski šoli v Šentvidu navadno konča šele ob štirih, odpešačijo učenci iz občin Želimlje in Žetale domov že četrt čez tri. \end{document} </programlisting> <sect3 id="latex209"> <title>LaTeX 2.09</title> <para>V starejši različici paketa LaTeX, LaTeX 2.09, ne moremo uporabiti mehanizma <literal>inputenc</literal>. Pomagamo si s slogom <filename>latin2.sty</filename> Andreja Brodnika. Zgled rabe:</para> <programlisting> \documentstyle[latin2]{article} \begin{document} ... \end{document} </programlisting> <para>Slog <literal>latin2</literal> je na voljo v vseh strežnikih CTAN, npr. <ulink url="ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/latin2/"> ftp.dante.de</ulink>. </para> </sect3> <sect3 id="zlogovanje"> <title>Slovenska pravila za deljenje besed</title> <para>Datoteko s slovenskimi pravili za zlogovanje besed je v okviru svoje diplomske naloge leta 1990 izdelal Matjaž Vrečko in jo predal v last slovenskemu društvu uporabnikov sistema TeX (TeXCeH). Na voljo je za individualno rabo brez namena pridobivanja premoženjske koristi. Od leta 1995 naprej zanjo skrbi dr. Leon Žlajpah z IJS, ki jo je posredoval tudi skrbniku sistema <literal>babel</literal> za tujejezično podporo v sistemu TeX, Johannesu Braamsu. Sistem <literal>babel</literal> praviloma dobimo skupaj z distribucijo sistema TeX. Trenutno zadnja izdaja je 2.3, datirana 15. 4. 1997.</para> <para>V distribuciji <productname>teTeX</productname>, ki je najbolj priljubljena distribucija v Unixu, vklopimo podporo slovenskim delilnim vzorcem tako, da kot upravitelj poženemo program <command>texconfig</command>. Z menuja izberemo možnost <guimenuitem>HYPHEN - hyphenation table (tex/latex)</guimenuitem>. Program <command>texconfig</command> pri tej izbiri požene urejevalnik <command>vi</command>> in vanj naloži datoteko <filename>language.dat</filename>. Za tiste, ki ga ne poznate, najnujnejše o uporabi le-tega: levo, desno, gor in dol po besedilu se premikate s tipkami <keycap>h</keycap>, <keycap>l</keycap> (mali L), <keycap>j</keycap> in <keycap>k</keycap>. Znak zbrišete tako, da kazalec pripeljete nanj in pritisnete tipko <keycap>x</keycap>. Datoteko shranite in končajte delo s pritiskom na tipko <keycap>Esc</keycap> in vpisom <userinput>:wq</userinput> (dvopičje, mali W, mali Q), ki mu sledi <keycap>Enter</keycap>. Oboroženi s tem znanjem v datoteki <filename>language.dat</filename> zbrišemo komentar (znak za odstotek) pred zapisom <literal>slovene sihyph23.tex</literal>, shranimo in zapustimo urejevalnik. Program <command>texconfig</command> bo samodejno ustvaril nove formatne datoteke z vgrajenimi delilnimi vzorci.</para> <para>Pisec teh vrstic je imel še nepojasnjene težave z datoteko <filename>sihyph22.tex</filename>. Enako čudežno, kot so nastale, so tudi izginile, ko mu je dr. Žlajpah poslal novo izdajo slovenskih delilnih vzorcev. Datoteka sicer kroži že kakih pet let, vendar še vedno ni del paketa <application>teTeX</application>. Dobimo jo v strežniku <ulink url="ftp://sizif.mf.uni-lj.si/pub/i18n/tex/sihyph23.tex"> sizif.mf.uni-lj.si</ulink> in postavimo ob bok stari datoteki, navadno v imenik <filename>/usr/TeX/texmf/tex/generic/hyphen/</filename>. V slednjem primeru poženemo <command>texconfig</command>, tam najprej osvežimo seznam datotek (izbira <guimenuitem>REHASH - rebuild ls-R database</guimenuitem>), zatem pa ponovimo postopek iz prejšnjega odstavka, s tem da ime <filename>sihyph22.tex</filename> popravimo v <filename>sihyph23.tex</filename>.</para> <para>Dodatne informacije o slovenski skupini uporabnikov TeX najdete na <ulink url="http://vlado.fmf.uni-lj.si/texceh/texceh.htm">straneh TeXCeha</ulink>.</para> </sect3> <sect3 id="LyX"> <title>LyX<footnote><para>Prispeval Roman Maurer, <email>roman.maurer@hermes.si</email>.</para></footnote></title> <para>Če uporabljamo LyX s standardno slovensko tipkovnico (102/105 tipk), ga lahko enostavno prilagodimo delu s slovenščino:</para> <orderedlist> <listitem> <para>Tipkovnica v strežniku Xwindow mora biti nastavljena tako, da z njo v splošnem lahko vnašamo naše znake (to je opisano v razdelku &s-tipk-x11; poglavja »Tipkovnica«).</para> </listitem> <listitem> <para>Poženemo LyX in nastavimo: <screen> Options / Screen Fonts / Font Norm = iso8859-2 </screen></para> <para>Žal je videti, da LyX tega podatka nikamor ne shrani. Zato moramo ročno dodati v datoteko <filename>lyxrc</filename> (sistemska je navadno v imeniku <filename>/usr/share/lyx/</filename>, uporabniška pa v <filename>˜/.lyx/</filename>) naslednjo vrstico: <screen> \font_norm iso8859-2 </screen></para> </listitem> <listitem> <para>Odpremo (neki) dokument in izberemo: <screen> Layout / Document / Language = slovene Layout / Document / Encoding = latin2 Layout / Paper / Papersize = A4 Layout / Quotes = »text« & Double </screen></para> </listitem> <listitem> <para>Če želimo te nastavitve uporabljati v vseh naših dokumentih (in to seveda želimo), uporabimo še izbiro <screen> Layout / Save layout as default </screen></para> </listitem> <listitem> <para>Kadar uporabimo razred "letter" namesto "article", odgovorimo pritrdilno na vprašanje: <screen> "Should I set some parameters to letter the defaults of this document class?" </screen></para> </listitem> </orderedlist> <para>Zaradi napake v LyXu do vštevši 1.0.0pre2 ni mogoč vnos 8-bitnih znakov v matematičnem tekstovnem načinu (<foreignphrase>math text mode</foreignphrase>). Pomagamo si tako, da postavimo kar celo formulo kot TeXovo kodo (<literal>"tex-mode"</literal> - s tem sicer izgubimo WYSIWYG). Razvijalci LyX so o napaki obveščeni in jo bodo verjetno popravili v naslednjih izdajah.</para> <para>Sedembitni vnos šumnikov kot <literal>"c"s"z</literal> je otežen, ker LyX samodejno pretvori dvojni narekovaj v dva enojna. Prva misel je, da si lahko spet pomagamo z izbiro <literal>"tex-mode"</literal>, udobnejša možnost pa je, da znova določimo dvojni narekovaj. V datoteko <filename>emacs.bind</filename> (ali pa <filename>cua.bind</filename>, kar že uporabljamo) dodamo vrstico: <screen> \bind "S-quotedbl" "accent-caron" </screen></para> <para>Naše znake bomo zdaj dobili s pritiskom na <literal>"c"s"z</literal>. S tem žal izgubimo samodejno pretvarjanje dvojnega narekovaja v dva enojna, a vsega pač ne moremo imeti…</para> <para>Datoteka <filename>emacs.bind</filename> je v imeniku <filename>˜/.lyx/bind/</filename>. Če je še ni, lahko napravimo kopijo sistemske iz imenika <filename>/usr/share/lyx/bind/</filename> in jo popravimo.</para> <para>Če imamo staro slovensko tipkovnico (ameriška s čšž namesto ˜{`), lahko uporabimo premapiranje tipkovnice v Latin 2 Alena Šalamuna <email>alen.salamun@medinet.si</email>: <screen> Options / Keyboard / Primary = slovene </screen></para> <para>Ustrezna datoteka <filename>slovene.kmap</filename> je praviloma v imeniku <filename>/usr/share/lyx/kbd/</filename>.</para> <para>Takole pa lahko uporabimo črkovalnik Ispell (več o njem v razdelku &s-ispell;) za črkovanje slovenskih spisov: <menuchoice> <guimenu>Edit</guimenu> <guisubmenu>Spellchecker</guisubmenu> <guisubmenu>Spellchecker Options</guisubmenu> <guimenuitem>Use alternate language: slovensko</guimenuitem> </menuchoice> ter <menuchoice> <guimenu>Edit</guimenu> <guisubmenu>Spellchecker</guisubmenu> <guisubmenu>Spellchecker Options</guisubmenu> <guimenuitem>Extra special chars allowed in words: 蚞ȊŽ</guimenuitem> </menuchoice></para> <para>V slovenski izdaji urejevalnika LyX pa: <menuchoice> <guimenu>Uredi</guimenu> <guisubmenu>Črkovalnik</guisubmenu> <guisubmenu>Izbire črkovalnika</guisubmenu> <guimenuitem>Uporabi drug jezik: slovensko</guimenuitem> </menuchoice> ter <menuchoice> <guimenu>Uredi</guimenu> <guisubmenu>Črkovalnik</guisubmenu> <guisubmenu>Izbire črkovalnika</guisubmenu> <guimenuitem>Dodatni posebni znaki, dovoljeni v besedah: 蚞ȊŽ</guimenuitem> </menuchoice></para> </sect3> <sect3> <title>Pregled besedila na zaslonu</title> <para>V Evropi je standardni format papirja A4, kar moramo dopovedati tudi programom za pregled besedila na zaslonu:</para> <itemizedlist> <listitem> <para><application>XDvi</application>: V datoteko <filename>˜/.Xresources</filename> (osebna nastavitev) dodamo vrstico</para> <programlisting> XDvi.paper: a4 </programlisting> </listitem> <listitem> <para><application>Ghostview</application>: V datoteko <filename>˜/.Xresources</filename> (osebna nastavitev) ali pa v datoteko <filename>/usr/lib/X11/app-defaults/Ghostview</filename> (skupna nastavitev) dodamo vrstice:</para> <programlisting> ! Ghostview naj uporablja format A4 *pageMedia: A4 ! Tudi Ghostscript naj uporablja format A4 *Ghostview.interpreter: gs *Ghostview.arguments: -sPAPERSIZE=a4 </programlisting> <para>Ker tiskamo prek Ghostscripta tudi iz drugih programov, ne le iz Ghostview, je pametno, če mu v nastavitveni datoteki (navadno <literal>/usr/share/ghostscript/<replaceable>izdaja</replaceable>/gs_init.ps</literal> ali <literal>/usr/local/share/ghostscript/<replaceable>izdaja</replaceable>/gs_init.ps</literal>) globalno izberemo velikost strani A4. Poiščemo spodnjo vrstico in jo odkomentiramo (zbrišemo začetni znak za odstotek): <screen> % (a4) /PAPERSIZE where { pop pop } { /PAPERSIZE exch def } ifelse </screen></para> </listitem> </itemizedlist> </sect3> <sect3 id="tex.index"> <title>Stvarna kazala</title> <para>Najpogostejše orodje za izdelavo stvarnih kazal v sistemu TeX je Makeindex. Ta je le omejeno lokaliziran (poleg angleških pozna še nemška pravila za razvrščanje) in naše abecede ne pozna.</para> <para>Stvarno kazalo v LaTeX izdelamo z ukazom <literal>\makeindex</literal> v preambuli; vsako besedo, ki jo želimo vnesti v kazalo, pa moramo posebej označiti z ukazom <literal>\index{vnos}</literal>. Ker navadno želimo stvarno kazalo tudi izpisati, dodamo še ukaz <literal>\printindex</literal>, ta pa je definiran v makropaketu <literal>makeidx</literal>. Zgled, datoteki recimo <filename>zelez-sola.tex</filename>, naj ponazori povedano:</para> <programlisting> \documentclass[a4paper]{article} \usepackage[slovene]{babel} \usepackage[T1]{fontenc} \usepackage[latin2]{inputenc} \usepackage{makeidx} \makeindex \begin{document} Čeprav se pouk na železničarski šoli\index{s~ola@šola!z~eleznic~arska@železničarska} v Šentvidu\index{S~entvid@Šentvid} običajno konča šele ob štirih, odpešačijo učenci iz občin Želimlje\index{Z~elimlje@Želimlje} in Žetale\index{Z~etale@Žetale} domov že četrt čez tri. \printindex \end{document} </programlisting> <para>Zvijača je v tem, da <command>makeindex</command> dopušča skladnjo <literal>\index{vnos1@vnos2}</literal>, pri čemer je <replaceable>vnos1</replaceable> tisti, po katerem se kazalo ureja, <replaceable>vnos2</replaceable> pa besedilo, ki se v resnici izpiše. Našo črko <literal>Č</literal> zato pišemo kot <literal>C˜</literal> (znak <literal>˜</literal> je v kodni razporeditvi ASCII za vsemi črkami) in tako bo zanesljivo uvrščena za vsemi C. Besedilo prevajamo v treh korakih:</para> <screen> latex zelez-sola makeindex zelez-sola latex zelez-sola </screen> <para>Prvi <command>latex</command> iz datoteke <filename>zelez-sola.tex</filename> izdela datoteko <filename>zelez-sola.idx</filename>, ukaz <command>makeindex</command> to uredi in iz nje izdela datoteko <filename>zelez-sola.ind</filename>, to pa vsrka drugi ukaz <command>latex</command>.</para> </sect3> </sect2> <!-- Konec TeXa --> <sect2 id="groff"> <title>groff</title> <para><application>Groff</application> ponuja precej omejeno podporo našim znakom. Pri izpisu na zaslon (način <command>nroff</command>) lahko goljufamo tako, da zapišemo datoteko z osembitnimi znaki ISO Latin 2, programu pa lažemo (izbira <option>-Tlatin1</option>), da so kodirani po razporeditvi ISO Latin 1.</para> <para>Henryk Paluch je napisal paket <literal>groff-latin2</literal>, s katerim lahko naše znake vnašamo kot makroukaze, na primer:</para> <screen> \('a a z ostrivcem \(vc c s strešico \vou u s krožcem </screen> <para>Izpis v postscriptni obliki med pisanjem tega spisa še vedno ne deluje, čeprav bi se mehanizme iz paketa <command>ogonkify</command> Juliusza Chroboczka podobno kakor v programu <command>a2ps</command> verjetno dalo uporabiti tudi tu. Še največja težava je verjetno ta, da je paket <application>groff</application> osirotel, saj ga prvotni avtor, James Clark, ne vzdržuje več. Za paket <literal>groff-latin2</literal> zdaj skrbi Jan Kasprzak <email>kas@fi.muni.cz</email>, najdete ga na</para> <itemizedlist> <listitem> <para><literal><ulink url="ftp://ftp.fi.muni.cz/pub/localization/groff/">ftp.fi.muni.cz</ulink> </literal></para> </listitem> </itemizedlist> </sect2> <sect2 id="ispell"> <title>Črkovanje: ispell</title> <para>Večino sodobnih distribucij Linuxa že dobimo s črkovalnikom <application>Ispell</application>;, manjka pa mu slovenski besedni zaklad. Tega najdete v katerikoli od navedenih datotek:</para> <itemizedlist> <listitem> <para><literal><ulink url="ftp://biofiz.mf.uni-lj.si/pub/ispell/ispell-sl-0.5-3.src.rpm">ispell-sl-0.5-3.src.rpm</ulink> </literal></para> </listitem> <listitem> <para><literal><ulink url="ftp://biofiz.mf.uni-lj.si/pub/ispell/ispell-sl-0.5-3.i386.rpm">ispell-sl-0.5-3.i386.rpm</ulink> </literal></para> </listitem> </itemizedlist> <para>Če je v istem imeniku na voljo novejša izdaja, seveda vzamemo to.</para> <para>Prva arhivska datoteka je prevedena v sistemu Red Hat Linux 7.1 in jo lahko v <emphasis>enakih</emphasis> sistemih namestimo enostavno z ukazom</para> <para><userinput> rpm -i ispell-sl-0.5-3.i386.rpm </userinput></para> <para>Kopije datoteke, izvirne in prevedene za različne sisteme, najdemo tudi na ustreznih mestih za anonimni FTP:</para> <itemizedlist> <listitem> <para><literal><ulink url="ftp://contrib.redhat.com/libc5/i386/ispell-sl-0.1-1.i386.rpm"></ulink> </literal></para> </listitem> <listitem> <para><literal><ulink url="ftp://contrib.redhat.com/libc5/SRPMS/ispell-sl-0.1-1.src.rpm"></ulink> </literal></para> </listitem> <listitem> <para><literal><ulink url="ftp://ftp.calderasystems.com/pub/OpenLinux/contrib/RPMS/libc6/ispell-sl-0.1-1.i386.rpm"></ulink> </literal></para> </listitem> <listitem> <para><literal><ulink url="ftp://ftp.calderasystems.com/pub/OpenLinux/contrib/SRPMS/libc6/ispell-sl-0.1-1.src.rpm"></ulink> </literal></para> </listitem> </itemizedlist> <para>V vseh drugih sistemih moramo prevedeno datoteko zgraditi sami. Kot sistemski oskrbnik poženemo</para> <para> <userinput>rpm --rebuild ispell-sl-0.5-3.src.rpm</userinput> </para> <para>Redhat Package Manager bo v nekaj minutah pripravil datoteko <filename>ispell-sl-0.5-3.i386.rpm</filename> in jo pustil v imeniku <filename>/usr/src/redhat/RPMS/i386/</filename>, <filename>/usr/src/OpenLinux/RPMS/i386/</filename> ali takem, ki ustreza distribuciji, ki jo uporabljate. To datoteko lahko zatem namestimo z ukazom</para> <para><userinput>rpm -i /usr/src/redhat/RPMS/i386/ispell-sl-0.5-3.i386.rpm</userinput> </para> <para><application>Ispell</application> uporabljamo tako, da mu v ukazni vrstici podamo jezik, v katerem je napisano besedilo, na primer <literal>english</literal>, <literal>deutsch</literal>, <literal>francais</literal> ali <literal>slovensko</literal>:</para> <para><userinput>ispell -d slovensko besedilo.txt</userinput> </para> <para>Natančnejša navodila za ravnanje s programom <application>Ispell</application> boste našli v priročniku, več o prilagoditvi paketa <command>ispell</command> slovenščini pa si lahko preberete na strani <ulink url="http://nl.ijs.si/gnusl/tex/tslovene/slolang/">Slovenščina in računalniki</ulink> Aleša Koširja. Ispell s slovenskim besednim zakladom poganja tudi spletni črkovalnik <ulink url="http://nl.ijs.si/cgi-bin/truform.pl"><application>Trubar</application> </ulink> istega avtorja.</para> <para>Osnovni slovenski leksikon izvira iz zbirke, ki jo je podjetje Amebis, d.o.o., prispevalo za mednarodni projekt MULTEXT-East; s posredovanjem dr. Tomaža Erjavca z odseka za inteligentne sisteme Instituta Jožefa Stefana je na voljo za nepridobitno rabo. Ponske vzorce sta prispevala mag. Dušan Gabrijelčič in mag. Franci Močilar, oba z odseka za odprte sisteme in omrežja Instituta Jožef Stefan.</para> <sect3> <title>Težave z znaki A, D in E</title> <para>Pri nekaterih starejših izdajah ponske datoteke ima Ispell težave z besedili, pisanimi z znaki ISO 8859-2 in pripono <literal>.tex</literal> (to pripono navadno uporabljamo za besedila, pisana za stavni sistem TeX). Težave se kažejo v tem, da Ispell jemlje črke A, D in E kot meje med besedami. Izognemo se jim, če nadomestimo ponsko datoteko z novejšo različico, dostopno na prej omenjenem naslovu <ulink url="ftp://biofiz.mf.uni-lj.si/pub/ispell/"> ftp://biofiz.mf.uni-lj.si/pub/ispell/ </ulink>.</para> </sect3> </sect2> <sect2 id="recode"> <title>Pretvarjanje različnih kodiranj</title> <para>Razen ISO Latin 2 premore vse naše znake še 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.</para> <sect3 id="iconv"> <title>Iconv</title> <para>Čeprav ni težko napisati programčka za pretvorbo enega kodnega nabora v drugega, je pripravno uporabiti že izdelan program. Od izdaje 2.1 naprej knjižnica GNU libc podpira internacionalizacijo in v okviru tega tudi pretvarjanje različnih naborov znakov. Na uporabniški ravni imamo do teh funkcij knjižnice dostop s programom <command>iconv</command>.</para> <para>Uporaba je enostavna; z ukazom</para> <cmdsynopsis> <command>iconv</command> <arg choice=plain>--from-code=<replaceable>nabor1</replaceable></arg> <arg choice=plain>--to-code=<replaceable>nabor2</replaceable></arg> <arg choice=plain><replaceable>datoteka</replaceable></arg> </cmdsynopsis> <para>pretvorimo dano datoteke iz prvega podanega nabora v drugega. Seznam podprtih kodnih naborov dobimo z izbiro <option>--list</option>. Če datoteka ni podana, <command>iconv</command> bere s standardnega vhoda. Rezultat pretvorbe se izpiše na standardni izhod, razen če z izbiro <option>--output</option> ne določimo drugače.</para> </sect3> <sect3 id="gnu-recode"> <title>Recode</title> <para>Nekaj dlje kot <command>iconv</command> je dostopen <application>GNU recode</application>, dosegljiv npr. v strežniku ARNES:</para> <para> <literal> <ulink url="ftp://ftp.arnes.si/software/gnu/recode/recode-3.6.tar.gz">ftp.arnes.si</ulink> </literal></para> <para>Uporaba je enostavna; z ukazom</para> <cmdsynopsis> <command>recode</command> <arg choice=plain>yu..latin2</arg> <arg choice=plain><replaceable>datoteka</replaceable></arg> </cmdsynopsis> <para>pretvorimo datoteko iz kodnega nabora JUS I.B1.002 v kodni nabor ISO Latin 2. Kot običajno izda tudi tu izbira <option>--help</option> še dodatne možnosti.</para> <note> <para>Starejše izdaje programa Recode (pred različico 3.5), ki ne poznajo Microsoftovih kodnih strani 1250-1259, uporabljajo malo drugačno skladnjo:</para> <cmdsynopsis> <command>recode</command> <arg choice=plain>yu:latin2</arg> <arg choice=plain><replaceable>datoteka</replaceable></arg> </cmdsynopsis> </note> <para>Po izkušnjah pisca je prečrkovanje (npr. »nabori« <literal>latex</literal> ali <literal>flat</literal>) še vedno omejeno na pretvorbo iz nabora ISO 8859-1 in vanj.</para> </sect3> </sect2> <sect2 id="drugi"> <title>Drugi programi</title> <sect3 id="less"> <title>Pregledovalnik less</title> <para><application>Less</application> (avtor Mark Nudelman) je program za pregledovanje besedil na zaslonu in priljubljena zamenjava standardnega <command>more</command>.</para> <para>Less prilagodimo izpisu osembitnih znakov z nastavitvijo v <filename>˜/.profile</filename>:</para> <para> <programlisting> LESSCHARSET=latin1; export LESSCHARSET </programlisting> </para> <para><literal>latin1</literal> namesto <literal>latin2</literal> ni pomota. Less zaenkrat slednjega še ne pozna, ker pa ga pravzaprav zanima samo, kateri znaki so običajni, kateri pa kontrolni (ki zahtevajo posebno obravnavo), in ker je razporeditev znakov enaka v vsej družini ISO 8859, lahko izberemo kar latin1. Namesto tega lahko tudi izrecno navedemo zaporedje vrste znakov v naboru:</para> <para> <programlisting> LESSCHARDEF="8bcccbcc18b95.33b."; export LESSCHARDEF </programlisting> </para> <para>Vsi nabori iz družine 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.</para> </sect3> <sect3 id="gcal"> <title>Koledar gcal</title> <para>V vse sisteme Unix je vgrajen koledarček <command>cal</command>, ki pa je precej anglocentričen. Thomas Esken iz Nemčije je napisal alternativni koledarček <command>gcal</command>. Od izdaje 2.40 naprej pozna tudi slovenske praznike. Najdemo ga na običajnih mestih distribucije GNU. Najbliže je verjetno:</para> <para><literal> <ulink url="ftp://ftp.arnes.si/software/gnu/gcal/">ftp.arnes.si</ulink> </literal></para> <para>Spodnja vrednost spremenljivke <envar>GCAL</envar> ustreza našim razmeram:</para> <screen> GCAL="--cc-holidays=SI --gregorian-reform=1582 --starting-day=1"; export GCAL </screen> <para>(z izbiro <option>--cc-holidays=SI</option> zahtevamo slovenski nabor praznikov in dela prostih dni, z izbiro <option>--gregorian-reform=1582</option> določimo datum prehoda z julijanskega na gregorijanski koledar, z izbiro <option>--starting-day=1</option> pa, da se teden začne v ponedeljek)</para> </sect3> </sect2> </sect1> <sect1 id="tiskanje"> <title>Tiskanje</title> <para>Pri tiskanju lahko naletimo na vse mogoče:</para> <itemizedlist> <listitem> <para>Tiskalnik neposredno podpira ISO Latin 2</para> </listitem> <listitem> <para>Tiskalnik podpira enega od preostalih osembitnih naborov z našimi znaki (npr. kodno stran 852) ali pa sedembitni nabor JUS I.B1.002</para> </listitem> <listitem> <para>Tiskalnik razume postscript</para> </listitem> <listitem> <para>Tiskalnik ne podpira ničesar drugega razen ASCII</para> </listitem> </itemizedlist> <para>Zadnja možnost ni predmet obravnave tega spisa.</para> <sect2 id="tisk-l2"> <title>Tiskalniki, ki podpirajo ISO Latin 2</title> <para>Nekaj novejših tiskalnikov že neposredno podpira kodno razporeditev ISO Latin 2. Med njimi so</para> <itemizedlist> <listitem> <para>Hewlett-Packard LaserJet 4 Plus in 4M Plus</para> </listitem> <listitem> <para>Hewlett-Packard LaserJet 5L</para> </listitem> <listitem> <para>Epson FX-2170 (NLSP)</para> </listitem> <listitem> <para>Epson LQ-870 (NLSP)</para> </listitem> <listitem> <para>Epson LQ-2070 (NLSP)</para> </listitem> <listitem> <para>Epson LQ-2170 (NLSP)</para> </listitem> <listitem> <para>Epson DLQ-3000 (NLSP; letnik 1996 in novejši)</para> </listitem> <listitem> <para>Fujitsu DL700</para> </listitem> <listitem> <para>Fujitsu DL1150/1250</para> </listitem> <listitem> <para>Fujitsu DL3700/3800</para> </listitem> <listitem> <para>Fujitsu DL6400/6600</para> </listitem> </itemizedlist> <para>Nič drugega vam ni treba, kakor izbrati pravilno kodno stran v tiskalniku. Ubežne sekvenca za tiskalnike Hewlett-Packard (PCL) in Epson (ESC/P2) so naslednje</para> <itemizedlist> <listitem> <para>V PCL menda deluje:</para> <programlisting> \033(2N\033(s0p12h0s0b4099T </programlisting> </listitem> <listitem> <para>V ESC/P2 z ukazom <literal>ESC ( t</literal> prepišemo kodno tabelo ISO 8859-2 v drugo tabelo tiskalnika; zatem z ukazom <literal>ESC t</literal> izberemo drugo tabelo tiskalnika (strani C-73 in C-77 v »Epson ESC/P Reference Manual«, december 1997):</para> <programlisting> \033(t\003\000\002\177\002\033t\002 </programlisting> </listitem> </itemizedlist> <para>Oznaka <literal>\033</literal> je osmiška koda znaka Escape.</para> <para>Eden od načinov, kako z <filename>/etc/printcap</filename> prilagodimo okolje za tiskanje s takim tiskalnikom, je podrobneje opisan v razdelku &s-tisk-cp;.</para> </sect2> <sect2 id="tisk-cp"> <title>Tiskalniki, ki podpirajo kak drug nabor z našimi znaki</title> <para>Če tiskalnik podpira kak drug nabor z našimi znaki (ne dolgo nazaj je bila ustaljena praksa, da je bil ROM v tiskalnikih nadomeščen z EPROM, v njem pa švedski znaki zamenjani z znaki po JUS I.B1.002), lahko s primerno nastavitvijo v <filename>/etc/printcap</filename> še vedno tiskamo spise, kodirane po ISO Latin 2.</para> <para>Primerno moramo dopolniti datoteko <filename>/etc/printcap</filename>. Za zgled si oglejmo tiskalnik Epson, ki ima znake po JUS I.B1.002 na mestu švedskega nabora.</para> <programlisting> lp|ascii|epson|Epson LQ-850:\ <co id="printcap.direkt"> :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:\ <co id="printcap.jus"> :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:\ <co id="printcap.l2"> :lp=/dev/null:\ :sd=/usr/spool/lpd/latin2:\ :if=/usr/spool/lpd/latin2_filter:\ :lf=/usr/spool/lpd/ERRORLOG:\ :mx#0:\ :sh: </programlisting> <para>Zgled ima tri tiskalniške vrste.</para> <calloutlist> <callout arearefs="printcap.direkt"> <para>Prva vrsta je dejanski tiskalnik z ameriškim (ASCII) naborom znakov.</para> </callout> <callout arearefs="printcap.jus"> <para>Tiskanje prek filtra <filename>/usr/spool/lpd/jus_filter</filename>:</para> <programlisting> #!/bin/sh /usr/spool/lpd/jus_epson | lpr -Pascii </programlisting> <para>Datoteko torej precedimo skozi filter <filename>/usr/spool/lpd/jus_epson</filename> in jo postavimo v prvo tiskalniško vrsto. Filter <literal>jus_epson</literal> ne napravi drugega, kakor da na začetku doda kodo za preklop na švedski nabor, prepiše datoteko z vhoda na izhod in na koncu doda kodo za preklop nazaj na ameriški nabor. To je tudi edini del programja, ki je odvisen od vrste tiskalnika:</para> <programlisting> #!/bin/sh # Tiskanje besedil, kodiranih po JUS I.B1.002, s tiskalnikom Epson LQ # # Izberemo slovenski (švedski) nabor /bin/echo -ne "\033R\005\c" # Izpišemo dokument cat # Izberemo ameriški nabor /bin/echo -ne "\033R\000\c" </programlisting> </callout> <callout arearefs="printcap.l2"> <para>Tretja vrsta uporablja podoben filter kakor druga, le da ta najprej pretvori besedilo iz Latin 2 v JUS, zatem uporabi že opisani filter za to, da doda na začetku in na koncu potrebno kodo za tiskalnik, in končno táko datoteko postavi v prvo vrsto.</para> <programlisting> #!/bin/sh /usr/local/bin/recode --force latin2:yu | \ /usr/spool/lpd/jus_epson | lpr -Pascii </programlisting> <para>Zgled predpostavlja, da je pot do programa recode <filename>/usr/local/bin/recode</filename>. Izbiro <option>--force</option> moramo uporabiti, ker je preslikava neobrnljiva - v Latin 2 imamo tako šumnike kakor zavite oklepaje, v JUS pa samo še prve.</para> </callout> </calloutlist> <para>Za ta zgled smo morali v imeniku <filename>/usr/spool/lpd</filename> ustvariti tri podimenike: <filename>/usr/spool/lpd/epson</filename>, <filename>/usr/spool/lpd/jus</filename> in <filename>/usr/spool/lpd/latin2</filename>.</para> <para>Tiskanje gre zdaj tako:</para> <orderedlist> <listitem> <para>Brez eksplicitne izbire vrste ali pa z izbiro <option>-Pepson</option> ali <option>-Pascii</option> se datoteka odtisne kot ASCII:</para> <cmdsynopsis> <command>lpr</command> <arg choice=plain><replaceable>datoteka</replaceable></arg> </cmdsynopsis> </listitem> <listitem> <para>Z izbiro <option>-Pjus</option> se datoteka odtisne kot besedilo, kodirano po JUS I.B1.002:</para> <cmdsynopsis> <command>lpr</command> <arg choice=plain>-Pjus</arg> <arg choice=plain><replaceable>datoteka</replaceable></arg> </cmdsynopsis> </listitem> <listitem> <para>Z izbiro <option>-Platin2</option> ali <option>-Ptext</option> se datoteka odtisne kot besedilo, kodirano po ISO Latin 2:</para> <cmdsynopsis> <command>lpr</command> <arg choice=plain>-Platin2</arg> <arg choice=plain><replaceable>datoteka</replaceable></arg> </cmdsynopsis> </listitem> </orderedlist> </sect2> <sect2 id="tisk-cp2"> <title>Tiskalniki, ki podpirajo kak drug nabor z našimi znaki II<footnote> <para>Matjaž Terpin <email>matjaz.terpin@comcom.si</email>, <literal>Message-id: <Pine.LNX.3.96.980709095750.24607B-400000@guru.comcom.si></literal> </para> </footnote></title> <para>Matjaž Terpin <email>matjaz.terpin@comcom.si</email> je predlagal imenitno izboljšavo pravkar opisanega postopka, pri katerem lahko tiskamo naše znake <emphasis>in</emphasis> oglate in zavite oklepaje. Srž njegovega predloga je filter, ki pred vsakim našim znakom preklopi na švedski nabor, takoj zatem pa spet nazaj na ASCII.</para> <para>Datoteka <filename>/etc/printcap</filename> je v tem primeru taka:</para> <programlisting> # /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: </programlisting> <para>Filter <filename>/etc/lp/lat2.filter</filename> precedi besedilo skozi naslednje sito, <filename>/etc/lp/lat2.switch</filename>, in ga postavi v vrsto <literal>lp</literal>:</para> <programlisting> #!/bin/sh # /etc/lp/lat2.filter /etc/lp/lat2.switch | lpr -Plp </programlisting> <para>»Meso« postopka je v datoteki <filename>/etc/lp/lat2.switch</filename>:</para> <programlisting> #!/bin/sh #/etc/lp/lat2.switch echo -ne "\033R0" sed -e "s/č/`echo -ne "\033R5\~\033R0"`/g" \ -e "s/Č/`echo -ne "\033R5\^\033R0"`/g" \ -e "s/š/`echo -ne "\033R5\{\033R0"`/g" \ -e "s/Š/`echo -ne "\033R5\[\033R0"`/g" \ -e "s/ž/`echo -ne "\033R5\140\033R0"`/g" \ -e "s/Ž/`echo -ne "\033R5\@\033R0"`/g" \ -e "s/ć/`echo -ne "\033R5\}\033R0"`/g" \ -e "s/Ć/`echo -ne "\033R5\]\033R0"`/g" \ -e "s/đ/`echo -ne "\033R5\|\033R0"`/g" \ -e "s/Đ/`echo -ne "\033R5\\\\033R0"`/g" echo -ne "\033R5" </programlisting> <para>Matjaž pravi še: <command>sed</command> slabo prebavi »echo -ne "\000"«, zato uporabljam kar znak 0 (ničlo), saj je tiskalnik (NEC pinwriter P7) zadovoljen tudi s tem.</para> </sect2> <sect2 id="tisk-ps"> <title>Postscriptni tiskalniki</title> <para>»Naravni« kodni nabor v postscriptu je Adobe Standard Encoding. Naših črk ne pozna. Pa ne le naših, tudi mnogih drugih črk ne pozna in pravzaprav sploh nima takih ambicij. Namesto tega je ASCII razširjen z gradniki sestavljenih znakov: strešica, ostrivec, diereza, sedij itd. -- vsi so tam. Jezik postscript pa omogoča definiranje sestavljenih znakov. Vse skupaj je čakalo samo še nekoga, ki bo definiral sestavljene znake za kodni nabor ISO Latin 2. Ta nekdo je bil Juliusz Chroboczek, ki je napisal paket <ulink url="http://www.dcs.ed.ac.uk/home/jec/programs/ogonkify/"> ogonkify</ulink>.</para> <para>Filtra <command>a2ps</command> in GNU <command>enscript</command> sta bila napisana z namenom, da rešita za naše kraje nenavadno zagato: kako odtisniti čisto navadno besedilo na tiskalnik, ki razume edino postscript. Eden in drugi postavita stran v postscriptu z danim besedilom in jo pošljeta tiskalniku. Prilagodljivost postscripta omogoča tudi transformacije (npr. pomanjšave) ali poudarjanje sintakse pri tiskanju programskih izpisov. Oba podpirata nabor ISO Latin 2.</para> <itemizedlist> <listitem> <para><literal><ulink url="http://www.dcs.ed.ac.uk/home/jec/programs/ogonkify/">ogonkify</ulink> </literal></para> </listitem> <listitem> <para><literal><ulink url="http://www-inf.enst.fr/~demaille/a2ps/">a2ps</ulink> </literal></para> </listitem> <listitem> <para><literal><ulink url="http://people.ssh.fi/mtr/genscript/">GNU enscript</ulink> </literal></para> </listitem> </itemizedlist> <sect3 id="ogonkify"> <title>Ogonkify</title> <para><application>Ogonkify</application> je filter za izpise v postscriptu in omogoča pravilen odtis črk tudi v jezikih, ki ne uporabljajo nabora ISO Latin 1. Ker je filter, je ravno za korak prepozen, da bi to počel elegantno, zato mora prežvečiti vsako grdobijo, ki jo program izpljune korak pred njim, in iz dobljenega izdelati lep odtis. Programi pa izdelujejo postscriptne datoteke vsak malo drugače, kar filtru »ogonkify« oteži delo. Zaenkrat podprti formati izpisa <productname>PostScript</productname> so: <productname>NCSA Mosaic</productname>, <productname>Netscape Navigator</productname>, <productname>StarOffice</productname>, <productname>Applixware</productname> in <productname>XFig</productname>.</para> <para>Ogonkify za delovanje potrebuje perl. Ko je nameščen, <command>ogonkify</command> uporabimo takole za odtis spletnega sestavka, shranjenega iz Navigatorja:</para> <para> <userinput>ogonkify -AT -N netscape.ps | lpr</userinput> </para> </sect3> <sect3 id="wprint"> <title>Wprint 2.02<footnote><para>Prispeval Jernej Kovačič, <email>jkovacic@email.si</email></para></footnote></title> <para>Spletni brskalniki, kot so <application>Netscape</application>, <application>Mozilla</application>, <application>Galeon</application> ali <application>HtmlDoc</application>, tiskajo prek pretvorbe v zapis postscript. Žal pa pri pripravi zapisa v postscriptu vselej predpostavi kodno razporeditev ISO8859-1. To pomeni, da boste pri tiskanju slovenskega dokumenta ne glede na uporabljeno kodno razporeditev namesto šumnikov dobili nekaj drugega. Zato morate pred tiskanjem omenjeni zapis v postscriptu predelati ob pomoči enega izmed tiskalniških filtrov, kot je npr. <application>Wprint</application>.</para> <para>Najprej boste potrebovali pisavo TrueType s podporo Unicodu. Podrobnosti o tem, kje jo dobiti, si oglejte v razdelku o urejevalniku &s-yudit;. V nadaljnjem besedilu bomo predpostavili, da uporabljate pisavo <filename>cyberbit.ttf</filename> in da ste jo namestili v imenik <filename>/usr/share/fonts</filename>.</para> <para>Ena izmed okornejših možnosti je, da v svojem brskalniku najprej izvedete tiskanje v datoteko (v Netscapu <menuchoice> <guimenu>File</guimenu> <guimenuitem>Print</guimenuitem> </menuchoice> izbiro <guimenuitem>File</guimenuitem> in ime datoteke, npr. <filename>dat1.ps</filename>). Nato izvedete pretvorbo tako nastale datoteke v zapisu postscript:</para> <para> <userinput>wprint -i ISO_8859-2 -p dat1.ps -f /usr/share/fonts/cyberbit.ttf >dat2.ps</userinput> </para> <para>Predpostavili smo, da je bil spletni dokument kodiran v razporeditvi ISO8859-2. Pri slovenskih besedilih sta mogoči tudi kodni razporeditvi Windows-1250 (v tem primeru za <option>-i</option> vpišite CP1250) ali UTF-8. Kodno razporeditev spletnega dokumenta morate v vsakem primeru ugotoviti sami. Najprej poskusite to ugotoviti iz izvirnika v jeziku <acronym>HTML</acronym> (v Netscapu ga dobite z <menuchoice><guimenu>View</guimenu> <guimenuitem>Page Source</guimenuitem> </menuchoice>). Če je dokument napisan pravilno, bi nekje v zaglavju (med oznakama <literal><HEAD></literal> in <literal></HEAD></literal>) morali najti tudi ta podatek. V nasprotnem primeru vam ne preostane drugega, kakor da v brskalniku ročno določate kodno razporeditev (v Netscapu <menuchoice><guimenu>View</guimenu><guisubmenu>Character Set</guisubmenu><guimenuitem>...</guimenuitem> </menuchoice>), dokler na zaslonu ne vidite pravilno izpisanih znakov. Nato si lahko z enim izmed programov za ogled postscripta ogledate nastalo datoteko <filename>dat2.ps</filename> in jo po potrebi natisnete. Čeprav je ta pot okorna, vam priporočamo, da na začetku tako preizkusite posamezne parametre.</para> <para>Delo z Wprintom si lahko nekoliko poenostavimo, če tri najpogostejša kodiranja slovenskih besedil na naslednji način predstavimo v datoteki <filename>/etc/wprint.conf</filename>:</para> <programlisting> #Imenik s pisavami TrueType fontpath:/usr/share/fonts/ # Za kodiranje po ISO8859-2 iso2:ISO_8859-2:cyberbit.ttf:|lpr #Za kodiranje po Windows-1250 win1250:CP1250:cyberbit.ttf:|lpr #Za kodiranje po UTF-8 utf8:UTF-8:cyberbit.ttf:|lpr #Obvezen mora biti tudi vnos default, ki ne izvede nobenega filtriranja #in je privzet, če ni naveden noben drug vnos default:NONE:NONE:|lpr </programlisting> <para>Struktura datoteke <filename>/etc/wprint.conf</filename> je preprosta. Najprej si prihranimo nekaj tipkanja s tem, da določimo imenik s pisavo TrueType. Sledi serija z dvopičji ločenih zaporedij, pri kateri posamezni elementi pomenijo:</para> <glosslist> <glossentry><glossterm>ime vnosa</glossterm> <glossdef> <para>lahko je poljubno, nanj se bomo pozneje sklicevali s parametrom <option>-l</option></para> </glossdef> </glossentry> <glossentry><glossterm>kodna razporeditev</glossterm> <glossdef> <para>enaka imena kot pri iconv</para> </glossdef> </glossentry> <glossentry><glossterm>ime pisave TrueType</glossterm> <glossdef><para></para> </glossdef> </glossentry> <glossentry><glossterm>cilj filtriranja</glossterm> <glossdef><para></para> </glossdef> </glossentry> </glosslist> <para>Zadnji element (cilj filtriranja) je ponavadi datoteka, v našem primeru pa smo ga prek cevi preusmerili k ukazu lpr, ki bo izvedel tiskanje »popravljenega« dokumenta. Seveda lahko za zadnjim dvopičjem pustimo tudi prazen prostor, kar pomeni, da bomo sami naknadno določali cilj z »operatorjema« <literal>></literal> ali <literal>|</literal>.</para> <para>Zdaj lahko prej dobljeno datoteko <filename>dat1.ps</filename> neposredno natisnemo nekoliko enostavneje z ukazom <userinput>wprint -l iso2 dat1.ps</userinput> Tudi tokrat je treba pred tem ugotoviti dejansko kodiranje dokumenta in po potrebi namesto <literal>iso2</literal> vtipkati <literal>win1250</literal> ali <literal>utf8</literal>. Lahko pa si delo še nekoliko poenostavimo in v spletni brskalnik kot ukaz za tiskanje (v Netscapu <menuchoice><guimenu>File</guimenu> <guisubmenu>Print</guisubmenu> <guimenuitem>Print Command</guimenuitem> </menuchoice>) vnesemo <userinput>wprint -l iso2</userinput> (oz. <literal>windows1250</literal> ali <literal>utf8</literal>).</para> </sect3> <sect3 id="enscript"> <title>GNU enscript</title> <para>Če <application>GNU enscript</application> še ni nameščen, ga namestimo po navodilih, ki so priložena programu. Poleg njega potrebujemo še vsaj eno pisavo z vsemi našimi znaki, zapisano v obliki Type 1. Primerna je npr. IBM Courier, ki je prosto dostopna in se distribuira z X Window System, programom <command>ghostscript</command> ipd. Če nismo prepričani, ali ga imamo že nameščenega, poženemo:</para> <para> <userinput>find / -name cour.pf[ab]</userinput> </para> <para>V osebno (<filename>˜/.enscriptrc</filename>) ali skupno nastavitveno datoteko (navadno <filename>/usr/local/etc/enscript.cfg</filename> ali <filename>/usr/local/etc/enscriptsite.cfg</filename>) dodamo pravilno pot do datotek s pisavami. Poleg tega potrebuje GNU enscript v vsakem imeniku s pisavami še datoteko z imenom <filename>font.map</filename>, v kateri je preslikava med imeni pisav in datotekami, v katerih so shranjene. Ustvarimo jo z ukazom <command>mkafmmap</command>.</para> <para>Zgled nastavitvene datoteke:</para> <programlisting> ... # Kje shranjujemo postscriptne pisave? AFMPath: /usr/lib/X11/fonts/Type1:/usr/local/lib/ghostscript/fonts ... # Privzeti način kodiranja: DefaultEncoding: latin2 ... # Privzeti format papirja: DefaultMedia: A4 ... # lpd izbira tiskalniške vrste z -P... QueueParam: -P ... # Za tiskanje uporabljamo ukaz lpr, ne lp Spooler: lpr </programlisting> <para>Ko je vse potrebno nastavljeno, odtisnemo besedilo enostavno z ukazom</para> <cmdsynopsis> <command>enscript</command> <arg choice=plain><replaceable>datoteka</replaceable></arg> </cmdsynopsis> </sect3> <sect3 id="a2ps"> <title>a2ps</title> <para>Z izdajo 4.7.21 je Akim Demaille v <command>a2ps</command> vgradil mehanizem za sestavljene znake, ki ga je Juliusz Chroboczek uporabil v filtru &s-ogonkify;.</para> <para>Našim krajem prilagodimo <command>a2ps</command> z majčkeno spremembo nastavitvene datoteke. Sistemsko nastavitveno datoteko najdemo navadno kot <filename>/usr/etc/a2ps.cfg</filename>, <filename>/usr/local/etc/a2ps.cfg</filename> ali kaj podobnega; osebna se imenuje <filename>˜/.a2psrc</filename>.</para> <programlisting> ... # Default encoding Options: --encoding=latin2 # Default media Options: --media=A4 ... </programlisting> </sect3> </sect2> </sect1> <sect1 id="linux-si"> <title>Linux v Sloveniji</title> <para>Harald T. Alvestrand iz Trondheima na Norveškem vodi evidenco o uporabnikih Linuxa po državah. Seznam slovenskih uporabnikov Linuxa je na naslovu <literal> <ulink url="http://counter.li.org/bycountry/SI.html">counter.li.org</ulink> </literal>.</para> <para>Če vas ni med njimi, se prijavite!</para> <sect2 id="lugos"> <title>Skupina uporabnikov Linuxa</title> <para>Od marca 1996 naprej deluje v Ljubljani organizirana skupina uporabnikov Linuxa v Sloveniji, društvo LUGOS (Linux Users Group of Slovenia). Društvo ima svojo stran na WWW:</para> <itemizedlist> <listitem> <para><literal><ulink url="http://www.lugos.si/">www.lugos.si</ulink> </literal> </para> </listitem> </itemizedlist> <para>Občasno organizira srečanja članov, ima tudi nekaj svojih <ulink url="http://www.lugos.si/delo/mailinglista.html">elektronskih seznamov</ulink>.</para> </sect2> <sect2 id="ftp"> <title>Strežniki FTP</title> <para>Na straneh strežnika LUGOS najdete tudi <ulink url="http://www.lugos.si/arhiv/">vzdrževan seznam dejavnih arhivov v Sloveniji</ulink>.</para> <para>V Centru za uporabno matematiko in teorijsko fiziko Univerze v Mariboru je uradno vsak dan posodobljeno zrcalo jedro Linuxa, projekta Debian GNU/Linux ter dokumentacijskega projekta LDP:</para> <itemizedlist> <listitem> <para><literal><ulink url="http://www.si.kernel.org/pub/linux/">http://www.si.kernel.org/pub/linux/</ulink></literal> </para> </listitem> <listitem> <para><literal><ulink url="http://www.si.kernel.org/pub/software/">http://www.si.kernel.org/pub/software/</ulink></literal> </para> </listitem> <listitem> <para><literal><ulink url="ftp://ftp.si.kernel.org/pub/linux/">ftp://ftp.si.kernel.org/pub/linux/</ulink> </literal> </para> </listitem> <listitem> <para><literal><ulink url="ftp://ftp.si.kernel.org/pub/software/">ftp://ftp.si.kernel.org/pub/software/</ulink> </literal> </para> </listitem> </itemizedlist> <itemizedlist> <listitem> <para><literal><ulink url="http://www.si.kernel.org/pub/debian/">http://www.si.kernel.org/pub/debian/</ulink> </literal> </para> </listitem> <listitem> <para><literal><ulink url="http://www.si.kernel.org/pub/debian-non-US/">http://www.si.kernel.org/pub/debian-non-US/</ulink> </literal> </para> </listitem> <listitem> <para><literal><ulink url="http://www.si.kernel.org/pub/debian-cd/">http://www.si.kernel.org/pub/debian-cd/</ulink> </literal> </para> </listitem> <listitem> <para><literal><ulink url="ftp://ftp.si.kernel.org/pub/debian/">ftp://ftp.si.kernel.org/pub/debian/</ulink> </literal> </para> </listitem> <listitem> <para><literal><ulink url="ftp://ftp.si.kernel.org/pub/debian-non-US/">ftp://ftp.si.kernel.org/pub/debian-non-US/</ulink> </literal> </para> </listitem> <listitem> <para><literal><ulink url="ftp://ftp.si.kernel.org/pub/debian-cd/">ftp://ftp.si.kernel.org/pub/debian-cd/</ulink> </literal> </para> </listitem> </itemizedlist> <itemizedlist> <listitem> <para><literal><ulink url="http://www.camtp.uni-mb.si/LDP/">http://www.camtp.uni-mb.si/LDP/</ulink> </literal> </para> </listitem> </itemizedlist> <para>Priporočajo dostop po protokolu HTTP.</para> <para>V strežniku ARNES se avtomatično zrcalita distribucija Debian in programje iz projekta GNU,</para> <itemizedlist> <listitem> <para><literal><ulink url="ftp://ftp.arnes.si/software/unix/linux/debian/">ftp://ftp.arnes.si/software/unix/linux/debian/</ulink> </literal> </para> </listitem> <listitem> <para><literal><ulink url="ftp://ftp.arnes.si/software/gnu/">ftp://ftp.arnes.si/software/gnu/</ulink> </literal> </para> </listitem> </itemizedlist> </sect2> <sect2 id="usenet"> <title>Usenet</title> <para>Linux nima svoje diskusijske skupine. Vsa razprava o sistemih Unix je zbrana v skupini <ulink url="news:si.comp.os.unix">si.comp.os.unix</ulink> (kjer pa sestavlja razprava o Linuxu res znaten del prometa). Svojo skupino ima društvo LUGOS: <ulink url="news:si.org.lugos"> si.org.lugos</ulink>.</para> </sect2> <sect2 id="zastop"> <title>Zastopniki za Linux</title> <para>Podjetje <ulink url="http://www.turbolinux.com">TurboLinux</ulink>, ki že dlje časa uspešno sodeluje s slovenskim podjetjem <ulink url="http://www.activetools.si">Active Tools, d.o.o.,</ulink> je konec februarja 2000 odprlo eno od treh evropskih podružnic v Kranju, Planina 3 (tel.: (04) 235-0990).</para> <para><ulink url="http://www.agenda.si/">Agenda, d.o.o.</ulink>, Gosposvetska cesta 84, Maribor (tel.: (02) 234-0860), je uradni zastopnik podjetij Caldera, RedHat in SuSE v Sloveniji.</para> <para><ulink url="http://www.euroteh.si/">Euroteh, d.o.o.</ulink>, Prešernova cesta 15, Grosuplje (tel.: (01) 786-5190), zastopa podjetje SuSE.</para> <para>CD-ROM z distribucijami Linuxa je navadno mogoče dobiti pri vseh bolje založenih trgovcih z robo te vrste, npr. <ulink url="http://www.cd-rom.si/">Infobia</ulink> (tel.: (01) 568-5541) ali <ulink url="http://www.mantis.si/">Mantis</ulink> (tel.: (01) 236-2033).</para> </sect2> </sect1> <sect1 id="about"> <title>O tem spisu</title> <para>Najnovejša izdaja tega spisa je razen na uradnem mestu <ulink url="http://www.linuxdoc.org/">Linux Documentation Project</ulink> dostopna tudi v <ulink url="http://www.lugos.si/delo/slo/HOWTO-sl/Slovenian-HOWTO.html">strežniku Slovenskega društva uporabnikov Linuxa</ulink>.</para> <para>Vse pripombe na ta spis so dobrodošle. Pošljite jih na naslov <email>primoz.peterlin@biofiz.mf.uni-lj.si</email>. Splošna vprašanja o Linuxu in poslovenjenju programov pa sodijo na dopisno listo <email>lugos-slo@lugos.si</email> ali v <ulink url="news:si.comp.os.unix">si.comp.os.unix</ulink>.</para> <sect2> <title>Opombe k tretji izdaji</title> <para>Tretja izdaja se od prvih dveh razlikuje po formatu. Prav tako je zapisana v SGML, vendar uporablja namesto določil dokumenta <emphasis>Linuxdoc DTD</emphasis> splošnejši <emphasis>DocBook DTD</emphasis>. Sicer pa se od druge razlikuje tudi po tem, da ob obstoječem osembitnem standardu ISO 8859-2 za kodirane nabore znakov opisuje tudi novejši in širši standard ISO 10646/Unicode. Novi so razdelki o uporabi programov <application>Yudit</application>, <application>Xfmail</application>, <application>Wprint</application> in <application>Magic Point</application>. Razširjen je razdelek o krajevnem prilagajanju programov z orodjem GNU gettext. Številni drugi razdelki so doživeli manjše posodobitve in popravke.</para> </sect2> <sect2> <title>Opombe k drugi izdaji</title> <para>Druga izdaja je približno dvainpolkrat daljša od prve, ki je izšla konec leta 1996. Izkazalo se je, da bi bil koristen kratek seznam tistega, kar je treba postoriti, če želimo usposobiti naše znake na konzoli ali v okolju X Window System, zato sem ga dodal na začetek. Dodan je opis uporabe vektorskih pisav Type 1 in TrueType. Nastavitev <emphasis>locale</emphasis> je standardni način prilagoditve programov, zato je temu razdelku namenjena večja pozornost. V celoti so novi opisi prilagoditev urejevalnika LyX ter pisarniških paketov WordPerfect, Star Office in Applixware. Dodan je opis prilagoditve nove izdaje urejevalnika Emacs. Razdelek o tiskalnikih je razširjen z domiselno alternativno različico tiskalniškega filtra; dodatno sta omenjena <command>ogonkify</command> in <command>a2ps</command>. Posodobljen je seveda tudi razdelek o Linuxu v Sloveniji. In morda še kaj, kar sem pozabil.</para> <para>Če je prva izdaja nekakšen urejeni zbir zapiskov o težavah, s katerimi sem se sam ubadal, se zdaj nekoliko bolj zavedam tudi potreb drugih. Zato sem v to izdajo uvrstil tudi opis prilagoditev programov in programskih paketov, ki jih sam ne uporabljam, npr. Star Office, Applixware ali Word Perfect. Opisanih rešitev nisem preizkušal; zaupam pač izkušnjam izvirnih piscev. Te sem tudi povsod navedel in lahko navežete stik z njimi.</para> </sect2> <sect2 id="zahvala"> <title>Zahvala</title> <para>Če bralka ali bralec tega nista že sama uganila, je čas, da priznam: nikakršen strokovnjak za Linux nisem. Nekaj o krajevni prilagoditvi Linuxa sem se naučil iz spisov »German HOWTO« Winnfrieda Truemperja ter »Danish/International HOWTO« Thomasa Petersena, nekaj o internacionalizaciji kar tako iz spisov Michaela Gschwinda. Nadvse koristni so bili tudi <ulink url="http://www.penguin.cz/czech-howto/">Czech HOWTO</ulink>, <ulink url="http://www.agh.edu.pl/ogonki/">Polska strona ogonkowa</ulink> ter <ulink url="http://nl.ijs.si/gnusl/tex/tslovene/slolang/">Slovenščina in računalniki</ulink> Aleša Koširja. Prvi spis je spisala skupina avtorjev, zadnja izdaja je na naslovu <ulink url="http://www.penguin.cz/czech-howto/">www.penguin.cz</ulink>, tu in tam ga objavijo v <literal>cz.comp.linux</literal>; drugo najdete na <ulink url="http://www.agh.edu.pl/ogonki/">www.agh.edu.pl</ulink>, stran vzdržuje Jarosław Strzałkowski. »Slovenščino in računalnike« najdete na <ulink url="http://nl.ijs.si/gnusl/tex/tslovene/slolang/">nl.ijs.si</ulink>. Podobno tematiko kot ta spis obravnava tudi <ulink url="http://www.linuxdoc.org/HOWTO/Serbian-HOWTO.html">Serbian HOWTO</ulink> Zoltana Csale.</para> <para>Z namigi in nasveti so mi pomagali še (po abecednem vrstnem redu): Rudi Benkovič <email>rudib@email.si</email>, Gorazd Božič <email>gorazd.bozic@arnes.si</email>, Aleš Časar <email>casar@uni-mb.si</email>, Tomaž Erjavec <email>tomaz.erjavec@ijs.si</email>, Danilo Godec <email>danci@kibla.org</email>, Matjaž Godec <email>gody@elgo.si</email>, Andraž Hvalica <email>Andraz.Hvalica@amis.net</email>, Andrej Komelj <email>andrej.komelj@guest.arnes.si</email>, Aleš Košir <email>ales.kosir@hermes.si</email>, Jernej Kovačič <email>jkovacic@email.si</email>, Metod Koželj <email>metod.kozelj@rzs-hm.si</email>, Janez Krek <email>janez.krek@euroteh.si</email>, Robert Ludvik <email>robert.ludvik@zd-lj.si</email>, Renato Lukač <email>renato@s-gms.ms.edus.si</email>, Roman Maurer <email>roman.maurer@hermes.si</email>, Jaka Mele <email>jack@ro.zrsss.si</email>, Borut Mrak <email>borutm@bigfoot.com</email>, Igor Mozetič <email>igor.mozetic@uni-mb.si</email>, Rok Papež <email>rok.papez@kiss.uni-lj.si</email>, Boris Požar <email>boris.pozar@guest.arnes.si</email>, Marko Samastur <email>markos@elite.org</email>, Robert Susič <email>robert.susic@ijs.si</email>, Alen Šalamun <email>alen.salamun@medinet.si</email>, Matjaž Terpin <email>matjaz.terpin@comcom.si</email>, Miha Tomšič <email>miha.tomsic@guest.arnes.si</email>, Janez Trenz <email>janez.trenz@bigfoot.com</email> in Leon Žlajpah <email>leon.zlajpah@ijs.si</email>. Vsem hvala. Tistim, ki sem jih po nemarnosti izpustil, se opravičujem; spodrsljaj bom skušal popraviti v naslednji izdaji.</para> </sect2> <sect2 id="faq"> <title>Vprašanja</title> <sect3 id="faq.sl"> <title>Se pravi Slovenian ali Slovene?</title> <para>Mnenja so deljena. Pisec teh vrstic se je pozanimal pri strokovnjakih anglistih, ki so mu le potrdili, da so mnenja <emphasis>zares</emphasis> deljena. Slovnično je pravilno prvo in drugo, odločitev za to ali ono inačico je zaenkrat bolj domena jezikovne estetike. Greg Hankins, nekdanji urednik Linux Documentation Project, je eden poglavnih krivcev, da ta spis uporablja prvo različico, in iz navade bo do nadaljnjega tako tudi ostalo.</para> </sect3> <sect3 id="faq.dodatki"> <title>Zakaj spis ne omenja programa <replaceable>XY</replaceable>?</title> <para>Najverjetneje zato, ker ga pisec ne uporablja, morda niti ne ve zanj. Programov, ki se zavedajo internacionalizacije in tako ali drugače podpirajo naš jezik in pisavo, je res iz dneva več, kljub temu pa prosim vse, ki ste odkrili kakršnokoli zvijačo za uporabo slovenščine v programih, ki tu niso navedeni, da mi pošljete kratek opis ter tako pripomorete k še boljšim in uporabnejšim navodilom.</para> </sect3> </sect2> </sect1> </article>