V etom razdele ya opishu nastrojku razlichnyh programm dlya raboty s kirillicheskimi tekstami. |tot razdel ne ohvatyvaet tekstovye processory, nastrojka kotoryh opisyvaetsya pozzhe (smotri razdel Tekstovye processory)
Dlya proverki pravopisaniya ya ispol'zuyu programmu GNU ispell.
Ona imeet ochen' gibkie nastrojki i vozmozhnosti dlya rasshireniya.
Ee mozhno ispol'zovat' pri proverki pravopisaniya tekstov,
napisannyh na yazykah, otlichnyh ot anglijskogo, putem dobavleniya
novyh slovarej.
Konstantin Knizhnik sozdal ochen' horoshij russkij slovar' dlya
ispell. Vy mozhete najti ego na
domashnej stranichke K.Knizhnika.
V postavku slovarya vklyuchen poleznyj skript, obespechivayushchij
inkrementnyj rezhim proverki pravopisaniya slov dlya emacs;
V ideal'nom sluchae, kogda vash ispell ustanovlen pravil'no, vam
nado tol'ko sozdat' slovar', ispol'zuya komandy, obespechivaemye
fajlom Makefile iz distributiva. Odnako s nekoj dolej veroyatnosti
u vas vozniknut problemy s ispell, kotoryj otkazhetsya ponimat'
8-mi bitnye dannye. |to oznachaet, chto v vashej sisteme ispell
skompilirovan bez podderzhki 8-mi bitnyh simvolov. V etom sluchae vam
ne udastsya izbezhat' perekompilyacii paketa ispell.
Esli u vas vse normal'no, to mozhete iniciirovat' proverku
pravopisaniya dlya russkih tekstov putem vyzova programmy ispell
s opciej '-d russian'
Esli vy ispol'zuete Emacs (podrobnee v razdele Emacs), to, veroyatno, vy ne protiv dobavit' punkt v menyu dlya proverki s russkim slovarem.
Konstantin Knizhnik sovetuet vypolnit' sleduyushchie dejstviya:
CHtoby imet' vozmozhnost' pereklyuchit'
zapuskaemyj EMACS'om ISPELL na ispol'zovanie russkogo slovarya, mozhno
poprobovat' dobavit' v .emacs sleduyushchie stroki
(setq ispell-dictionary-alist (cons
'("russian" ; make russian selectable
"[\xc0-\xdf\xe0-\xff]" "[^\xc0-\xdf\xe0-\xff]" "[']"
nil ("-B" "-d" "russian") nil) ispell-dictionary-alist))
(setq ispell-menu-map-needed t)
(setq ispell-menu-map nil)
(load "ispell") ; reload ISPELL
Neobhodimye dejstviya uzhe soderzhatsya vcyrconf.elv direktorii emacs, poetomu v sluchae ispol'zovanie nizhesleduyushchego vklyuchat' ih v.emacsne nuzhno.
Bolee pravil'nym (s tochki zreniya sposoba sozdaniya) chem slovar' Knizhnika yavlyaetsya "Slovar' russkogo yazyka dlya ispell" Aleksandra Lebedeva
Slovar' postoyanno sovershenstvuetsya, dopolnyaetsya i korrektiruetsya. Poslednyuyu versiyu slovarya mozhno najti na servere: mch5.chem.msu.su
YA ispol'zuyu imenno etot slovar'.
Est' dve versii redaktora Emacs - GNU Emacs i XEmacs.
Oni obespechivayut bolee ili menee shodnyj nabor funkcij
i vozmozhnostej, no pri etom realizaciya nekotoryh detalej rashoditsya
dovol'no sil'no.
Nastrojka kirillicy trebuet nekogo nizko-urovnevogo (v duhe Emacs Lispa)
"haka" i nemnogo otlichaetsya dlya etih dvuh realizacij.
Minimal'naya podderzhka kirillicy v GNU emacs (vam ne nuzhno
etogo delat' pri nastrojke XEmacs) obespechivaetsya pri
vypolnenii sleduyushchih vyzovov, dobavlennyh v .emacs (pri uslovii,
chto podderzhka simvolov kirillicy ustanovlena dlya konsoli ili dlya
X Window sootvetstvenno):
(standard-display-european t) (let ((m (current-input-mode))) (set-input-mode (car m) (nth 1 m) 1))
|to pozvolit vam videt' i vvodit' simvoly, nahodyashchiesya v verhnej chasti ASCII tablicy.
Odnako, etogo ne dostatochno. Emacs obrabatyvaet kirillicheskie simvoly kak special'nye i, kak sledstvie, ne raspoznaet granicy russkih slov i ne delaet razlichiya mezhdu strochnymi i zaglavnymi bukvami. CHtoby obojti eto, vam sleduet neskol'ko modificirovat' tablicy sintaksisa i registra emacs:
(require 'case-table)
(let* ((ruc "\341\342\367\347\344\345\263\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\370\371\377\374\340\361")
(rlc "\301\302\327\307\304\305\243\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\330\331\337\334\300\321")
(i 0)
(len (length ruc)))
(while (< i len)
(modify-syntax-entry (elt ruc i) "w ")
(modify-syntax-entry (elt rlc i) "w ")
(set-case-syntax-pair (elt ruc i) (elt rlc i) (standard-case-table))
(setq i (+ i 1))))
Dlya etogo byl sozdan fajl rusup.el, kotoryj soderzhit eti komandy,
takzhe kak i paru drugih udobnyh funkcii. Vy dolzhny vyzvat' ego v
vashem ~/.emacs.
Obratite vnimanie na paket
russian.el, sozdannyj Valeriem Alekseevym (valery@math.uga.edu),
pozvolyaet pol'zovatelyu pereklyuchat'sya mezhdu kirillicheskim i
standartnym modami vvoda i preobrazovyvat' tekstovyj bufer iz
odnoj russkoj kodirovki v druguyu (eto ochen' polezno dlya chteniya tekstov,
importirovannyh iz MS-DOS ili Windows).
VNIMANIE:Pomimo nastrojki, opisannoj vyshe, sushchestvuet
al'ternativnyj put' obucheniya oboih versij emacs kirillice. Dlya
etogo ispol'zuetsya MULE (MULtilanguage Emacs support).
Dlya nastrojki kirillicy cherez MULE berem iso8859-5 shrifty
(sm. razdel
Gde vzyat' shrifty dlya X-window?,
podklyuchaem ih k iksam, i vybiraem v menyu Mule nuzhnuyu kodirovku.
|tot sposob yavlyaetsya bolee "ideologicheski" pravil'nym.
Sovet:Pri rabote s X-window dlya Emacs, veroyatno, luchshe
vsego podojdut shrifty lucidatypewriter iz kollekcii shriftov Bolhovityanova
(Sm. razdel
Cyr-RFX).
Redaktor vi (po krajnej mere, ego klon vim, prisutstvuyushchij
v bol'shinstve distributivov Linux) znaet o sushchestvovanii 8-mi bitnyh
simvolov. |to daet vam vozmozhnost' vvodit' kirillicheskie bukvy. Redaktor
pravil'no raspoznaet granicy slov. YA nichego ne znayu po povodu pravil
preobrazovaniya iz strochnyh v zaglavnye i obratno, tak kak ya ne chasto
rabotayu v vi. Esli vy znaete chto-libo ob etom, to,
pozhalujsta, soobshchite mne
Vse problemy joe mozhno reshit' pravil'no nastroiv locale (Sm. razdel Nastrojka lokali (esli on pravil'nym obrazom "propatchen"). Esli u vas nichego ne poluchilos', to poprobujte recept opisannyj nizhe.
Dlya togo chtoby raspoznavat' 8-mi bitnye simvoly, joe trebuet
special'nuyu opciyu -asis. Vy mozhete ukazat' ee v komandnoj
stroke ili vstavit' v fajl ~/.joerc dlya lichnogo pol'zovaniya
ili v /usr/lib/joerc dlya nastrojki vsej sistemy.
Odnako, joe ne raspoznaet granicy russkih slov. YA predpolagayu,
chto tozhe samoe proishodit i s perekodirovkoj iz verhnego registra
v nizhnij i obratno.