Next Previous Contents

10. Sovmestimost'

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.

10.1 MIME-based data compatibility

10.2 Sovmestimost' dannyh v MIME formate

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.

10.3 Simvol'naya perekodirovka

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).

10.4 Kirillicheskie imena fajlov v fajlovoj sisteme M$ Windows

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:

  1. Ubedites', chto vashe yadro skompilirovana s podderzhkoj codepage (v chastnosti s podderzhkoj kodovyh stranic 866 i KOI8-R)
  2. Dobav'te sleduyushchie opcii pri vypolnenii mount komandy mount:
    codepage=866,iocharset=koi8-r
    

Dlya podrobnostej smotrite Documentation/filesystems/vfat.txt v ishodnikah yadra Linux.

10.5 Podderzhka kirillicy v DOS emulyatore

|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

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.


Next Previous Contents