Next Previous Contents

2. Teoreticheskoe obosnovanie

2.1 Nastrojka vashego okruzheniya

Pered tem kak my nachnem nastraivat' razlichnye chasti sistemy, nam nado nastroit' paru prostyh veshchej. Bol'shinstvo utilit, opisyvaemyh nizhe, predpolagayut, chto kirillicheskie shrifty dostupny i pol'zovatel' mozhet vvodit' kirillicheskie simvoly. CHtoby eto dejstvitel'no stalo pravdoj, nam sleduet nastroit' okruzhenie dlya togo, chtoby obespechit' i shrifty, i vozmozhnost' vvoda kirillicy.

Linux podderzhivaet dva interfejsa dlya otobrazheniya informacii - dve razlichnye mody. Odna iz nih eto tekstovaya moda, a drugaya graficheskaya, predostavlyaemaya sredstvami X-Window. Obe eti mody trebuyut razlichnoj nastrojki, kotorye opisyvaetsya nizhe.

2.2 Simvoly i kodirovki

CHtoby ponimat' i pechatat' simvoly razlichnyh yazykov, sistema i programmnoe obespechenie dolzhny umet' otlichat' ih ot drugih simvolov. To est' kazhdyj unikal'nyj simvol dolzhen imet' unikal'noe predstavlenie vnutri operacionnoj sistemy ili vnutri specificheskogo paketa programm. Takaya sovokupnost' vseh unikal'nyh simvolov, kotorye sistema sposobna raspoznat', nazyvaetsya kodirovkoj.

Vo vremya sozdaniya bol'shinstva operacionnyh sistem nikto ne pozabotilsya predusmotret' vozmozhnost' predstavleniya informacii v programmah na drugih yazykah, otlichnyh ot anglijskogo. Poetomu naibolee populyarnoj kodirovkoj byla (i fakticheski ej i ostaetsya) ASCII (Amerikanskij Standartnyj Kod dlya Informacionnogo Obmena).

Standart ASCII (ili ASCII s 7-mi bitami) vklyuchaet v sebya 128 unikal'nyh simvola. Oni podrazdelyayutsya na simvoly, kotorye ASCII opredelyaet kak, sobstvenno, pechataemye simvoly, i na, tak nazyvaemye, simvoly upravleniya, kotorye imeli special'nye znacheniya v staryh protokolah svyazi. Kazhdyj element nabora identificirovan celochislennym simvol'nym kodom (0-127). Podmnozhestvo pechataemyh simvolov predstavlyayut te, kotorye nahodyat na klaviature pishushchej mashinki s nekotorymi dobavleniyami. Kazhdyj simvol zanimal 7 mladshih znachimyh bitov bajta, togda kak starshij razryad ispol'zovalsya dlya celej upravleniya (to est' dlya upravleniya peredachi v staryh paketah svyazi).

Koncepciya ASCII s 7 bitami byla rasshirena do ASCII s 8 bitami (ili rasshirennyj ASCII). V etoj kodirovke diapazon simvolov sootvetstvuet kodam ot 0 do 255. Mladshie bity (0-127) - chistyj ASCII, v to vremya kak starshij razryad dobavlyaet eshche 127 simvolov. Tak kak eta kodirovka obratno sovmestima s ASCII (simvol vse eshche zanimaet 8 bit i kody polnost'yu sootvetstvuyut staromu ASCII), eta kodirovka stala shiroko ispol'zovat'sya.

Standart ASCII s 8 bitami ne opredelyaet soderzhanie verhnej poloviny tablicy kodirovki. Poetom MEZHDUNARODNAYA ORGANIZACIYA PO STANDARTIZACII (ISO) vzyala otvetstvennost' po opredeleniyu semejstva standartov, izvestnyh kak ISO 8859-X semejstvo. |to semejstvo est' sovokupnost' 8-mi bitnyh kodirovok, gde mladshaya polovina kazhdoj kodirovki (simvoly s kodami 0-127) sootvetstvuet ASCII, a starshaya polovina opredelyaet simvoly dlya razlichnyh yazykov. Naprimer, sleduyushchie kodovye stranicy opredeleny dlya:

V Latin 1 starshaya polovina tablicy opredelyaet razlichnye simvoly, kotorye ne yavlyayutsya chast'yu anglijskogo alfavita, no prisutstvuet v razlichnyh evropejskih yazykah (nemeckie umlauts, francuzskie diakriticheskie znaki i t.d).

Drugaya populyarnaya realizaciya rasshirennogo ASCII - eto tak nazyvaemaya kodovaya stranica IBM (nazvannaya po imeni komp'yuternoj kompanii, kotoraya sozdala etu kodirovku dlya svoih personal'nyh komp'yuterov). |ta kodirovka v starshej polovine soderzhit psevdo-graficheskie simvoly.

Programmnoe obespechenie, kotoroe ne delaet nikakih predpolozhenij o simvolah, ispol'zuyushchih 8-j bit ASCII-dannyh (to est' ne ispol'zuet ih dlya kakih-to svoih vnutrennih nuzhd, primerom yavlyaetsya ispol'zovanie bukvy N v fido), nazyvaetsya chisto 8-mi bitnymi. Nekotorye bolee starye programmy, razrabotannye dlya ASCII s 7 bitami v pamyati, a ne dlya chistyh 8-mi bit, mogut rabotat' nepravil'no s rasshirennymi ASCII dannymi. Bol'shinstvo programm, odnako, sposobny rabotat' s rasshirennym ASCII po umolchaniyu ili dlya etogo trebuetsya prostaya perekonfiguraciya. Podobnye prostejshie programmy, trebuyushchie kakoj-libo nastrojki, v etom dokumente ne rassmatrivayutsya. Vmesto etogo ya sfokusiroval svoi usiliya na bolee slozhnyh paketah.

Dlya informacii o tom, kak sozdavat' svoe chisto 8mi bitnoe programmnoe obespechenie, smotrite razdel Locale zavisimoe programmirovanie.

Tak kak v bol'shinstve sistem simvoly opisyvayutsya 8-yu bitami, to net nikakogo sposoba rasshirit' ASCII eshche bol'she. Sposob sozdaniya novyh simvolov v ASCII - eto prosto sozdanie drugih rasshirennyh ASCII realizacij. Imenno tak kirillica i byla vvedena v ASCII.

My uzhe upomyanuli standart ISO 8859-5 kak tot, v kotorom opredelyayutsya kodirovki dlya kirillicy. No poskol'ku (kak eto chasto sluchaetsya so standartami) on byl razrabotan bez prinyatiya vo vnimanie real'nyh processov, prohodyashchih v SSSR (kogda eto eshche bylo), to edinstvennoe, chto bylo dejstvitel'no dostignuto s vvedeniem etogo standarta, tak eto tol'ko uvelichenie besporyadka s kodirovkami kirillicy. V soobshchestve Internet ochen' populyarna kodirovka KOI8-R (sm. nizhe). Kodirovka ISO 8859-5 ispol'zuetsya bol'shimi kompaniyami, sozdayushchimi programmnoe obespechenie s vozmozhnost'yu obrabotki kirillicheskoj informacii. K podobnym programmam, kak pravilo, otnosyatsya bol'shie bazy dannyh, resheniya, osnovannye na baze OpenVMS i t.d.

Skazannoe vyshe otnositsya tol'ko k postrossijskomu prostranstvu - kodirovka ISO 8859-5 yavlyaetsya standartom kirillicy, po krajnej mere, v Makedonii i YUgoslavii.

Drugie standarty dlya kirillicy vklyuchayut tak nazyvaemuyu, Alt kodirovku i kodovuyu stranicu Microsoft CP1251. Vysheupomyanutyj Alt standart byl razrabotan kompaniej Microsoft dlya MS-DOS dovol'no davno. Togda eshche slyhom ne slyhivali pro seti iz IBM PC i poetomu osnovnoe usilie sostoyalo v tom, chtoby sdelat' etot standart maksimal'no sovmestimym s IBM standartom. Poetomu Alt kodirovka - eto ta samaya IBM kodovaya stranica, gde vse specificheskie evropejskie simvoly v verhnej polovine byli zameneny na kirillicu, ostavlyaya psevdograficheskie simvoly netronutymi. Sledovatel'no, eto ne portilo vid programm, ispol'zuyushchih dlya raboty tekstovye okna, a takzhe obespechilo simvoly kirillicy v nih. Alt standart vse eshche zhiv i chrezvychajno populyaren v srede MS-DOS (sistema MS-DOS tozhe zhiva).

Microsoft CP1251 kodovaya stranica - eto popytka Microsoft pridumat' novyj standart dlya kodirovki kirillicy v Windows. Naskol'ko ya znayu, eto ne sovmestimo s chem libo eshche.

Odnako, v nekotoryh stranah - naprimer v Bolgarii i, veroyatno, v Belarussii, cp1251 yavlyaetsya standartnoj kodirovkoj dlya Linux i dlya e-mail.

Nu i nakonec: KOI8 standart. V otlichie ot Alt i CP1251, on byl razrabotan dovol'no davno dlya UNIX mashin. Tak kak govorya o UNIX my podrazumevaem set', to osnovnoj idej pri sozdanii KOI8 standarta byla ideya ob obespechenii peremeshcheniya kirillicheskoj informacii po seti.

Eshche raz vernemsya v dalekoe proshloe. Obychno vse rabotali tol'ko so standartnym (7-mi bitnym) ASCII. 8-oj bit kazhdogo simvola ukazyval na to, chto on ili upravlyayushchij simvol, libo prosto musor. Obychno nikto ne slal dannye chisto 8-mi bitnymi (kazhdyj norovil ottyapat' 8-oj bit u simvolov). Razrabotchiki KOI8 primenili ochen' produmannyj podhod. Oni pomestili simvoly russkoj kirillicy v verhnej chasti rasshirennoj ASCII tablicy takim obrazom, chto pozicii kirillicheskih simvolov sootvetstvuyut ih foneticheskim analogam v anglijskom alfavite v nizhnej chasti tablicy. |to oznachaet, chto, esli v tekste, napisannom v KOI8, ubirat' vos'moj bit kazhdogo simvola, to my vse eshche imeem "chitabel'nyj"  tekst, hotya on i napisan anglijskimi simvolami!

Sleduet otmetit', chto KOI8-R podhodit tol'ko dlya russkih tekstov, i kak sledstvie byl sozdan ukrainskij variant KOI8: KOI8-U.

Krome Russkoj kirillicy KOI8-R opisyvaet eshche i Bolgarskuyu kirillicu. No kodirovka KOI8 neizvestna i poetomu ee upotreblenie v Bolgarii bessmyslenno. Dazhe samye rannie bolgarskie kirillizacii byli tol'ko dlya cp1251, hotya i delalis' na osnove russkih.

Ne udivitel'no, chto KOI8-R bystro stal fakticheski standartom dlya russkoj kirillicy v Internet. Andrej A. CHernov prodelal ogromnyj ob®em raboty, chtoby sozdat' standart. On - avtor RFC 1489 ("Registration of a Cyrillic Character Set").

Sushchestvuyut takzhe i drugie standarty, kotorye otlichny ot ASCII i gorazdo bolee horosho adaptiruemy. Naibolee izvestnyj iz nih eto Unicode. |tot standart poka ne prizhilis' v Unix voobshche i v Linux v chastnosti, no uzhe sejchas poyavlyaetsya vse bol'she i bol'she programmnogo obespecheniya, kotorye imeet podderzhku Unicode.

UNICODE

UNICODE - chastichnaya realizaciya standarta ISO 10646, sovmestim snizu vverh, t.e. pervye 256 simvolov UNICODE = Latin-1 (ISO 8859-1). V nastoyashchee vremya raspredeleno okolo 40.000 pozicij iz 65.535 (3 bajta na bukvu) vozmozhnyh, i im sootvetstvenno prisvoeny standartnye imena. Poslednee znachitel'noe izmenenie - vvedenie simvola valyuty EURO proizoshlo v sentyabre 1998 g.. |ti pozicii zarezervirovany za bukvami prakticheski vseh izvestnyh alfavitov, vklyuchaya drevneegipetskie ieroglify - to ect', ispol'zuya etot standart mozhno pisat' odnovremenno na russkom i grecheskom, delaya vstavki na yaponskom - s ispol'zovaniem odnogo edinstvennogo shrifta (Podrobnosti - `man 7 utf-8').

Pozicii pod kotorye po standartu nado otvodit' po 4 bajta - to est' 2147418112 simvolov - poka ne zanyaty.

Podrobnee pro etot format mozhno posmotret' po adresu http://www.unicode.org.

Posmotret' nabor simvolov UNICODE mozhno zdes' : http://charts.unicode.org/ .


Next Previous Contents