  Unicode HOWTO
  Avtor: Bruno Haible, <haible@clisp.cons.org>; prevedel:
  Jernej Kovai <jkovacic@email.si>
  v0.18, 4. avgust 2000, prevod 28. marec 2001

  Ta spis opisuje, kako nastaviti sistem Linux, da bo kodiral besedila
  po standardu UTF-8. Ta spis e vedno ni v dokonni razliici. Avtor bo
  vesel vsakega dodatnega nasveta, popravka, kazalca ali URL povezave.
  ______________________________________________________________________


  Kazalo


  1. Uvod

     1.1 Zakaj Unicode?
     1.2 Kodiranja po Unicode
        1.2.1 Opombe za programerje v C/C++
     1.3 Viri dodatnih informacij

  2. Nastavitev prikaza

     2.1 Linux konzola
     2.2 Tuje pisave za X11
     2.3 Pisave Unicode za X11
     2.4 Unicode pod xtermom
     2.5 Pisave TrueType
     2.6 Razno

  3. Nastavitev locale

     3.1 Datoteke in jedro
     3.2 TTY in jedro
     3.3 Splona pretvorba podatkov
     3.4 Spremenljivke okoja za locale
     3.5 Izdelava podpornih datotek za locale
     3.6 Dodajanje podpore v knjinico C

  4. Posebni (specifini) programi

     4.1 Programi za delo z mreo
        4.1.1 telnet
        4.1.2 kermit
     4.2 Brskalniki
        4.2.1 Netscape
        4.2.2 Mozilla
        4.2.3 Lynx
        4.2.4 W3M
        4.2.5 Strani za preizkuanje
     4.3 Urejevalniki
        4.3.1 Yudit
        4.3.2 Vim
        4.3.3 Emacs
        4.3.4 Xemacs
        4.3.5 Nedit
        4.3.6 Xedit
        4.3.7 Axe
        4.3.8 Pico
        4.3.9 Mined98
     4.4 Programi za elektronsko poto
        4.4.1 Pine
        4.4.2 Kmail
        4.4.3 Netscape Communicator
        4.4.4 Emacs (Rmail, Vm)
        4.4.5 Mutt
        4.4.6 Exmh
     4.5 Obdelava besedil
        4.5.1 Groff
        4.5.2 TeX
     4.6 Podatkovne baze
        4.6.1 PostgreSQL
     4.7 Ostali programi v tekstovnem nainu
        4.7.1 Less
        4.7.2 Lv
        4.7.3 Expand, Wc
        4.7.4 Col, Colcrt, Colrm, Column, Rev in Ul
        4.7.5 Figlet
        4.7.6 Temeljni pripomoki
     4.8 Preostali programi za X11

  5. Tiskanje

     5.1 Tiskanje z uporabo pisav TrueType
        5.1.1 Uniprint
        5.1.2 Wprint
        5.1.3 Primerjava
     5.2 Klasini pristop
        5.2.1 TeX, Omega
        5.2.2 DocBook
        5.2.3 Groff -Tps
     5.3 Ni bilo sree z ...
        5.3.1 Tiskanje iz Netscapa
        5.3.2 Tiskanje iz Mozille
        5.3.3 Html2ps
        5.3.4 A2ps
        5.3.5 Enscript

  6. Kaj narediti, da se bodo vai programi "zavedali" standarda Unicode

     6.1 C/C++
        6.1.1 Za obiajno ravnanje s tekstom
           6.1.1.1 Opombe o prenosljivosti
           6.1.1.2 Knjinica libutf8
           6.1.1.3 Reitev pri Plan9
        6.1.2 Za grafini uporabniki vmesnik
        6.1.3 Za napredneje ravnanje s tekstom
        6.1.4 Za pretvarjanje
           6.1.4.1 iconv
           6.1.4.2 librecode
           6.1.4.3 ICU
        6.1.5 Ostali pristopi
     6.2 Java
     6.3 Lisp
     6.4 Ada95
     6.5 Python
     6.6 JavaScript/ECMAscript
     6.7 Tcl
     6.8 Perl

  7. Ostali viri informacij

     7.1 Dopisni seznami
        7.1.1 linux-utf8
        7.1.2 li18nux
        7.1.3 unicode
        7.1.4 Internacionalizacija X11
        7.1.5 Pisave za X11


  ______________________________________________________________________


  1.  Uvod



  1.1.  Zakaj Unicode?


  Ljudje v razlinih deelah uporabljajo razline rkopise za
  predstavitev besed v njihovih maternih jezikih. Dandanes je veina
  aplikacij, vkljuno s sistemi za elektronsko poto in spletnimi
  brskalniki, isto 8-bitnih, kar pomeni, da lahko pravilno prikaejo
  besedilo, e je napisano v enem izmed 8-bitnih naborov znakov, npr.
  ISO-8859-1 ali ISO-8859-2.


  Na svetu obstaja precej ve kot 256 znakov, pomislite samo na
  cirilico, hebrejino, arabino, kitajino, japonino, korejino
  in tajino, e vedno pa se od asa do asa uvede kaken nov znak.
  Uporabnik lahko naleti na naslednje probleme:


  *  Nemogoe je hraniti besedilo z znaki iz razlinih naborov znakov.
     Na primer, v  publikaciji v nemini ali francoini (ali tudi
     slovenini, op. pr.) je mogoe citirati lanek v ruini, e
     uporabljate TeX, xdvi in PostScript, ne morete pa tega storiti v
     istem tekstu.

  *  Dokler je vsak dokument napisan v svojem naboru znakov in ta nabor
     ni prepoznan avtomatsko, so rone nastavitve neizogibne. e si npr.
     elite ogledati domao stran distribucije XTeamLinux na naslovu
     http://www.xteamlinux.com.cn/, morate nastaviti Netscape na kodno
     stran GB2312.

  *  Uvajajo se novi simboli (npr. za evro). ISO je uvedel nov standard
     ISO-8859-15, ki se v veliki veini ujema z ISO-8859-1, le da so
     odstranjeni nekateri redko uporabljani znaki (stari znaki za
     valute) in je dodan znak za evro. e uporabniki sprejmejo ta
     standard, imajo na disku dokumente v razlinih naborih znakov in
     zanejo vsakodnevno razmiljati o tem. Vendar bi raunalniki morali
     stvari poenostaviti, ne pa e bolj zakomplicirati.

  Reitev tega problema je sprejetje po vsem svetu uporabnega nabora
  znakov. Tak nabor znakov se imenuje Unicode (http://www.unicode.org/).
  Za ve informacij o Unicode vtipkajte `man 7 unicode' (to je
  prironika stran, vsebovana v paketu man-pages-1.20).


  1.2.  Kodiranja po Unicode


  Unicode resda lahko odpravi probleme razlinih kodnih strani, prinese
  pa tehnini problem: kako zapisati Unicode znake z 8-bitnimi zlogi?
  8-bitni zlog je pri veini raunalnikov najmanja naslovljiva enota in
  tudi osnovna enota pri omrenih povezavah preko protokola TCP/IP.
  Uporaba enega zloga za predstavitev enega znaka je zgodovinsko
  nakljuje, predvsem posledica dejstva, da se je razvoj raunalnitva
  priel v Evropi in ZDA, kjer je 96 znakov zadostovalo za dolgo vrsto
  let.

  V osnovi obstajajo tirje naini za kodiranje Unicodovih znakov v
  zloge:


     UTF-8
        128 znakov se kodira z uporabo enega zloga (znaki ASCII).  1920
        znakov se kodira z uporabo dveh zlogov (rimski, grki,
        cirilini, koptski, armenski, hebrejski in arabski znaki).
        63488 znakov se kodira z uporabo treh znakov (med drugimi
        kitajski in japonski znaki).  Ostalih 2147418112 znakov (ki e
        niso povsem doloeni) se lahko kodira z uporabo 4, 5 ali 6
        zlogov.  Za ve informacij o UTF-8 vtipkajte `man 7 utf-8'
        (prironika stran, ki je del paketa ldpman-1.20).

     UCS-2
        Vsak znak je predstavljen z dvema zlogoma.  Ta nain kodiranja
        lahko predstavi le prvih 65536 znakov iz Unicode.

     UTF-16
        To je raziritev UCS-2, ki lahko predstavi 1112064 znakov iz
        Unicode.  Prvih 65536 znakov je predstavljenih z dvema zlogoma,
        ostali s tirimi.
     UCS-4
        Vsak znak je predstavljen s tirimi zlogi.

  Prostorske zahteve za kodiranje besedil v primerjavi s trenutno
  uporabljanimi (8-bitni za evropske jezike, ve za kitajino /
  japonino / korejino) so razvidne iz spodnjega opisa. Pri tem gre
  za porabo prostora na disku in hitrost prenaanja po omreju, e ni
  uporabljena nobena oblika krenja.


     UTF-8
        Nobene spremembe za US ASCII, samo nekaj odstotkov ve za
        ISO-8859-1, 50% ve za kitajske, japonske oz. korejske znake,
        100% ve za grke in ciriline znake.

     UCS-2 in UTF-16
        Nobene spremembe za kitajske, japonske oz. korejske znake. 100%
        ve za US ASCII, ISO-8859-1, ISO-8859-2, grke in ciriline
        znake.

     UCS-4
        100% ve za kitajske, japonske oz. korejske znake. 300% ve za
        US ASCII, ISO-8859-1, ISO-8859-2, grke in ciriline znake.

  Ker uporaba UCS-2, UTF-16 in UCS-4 "prizadane" evropske in
  severnoamerike uporabnike, se ne zdi verjetno, da bi omenjeni naini
  kodiranja kdaj bili sprejeti za iroko uporabo. Microsoftov
  programerski vmesnik Win32 podpira UCS-2 vsaj od leta 1995, vendar ta
  nain kodiranja e ni bil iroko sprejet za uporabo, saj npr. na
  Japonskem e vedno prevladuje SJIS.

  Po drugi strani se zdi, da ima UTF-8 svetlejo prihodnost pri iroki
  uporabi, ker ne "kaznuje" evropskih in severnoamerikih uporabnikov in
  ker precej programov za urejanje besedil sploh ne bo potrebno
  zamenjati zaradi podpore za UTF-8.

  V nadaljevanju bomo opisali, kako si nastavite va sistem Linux, da bo
  besedila kodiral po UTF-8.

  1.2.1.  Opombe za programerje v C/C++


  Microsoftov pristop Win32 razvijalcem olaja izdelavo razliic
  programov, ki podpirajo Unicode. Na zaetku programa je potrebno
  vnesti #define UNICODE in potem tako dolgo spreminjati `char' v
  `TCHAR', dokler se program ne prevede brez opozoril. Problem je, da na
  koncu dobite dve razliici programa: ena "razume" po UCS-2 kodiran
  tekst, ne "razume" pa 8-bitnih kodiranj, druga pa "razume" samo stara
  8-bitna kodiranja.

  e ve, pri UCS-2 in UCS-4 nastopi e problem vrstnega reda zlogov.
  Register naborov znakov IANA  na naslovu http://www.isi.edu/in-
  notes/iana/assignments/character-sets pravi o ISO-10646-UCS-2: "zlogi
  morajo biti podani v omrenem vrstnem redu: standard tega namre ne
  doloa". Omreni vrstni red je "big endian" (najprej zlogi z vejo
  utejo, pri arhitekturah, ki temeljijo na Intelu, se uporablja ravno
  obraten "little endian", op.pr.). RFC 2152 je e jasneji: "ISO/IEC
  10646-1:1993(E) doloa, da je oblika UCS-2 predstavljena v 8 bitnih
  zlogih tako, da se najprej pojavijo zlogi z vejo utejo".  Microsoft
  pa po drugi strani v svojih razvojnih orodjih C/C++ priporoa uporabo
  strojno odvisnega vrstnega reda zlogov (npr. "little endian" pri
  procesorjih x86) in ali oznako za vrstni red zlogov na zaetku
  dokumenta ali neke vrste statistino hevristiko(!).

  Pristop UTF-8 po drugi strani ohrani `char*' kot standarden tip za
  nize v jeziku C. Rezultat tega je, da bo va program obravnaval US
  ASCII tekst ne glede na vse spremenljivke okolja in bo prepoznal tekst
  kodiran tako po ISO 8859-1 ali UTF-8, e je spremenljivka okolja LANG
  nastavljena pravilno.


  1.3.  Viri dodatnih informacij


  Markus Kuhn redno vzdruje seznam virov dodatnih informacij:

  *  http://www.cl.cam.ac.uk/~mgk25/unicode.html

  *  http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html

  Roman Czyborra ima stran s pregledom programov, ki podpirajo Unicode,
  UTF-8: http://czyborra.com/utf/#UTF-8

  Primeri po UTF-8 kodiranih datotek:

  *  V paketu ucs-fonts Markusa Kuhna: quickbrown.txt, UTF-8-test.txt,
     UTF-8-demo.txt.

  *  ftp://ftp.cs.su.oz.au/gary/x-utf8.html

  *  Datoteka iso10646 v paketu trans-1.1.1 Koste Kostisa
     ftp://ftp.nid.ru/pub/os/unix/misc/trans111.tar.gz

  *  ftp://ftp.dante.de/pub/tex/info/lwc/apc/utf8.html

  *  http://www.cogsci.ed.ac.uk/~richard/unicode-sample.html



  2.  Nastavitev prikaza


  Predvidevamo, da ste e prilagodili vao konzolo in nastavili X11 na
  vao tipkovnico in locale. Ta postopek je razloen v spisu
  Danish/International HOWTO, kot tudi v ostalih nacionalnih spisih:
  Finnish, French, German, Italian, Polish, Spanish, Cyrillic, Hebrew,
  Chinese, Thai, Esperanto in tudi Slovenian HOWTO (avtor je Primo
  Peterlin). Vendar vas prosimo, da ne upotevate nasveta v Thai HOWTO,
  kjer se pretvarjate, da uporabljate znake iz nabora ISO-8859-1 (U0000
  - U00FF), medtem ko dejansko vtipkavate tajske znake (U0E01 - U0E5B).
  e boste upotevali te napotke, boste imeli ob prehodu na Unicode le
  probleme.


  2.1.  Linux konzola

  O konzoli na tem mestu ne bo veliko govora, saj avtor na tistih
  raunalnikih, ki nimajo nameenega xdm, v konzoli vtipka le svoje
  uporabniko ime, geslo in "xinit".

  Vseeno, paketa kbd-0.99
  (ftp://sunsite.unc.edu/pub/Linux/system/keyboards/kbd-0.99.tar.gz) in
  mono razirjena razliica paketa console-tools-0.2.3
  (ftp://sunsite.unc.edu/pub/Linux/system/keyboards/console-
  tools-0.2.3.tar.gz) vsebujeta v imeniku kbd-0.99/src/ (ali console-
  tools-0.2.3/screenfonttools/) dva programa: `unicode_start' in
  `unicode_stop'. Ko poenete `unicode_start', se izhod konzole na
  zaslon interpretira, kot da je kodiran po UTF-8.  Tudi vhod s
  tipkovnice se obravnava kot Unicode (oglejte si "man kbd_mode"). V tem
  nainu se znaki iz Unicode vtipkani kot Alt-x1, ..., Alt-xn, (x1 - xn
  so tipke na numerinem delu tipkovnice) oddajajo kodirani po UTF-8. e
  vaa tipkovnica, natanneje vaa obiajna razporeditev tipk, vsebuje
  tipke za ne-ASCII znake (npr. nemki preglasi ali slovenski umniki),
  za katere bi radi, da sledijo stanju tipke CapsLock, boste morali
  uporabiti popravek za jedro linux-2.2.9-keyboard.diff ali
  linux-2.3.12-keyboard.diff.

  Verjetno boste eleli videti znake iz razlinih pisav na istem
  zaslonu. Za to boste potrebovali konzolno pisavo Unicode. Paketa
  ftp://sunsite.unc.edu/pub/Linux/system/keyboards/kbd-0.99.tar.gz in
  ftp://sunsite.unc.edu/pub/Linux/system/keyboards/console-
  data-1999.08.29.tar.gz vsebujeta pisavo LatArCyrHeb-{08,14,16,19}.psf,
  ki pokriva latinico, cirilico, hebrejsko in arabsko pisavo. V enem
  kosu zajema standarde ISO 8859 s konnicami 1, 2, 3, 4, 5, 6, 8, 9 in
  10. Pisavo namestite tako, da datoteko prenesete v imenik
  /usr/lib/kbd/consolefonts/ in izvrite "/usr/bin/setfont
  /usr/lib/kbd/consolefonts/LatArCyrHeb-14.psf".

  e elite, da bo "rezanje in lepljenje" (angl. cut & paste) delovalo
  tudi v konzoli s podporo UTF-8, boste potrebovali popravek
  linux-2.3.12-console.diff, katerega avtorja sta Edmund Thomas Grimley
  Evans in Stanislav Voronyi.

  Aprila leta 2000 je Edmund Thomas Grimley Evans (edmundo@rano.org)
  izdelal terminalski emulator konzole UTF-8. Uporablja pisave Unicode
  in se zanaa na Linuxov pomnilnik za prikaz na zaslonu (angl. frame
  buffer).


  2.2.  Tuje pisave za X11


  Ne oklevajte z namestitvijo cirilinih, kitajskih, japonskih idr.
  pisav. Tudi e niso pisave Unicode, bodo v pomo pri prikazu
  dokumentov, kodiranih po Unicode: vsaj Netscape Communicator in Java
  bosta uporabljala tuje pisave, kadar so na voljo.

  Pri namestitvi pisav so koristni naslednji programi:

  *  "mkfontdir <imenik>" pripravi imenik s pisavami, da jih bo strenik
     X lahko uporabljal. Ukaz je potrebno izvesti po namestitvi pisav v
     imenik.

  *  "xset fp+ <imenik>" doda imenik v trenutni seznam imenikov s
     pisavami za X strenik.  e elite imenik dodati v seznam za
     stalno, dodajte vrstico "FontPath" v datoteko /etc/XF86Config, v
     razdelek "Files".

  *  "xset fp rehash" je potrebno izvesti po klicu ukaza mkfontdir na
     imeniku, ki je e vsebovan v trenutnem seznamu imenikov s pisavami
     X strenika.

  *  "xfontsel" vam omogoa brskanje med nameenimi pisavami z
     izbiranjem med razlinimi lastnostmi pisav.

  *  "xlsfonts -fn <vzorec>" izpie vse pisave, ki ustrezajo vzorcu za
     ime pisave. Prikae tudi razline lastnosti pisav. Predvsem
     "xlsfonts -ll -fn <pisava>" izpie lastnosti CHARSET_REGISTRY in
     CHARSET_ENCODING, ki skupaj doloata kodiranje pisave.

  *  "xfd -fn <pisava>" prikae pisave po straneh.

  Spodaj natete pisave so prosto dostopne (seznam ni popoln):

  *  Pisave, vsebovane z XFree86, vasih so zapakirane v loenih
     paketih.  Primer je distribucija SuSE, kjer se v osnovnem paketu
     'xf86' nahajajo le pisave 75dpi. Ostale pisave se nahajajo v
     paketih `xfnt100', `xfntbig', `xfntcyr' in `xfntscl'.
  *  Mednarodne pisave za Emacs,
     (ftp://ftp.gnu.org/pub/gnu/intlfonts/intlfonts-1.2.tar.gz).  Kot je
     bilo e omenjeno, te pisave so koristne tudi, e namesto GNU Emacsa
     raje uporabljate XEmacs ali Emacsa celo sploh ne uporabljate.


  2.3.  Pisave Unicode za X11


  Programi, kjer elimo prikazati ve pisav hkrati (npr. cirilica in
  grka pisava), lahko to doseejo z uporabo razlinih pisav za X v
  razlinih delih besedila. To znata narediti Netscape Communicator in
  Java. Vendar je ta pristop bolj zapleten, ker mora programer namesto
  `Font' in `XFontStruct' uporabljati `XFontSet' in tudi zato, ker se
  velikosti pri razlinih pisavah lahko nekoliko razlikujejo.


  *  Markus Kuhn je sestavil 75 dpi pisave s fiksno irino (fixed-
     width), kjer so po Unicode kodirane latinica, cirilica, grka,
     armenska, gruzinska, hebrejska in simbolna pisava. V enem kosu so
     pokrite pisave po standadih ISO 8859 1, 2, 3, 4, 5, 7, 8, 9, 10,
     13, 14 in 15. Ta pisava je potrebna za uporabo xterma v nainu
     UTF-8. Pisave se nahajajo na naslovu
     http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz

  *  Roman Czyborra je sestavil 75 dpi pisavo velikosti 8x16 / 16x16, ki
     zajema ogromen del nabora Unicode. Z naslova
     http://czyborra.com/unifont/ naloite unifont.hex.gz in hex2bdf. To
     ni pisava s fiksno irino. Evropski znaki so iroki 8 pik, kitajski
     pa 16 pik. Sledijo navodila za namestitev:


       $ gunzip unifont.hex.gz
       $ hex2bdf < unifont.hex > unifont.bdf
       $ bdftopcf -o unifont.pcf unifont.bdf
       $ gzip -9 unifont.pcf
       # cp unifont.pcf.gz /usr/X11R6/lib/X11/fonts/misc
       # cd /usr/X11R6/lib/X11/fonts/misc
       # mkfontdir
       # xset fp rehash




  *  Primo Peterlin je sestavil druino pisav ETL, ki zajema latinico,
     cirilico, grko, armensko, gruzinsko in hebrejsko pisavo. Pisave
     lahko snamete z naslova ftp://ftp.x.org/contrib/fonts/etl-
     unicode.tar.gz.  Za namestitev uporabite program "bdftopcf".

  *  Mark Leisher je sestavil proporcionalno pisavo viine 17 pik (12
     tok) z imenom ClearlyU, ki zajema latinico, cirilico, grko,
     armensko, gruzinsko, hebrejsko, tajsko in laoko pisavo. Na voljo
     je na naslovu http://crl.nmsu.edu/~mleisher/cu.html.  Navodila za
     namestitev:


       $ bdftopcf -o cu12.pcf cu12.bdf
       $ gzip -9 cu12.pcf
       # cp cu12.pcf.gz /usr/X11R6/lib/X11/fonts/misc
       # cd /usr/X11R6/lib/X11/fonts/misc
       # mkfontdir
       # xset fp rehash




  2.4.  Unicode pod xtermom


  Xterm je del X11R6 in XFree86, vendar ga loeno vzdruje Tom Dickey
  (http://www.clark.net/pub/dickey/xterm/xterm.html).  Noveje razliice
  (popravki stopnje 109 ali noveji) vsebujejo podporo za pretvorbo
  signalov s tipkovnice v UTF-8, e preden jih posredujejo programu, ki
  tee v xtermu. Podprt je tudi prikaz znakov Unicode, ki jih ta program
  vrne v obliki UTF-8.

  e elite pognati xterm v nainu UTF-8, morate:

  *  sneti datoteko xterm.tar.gz z naslova
     http://www.clark.net/pub/dickey/xterm/xterm.tar.gz,

  *  ga nastaviti z "./configure --enable-wide-chars ...", ga nato
     prevesti in namestiti.

  *  imeti nameeno pisavo Unicode s fiksno irino. Za to je primeren
     ucs-fonts.tar.gz Markusa Kuhna (glejte zgoraj).

  *  pognati "xterm -u8 -fn '-misc-fixed-medium-r-
     semicondensed--13-120-75-75-c-60-iso10646-1'".  Monost "-u8"
     vkljui Unicode in UTF-8. Pisava, doloena z dolgo monostjo "-fn"
     je pisava Unicode Markusa Kuhna. Brez te monosti se uporabi
     privzeta pisava "fixed", to je pisava po ISO-8859-1 velikosti 6x13.

  *  ogledati si vzorne datoteke iz paketa ucs-fonts Markusa Kuhna:


       $ cd .../ucs-fonts
       $ cat quickbrown.txt
       $ cat utf-8-demo.txt




  Med drugim bi morali videti grke in ruske znake.

  *  dodati vrstice


       XTerm*utf8:   1
       *VT100*font:  -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1




  v va $HOME/.Xdefaults (nastavitve veljajo le za vas), da bo xterm
  podpiral UTF-8 ob vsakem zagonu. Spreminjanja sistemskih nastavitev v
  /usr/X11R6/lib/X11/app-defaults/XTerm vam ne priporoamo, ker se bodo
  izbrisale ob naslednji nadgradnji na novo razliico XFree86.

  Dodaten popravek Roberta Bradyja (rwb197@ecs.soton.ac.uk), ki doda
  podporo za znake dvojne irine (veinoma gre za ideografe CJK) in
  kombinirane znake, je na voljo na naslovu:
  http://www.zepler.org/~rwb197/xterm/.  Temelji na popravku za xterm
  stopnje 140 (http://www.clark.net/pub/dickey/xterm/xterm-140.tgz) in
  ga je najbolje uporabiti z naslednjimi nastavitvami.


         *VT100*font:     -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1
         *VT100*wideFont: -Daewoo-Gothic-Medium-R-Normal--18-18-100-100-M-180-ISO10646-1



  2.5.  Pisave TrueType


  Zgoraj omenjene pisave imajo fiksno irino in se jim ne da spreminjati
  velikosti. V nekaterih aplikacijah, e posebej v tistih za tiskanje,
  so nujno potrebne pisave z veliko loljivostjo. Najpomembneji tip
  pisav z nastavljivo velikostjo in veliko loljivostjo so pisave
  TrueType.

  Trenutno jih podpirajo

  *  XFree86 4.0.1; v razdelek Modules vae datoteke XF86Config morate
     dodati vrstico:


           Load "freetype"




  ali


           Load "xtt"




  *  Gonilniki za prikaz v ostalih operacijskih sistemih.

  *  Urejevalnik Yudit (opisan je v nadaljevanju) in njegov gonilnik za
     tiskanje.

  Nekatere brezplane pisave TrueType, ki pokrivajo precejen del
  Unicode, so:

     Bitstream Cyberbit
        Pokriva cirilico, rimsko, grko, hebrejsko, arabsko, kitajsko,
        korejsko, japonsko in druge pisave vkljuno s kombiniranimi
        diakritinimi oznakami.

        Naloite jo lahko z:
        ftp://ftp.netscape.com/pub/communicator/extras/fonts/windows/Cyberbit.ZIP.


     Microsoft Arial
        Pokriva cirilico, rimsko, grko, hebrejsko, arabsko, vietnamsko
        pisavo in nekatere kombinirane diakritine oznake.

        e jih elite pobrati, z internetnimi iskalniki poiite FTP
        strenike z datotekami arial.ttf, ariali.ttf, arialbd.ttf in
        arialbi.ttf.


     Lucida Sans Unicode
        Pokriva cirilico, rimsko, grko, hebrejsko pisavo in kombinirane
        diakritine oznake.

        Vsebovani so v IBMovemu JDK 1.3.0beta za Linux, lahko pa jih
        neposredno poberete pod imenoma LucidaSansRegular.ttf in
        LucidaSansOblique.ttf z naslova
        ftp://ftp.maths.tcd.ie/Linux/opt/IBMJava2-13/jre/lib/fonts/.


  Naslove za te in druge pisave TrueType lahko dobite na seznamu (avtor
  Christoph Singer) prosto dostopnih pisav Unicode Trutype na naslovu
  http://www.ccss.de/slovo/unifonts.htm.

  Pisave Truetype lahko pretvorite v nizko loljive, po velikosti
  nenastavljive pisave za X11 z uporabo pripomoka ttf2bdf (avtor Mark
  Leisher). Dobite ga lahko na naslovu
  ftp://crl.nmsu.edu/CLR/multiling/General/ttf2bdf-2.8-LINUX.tar.gz.

  Ve informacij o pisavah Truetype lahko najdete v spisu Linux TrueType
  HOWTO na naslovu http://www.moisty.org/~brion/linux/TrueType-
  HOWTO.html.


  2.6.  Razno


  Programek, ki ugotovi, ali je konzola oz. xterm nastavljen na UTF-8,
  se nahaja na naslovu
  ftp://sunsite.unc.edu/pub/Linux/system/keyboards/x-lt-1.18.tar.gz.  V
  paketu avtorja Ricardasa Cepasa sta datoteki testUTF-8.c in
  testUTF8.c.  Veina programov bo delovala brez tega, zato pa naj bi
  preverjali vrednosti spremenljivk okolja. Glejte tudi razdelek
  "Spremenljivke okolja za locale".


  3.  Nastavitev locale



  3.1.  Datoteke in jedro


  V imenih datotek je e mogoe uporabljati znake iz Unicode brez
  sprememb v jedru ali orodjih za delo z datotekami. Vzrok temu je
  dejstvo, da jedro za ime datoteke sprejme vse z izjemo zloga "null" in
  '/', ki je doloen za loevanje podimenikov. Pri kodiranju z UTF-8, se
  ne-ASCII znaki nikoli ne bodo pretvorili v zlog "null" ali poevnico.
  Zgodi se le, da ime datoteke ali imenika porabi ve zlogov, kot ima
  znakov v imenu. Na primer ime iz petih grkih znakov se bo v jedru
  pojavilo kot ime iz 10 zlogov. Jedro ne "ve" (in mu tega tudi ni
  potrebno "vedeti"), da se ti zlogi prikaejo po grko.

  To je splona teorija, dokler z datotekami upravlja samo Linux. V
  datotenih sistemih, ki jih uporabljajo tudi drugi operacijski
  sistemi, morate poskrbeti za pretvorbo imen iz/v UTF-8.

  *  Datoteni sistem "vfat" ima monost vpetja (angl. mount) "utf8".
     Oglejte si file:/usr/src/linux/Documentation/filesystems/vfat.txt.
     Ko monost vpetja "iocharset" nastavite drugae, kot je privzeto
     (t.j. ISO-8859-1), rezultati z oz. brez "utf8" ne bodo
     konsistentni.  Zato se monost vpetja "iocharset" ne priporoa.

  *  Datotena sistema "msdos" in "umsdos" imata ob vpetju isto monost,
     ki pa nima nobenega uinka.

  *  Datoteni sistem "iso9660" ima monost vpetja "utf8".  Oglejte si
     file:/usr/src/linux/Documentation/filesystems/isofs.txt.

  *  Od Linuxovih jeder 2.2.x naprej ima tudi datoteni sistem "ntfs"
     monost vpetja "utf8". Oglejte si
     file:/usr/src/linux/Documentation/filesystems/ntfs.txt.

     Ostali datoteni sistemi (nfs, smbfs, ncpfs, hpfs itd.) ne
     pretvarjajo imen, zato podpirajo Unicode imena datotek v UTF-8
     samo, e jih podpira tudi operacijski sistem na drugi strani.  Da
     se bodo datoteni sistemi vpeli s pravilno monostjo tudi ob
     ponovnih vpetjih, dodajte te monosti v etrti stolpec ustreznih
     vrstic v datoteki /etc/fstab.


  3.2.  TTY in jedro

  TTY je neke vrste dvosmerna cev med dvema programoma, ki omogoa
  zanimive lastnosti, npr. "odmev" pritisnjenih tipk ali urejanje v
  ukazni vrstici.  V xtermu lahko poenete "cat" brez argumentov,
  vnesete in urejate lahko poljubno tevilo vrstic, ki se "odbijejo"
  nazaj vrstica za vrstico. Pri jedru postopki urejanja niso pravilni,
  e posebej odziv na tipki Backspace in Tab ni pravilen.  To odpravite
  na naslednji nain:

  *  uporabite popravek jedra linux-2.0.35-tty.diff ali
     linux-2.2.9-tty.diff ali linux-2.3.12-tty.diff in ponovno prevedite
     jedro.

  *  e uporabljate glibc2, uporabite popravek glibc211-tty.diff in
     ponovno prevedite libc (oz. e niste tako pustolovski, zadostuje
     tudi popravek e nameene datoteke "include": glibc-tty.diff),

  *  uporabite popravek stty.diff za GNU sh-utils-1.16b, ponovno
     zgradite program "stty" in ga preizkusite: "stty -a" in "stty
     iutf8".

  *  dodajte ukaz "stty iutf8" v skript "unicode_start" in dodajte ukaz
     "stty -iutf8" v skript "unicode_stop".

  *  Uporabite popravek xterm.diff za xterm-109 in ponovno prevedite
     "xterm", zatem ga preizkusite z zagonom "xterm -u8" / "xterm +u8",
     v njem poenite "stty -a" in znotraj njega interaktivni "cat".


  3.3.  Splona pretvorba podatkov

  Potrebovali boste program za pretvorbo vaih lokalno (najverjetneje po
  ISO-8859-1 ali 2) kodiranih dokumentov v UTF-8 (druga monost bi bila,
  da e naprej uporabljate razlino kodirane dokumente na istem
  raunalniku, kar pa dolgorono ni preve zabavno).  Eden taknih
  programov je `iconv', ki se ga dobi poleg glibc-2.1. Enostavno
  vtipkajte


       $ iconv --from-code=ISO-8859-2 --to-code=UTF-8 < stara_datoteka > nova_datoteka




  Tukaj sta e prirona lupinska skripta "i2u" i2u.sh (za pretvorbo iz
  ISO v UTF) in "u2i" u2i.sh (za pretvorbo iz UTF v ISO).  Prilagodite
  si ju v skladu z vaim trenutnim 8 bitnim naborom znakov.

  e nimate nameenega glibc-2.1 in iconv, lahko namesto tega uporabite
  GNU recode 3.5.  "i2u" i2u_recode.sh je "recode ISO-8859-1..UTF-8", in
  "u2i" u2i_recode.sh je "recode UTF-8..ISO-8859-1". Recode dobite na
  ftp://ftp.iro.umontreal.ca/pub/recode/recode-3.5.tar.gz ali
  ftp://ftp.gnu.org/pub/gnu/recode/recode-3.5.tar.gz.  Opombe:
  potrebujete GNU recode 3.5 ali noveji. Da ga prevedete na sistemih
  brez glibc2 (to so skoraj vsi sistemi Linux razen najnovejih), ga
  morate nastaviti z monostjo "--disable-nls", sicer se ne bo povezal.
  Noveje razliice s podporo za CJK se nahajajo na naslovu
  http://www.iro.umontreal.ca/contrib/recode/.

  Namesto tega lahko uporabite tudi CLISP. Na voljo sta tudi "i2u"
  i2u.lisp in "u2i" u2i.lisp v lispu. Potrebna je razliica z julija
  1999 ali noveja. CLISP dobite na naslovu:
  ftp://clisp.cons.org/pub/lisp/clisp/source/clispsrc.tar.gz.

  Ostali programi za pretvorbo podatkov, manj zmogljivi od GNU recode,
  so `trans' (ftp://ftp.informatik.uni-
  erlangen.de/pub/doc/ISO/charsets/trans113.tar.gz), `tcs' od
  operacijskega sistema Plan9 (ftp://ftp.informatik.uni-
  erlangen.de/pub/doc/ISO/charsets/tcs.tar.gz) in `utrans' / `uhtrans' /
  `hutrans'
  (ftp://ftp.cdrom.com/pub/FreeBSD/distfiles/i18ntools-1.0.tar.gz)
  avtorja G. Adama Stanislava (adam@whizkidtech.net).

  Za ponavljajoo pretvorbo datotek v UTF-8 iz razlinih naborov znakov
  lahko uporabite polavtomatsko orodje: to-utf8 prikae ne-ASCII dele
  datoteke uporabniku, da vnese originalni nabor znakov, potem to
  pretvori v UTF-8.


  3.4.  Spremenljivke okoja za locale


  Verjetno imate nastavljene naslednje spremenljivke okolja, ki se
  nanaajo na locale:

     LANGUAGE
        nadomea LC_MESSAGES, uporablja jo samo GNU gettext

     LC_ALL
        nadomea vse ostale spremenljivke LC_*

     LC_CTYPE, LC_MESSAGES, LC_COLLATE, LC_NUMERIC, LC_MONETARY, LC_TIME
        posamezne spremenljivke za: tip znakov in kodiranje, sporoila v
        naravnem jeziku, pravila za urejanje, obliko tevilk, obliko
        denarnih zneskov, prikaz datuma in asa

     LANG
        privzeta vrednost za vse spremenljivke LC_*

  (Oglejte si `man 7 locale' za podrobneji opis.)

  Vsaka od spremenljivk LC_* in LANG lahko vsebuje ime locale naslednje
  oblike.


       jezik[_obmoje[.nabor_znakov][@modifikator]


  kjer jezik pomeni kodo jezika po ISO 639 (z malimi rkami), obmoje
  pomeni kodo drave po ISO 3166 (z velikimi rkami), nabor_znakov je
  samoumeven, modifikator pa oznauje posebne znailnosti (npr. posebno
  nareje, nestandardno rkovanje).

  Spremenljivka LANGUAGE lahko vsebuje ve imen localov loenih s
  podpiji.

  Da sistemu in vsem programom poveste, da uporabljate UTF-8, morate
  vsem imenom locale dodati konnico UTF-8. e ste npr. uporabljali


       LC_CTYPE=sl_SI




  ga boste spremenili v


  LC_CTYPE=sl_SI.UTF-8




  Spremenljivke okolja LANGUAGE vam ni potrebno spreminjati.  GNU
  gettext ima monost pretvoriti prevode v pravo kodiranje. Dokler ne
  izide glibc-2.2, je vse, kar morate storiti to, da nastavite
  spremenljivko okolja OUTPUT_CHARSET.


       $ export OUTPUT_CHARSET=UTF-8




  glibc-2.2 ne bo potreboval te spremenljivke, saj jo bo znal sam izpel
  jati iz spremenljivke LC_CTYPE.


  3.5.  Izdelava podpornih datotek za locale


  e imate nameen glibc-2.1, glibc-2.1.1 ali glibc-2.1.2, najprej z
  uporabo "localdef --help" preverite, ali je sistemski imenik za
  razporeditev znakov enak /usr/share/i18n/charmaps. Nato popravite
  datoteko /usr/share/i18n/charmaps/UTF8 z ustreznim popravkom
  glibc21.diff, glibc211.diff ali glibc212.diff.  Zatem naredite
  podporno datoteko za vsak UTF-8 locale, ki ga nameravate uporabljati,
  npr.:


       $ localedef -v -c -i sl_SI -f UTF8 /usr/share/locale/sl_SI.UTF-8




  Tukaj morate podati absolutno pot, sicer bo localedef naredil locale v
  imeniku "sl_SI.utf8", kar ne bo delovalo z XFree86-4.0.1.

  Najvekrat vam ni potrebno narediti localov "de", "fr" ali "sl" brez
  konnice za dravo, ker te locale najvekrat uporabljaja samo
  spremenljivka LANGUAGE, ne pa spremenljivke LC_*, LANGUAGE pa samo
  nadomea LC_MESSAGES.


  3.6.  Dodajanje podpore v knjinico C


  Glibc-2.2 bo podpiral vezlone locale, e posebej locale UTF-8, ki
  smo jih naredili malo prej. Glibc-2.1.x pa tega v resnici ne podpira.
  Zato bo edini uinek prej omenjene izdelave datotek
  /usr/share/locale/sl_SI.UTF-8/* ta, da bo `setlocale(LC_ALL,"")' vrnil
  "sl_SI.UTF-8" v skladu z vaimi spremenljivkami okolja, namesto da bi
  odrezal konnico ".UTF-8".

  Da dodate podporo za locale UTF-8, boste morali prevesti in namestiti
  naslednje tri knjinice:

  *  `libutf8_plug.so' iz libutf8-0.7.3.tar.gz,

  *  `libiconv_plug.so', iz libiconv-1.3.tar.gz,

  *  `libintl_plug.so', iz gettext-0.10.35-iconv.tar.gz.

     Potem lahko spremenljivko okolja LD_PRELOAD nastavite, da kae na
     nameene knjinice:


       $ export LD_PRELOAD=/usr/local/lib/libutf8_plug.so:/usr/local/lib/libiconv_plug.so:/usr/local/lib/libintl_plug.so




  Potem bodo v vsakem programu, ki uporablja te spremenljivke okolja,
  funkcije v libutf8_plug.so, libiconv_plug.so in libintl_plug.so nado
  mestile prvotne v /lib/libc.so.6. Za ve informacij o LD_PRELOAD  si
  oglejte "man 8 ld.so".

  Vsega tega ne bo ve treba poenjati, ko izide glibc2-2.


  4.  Posebni (specifini) programi



  4.1.  Programi za delo z mreo



  4.1.1.  telnet


  V nekaterih namestitvah telnet privzeto ni nastavljen na 8-bitni
  prenos. Da lahko poiljate znake iz nabora Unicode na oddaljen
  raunalnik, morate najprej nastaviti telnet na nain "outbinary". To
  lahko storite na dva naina:


       $ telnet -L <host>




  in


       $ telnet
       telnet> set outbinary
       telnet> open <host>






  4.1.2.  kermit


  Komunikacijski program C-Kermit
  (http://www.columbia.edu/kermit/ckermit.html), (interaktivno orodje za
  nastavljanje povezave, telnet, prenos datotek, s podporo za TCP/IP in
  serijske povezave) v razliici 7.0 ali noveji pozna kodiranji UTF-8
  in UCS-2 za prenos podatkov, ravno tako pozna tudi terminalsko
  kodiranje po UTF-8. Zna tudi pretvarjati med obema kodiranjema in e
  med mnogimi drugimi kodiranji. Dokumentacijo za te znailnosti lahko
  najdete na http://www.columbia.edu/kermit/ckermit2.html#x6.6.





  4.2.  Brskalniki



  4.2.1.  Netscape

  Netscape 4.05 ali noveji lahko prikae dokumente HTML, ki so kodirani
  po UTF-8.  V dokumentu mora med oznakama <head> in </head> stati tudi:


       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">




  Netscape 4.05 ali noveji lahko prikae tudi dokumente in tekstovne
  datoteke kodirane po UCS-2 z oznako o vrstnem redu zlogov.

  Netscapova domaa stran je:
  http://www.netscape.com/computing/download/.


  4.2.2.  Mozilla


  Mozilla milestone M16 ima internacionalizacijo reeno precej bolje kot
  Netscape 4. Prikae lahko dokumente HTML, kodirane po UTF-8 s podporo
  za ve jezikov. Zato pa obstaja manja lepotna napaka glede pisav CJK.
  Nekateri simboli so lahko veji od viine vrstice, tako da prekrijejo
  prejnjo oz.  naslednjo vrstico.

  Mozillina domaa stran je: http://www.mozilla.org/.


  4.2.3.  Lynx


  Lynx-2.8 ima zaslon z monostmi (tipka 'O'), kjer se lahko nastavi
  nabor znakov za prikaz. Ko poganjate Lynx v xtermu ali konzoli v
  nainu UTF-8, nastavite to na "UNICODE UTF-8". Da ta nastavitev prine
  delovati v trenutnem teku brskalnika, jo morate potrditi na polju
  "Accept Changes" (sprejmi spremembe), da pa bo delovala vedno, morate
  izbrati polje "Save options to disk" (shrani monosti na disk) in to
  potem potrditi s poljem "Accept Changes".

  Tudi tokrat mora v dokumentu med oznakama <head> and </head> stati:


       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">




  Pri prikazovanju tekstovnih datotek, kodiranih po UTF-8, morate v
  ukazni vrstici podati monost "-assume_local_charset=UTF-8" (deluje
  samo pri naslovih, ki se zanejo s 'file:/') ali
  "-assume_charset=UTF-8" (deluje pri vseh vrstah naslovov).  V Lynxu
  2.8.2 lahko tudi na zaslonu z monostmi (tipka 'O') spremenite
  predpostavljen nabor znakov v "utf-8".

  Na zaslonu z monostmi je tudi monost, da nastavite "priljubljen
  nabor znakov v dokumentu" (angl. preferred document character set).
  Vendar to ne deluje, e se URL zane s 'file:/...' oz. e se zane s
  'http://...' in se na streniki strani nahaja Apache 1.3.0.


  Problem je tudi s presledki in s prelomom vrstic. Poglejte si razdelek
  o ruini v x-utf8.html ali v utf-8-demo.txt.

  e je Lynx 2.8.2 nastavljen z --enable-prettysrc, barvna shema ne
  deluje ve pravilno, ko nabor znakov na zaslonu nastavite na "UNICODE
  UTF-8". To popravite s preprostim popravkom lynx282.diff.

  Razvijalci Lynxa pravijo: "Za vsako resno uporabo z izhodom na zaslon
  po UTF-8 se e vedno priporoa prevajanje s knjinico slang in
  -DSLANG_MBCS_HACK."

  Zadnja stabilna razliica:
  ftp://ftp.gnu.org/pub/gnu/lynx/lynx-2.8.2.tar.gz

  Izvorno kodo Lynxa dobite na: http://lynx.isc.org/.

  Splona domaa stran: http://lynx.browser.org/

  Noveje razliice e v razvoju: http://lynx.isc.org/current/,
  ftp://lynx.isc.org/current/


  4.2.4.  W3M


  W3m avtorja Akinorija Ita (http://ei5nazha.yz.yamagata-
  u.ac.jp/~aito/w3m/eng/) je tekstovni brskalnik po straneh HTML. Njegov
  prikaz tabel, natevanj ipd. v HTML je precej lepi kot pri Lynxu.
  Uporaben je tudi kot zelo dober pretvornik iz HTML v tekst.

  W3m ima izbire iz ukazne vrstice za tri najpomembneja japonska
  kodiranja, lahko pa ga uporabite tudi za datoteke, ki so kodirane po
  UTF-8. e v ukazni vrstici ne vnesete nobene izbire, morate pogosto
  pritiskati Ctrl-L za osveevanje prikaza, prelom vrstic v odstavkih v
  cirilici in v CJK pa ni dober.

  To odpravite s popravkom Hironorija Sakamota
  (http://www2u.biglobe.ne.jp/~hsaka/w3m/), ki med kodiranja za prikaz
  doda UTF-8.


  4.2.5.  Strani za preizkuanje


  Nekaj strani za preizkus brskalnikov lahko najdete na straneh Alana
  Wooda (http://www.hclrss.demon.co.uk/unicode/#links) in Jamesa Kassa
  (http://home.att.net/~jameskass/).


  4.3.  Urejevalniki



  4.3.1.  Yudit


  Yudit avtorja Gsprja Sinaia (http://czyborra.com/yudit/ in
  http://www.yudit.org) je prvovrsten urejevalnik besedil, kodiranih po
  Unicode, za sistem X Window.  Podpira hkratno obdelavo pri ve
  jezikih, nainih vnosa in pretvorbah za lokalne standarde znakov. Ima
  pripomoke za vnos besedila v vseh jezikih z angleko tipkovnico, kjer
  se uporabljajo nastivitve za razporeditve tipk.

  Prevesti ga je mogoe v treh razliicah: Xlib GUI, KDE GUI ali Motif
  GUI.

  Prilagoditev je zelo lahka. Ponavadi si najprej prilagodite pisavo
  tako, da iz menija pisave (angl. font) izberete "Unicode". Nato
  izberete pisavo z velikostjo 13 (pri ukazu "xlsfonts '*-*-iso10646-1'"
  e vedno prihaja do nekaterih zmenjav), ki se ujema s 13-tokovno
  pisavo stalne irine Markusa Kuhna.

  Zatem si prilagodite nain vnosa. Najbolj znailni so "Straight",
  "Unicode" in "SGML". Za podrobnosti o ostalih vgrajenih nainih vnosa
  poglejte v /usr/local/share/yudit/data/.

  Da bo sprememba postala privzeta ob vseh nadaljnjih zagonih programa,
  vnesite elene spremembe v datoteko $HOME/.yuditrc.

  Splone zmonosti urejevalnika so omejene na urejanje, 'rezanje &
  lepljenje' (angl. cut & paste) ter iskanje & nadomeanje. Monosti
  razveljavitve (angl. undo) ni.

  Yudit lahko prikae besedilo z uporabo pisave TrueType, oglejte si
  razdelek "Pisave TrueType". Dobre rezultate da tudi pisava Bitstream
  Cyberbit. Da jo Yudit lahko najde, naredite povezavo nanjo na
  /usr/local/share/yudit/data/cyberbit.ttf.


  4.3.2.  Vim


  Vim (pri razliici 6.0b) dobro podpira UTF-8: ko ga poenete v UTF-8
  locale, privzame kodiranje UTF-8 za konzolo in za tekstovne datoteke,
  ki jih urejate.  Podpira znake z dvojno irino (npr. CJK) kot tudi
  kombiniranje znakov in se zato odlino prilega v Xterm z omogoenim
  UTF-8.

  Namestitev: z naslova http://www.vim.org/ si naloite izvorno kodo. Ko
  odpakirate vse tiri dele, popravite datoteko src/Makefile tako, da bo
  vkljueno tudi stikalo --with-features=big.  Tako boste vkljuili
  znailnosti FEAT_MBYTE, FEAT_RIGHTLEFT in FEAT_LANGMAP.  Zatem
  poenite "make" in "make install".


  4.3.3.  Emacs


  Najprej si preberite razdelek o podpori mednarodnih naborov znakov
  (angl.  "International Character Set Support") v prironiku za Emacs.
  e posebej upotevajte, da morate pognati Emacs z ukazom


       $ emacs -fn fontset-standard




  da se bo uporabila pisava s precej mednarodnimi znaki.

  Na kratko povedano obstajata dva paketa za uporabo UTF-8 v Emacsu. Pri
  nobenem izmed njiju vam Emacsa ni potrebno e enkrat prrevajati.

  *  Paket emacs-utf (http://www.cs.ust.hk/faculty/otfried/Mule/)
     avtorja Otfrieda Cheonga omogoa v Emacsu kodiranje "unicode-utf8".

  *  Paket oc-unicode (http://www.cs.ust.hk/faculty/otfried/Mule/)
     istega avtorja je raziritev paketa Mule-UCS
     (ftp://etlport.etl.go.jp/pub/mule/Mule-UCS/Mule-UCS-0.70.tar.gz,
     zrcalni strenik tudi na
     http://riksun.riken.go.jp/archives/misc/mule/Mule-UCS/Mule-
     UCS-0.70.tar.gz) avtorja Miyashite Hisashija in v Emacsu omogoa
     kodiranje "utf-8".

  Uporabljate lahko kateregakoli izmed njiju, lahko tudi oba skupaj.
  Prednosti kodiranja po "unicode-utf8" (paket emacs-utf) sta, da se
  naloi hitreje in da se bolje obnese pri kombiniranju znakov (to je
  pomembno pri tajini).  Prednost kodiranja po "utf-8" (paket Mule-UCS
  / oc-unicode) pa je, da lahko tudi obdeluje medpomnilnik (kot npr. M-x
  shell) in ne samo nalaga in shranjuje datoteke. Prav tako bolje
  obravnava irine znakov (pomembno pri etiopini).  Zato pa je manj
  zanesljivo: po obsenem urejanju datoteke se lahko zgodi, da se po
  shranjevanju datoteke nekateri znaki iz Unicode zamenjajo z U+FFFD.

  Da namestite paket emacs-utf, najprej prevedite program "utf2mule" in
  ga namestite v enega izmed imenikov, ki so nateti v spremenljivki
  PATH. Nekam namestite tudi unicode.el, muleuni-1.el in unicode-
  char.el. Nato v datoteko $HOME/.emacs dodajte vrstice:


       (setq load-path (cons "/home/user/somewhere/emacs" load-path))
       (if (not (string-match "XEmacs" emacs-version))
         (progn
           (require 'unicode)
           ;(setq unicode-data-path "..../UnicodeData-3.0.0.txt")
           (if (eq window-system 'x)
             (progn
               (setq fontset12
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-12-*-*-*-*-*-fontset-standard"))
               (setq fontset13
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-13-*-*-*-*-*-fontset-standard"))
               (setq fontset14
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-14-*-*-*-*-*-fontset-standard"))
               (setq fontset15
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-15-*-*-*-*-*-fontset-standard"))
               (setq fontset16
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard"))
               (setq fontset18
                 (create-fontset-from-fontset-spec
                   "-misc-fixed-medium-r-normal-*-18-*-*-*-*-*-fontset-standard"))
              ; (set-default-font fontset15)
               ))))




  Katerikoli nabor pisav lahko aktivirate preko menija Mule - Set
  Font/Fontset ali s kombinacijo Shift - dol - mika - 1. Trenutno so v
  Unicode najbolje pokrite pisave z viino 15 in 13, predvsem po zaslugi
  pisav 9x15 in 6x13 Markusa Kuhna. Da bo nabor pisav postal zaetni
  nabor pisav za prvo okno ob zagonu, odkomentirajte vrstico set-
  default-font v zgornjih nastavitvah Emacsa.

  Za namestitev paketa oc-unicode vnesite ukaz


       $ emacs -batch -l oc-comp.el




  in namestite nekam tako nastale datoteko un-define.elc kot tudi oc-
  unicode.el, oc-charsets.el in oc-tools.el.  Nato v datoteko
  $HOME/.emacs dodajte vrstice:


       (setq load-path (cons "/home/user/somewhere/emacs" load-path))
       (if (not (string-match "XEmacs" emacs-version))
         (progn
           (require 'oc-unicode)
           ;(setq unicode-data-path "..../UnicodeData-3.0.0.txt")
           (if (eq window-system 'x)
             (progn
               (setq fontset12
                 (oc-create-fontset
                   "-misc-fixed-medium-r-normal-*-12-*-*-*-*-*-fontset-standard"
                   "-misc-fixed-medium-r-normal-ja-12-*-iso10646-*"))
               (setq fontset13
                 (oc-create-fontset
                   "-misc-fixed-medium-r-normal-*-13-*-*-*-*-*-fontset-standard"
                   "-misc-fixed-medium-r-normal-ja-13-*-iso10646-*"))
               (setq fontset14
                 (oc-create-fontset
                   "-misc-fixed-medium-r-normal-*-14-*-*-*-*-*-fontset-standard"
                   "-misc-fixed-medium-r-normal-ja-14-*-iso10646-*"))
               (setq fontset15
                 (oc-create-fontset
                   "-misc-fixed-medium-r-normal-*-15-*-*-*-*-*-fontset-standard"
                   "-misc-fixed-medium-r-normal-ja-15-*-iso10646-*"))
               (setq fontset16
                 (oc-create-fontset
                   "-misc-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard"
                   "-misc-fixed-medium-r-normal-ja-16-*-iso10646-*"))
               (setq fontset18
                 (oc-create-fontset
                   "-misc-fixed-medium-r-normal-*-18-*-*-*-*-*-fontset-standard"
                   "-misc-fixed-medium-r-normal-ja-18-*-iso10646-*"))
              ; (set-default-font fontset15)
               ))))




  Ustrezen nabor pisav si nastavite enako kot pri paketu emacs-utf.

  Da boste lahko naloili datoteko, kodirano v UTF-8, vtipkajte


       M-x universal-coding-system-argument unicode-utf8 RET
       M-x find-file datoteka RET




  ali


       C-x RET c unicode-utf8 RET
       C-x C-f datoteka RET




  (oz. utf-8 namesto unicode-utf8, e imate raji oc-unicode/Mule-UCS).

  Lupinsko okno z vhodom in izhodom v UTF-8 odprete, e vtipkate:



  M-x universal-coding-system-argument utf-8 RET
  M-x shell RET




  (To deluje samo z oc-unicode/Mule-UCS.)

  Upotevajte, da vse to deluje samo z Emacsom v okenskem nainu, ne pa
  v terminalskem nainu.

  Richard Stallman nartuje, da bo dolgorono dodal v Emacs integrirano
  podporo za UTF-8. Podobno nartuje tudi skupina razvijalcev XEmacsa.


  4.3.4.  Xemacs


  (Ta razdelek je napisal Gilbert Baumann.)

  XEmacs (razliica 20.4 nastavljena z MULE) si lahko prilagodite na
  UTF-8 na naslednji nain. al boste potrebovali izvorno kodo, da boste
  lahko vnesli popravke.

  Najprej potrebujete naslednji datoteki, ki ju je prispeval Tomohiko
  Morioka:

  http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-21.0-b55-emc-
  b55-ucs.diff in http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-
  ucs-conv-0.1.tar.gz.

  Konnica .diff se nanaa na izvirnik v C-ju. V paketih tar se nahaja
  koda v elispu, ki omogoa precej kodnih tabel za prenose v in iz
  Unicode. Kot je razvidno iz imena datoteke .diff, se nanaa na
  XEmacs-21. Potrebno je bilo nekaj 'popravkov'. Najbolj opazna razlika
  v izvirniku za XEmacs 20.4 je, da se je file-coding.[ch] preimenoval v
  mule-coding.[ch].

  Nekaj hitrih napotkov za vse, ki se podobno kot avtor ne spoznajo
  preve na XEmacs-MULE:

  To, kar se imenuje kodiranje (angl. encoding), se v MULE imenuje



       M-x set-file-coding-system
       M-x set-buffer-process-coding-system   [comint buffers]




  in spremenljivka `file-coding-system-alist', ki ukazu `find-file'
  pomaga uganiti uporabljen nain kodiranja. Ko zadevo poenete, morate
  najprej storiti tole.

  Ta koda preveri posebno vrstico z nainom, ki se prine z -*- nekje
  med prvimi 600 zlogi datoteke, ki jo nameravate odpreti. e se tam
  pojavi polje "Encoding: xyz;" in kodiranje 'xyz' obstaja, ga izberite.
  Sedaj lahko npr.  storite



       ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: CLEX; Encoding: utf-8; -*-



  in XEmacs se preklopi v nain utf.

  Ko ste vse pognali, Lahko definirate \u03BB (grka lambda) kot makro:



       (defmacro \u03BB (x) `(lambda .,x))





  4.3.5.  Nedit



  4.3.6.  Xedit


  e imate XFree86-4.0.1, lahko z Xeditom urejate datoteke, kodirane po
  UTF-8, e ste ustrezno nastavili locale (glejte zgoraj) in dodali
  vrstico "Xedit*international: true" v datoteko $HOME/.Xdefaults.


  4.3.7.  Axe


  V razliici 6.1.2 Axe podpira samo 8-bitne locale. e v
  $HOME/.Xdefaults dodate vrstico "Axe*international: true", se bo
  preprosto 'sesul'.


  4.3.8.  Pico



  4.3.9.  Mined98


  Mined98 (http://www.inf.fu-berlin.de/~wolff/mined.html) je preprost
  urejevalnik avtorjev Michiela Huisjesa, Achima Mllerja in Thomasa
  Wolffa.  V xtermu, ki podpira UTF-8 ali druga 8-bitna kodiranja, vam
  omogoa urejanje datotek, ki so kodirane po UTF-8 ali drugem 8-bitnem
  standardu.  Ima tudi zelo dobre monosti za vnos znakov iz nabora
  Unicode.

  Mined vam omogoa urejanje 8-bitno kodiranih in po UTF-8 kodiranih
  datotek.  Privzeto uporabi hevristino samozaznavo. e se noete
  zanaati na hevristiko, v ukazni vrstici podajte stikalo -u, kadar
  urejate datoteko po UTF-8, ali +u, kadar urejate 8-bitno kodirano
  datoteko. To lahko kadarkoli spremenite znotraj urejevalnika. V
  vrstici z menijem se prikae kodiranje z "L:h" za  8-bitna kodiranja
  in "U:h" za UTF-8. Kliknite na prvega izmed teh znakov, da to
  spremenite.

  Mined pozna znake z dvojno irino ter kombinirane znake in jih tudi
  pravilno prikae.

  Ima tudi lepo organizirane spuajoe se menije, zato pa tipke, kot so
  Home, End ali Delete, ne delujejo.


  4.4.  Programi za elektronsko poto



  MIME: RFC 2279 definira UTF-8 kot nabor znakov MIME, ki se lahko
  prenaa pod 8-bitnimi kodiranji ter kodiranjema 'quoted-printable' in
  base64. Za stareji predlog MIME UTF-7 (RFC 2152) se teje, da je v
  zatonu, zato se naj ga ne bi ve uporabljalo.

  Potni odjemalci, ki so izli po 1. januarju 1999, bi morali znati
  poiljati in prikazovati po UTF-8 kodirana sporoila, sicer se
  upotevajo kot neustrezni.  Toda ta sporoila morajo nositi oznako
  MIME


       Content-Type: text/plain; charset=UTF-8
       Content-Transfer-Encoding: 8bit




  Enostavno poiljanje po UTF-8 kodirane datoteke po cevi v "mail" brez
  popravka oznak MIME ne be uspeno.

  Programerji odjemalcev za elektronsko poto bi si morali ogledati
  strani http://www.imc.org/imc-intl/ in http://www.imc.org/mail-
  i18n.html.

  Zdaj pa k posameznim potnim odjemalcem (oz. "agentom za uporabo el.
  pote"):


  4.4.1.  Pine


  Situacija za nepopravljen Pine razliice 4.10 je naslednja.

  Pine ne izvaja pretvorb med nabori znakov. Omogoa pa vam, da si
  ogledate po UTF-8 kodirana sporoila v tekstovnem oknu, ki ima
  nastavljen UTF-8 (konzola za Linux ali xterm).

  Ponavadi vas bo Pine opozoril o drugem naboru znakov vsaki, ko
  gledate po UTF-8 kodirano sporoilo. Teh opozoril se znebite, e
  izberete S (setup), zatem C (config), nato pa "character-set"
  nastavite na UTF-8. Na ta nain ne boste storili ni posebnega, le
  opozoril ne bo ve, saj Pine nima vgrajenega nobenega znanja o UTF-8.

  Upotevajte tudi, da je pri Pinu koncept znakov iz Unicode precej
  omejen.  Prikazal bo znake v latinici in grke znake, preostalih
  znakov pa ne.

  Popravek Roberta Bradyja (el. pota: rwb197@ecs.soton.ac.uk, lokacija
  popravka: http://www.ents.susu.soton.ac.uk/~robert/pine-utf8-0.1.diff)
  doda Pinu podporo za UTF-8. S tem popravkom se zaglavja in telesa
  dekodirajo in prikaejo pravilno. Popravek je odvisen od knjinice
  libunicode (http://cvs.gnome.org/lxr/source/libunicode/) za GNOME.

  Kljub vsemu poravnava ne deluje povsod pravilno, pri odgovarjanju se
  nabor znakov ne pretvori ustrezno, urejevalnik Pico pa sploh ne zna
  delati z vezlonimi znaki.


  4.4.2.  Kmail


  Kmail (razliica, ki se distribuira s KDE 1.0) sploh ne podpira UTF-8.




  4.4.3.  Netscape Communicator


  Messenger (del Netscape Communicatorja) zna poiljati in prikazati
  sporoila, ki so kodirana po UTF-8, vendar je potrebnega tudi nekaj
  malega ronega posredovanja.

  Poiljanje po UTF-8 kodiranih sporoil: ko odprete okno za
  sestavljanje sporoila (Compose), morate e pred zaetkom pisanja
  sporoila v  meniju izbrati "View -> Character Set -> Unicode
  (UTF-8)". Potem lahko napiete sporoilo in ga odpoljete.

  Ko prejmete tako kodirano sporoilo, ga Netscape al ne bo takoj
  prikazal v pravem naboru znakov, niti vam ne bo tega vidno nakazal. V
  meniju morate rono izbrati "View -> Character Set -> Unicode
  (UTF-8)". Nato izberite kategorijo pisav Unicode.


  4.4.4.  Emacs (Rmail, Vm)



  4.4.5.  Mutt


  Mutt-1.0, ki ga lahko dobite na naslovu http://www.mutt.org/, ima zelo
  omejeno podporo za UTF-8. Za polno podporo je Edmund Grimley Evans
  naredil popravke, ki jih lahko dobite na naslovu
  http://www.rano.demon.co.uk/mutt.html.


  4.4.6.  Exmh


  Exmh 2.1.2 s Tk 8.4a1 lahko prepozna in pravilno prikae po UTF-8
  kodirana sporoila (vendar brez znakov CJK), e v datoteko
  $HOME/.Xdefaults dodate naslednje vrstice:


       !
       ! Exmh
       !
       exmh.mimeUCharsets:                     utf-8
       exmh.mime_utf-8_registry:               iso10646
       exmh.mime_utf-8_encoding:               1
       exmh.mime_utf-8_plain_families:         fixed
       exmh.mime_utf-8_fixed_families:         fixed
       exmh.mime_utf-8_proportional_families:  fixed
       exmh.mime_utf-8_title_families:         fixed





  4.5.  Obdelava besedil



  4.5.1.  Groff


  Groff 1.16, GNU izvedba tradicionalnega sistema troff/nroff za
  obdelavo besedil na Unixih, lahko na izhodu doda oblikovano besedilo z
  znaki po UTF-8. Namesto


  4.5.2.  TeX


  Distribucije TeTeX 0.9 in noveje vsebujejo prilagoditev Texa za
  Unicode, ki se imenuje Omega (http://www.gutenberg.eu.org/omega/,
  ftp://ftp.ens.fr/pub/tex/yannis/omega).  Skupaj z datoteko
  unicode.tex, ki se nahaja v utf8-tex-0.1.tar.gz vam omogoa, da kot
  vhod v TeX vnesete po UTF-8 kodirane izvirnike. Trenutno je podprtih
  na tisoe znakov iz Unicode.

  Vse, kar se spremeni, je, da poenete `omega' (namesto `tex') ali
  `lambda' (namesto `latex') in v glavo vaega izvirnika vrinete
  naslednje vrstice:


       \ocp\TexUTF=inutf8
       \InputTranslation currentfile \TexUTF






       \input unicode




  Verjetno sta tej tematiki posveeni tudi naslednji povezavi:
  http://www.dante.de/projekte/nts/NTS-FAQ.html in
  ftp://ftp.dante.de/pub/tex/language/chinese/CJK/.


  4.6.  Podatkovne baze



  4.6.1.  PostgreSQL

  PostgreSQL 6.4 ali noveji lahko zgradite z naslednjo monostjo
  nastavitve: --with-mb=UNICODE.


  4.7.  Ostali programi v tekstovnem nainu



  4.7.1.  Less


  S programom Less, ki se ga dobi na naslovu
  http://www.flash.net/~marknu/less/less-358.tar.gz, lahko brskate po
  tekstovnih datotekah, ki so kodirane po UTF-8, e konzola ali xterm
  podpira ta nain kodiranja. Prepriajte se, da spremenljivka okolja
  LESSCHARSET ni nastavljena (ali da je nastavljena na utf-8). e je
  nastavljena tudi spremenljivka LESSKEY, se prepriajte, da datoteka,
  na katero kae, ne definira spremenljivke LESSCHARSET. e je potrebno,
  naredite to datoteko e enkrat z ukazom `lesskey' ali pa spremenljivko
  LESSKEY "prekliite".


  4.7.2.  Lv


  Lv-4.21 (http://www.mt.cs.keio.ac.jp/person/narita/lv/) avtorja Tomia
  Narite je pregledovalnik datotek z vgrajenim pretvornikom med nabori
  znakov. e elite v z UTF-8 podprti konzoli pregledati po UTF-8
  kodirane datoteke, vtipkajte "lv -Au8". Lahko pa ga uporabite tudi za
  pregledovanje po drugih kodiranjih CJK kodiranih datotek v konzoli s
  podporo za UTF-8.

  Program ima tudi majhno napakico: utripa (kurzor) v xtermu izgine in
  se po koncu ne pokae znova.


  4.7.3.  Expand, Wc


  Priskrbite si GNU textutils-2.0 in uporabite popravek
  textutils-2.0.diff, nato si prilagodite nastavitve in v config.h
  dodajte vrstice "#define HAVE_MBRTOWC 1", "#define HAVE_FGETWC 1" in
  "#define HAVE_FPUTWC 1".  V datoteki src/Makefile popravite CFLAGS in
  LDFLAGS tako, da vkljuujeta tudi imenike, kjer je nameen libutf8.
  Zatem prevedite vse skupaj.


  4.7.4.  Col, Colcrt, Colrm, Column, Rev in Ul

  Priskrbite si paket util-linux-2.9y, ga nastavite in zatem v datoteki
  defines.h definirajte ENABLE_WIDECHAR. V datoteki lib/widechar.h "#if
  0" popravite v "if 1". V datoteki text-utils/Makefile, popravite
  CFLAGS in LDFLAGS tako, da vkljuujeta imenike, kjer je nameen
  libutf8. Prevedite vse skupaj.


  4.7.5.  Figlet


  Figlet 2.2 vsebuje stikalo za vnos po UTF-8: "figlet -C utf8"


  4.7.6.  Temeljni pripomoki


  Seznam ukazov in pripomokov Li18nux, ki bi moral biti povezljiv z
  UTF-8, je e vedno nepopoln in potrebuje e precej koristnih
  informacij. Avtorju to e ni uspelo :-).

  Pri glibc-2.2 bodo delovali le regularni izrazi z 8-bitnimi znaki. Pri
  locale za UTF-8 regularni izrazi, ki vsebujejo ne-ASCII znake ali kjer
  naj bi primerjali posamezne vezlone znake s ".", ne bodo delovali.
  Posledice tega se bodo poznale v vseh ukazih in pripomokih, ki so
  nateti spodaj.



     alias
        Na voljo e ni nobenih informacij

     ar Na voljo e ni nobenih informacij

     arch
        Na voljo e ni nobenih informacij

     arp
        Na voljo e ni nobenih informacij

     asa
        Na voljo e ni nobenih informacij

     at Pri at-3.1.8 sta dve uporabi isalnum v at.c neveljavni in ju je
        treba nadomestiti z uporabo quotearg.c ali s seznamom za
        izkljuevanje seznamov metaznakov iz lupine. Dve uporabi %8s v
        at.c in atd.c sta neveljavni in ju je treba popraviti na
        poljubno dolino.

     basename
        Kot pri sh-utils-2.0i: vse je v redu.

     batch
        Na voljo e ni nobenih informacij

     bc Na voljo e ni nobenih informacij

     bg Na voljo e ni nobenih informacij

     bunzip2
        Na voljo e ni nobenih informacij

     bzip2
        Na voljo e ni nobenih informacij

     bzip2recover
        Na voljo e ni nobenih informacij

     cal
        Na voljo e ni nobenih informacij

     cat
        Na voljo e ni nobenih informacij

     cd Na voljo e ni nobenih informacij

     cflow
        Na voljo e ni nobenih informacij

     chgrp
        Kot pri fileutils-4.0u: vse v redu

     chmod
        Kot pri fileutils-4.0u: vse v redu

     chown
        Kot pri fileutils-4.0u: vse v redu

     chroot
        Kot pri sh-utils-2.0i: vse v redu

     cksum
        Kot pri textutils-2.0e: vse vredu

     clear
        Na voljo e ni nobenih informacij

     cmp
        Na voljo e ni nobenih informacij

     col
        Na voljo e ni nobenih informacij

     comm
        Na voljo e ni nobenih informacij

     command
        Na voljo e ni nobenih informacij

     compress
        Na voljo e ni nobenih informacij
     cp Kot pri fileutils-4.0u: vse v redu

     cpio
        Na voljo e ni nobenih informacij

     csplit
        Na voljo e ni nobenih informacij

     ctags
        Na voljo e ni nobenih informacij

     crontab
        Na voljo e ni nobenih informacij

     cut
        Na voljo e ni nobenih informacij

     date
        Kot pri sh-utils-2.0i: vse v redu

     dd Kot pri fileutils-4.0u: stikali conv=lcase in conv=ucase ne
        delujeta pravilno

     depmod
        Na voljo e ni nobenih informacij

     df Kot pri fileutils-4.0u: vse v redu

     diff
        Kot pri diffutils-2.7 (1994): diff se ne zaveda nastavitev
        locale, nain --side-by-side zato ne izrauna pravilno irine
        stolpca, to velja celo za locale, ki temeljijo na ISO-8859-1

     diff3
        Na voljo e ni nobenih informacij

     dirname
        Kot pri sh-utils-2.0i: vse v redu

     domainname
        Na voljo e ni nobenih informacij

     du Kot pri fileutils-4.0u: vse v redu

     echo
        Kot pri sh-utils-2.0i: vse v redu

     env
        Kot pri sh-utils-2.0i: vse v redu

     expand
        Na voljo e ni nobenih informacij

     expr
        Kot pri sh-utils-2.0i: operatorji "match", "substr", "index" in
        "length" ne delujejo pravilno

     false
        Kot pri sh-utils-2.0i: vse v redu

     fc Na voljo e ni nobenih informacij

     fg Na voljo e ni nobenih informacij

     file
        Na voljo e ni nobenih informacij
     find
        Kot pri findutils-4.1.5: stikalo "-ok" e ne pozna mednarodnih
        nastavitev, popravek je e bil posredovan vzdrevalcu. Stikalo
        "-iregex" ne deluje pravilno, potreben je popravek v funkciji
        find/parser.c:insert_regex

     fort77
        Na voljo e ni nobenih informacij

     ftp[BSD]
        Na voljo e ni nobenih informacij

     fuser
        Na voljo e ni nobenih informacij

     getconf
        Na voljo e ni nobenih informacij

     getopts
        Na voljo e ni nobenih informacij

     gunzip
        Na voljo e ni nobenih informacij

     gzip
        Gzip je zmoen uporabljati UTF-8, vendar uporablja le angleka
        sporoila v naboru ASCII. Pri pravilni prilagoditvi bi bilo
        potrebno: uporabiti gettext, klicati setlocale. V funkciji
        check_ofname (datoteka gzip.c) namesto spraevanja tipa da/ne
        uporabite funkcijo rpmatch. Uporaba funkcije strlen v gzip.c:852
        je napana, potrebno je uporabiti funkcijo mbswidth.

     hash
        Na voljo e ni nobenih informacij

     head
        Na voljo e ni nobenih informacij

     hostname
        Kot pri sh-utils-2.0i: vse v redu

     id Kot pri sh-utils-2.0i: vse v redu

     ifconfig
        Na voljo e ni nobenih informacij

     imake
        Na voljo e ni nobenih informacij

     insmod
        Na voljo e ni nobenih informacij

     ipchains
        Na voljo e ni nobenih informacij

     ipcrm
        Na voljo e ni nobenih informacij

     ipcs
        Na voljo e ni nobenih informacij

     ipmasqadm
        Na voljo e ni nobenih informacij

     jobs
        Na voljo e ni nobenih informacij
     join
        Na voljo e ni nobenih informacij

     kerneld
        Na voljo e ni nobenih informacij

     kill
        Na voljo e ni nobenih informacij

     killall
        Na voljo e ni nobenih informacij

     ksyms
        Na voljo e ni nobenih informacij

     ldd
        Na voljo e ni nobenih informacij

     less
        Na voljo e ni popolnih informacij

     lex
        Na voljo e ni nobenih informacij

     lilo
        Na voljo e ni nobenih informacij

     ln Kot pri fileutils-4.0u: vse v redu

     loadkeys
        Na voljo e ni nobenih informacij

     logger
        Na voljo e ni nobenih informacij

     Logname
        Kot pri sh-utils-2.0i: vse v redu

     lp Na voljo e ni nobenih informacij

     lpc[BSD]
        Na voljo e ni nobenih informacij

     lpr[BSD]
        Na voljo e ni nobenih informacij

     lprm[BSD]
        Na voljo e ni nobenih informacij

     lpq[BSD]
        Na voljo e ni nobenih informacij

     ls Kot pri fileutils-4.oy: vse v redu

     lsmod
        Na voljo e ni nobenih informacij

     m4 Na voljo e ni nobenih informacij

     mailx
        Na voljo e ni nobenih informacij

     make
        Na voljo e ni nobenih informacij


     mesg
        Na voljo e ni nobenih informacij

     mkdir
        Kot pri fileutils-4.0u: vse v redu

     mkfifo
        Kot pri fileutils-4.0u: vse v redu

     mkfs
        Na voljo e ni nobenih informacij

     mkswap
        Na voljo e ni nobenih informacij

     modprobe
        Na voljo e ni nobenih informacij

     more
        Na voljo e ni nobenih informacij

     mount
        Na voljo e ni nobenih informacij

     mv Kot pri fileutils-4.0u: vse v redu

     netstat
        Na voljo e ni nobenih informacij

     newgrp
        Na voljo e ni nobenih informacij

     nice
        Kot pri sh-utils-2.0i: vse v redu

     nl Na voljo e ni nobenih informacij

     nohup
        Kot pri sh-utils-2.0i: vse v redu

     nslookup
        Na voljo e ni nobenih informacij

     nm Na voljo e ni nobenih informacij

     od Na voljo e ni nobenih informacij

     passwd[BSD]
        Na voljo e ni nobenih informacij

     paste
        Na voljo e ni nobenih informacij

     patch
        Na voljo e ni nobenih informacij

     pathchk
        Kot pri sh-utils-2.0i: vse v redu

     ping
        Na voljo e ni nobenih informacij

     printf
        Kot pri sh-utils-2.0i: vse v redu


     pr Na voljo e ni nobenih informacij

     ps Na voljo e ni nobenih informacij

     pwd
        Kot pri sh-utils-2.0i: vse v redu

     read
        Na voljo e ni nobenih informacij

     rdev
        Na voljo e ni nobenih informacij

     reboot
        Na voljo e ni nobenih informacij

     renice
        Na voljo e ni nobenih informacij

     rm Kot pri fileutils-4.0u: vse vredu

     rmdir
        Kot pri fileutils-4.0u: vse vredu

     rmmod
        Na voljo e ni nobenih informacij

     shar[BSD]
        Na voljo e ni nobenih informacij

     shutdown
        Na voljo e ni nobenih informacij

     sleep
        Kot pri sh-utils-2.0i: vse v redu

     split
        Na voljo e ni nobenih informacij

     strings
        Na voljo e ni nobenih informacij

     strip
        Na voljo e ni nobenih informacij

     stty
        Kot pri sh-utils-2.o1: niza "<undef>" se ne bi smelo prevajati,
        potreben je popravek v funkciji stty.c:visible.

     su[BSD]
        Na voljo e ni nobenih informacij

     sum
        Kot pri textutils-2.0e: vse v redu

     tac
        Na voljo e ni nobenih informacij

     tail
        Na voljo e ni nobenih informacij

     talk
        Na voljo e ni nobenih informacij

     tar
        Kot pri tar-1.13.17: v redu e sta imeni uporabnika in skupine
        vedno zapisani v ASCII

     tclsh
        Na voljo e ni nobenih informacij

     tee
        Kot pri Sh-utils-2.0i: vse v redu

     telnet
        Na voljo e ni nobenih informacij

     test
        Kot pri sh-utils-2.0i: vse v redu

     time
        Na voljo e ni nobenih informacij

     touch
        Kot pri fileutils-4.0u: vse v redu

     tput
        Na voljo e ni nobenih informacij

     tr Na voljo e ni nobenih informacij

     true
        Kot pri Sh-utils-2.0i: vse v redu

     tsort
        Na voljo e ni nobenih informacij

     tty
        Kot pri sh-utils-2.0i: vse v redu

     type
        Na voljo e ni nobenih informacij

     ulimit
        Na voljo e ni nobenih informacij

     umask
        Na voljo e ni nobenih informacij

     umount
        Na voljo e ni nobenih informacij

     unalias
        Na voljo e ni nobenih informacij

     uname
        Kot pri sh-utils-2.0i: vse v redu

     uncompress
        Na voljo e ni nobenih informacij

     unexpand
        Na voljo e ni nobenih informacij

     uniq
        Na voljo e ni nobenih informacij

     unlink
        Na voljo e ni nobenih informacij

     uudecode
        Na voljo e ni nobenih informacij
     uuencode
        Na voljo e ni nobenih informacij

     wait
        Na voljo e ni nobenih informacij

     wc Kot pri textutils-2.oe: wc ne more preteti znakov, popravek je
        e posredovan vzdrevalcu

     who
        Kot pri sh-utils-2.0i: vse v redu

     wish
        Na voljo e ni nobenih informacij

     write
        Na voljo e ni nobenih informacij

     xargs
        Kot pri findutils-4.1.5: program uporabi strstr, popravek je e
        posredovan vzdrevalcu

     yacc
        Na voljo e ni nobenih informacij

     zcat
        Na voljo e ni nobenih informacij


  4.8.  Preostali programi za X11


  Owen Taylor trenutno razvija knjinico pango za prikaz vejezinih
  besedil. Ve informacij na http://www.labs.redhat.com/~otaylor/pango/
  in http://www.pango.org/.



  5.  Tiskanje


  Ker postscript sam po sebi ne podpira pisav Unicode, morajo vso
  odgovornost za podporo Unicode pri tiskanju prevzeti programi, ki
  naredijo datoteko v postscriptu, ne pa interpreter postscripta.

  Obstojee pisave postscript, ki so bile opaene do sedaj: (.pfa / .pfb
  / .afm / .pfm / .gsf) podpirajo samo majhno podroje simbolov in niso
  pisave Unicode.


  5.1.  Tiskanje z uporabo pisav TrueType


  Tako uniprint kot wprint omogoata dobro tiskanje tekstovnih datotek,
  ki so kodirane po Unicode. Oba zahtevata nameene pisave TrueType.
  Oglejte si razdelek "Pisave TrueType". Pisava Bitstream Cyberbit da
  dobre rezultate.


  5.1.1.  Uniprint


  Program "uniprint", ki je del paketa Yudit, zna tekstovno datoteko
  pretvoriti v postscript. Da bo uniprint lahko nael pisavo Cyberbit,
  naredite simbolino povezavo na
  /usr/local/share/yudit/data/cyberbit.ttf.
  5.1.2.  Wprint


  Program "wprint" (WorldPrint)
  (http://ttt.esperanto.org.uy/programoj/angle/wprint.html) avtorja
  Eduarda Trapanija naknadno obdela izhod v postscriptu, ki ga iz strani
  HTML ali tekstovnih datotek izdelata Netscape Communicator ali
  Mozilla.

  Rezultat je skorajda popoln, le v odstavkih s cirilico prihaja do
  nepravilnih prelomov vrstic, saj so vrstice iroke samo polovico
  priakovane irine.


  5.1.3.  Primerjava


  Pri tekstovnih datotekah je splona razporeditev pri uniprintu
  nekoliko bolja, zato pa samo wprint pravilno izpie besedila v
  tajini.


  5.2.  Klasini pristop


  Drug nain za tiskanje s pisavami TrueType je pretvorba te pisave v
  pisavo za postscript s pomojo pripomoka ttf2pt1
  (http://www.netspace.net.au/~mheath/ttf2pt1/ ali
  http://quadrant.netspace.net.au/ttf2pt1/).  Podrobnosti lahko najdete
  v dokumentu Juliusa Chroboczeka "Printing with TrueType fonts in Unix"
  na naslovu
  http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/printing.html.


  5.2.1.  TeX, Omega


  Raziskati je treba e: CJK, metafont, omega, dvips, odvips,
  utf8-tex-0.1


  5.2.2.  DocBook


  Raziskati je treba e: db2ps, jadetex


  5.2.3.  Groff -Tps


  "groff -Tps" naredi izhod v postscriptu. Njegov gonilnik za postscript
  podpira zelo omejen nabor znakov iz Unicode (samo tisto, kar
  postscript podpira e sam po sebi).


  5.3.  Ni bilo sree z ...

  5.3.1.  Tiskanje iz Netscapa


  V razliici 4.72 Netscape Communicator ne zna pravilno natisniti
  strani HTML, ki so kodirane po UTF-8. Ne preostane vam ni drugega kot
  wprint.



  5.3.2.  Tiskanje iz Mozille


  V razliici M16 tiskanje oitno sploh ni izvedeno.


  5.3.3.  Html2ps


  V razliici 1.0b1 pretvornik iz HTML v postscript html2ps ne podpira
  po UTF-8 kodiranih strani HTML in ne zna ravnati s pisavami. To
  pomeni, da zmeraj uporablja standardne pisave postscript.


  5.3.4.  A2ps


  V razliici 4.12 a2ps ne podpira tiskanja besedil, kodiranih po UTF-8.


  5.3.5.  Enscript


  V razliici 1.6.1 enscript ne podpira tiskanja besedil, kodiranih po
  UTF-8.  Privzeto uporablja samo standardne pisave postscript, mono pa
  je vkljuiti tudi druge pisave.


  6.  Kaj narediti, da se bodo vai programi "zavedali" standarda Uni
  code



  6.1.  C/C++


  C-jevski tip `char' je 8-bitni in bo tak tudi ostal, ker je tolikna
  najmanja naslovljiva podatkovna enota. Na voljo je ve pripomokov:


  6.1.1.  Za obiajno ravnanje s tekstom


  Standard ISO/ASCII vsebuje v skladu z dopolnili iz leta 1995 tip
  "irokega znaka" (angl. "wide character") `wchar_t', nabor "dvojnikov"
  funkcij iz <string.h> in <ctype.h> (deklarirane so v <wchar.h> in
  <wctype.h>) in nabor funkcij za pretvorbo med tipoma (deklarirane so v
  <stdlib.h>).

  Dobre reference za ta programerski vmesnik so

  *  The GNU libc-2.1 Manual, poglavji 4 "Character Handling" (ravnanje
     z znaki) in 6 "Character Set Handling" (ravnanje z nabori znakov)

  *  prironike strani man-mbswcs.tar.gz, zdaj se jih dobi tudi na
     lokaciji ftp://ftp.win.tue.nl/pub/linux-local/manpages/man-
     pages-1.29.tar.gz

  *  predstavitev skupine OpenGroup: http://www.unix-
     systems.org/version2/whatsnew/login_mse.html,

  *  Specifikacije Single Unix iste skupine: http://www.UNIX-
     systems.org/online.html,

  *  Standard ISO/IEC 9899:1999 (ISO C 99). Zadnji osnutek pred njegovim
     sprejetjem se imenuje n2794. Najdete ga na naslovu
     ftp://ftp.csn.net/DMK/sc22wg14/review/ ali http://java-
     tutor.com/docs/c/.

  *  Predstavitev Cliva Featherja na
     http://www.lysator.liu.se/c/na1.html,

  *  Dinkumwarov referenni prironik h knjinici C:
     http://www.dinkumware.com/htm_cl/.

  Prednosti uporabe tega programerskega vmesnika:

  *  Od proizvajalcev neodvisen standard

  *  Funkcije naredijo pravo stvar, odvisno od uporabnikove nastavitve
     locale.  V programu je potrebno le poklicati funkcijo
     setlocale(LC_ALL,"");.

  Pomanjkljivosti tega programerskega vmesnika:

  *  Nekatere funkcije niso varne v venitnem (angl. multithread)
     delovanju, saj obdrijo skrito notranje stanje med klici funkcij.

  *  Ni prvorazrednega podatkovnega tipa za locale. Zato tega
     programerskega vmesnika ni pametno uporabljati povsod, kjer je
     istoasno potrebnih ve localov ali naborov znakov.

  *  Pri nekaterih operacijskih sistemih ni dobre podpore za ta
     programerski vmesnik.


  6.1.1.1.  Opombe o prenosljivosti


  Tip `wchar_t' je lahko ali pa tudi ne kodiran po Unicode. To je
  odvisno od sistema in vasih tudi od nastavitev locale. Enako velja za
  kodiranje vezlone sekvence sekvence `char *' po UTF-8.

  Podrobneje o tipu 'wchar_t pravi Single Unix specification tole :
   Vse kode za "iroke" znake v danem procesu se sestojijo iz enakega
  tevila bitov. To je v nasprotju z znaki, ki se lahko sestojijo iz
  spremenljivega tevila zlogov. Zlog ali zaporedje zlogov, ki
  predstavlja znak, je lahko predstavljen tudi kot koda "irokega"
  znaka.  Kode "irokih" znakov tako omogoajo uniformno velikost za
  ravnanje s tekstovnimi podatki. Koda "irokega" znaka, kjer so vsi
  biti enaki 0, je znak 'null' za "iroke" znake in oznauje konec niza
  iz "irokih" znakov.  Vrednost "irokega" znaka za vsakega lana
  prenosnega nabora znakov   (t. j. ASCII) bo enaka svoji vrednosti, ko
  se jo uporabi kot osamljen znak v celotevilski znakovni konstanti.
  Kode "irokih" znakov za ostale znake so odvisne od locale in od
  izvedbe. Zlogi za stanje premika nimajo predstavitve med "irokimi"
  znaki.

  Posledica tega je, da v prenosljivih programih ne smete uporabljati
  ne-ASCII znakov v konstantnih nizih. To pomeni, da etudi poznate
  Unicode kodi za dvojni narekovaj (U+201C in U+201D), v programih v
  jeziku C ne smete zapisati niza L"\u201cLep pozdrav,\u201d je rekel"
  ali "\xe2\x80\x9cLep pozdrav,\xe2\x80\x9d" je rekel". Namesto tega
  uporabite GNU gettext in isto stvar napiite kot gettext("'Lep
  pozdrav,' je said") in naredite podatkovno bazo sporoil sl.po, ki
  "'Lep pozdrav,' je rekel" prevede v "\u201cLep pozdrav,\u201d je
  rekel".

  Sledi prikaz prenosljivosti pripomokov za ISO/ANSI C med razlinimi
  vrstami Unixa. GNU glibc-2.2 podpira vse izmed njih, trenutna slika pa
  je takna.

     GNU glibc-2.0.x, glibc-2.1.x

     *  <wchar.h> in <wctype.h> obstajata.

     *  Obstajata funkciji wcs in mbs, ne pa fgetwc, fputwc in wprintf.

     *  Locale za UTF-8 ne obstaja

     *  mbrtowc vrne EILSEQ za zloge, ki so veji ali enaki 0x80.

     AIX 4.3

     *  <wchar.h> in <wctype.h> obstajata.

     *  Obstajata funkciji wcs in mbs, ravno tako fgetwc, fputwc,
        wprintf idr.

     *  Precej localov za UTF-8, po eden za vsako dravo.

     *  Za definiranje mbstate_t je potreben -D_XOPEN_SOURCE=500.

     *  mbrtowc deluje.

     Solaris 2.7

     *  <wchar.h> in <wctype.h> obstajata.

     *  Obstajata funkciji wcs in mbs, ravno tako fgetwc, fputwc,
        wprintf idr.

     *  Ima naslednje locale za UTF-8: en_US.UTF-8, de.UTF-8, es.UTF-8,
        fr.UTF-8, it.UTF-8, sv.UTF-8.

     *  mbrtowc vrne -1/EILSEQ (namesto -2) za zloge, ki so veji ali
        enaki 0x80.

     OSF/1 4.0d

     *  <wchar.h> in <wctype.h> obstajata.

     *  Obstajata funkciji wcs in mbs, ravno tako fgetwc, fputwc,
        wprintf idr.

     *  Ima dodan locale universal.utf8@ucs4, oglejte si "man 5
        unicode".

     *  mbrtowc ne pozna UTF-8.

     Irix 6.5

     *  <wchar.h> in <wctype.h> obstajata.

     *  Obstajata funkciji wcs in mbs, ravno tako fgetwc in fputwc,
        wprintf pa ne obstaja

     *  Nima vezlonih localov.

     *  Vsebuje le deklaracijo za mbstate_t, ki bo verjetno definiran v
        prihodnosti.

     *  Ne vsebuje mbrtowc.

     HP-UX 11.00

     *  <wchar.h> obstaja, <wctype.h> pa ne.

     *  Obstajata funkciji wcs in mbs, ravno tako fgetwc in fputwc,
        wprintf pa ne obstaja

     *  Vsebuje locale C.utf8.

     *  Ne vsebuje mbstate_t.

     *  Ne vsebuje mbrtowc.

  Posledino se priporoa uporaba funkcij wcsr in mbsr, ki ju je mogoe
  ponovno pognati in sta primerni za venitno delovanje, pozabite pa na
  sisteme, ki teh funkcij nimajo (Irix, HP-UX, AIX) in uporabljate
  vtinico za locale, ki podpira UTF-8 - libutf8_plug.so (gl. spodaj) na
  sistemih, ki dovoljujejo prevajanje programov, ki uporabljajo ti
  funkciji wcsr in mbsr (Linux, Solaris, OSF/1).

  Podobno svetuje tudi Sun v http://www.sun.com/software/white-
  papers/wp-unicode/, v razdelku "Internationalized Applications with
  Unicode":

  Za pravilno lokalizacijo programov upotevajte naslednje napotke:

  1. Izogibajte se neposrednemu dostopu z Unicode. To je opravilo za
     lokalizacijski del vaega sistema.

  2. Uporabljajte model POSIX za vmesnik do vezlonih in "irokih"
     znakov.

  3. Uporabljajte samo programerske vmesnike, ki jih pozna
     lokalizacijski okvir za operacije z jezikovnimi in kulturnimi
     posebnostmi.

  4. Ostanite neodvisni od nabora znakov.

  e iz kakrnega koli razloga v delu programa zares morate
  predpostaviti, da je `wchar_t' Unicode (npr. e elite posebno
  obdelavo nekaterih znakov iz Unicode), morate ta kos programa narediti
  pogojno odvisen od rezultata funkcije is_locale_utf8(). Sicer boste
  pomeali obnaanje programa v razlinih localih in sistemih. Funkcija
  is_locale_utf8 je deklarirana v utf8locale.h in definirana v
  utf8locale.c.


  6.1.1.2.  Knjinica libutf8


  Prenosljiva izvedba programerskega vmesnika ISO/ANSI C, ki podpira
  8-bitne in UTF-8 locale, se nahaja v libutf8-0.7.3.tar.gz.

  Prednosti:

  *  Prenosljiva podpora za Unicode UTF-8 sedaj tudi pri operacijskih
     sistemih, kjer podpora za vezlone znake ne deluje ali celo sploh
     nimajo tovrstne podpore.

  *  Ista binarna koda deluje v vseh operacijskih sistemih s podporo za
     8-bitne in UTF-8 locale.

  *  Ko proizvajalec operacijskega sistema doda ustrezno podporo za
     vezlone znake, lahko to izkoristite z enostavnim ponovnim
     prevajanjem brez uporabe stikala -DHAVE_LIBUTF8.





  6.1.1.3.  Reitev pri Plan9


  Operacijski sistem Plan9 (zvrst Unixa) uporablja UTF-8 za kodiranje
  znakov v vseh programih. Njegov tip za "iroke" znake se imenuje
  `Rune' in ne `wchar_t'. Deli njegove knjinice, avtor je Rob Pike, so
  dostopni na
  ftp://ftp.cdrom.com/pub/netlib/research/9libs/9libs-1.0.tar.gz.
  Podobna knjinica avtorja Alistairja G. Crooksa se nahaja na
  ftp://ftp.cdrom.com/pub/NetBSD/packages/distfiles/libutf-2.10.tar.gz.
  Obe knjinici vsebujeta iskalnik po regularnih izrazih, ki se zaveda
  UTF-8.

  Pomanjkljivost tega programerskega vmesnika:

  *  UTF-8 je e vgrajen vanj, ne pa ponujen kot monost. Programi, ki
     jih prevedete z njim, izgubijo podporo za 8-bitne nabore znakov, ki
     so e vedno pogosti v Evropi.


  6.1.2.  Za grafini uporabniki vmesnik


  Knjinica Qt-2.0 (http://www.troll.no/) vsebuje razred QString, ki
  pokriva celoten Unicode. Za pretvarjanje v/iz UTF-8 lahko uporabljate
  lanski funkciji QString::utf8 in QString::fromUtf8.  Funkcij
  QString::ascii in QString::latin1 se ne bi smelo ve uporabljati.


  6.1.3.  Za napredneje ravnanje s tekstom


  Prej omenjene knjinice izvedejo Unicoda zavedajoe se razliice
  konceptov ASCII. Sedaj pa si oglejmo e knjinice, ki imajo opravka s
  konceptom Unicode, npr. tretji tip rk (razlien od malih in velikih
  rk), loevanje med slovninimi znamenji in simboli, kanonina
  razgradnja, kombiniranje razredov, kanonino urejanje ipd.


     ucdata-2.4
        Knjinica ucdata ( http://crl.nmsu.edu/~mleisher/ucdata.html)
        avtorja Marka Leisherja se ukvarja z lastnostmi znakov,
        pretvorbo med malimi in velikim rkami, razstavljanjem in
        kombiniranjem razredov. Pridruen mu je tudi paket ure-0.5
        (http://crl.nmsu.edu/~mleisher/ure-0.5.tar.gz) za izvajanje
        regularnih izrazov pod Unicode.


     ustring
        Kninica za C++ ustring (http://ustring.charabia.net/) avtorja
        Rodriga Reyesa se ukvarja z lastnostmi znakov, pretvorbo med
        velikimi in malimi rkami, razstavljanjem, kombiniranjem
        razredov in vkljuuje e izvajalnik regularnih izrazov za
        Unicode.


     ICU
        ICU pomeni International Components for Unicode
        (http://oss.software.ibm.com/icu/, glejte tudi
        http://oss.software.ibm.com/icu/icuhtml/API1.5/).  IBMova zelo
        obsena knjinica za internacionalizacijo s podporo za nize po
        Unicode, zdruevanje sredstev, oblikovanje tevilk, asa,
        datuma, sporoil, povzemanje itd. Podprtih je veliko localov.
        Prenosljiva je na Unix in Win32, vendar se do konca (brez
        potrebnih naknadnih popravkov) prevede le pri libc6 na Linuxu,
        ne pa pri libc5.
     libunicode
        Gnomova knjinica libunicode
        (http://cvs.gnome.org/lxr/source/libunicode/) avtorja Toma
        Tromeya in ostalih pokriva pretvorbo med nabori znakov,
        lastnosti znakov in razstavljanje.



  6.1.4.  Za pretvarjanje


  Na voljo sta dve vrsti knjinic za pretvorbo, ki podpirajo UTF-8 in
  precej 8-bitnih naborov znakov:


  6.1.4.1.  iconv


  Izvedba knjinice avtorja Ulricha Drepperja se nahaja v GNU
  glibc-2.1.3 (ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.1.3.tar.gz).
  Prironike strani se nahajajo na ftp://ftp.win.tue.nl/pub/linux-
  local/manpages/man-pages-1.29.tar.gz.

  Prenosljiva izvedba avtorja Bruna Haibla se nahaja na
  ftp://ftp.ilog.fr/pub/Users/haible/gnu/libiconv-1.3.tar.gz.

  Prenosljiva izvedba avtorja Konstantina ugejeva (joy@urc.ac.ru) pa je
  na voljo na
  ftp://ftp.urc.ac.ru/pub/local/OS/Unix/converters/iconv-0.4.tar.gz.

  Prednosti:

  *  Knjinica iconv je standardizirana po POSIX, programi, ki jo
     uporabljajo za pretvarjanje v/iz UTF-8, bodo delovali tudi pod
     Solarisom. Vendar pa se imena naborov znakov nekoliko razlikujejo
     med razlinimi operacijskimi sistemi, npr.  "EUC-JP" pod glibc je
     "eucJP" pod HP-UX (uradno ime IANA za ta nabor znakov je "EUC-JP",
     tako da je to nedvomno zmota HP-UX).

  *  Na sistemih z glibc-2.1 ni potrebna nobena dodatna knjinica. Na
     ostalih sistemih je potrebna ena izmed ostalih dveh izvedb
     knjinice.


  6.1.4.2.  librecode


  Librecode avtorja Franoisa Pinarda se dobi na naslovu
  ftp://ftp.gnu.org/pub/gnu/recode/recode-3.5.tar.gz.

  Prednosti:

  *  Podpora za transliteracijo, t.j. pretvorba ne ASCII znakov v
     zaporedja znakov ASCII, da se ohrani berljivost tudi, kadar ni
     mogoa pretvorba brez izgub.

  Pomanjkljivosti:

  *  Nestandarden programerski vmesnik

  *  Poasna inicializacija.





  6.1.4.3.  ICU


  ICU pomeni International Components for Unicode in se ga dobi na
  http://oss.software.ibm.com/icu/ (glejte tudi
  http://oss.software.ibm.com/icu/icuhtml/API1.5/).  IBMova knjinica za
  internacionalizacijo ima tudi orodja za pretvorbo, ki so deklarirana v
  `ucnv.h'.

  Prednosti:

  *  Obseen nabor podprtih kodiranj.

  Pomanjkljivosti:

  *  Nestandarden programerski vmesnik


  6.1.5.  Ostali pristopi



     libutf-8
        Libutf-8 avtorja G. Adama Stanislava (adam@whizkidtech.net)
        vsebuje nove funkcije za sprotno pretvorbo v/iz po UTF-8
        kodiranih tokov `FILE*'. Dobite jo na
        http://www.whizkidtech.net/i18n/libutf-8-1.0.tar.gz.

        Prednosti:

     *  Zelo majhna

        Pomanjkljivosti:

     *  Nestandarden programerski vmesnik

     *  UTF-8 je e vgrajen vanj in ni dodan kot monost. Programi, ki
        se prevedejo s to knjinico, izgubijo podporo za 8-bitna
        kodiranja, ki so e vedno pogosta v Evropi.

     *  Namestitev ni enostavna, Makefile je potrebno rono nastaviti,
        ni samodejnega nastavljanja



  6.2.  Java


  Java ima podporo za Unicode e vgrajeno v jezik. Tip 'char'
  predstavlja znak po Unicode in razred `java.lang.String' predstavlja
  niz, sestavljen iz znakov Unicode.

  Java lahko skozi svoj okenski sistem AWT prikae katerikoli znak iz
  Unicode, e: 1. ustrezno nastavite Javino sistemsko lastnost
  "user.language", 2. so definicije pisav
  /usr/lib/java/lib/font.properties.jezik ustrezno nastavljene, 3. so
  namecene pisave, ki so doloene v tej datoteki.  Da lahko npr.
  prikaete japonske znake, morate najprej namestiti japonske pisave in
  pognati "java -Duser.language=ja ...". Mogoe je kombinirati nabore
  pisav: e elite hkrati prikazati zahodnoevropske, grke in japonske
  znake, morate narediti kombinacijo datotek "font.properties" (pokriva
  ISO-8859-1), "font.properties.el" (pokriva ISO-8859-7) in
  "font.properties.ja" v eno datotek.  ??To ni preizkueno??

  Vmesnika java.io.DataInput in java.io.DataOutput vsebujeta metodi
  `readUTF' in `writeUTF'. Upotevajte pa, da ne uporabljata UTF-8.
  Namesto tega uporabljata spremenjeno kodiranje UTF-8: znak NUL je
  kodiran kot dvozlono zaporedje 0xC0 0x80 namesto 0x00 in zlog 0x00 se
  doda na koncu. Tako kodirani nizi lahko vsebujejo znake NUL in kljub
  vsemu ni potrebno, da se jim na zaetek doda polje length. Zato lahko
  z njimi manipulirajo tudi Cjevske funkcije iz <string.h>, npr.
  strlen() in strcpy().


  6.3.  Lisp


  Standard Common Lisp doloa dva znakovna tipa: `base-char' in
  `character'.  Podpora za Unicode je odvisna od izvedbe. Jezik doloa
  tudi parameter za kljuno besedo `:external-format' v `open' kot
  logino mesto za doloanje nabora znakov ali kodiranja.

  Med brezplanimi izvedbami Common Lispa samo CLISP
  (http://clisp.cons.org/) podpira Unicode. Potrebujete razliico CLISPA
  z marca 2000 ali novejo
  (ftp://clisp.cons.org/pub/lisp/clisp/source/clispsrc.tar.gz).  Tipa
  `base-char' in `character' sta ekvivalentna 16-bitnemu Unicode.
  Funkciji char-width in string-width omogoata programerski vmesnik
  primerljiv z wcwidth() in wcswidth(). Kodiranje za vhodno izhodne
  operacije datotek, cevi ali mrenih prikljukov se lahko doloi preko
  parametra `:external-format'. Kodiranja za tty in privzeta kodiranja
  za datoteke, cevi oz.mrene prikljuke so odvisna od locale.

  Med komercialnimi izvedbami Common Lispa:

  LispWorks (http://www.xanalys.com/software_tools/products/) podpira
  Unicode.  Tip `base-char' je ekvivalenten ISO-8859-1, tip `simple-
  char' (podtip tipa `character') vsebuje vse znake iz Unicode.
  Kodiranje za vhod/izhod datotenih operacij se lahko doloi preko
  parametra `:external-format', npr.  Omejitve: kodiranje se ne more
  uporabljati za vhodno izhodne operacije omrenih prikljukov. Z
  urejevalnikom ni mogoe urejati po UTF-8 kodiranih datotek.

  Eclipse (http://www.elwood.com/eclipse/eclipse.htm) podpira Unicode.
  Oglejte si http://www.elwood.com/eclipse/char.htm.  Tip `base-char' je
  enakovreden ISO-8859-1, tip `character' pa vsebuje vse znake Unicode.
  Kodiranje za vhodno izhodne operacije nad datotekami se lahko doloi s
  kombinacijo parametrov `:element-type' in `:external-format' k `open'.
  Omejitve: funkcije za lastnosti znakov so odvisne od locale. Izvorne
  in prevedene izvorne datoteke ne morejo vsebovati konstantnih nizov z
  znaki iz Unicode.

  Komercialna izvedba Common Lispa Allegro CL bo vsebovala podporo za
  Unicode v prihajajoi razliici 6.0.


  6.4.  Ada95


  Ada 95 je bila izdelana za podporo Unicode in standardna knjinica
  Ada95 pozna posebna podatkovna tipa Wide_Character in Wide_String  za
  ISO 10646-1, kot tudi tevilne pridruene funkcije. Prevajalnik GNU
  Ada95 (gnat-3.11 ali noveji) podpira UTF-8 kot zunaje kodiranje
  irokih znakov. To vam omogoa uporabo UTF-8 tako v izvorni kodi kot
  tudi v vhodno/izhodnih operacijah programov. Da v programu aktivirate
  to monost, uporabite "WCEM=8" v nizu FORM, ko odpirate datoteko in
  vklopite prevajalnikovo stikalo "-gnatW8", e je izvorna koda kodirana
  po UTF-8. Za podrobnosti si oglejte referenna prironika za GNAT
  (ftp://cs.nyu.edu/pub/gnat/) in Ada95
  (ftp://ftp.cnam.fr/pub/Ada/PAL/userdocs/docadalt/rm95/index.htm).


  6.5.  Python


  Python 2.0 (http://starship.python.net/crew/amk/python/writing/new-
  python/new-python.html) bo vseboval podporo za Unicode. Imel bo tudi
  podatkovni tip `unicode', ki bo predstavljal niz v Unicode, modul
  `unicodedata' za lastnosti znakov in nabor pretvornikov za
  najpomembneja kodiranja. Za podrobnosti si oglejte
  http://starship.python.net/crew/lemburg/unicode-proposal.txt.


  6.6.  JavaScript/ECMAscript


  Od Javascripta razliice 1.3 naprej so nizi vedno kodirani po Unicode.
  Znakovnega tipa ni, lahko pa uporabljate oznabo \uXXXX za znake iz
  Unicode znotraj nizov. Ne opravi se nobena notranja normalizacija,
  zato se priakuje sprejem Unicode Normalization Form C, ki ga
  priporoa W3C. Za podrobnosti si oglejte
  http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html#Unicode
  in http://developer.netscape.com/docs/javascript/e262-pdf.pdf za
  popolno specifikacijo ECMAscript.


  6.7.  Tcl


  Tcl/Tk je priel uoporabljati Unicode kot osnovni nabor znakov v
  razliici 8.1.  Njegova notranja predstavitev nizov je UTF-8. Podpira
  oznaevanje \uXXXX za znake iz Unicode. Oglejte si
  http://dev.scriptics.com/doc/howto/i18n.html.


  6.8.  Perl


  Perl 5.6 notranje shranjuje nize v zapisu UTF-8, e na zaetku skripta
  vnesete


       use utf8;




  length() vrne tevilo znakov v nizu. Za podrobnosti si oglejte Perl-
  i18n FAQ na naslovu http://rf.net/~james/perli18n.html.



  7.  Ostali viri informacij



  7.1.  Dopisni seznami


  irok krog obinstva lahko doseete na naslednjih dopisnih seznamih.

  Upotevajte, da morate tam, kjer stoji `na', dejansko vnesti `@'
  (zaradi prepreevanja nezaelenih sporoil)





  7.1.1.  linux-utf8


  Naslov: linux-utf8 na nl.linux.org

  Ta dopisni seznam je namenjen internacionalizaciji z Unicode in zajema
  iroko podroje tem od gonilnikov za tipkovnico do pisav za X11.

  Arhivi se nahajajo na naslovu http://mail.nl.linux.org/linux-utf8/.

  Vpiete se tako, da na naslov majordomo na nl.linux.org poljete
  sporoilo z vrstico "subscribe linux-utf8" v telesu sporoila.


  7.1.2.  li18nux


  Naslov: linux-i18n na sun.com

  Ta dopisni seznam se osredotoa na organiziranje dela pri
  internacionalizaciji Linuxa in urejanju sestankov med ljudmi.

  Vpiete se tako, da na naslovu http://www.li18nux.org/ izpolnite
  obrazec in ga poljete na naslov linux-i18n-request na sun.com.


  7.1.3.  unicode


  Naslov: unicode na unicode.org

  Ta dopisni seznam se osredotoa na standardizacijo, nadaljnji razvoj
  standarda Unicode in s tem povezane tehnologije, kot npr. Bidi in
  algoritmi za sortiranje.

  Arhivi se nahajajo na naslovu
  ftp://ftp.unicode.org/Public/MailArchive/, vendar se ne posodabljajo
  redno.

  Za informacije o vpisu si oglejte
  http://www.unicode.org/unicode/consortium/distlist.html.


  7.1.4.  Internacionalizacija X11


  Naslov: i18n na xfree86.org

  Ta dopisni seznam je namenjen ljudem, ki se ukvarjajo z boljo
  internacionalizacijo sistema X11/XFree86.

  Arhivi se nahajajo na naslovu http://devel.xfree86.org/archives/i18n/.

  Vpiete se tako, da poljete sporoilo prijazni osebi na naslovu i18n-
  request na xfree86.org z razlago vae motivacije.


  7.1.5.  Pisave za X11


  Naslov: fonts na xfree86.org

  Ta dopisni seznam je namenjen ljudem, ki se ukvarjajo s pisavami
  Unicode in podsistemom pisav za sistem X11/XFree86.


  Arhivi se nahajajo na http://devel.xfree86.org/archives/fonts/.

  Vpiete se tako, da prezaposleni osebi na naslovu fonts-request na
  xfree86.org poljete sporoilo z obrazloitvijo vae motivacije.
