Sledovat' standartu eto eshche ne vse. V real'noj zhizni nado obespechit' eshche i obratnuyu sovmestimost'. V nashem sluchae, eto oznachaet, chto nashi nastrojki ne dolzhny prepyatstvovat' sozdaniyu dannyh, s pomoshch'yu drugih kodirovok, otlichnyh ot standartnoj. |to mogut byt' dannye v Alt (cp866) ili v cp1251. Takzhe dolzhna byt' vozmozhnost' zapuskat' russkoyazychnye programmy iz MS-DOS.
V bol'shinstve sluchaev (krome HTTP), dostatochno obespechit' konvertaciyu dannyh v KOI8-R. Esli my govorim o dannyh s prostoj strukturnoj organizaciej, to eto prosto - smotrite razdel Simvol'naya perekodirovka.
Drugoe delo eto dannye s opredelennoj strukturoj. V etom sluchae dejstviya ne tak trivial'ny. YA poprobuyu opisat' standartnye podhody dlya resheniya etoj problemy.
MIME format - standartnoe arhitekturno nezavisimoe predstavlenie
dannyh. Pervonachal'no eto predstavlenie dannyh bylo razrabotano dlya
pis'mennyh soobshchenij, a sejchas ego ispol'zuyut i v drugih mestah. Standart
MIME opredelyaet format, kotoryj otkryt dlya rasshirenij i pozvolyaet
podderzhku i rabotu so specificheskimi dannymi. Naprimer, esli ya poslal
pis'mo, soderzhashchee MIME ob®ekt video/mpeg
tipa (MPEG fajly),
moya programma priema elektronnyh soobshchenij avtomaticheski dekodiruet ego
i zapustit MPEG proigryvatel'.
Bol'shinstvo UNIX programm, predlagayushchih MIME servis, dlya etih celej
ispol'zuyut paket metamail
, kotoryj soderzhit nabor utilit
i fajlov dannyh dlya raboty s ob®ektami MIME. Neskol'ko fajlov konfiguracii
(/etc/mailcap
- dlya sistemnoj nastrojki i ~/.mailcap
-
dlya pol'zovatel'skoj nastrojki) opredelyayut direktivy dlya raboty s ob®ektami
MIME razlichnyh tipov.
Poetomu, esli vy poluchili potok MIME dannyh, soderzhashchij tekst v odnoj iz ustarevshih kodirovok, vy mozhite opredelit' sootvetstvuyushchie MIME-direktivy dlya konvertacii takogo teksta v KOI8.
Nizhe perechisleny MIME-zakony, kotorye opisyvayut pravila raboty s obychnymi tekstami i tekstami v richtext formate, ispol'zuyushchih ne osobenno nuzhnye (ustarevshie) kodirovki, opisannye vyshe. Vy mozhete vstavit' eti direktivy v odin iz fajlov konfiguracii MIME.
Obratite vnimanie: |ti direktivy ispol'zuyut paket translit
,
dlya togo, chtoby proizvodit' samo preobrazovanie. Dlya bolee
polnoj informacii ob etoj programme i dlya informacii po perekodirovki
smotrite razdel
Simvol'naya perekodirovka.
text/plain; translit -t cp1251-koi8.rus < %s; test=test \ "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = cp1251; copiousoutput text/richtext; translit -t cp1251-koi8.rus < %s; test=test \ "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = cp1251; copiousoutput text/plain; translit -t alt-koi8.rus < %s; test=test \ "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = cp866; copiousoutput text/richtext; translit -t alt-koi8.rus < %s; test=test \ "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = cp866; copiousoutput text/plain; translit -t alt-koi8.rus < %s; test=test \ "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = alt; copiousoutput text/richtext; translit -t alt-koi8.rus < %s; test=test \ "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = alt; copiousoutput
Dostatochno, eto rabotaet tol'ko v sluchae obychnogo tekst. Binarnye fajly dannyh dolzhny sami otrabatyvat' dannye v razlichnyh kodirovkah (Po krajnej mere, eto dolzhny delat' programmy, sozdavshie ih). Poetomu esli vy poslali fajl Microsoft Word v kodirovke cp1251, to s etim dolzhna razobrat'sya programma, v kotoroj vy chitaete etot tekst (Naprimer M$ Word ili Applix Words).
K neschast'yu dejstvitel'naya situaciya daleka ot ideala. Mnogo programmnyh produktov imeyut sobstvennye idei po povodu togo, kak ispol'zovat' MIME. Do nedavnego vremeni Microsoft Mail ispol'zoval isporchennyj mehanizm raboty s MIME. Hotya i Netscape Navigator/Communicator klient otpravki/priema soobshchenij izvesten tem, chto shlet tekst pis'ma v cp1251, a ego zagolovok v charset=koi8-r kodirovki i naoborot.
V Internet mozhno najti mnozhestvo programm, perekodiruyushchih kirillicheskie teksty. Kazhdaya iz nih imeet svoyu izyuminku i otlichaetsya stepen'yu podderzhki kirillicy.
S moej tochki zreniya utility dolzhny byt' standartnymi. V nashem, chastnom,
sluchae takoj "standartnoj" utilitoj yavlyaetsya GNU recode
. K neschast'yu
versiya, kotoraya "obitaet" na oficial'nom GNU sajte (3.4) poka ne podderzhivaet
kirillicu (tol'ko ISO-8859-5). YA sdelal nabor tablic perekodirovki
dlya KOI8-R, Alt, i cp1251 i poslal ih recode
- koordinatoru.
On obeshchal obespechit' podderzhku kirillicy v sleduyushchem relize programmy.
Kak tol'ko eto sluchitsya, to ya perepishu etot paragraf, dlya togo chtoby
rekomendovat'
GNU recode
, kak standartnuyu utilitu perekodirovki dlya kirillicy.
Tem vremenem, ya poka rekomenduyu paket translit. On podderzhivaet mnogo populyarnyh kodirovok i dazhe sposoben sozdavat' TeX fajly (sm. razdel tex ) na russkom yazyke. Krome togo, dlya pol'zovatelej RedHat sushchestvuet RPMka - RPM package.
Dlya drugih programm preobrazovaniya - zaglyanite na stranichku
SovInformBureau
ili na
ftp.funet.fi. Vy dazhe mozhete ispol'zovat' special'nuyu modu
dlya emacs
(Smotrite razdel
Emacs i XEmacs).
Windows imeet vozmozhnost' davat' imena fajlov v kodirovke Unicode, poetomu pol'zovateli mogut davat' osmyslennye imena svoim fajlam. Linux, odnako ne daet polnoj podderzhki dlya Unicode, poetomu esli vy montiruete disk Windows VFAT, to vy uvidite chto podobnye imena sostoyat iz voprositel'nyh znakov i prochego musora.
|des' ukazan put' kak poluchit' pravil'noe preobrazovanie:
mount
:
codepage=866,iocharset=koi8-r
Dlya podrobnostej smotrite Documentation/filesystems/vfat.txt
v ishodnikah yadra Linux.
|to, vidimo, edinstvennyj programmnyj produkt, kotorye trebuet
prisutstviya Alt
kodirovki. Osnovaniem yavlyaetsya to, chto Alt
-
eto rodnaya kirillicheskaya kodovaya stranica DOS. Bol'shenstvo programm,
rabotayushchih v DOS s kirillicej orientirovany na Alt
.
Dlya konsol'noj versii (dos
) vy dolzhny zagruzit' tol'ko
klaviaturu i ekrannyj drajver. Bol'shinstvo drajverov DOS budet
prekrasno rabotat'. YA lichno ispol'zuyu rk
drajver A. Strahova,
kotoryj rabotaet i dlya konsoli, i X versii dosemu
. Drugaya
al'ternativa eto r
drajver Vadima Kurlyanda. On prekrasno
nastraivaetsya i podderzhivaet mnogo kodirovok v tom chisle, Alt
i
KOI8
. Odnako on ne budet rabotat' dlya X Windows (po krajnej mere
versiya 1.14, kotoruyu ya ispol'zuyu, (Primechanie perevodchika: sejchas est'
versiya 2.0 etogo drajvera i ego razvitie prekrashcheno).
Oba rusifikatora mozhno najti na bol'shinstve Rossijskih Internet arhivah, naprimer na ftp arhive Kurchatovskogo Instituta YAdernoj Fiziki.
Dlya Xovyh versii dosemu
vy dolzhny ustanovit'
sootvetstvuyushchij X shrift. Aleksej Bogdanov prislal mne takoj shrift
po elektronnoj pochte. |to - rodnoj shrift vga
iz distributiva
dosemu
, izmenennyj dlya Alt
kodirovki. K sozhaleniyu ya ne znayu, kto
avtor etogo shrifta i gde ego oficial'naya stranichka. YA pomeshchu etot shrift
v moj katalog na
avtorskoj stranichke
Dlya ustanovki shriftov dlya dosemu
vy dolzhny
To setup the font for dosemu
you should
dosemu
. Esli shrift tol'ko zamenyaet
pervonachal'nyj shrift vga
, to on budet opoznan po umolchaniyu.
Inache, vy dolzhny opisat' ego v /etc/dosemu.conf
::
# Font to use (without filename extensions). For example: X { updatefreq 8 title "MS DOS" icon_name "xdos" font "vga-alt"}
I v zaklyuchenie, vy dolzhny zagruzit' drajver klaviatury.
Obratite vnimanie, vam ne nuzhny ekrannye drajvery v X okne.
Ne vse drajvery budut rabotat', no po krajnej mere
dva iz nih budut: rk
A. Strahova, i cyrkeyb
Pete Kvitek.