![]() |
|
Dokument ten obejmuje to czego potrzebujesz aby skutecznie pisa�, ogl�da� i drukowa� dokumenty po rosyjsku pod Linuxem. Chocia� dokument ten zak�ada �e jako systemu operacyjnego u�ywasz Linuxa, wi�kszo�� z przedstawionych informacji stosuje si� tak�e do innych odmian Unixa. Postaram si� zachowa� rozr�nienie tak widocznym jak to mo�liwe.
Istnieje pewna liczba popularnych dystrybucji linuxowych. Jako system przyk�adowy opisz� Linuxa Red Hat 3.0.3 (Picasso) oraz Red Hat 4.1 (Vanderbildt) - tego kt�rego osobi�cie u�ywam. Niemniej jednak postaram si� zaznaczy� r�nice, je�li takowe istniej�, w instalacji Linux Slackware.
Poniewa� taka instalacja bezpo�rednio modyfikuje i rozszerza system operacyjny, powiniene� zdawa� sobie spraw� z tego co robisz. Chocia� stara�em si� sprawy maksymalnie upro�ci�, posiadanie pewnego do�wiadczenia z danym programem jest korzystne. Nie zamierzam opisywa� czym jest system X Windows i jak sk�ada� dokumenty u�ywaj�c TeXa lub LaTeXa, albo jak zainstalowa� drukark� w Linuxie. Problemy te omawiane s� w innych dokumentach.
Z tych samych powod�w opisuj� instalacj� na skal� systemow�, domy�lnie wymagaj�c� uprawnie� administratora. Je�li jednak istnieje mo�liwo�� instalacji na poziomie u�ytkownika, nie omieszkam jej wspomnie�.
Uwaga: system X Windows, TeX i inne sk�adniki Linuxa s� z�o�onymi systemami z wyrafinowan� konfiguracj�. Je�li co� sknocisz, mo�esz nie tylko nie dokona� instalacji cyrilicy, ale popsu� sk�adnik, je�li nie ca�y system. Nie ma to na celu ci� odstrasza�, lecz tylko sprawi� aby� zrozumia� powag� operacji i by� ostro�nym. Wst�pna kopia zapasowa plik�w konfiguracyjnych jest wielce po��dana. Posiadanie pod r�k� jakiego� guru zawsze si� przydaje.
Dokument ten dost�pny jest na sunsite.unc.edu lub tsx-11.mit.edu jako cz�� Linux Documentation Project. Mo�e tak�e by� dost�pny w r�nych archiwach zawieraj�cych Linuxa. Co wi�cej, mo�e tak�e wchodzi� w sk�ad dystrybucji Linuxa.
Mo�na go wreszcie otrzyma� bezpo�rednio od autora, na ftp.netvision.net.il.
Je�li masz jakie� pytania dotycz�ce tego dokumentu, nie wahaj si�, prosz�, skontaktowa� si� ze mn� pod adresem belikoff@netvision.net.il. Ka�da nowa i u�yteczna informacja na temat obs�ugi Cyrilicy w r�nych Unixach jest mile widziana. Pami�taj, pomo�e to innym.
Wielu ludzi pomog�o mi (i nie tylko mi) warto�ciowymi informacjami oraz sugestiami. Jeszcze wi�cej ludzi do�o�y�o oprogramowania na u�ytek publiczny. Przepraszam je�eli zapomnia�em kogo� wymieni�.
Oto wi�c oni: Bas v. de Bakker, David Daves, Siergiej Wakulenko, Siergiej O. Naoumow, Winfried Tr�mper, Michael van Canneyt.
Ten dokument jest (c) 1995 Aleksander L. Belikoff. Mo�na go u�ywa� i rozpowszechnia� zgodnie ze zwyk�ymi warunkami Linux HOWTO opisanymi poni�ej.
Poni�sze jest notk� o prawach autorskich Linux HOWTO:
Dokumenty Linux HOWTO stanowi� prawn� w�asno�� ich autor�w, chyba �e zaznaczono inaczej. Dokumenty Linux HOWTO mog� by� reprodukowane i rozposzechniane w ca�o�ci lub cz�ci, w ka�dym fizycznym lub elektronicznym �rodku przekazu, tak d�ugo jak w ka�dej kopii pozostaje niniejsza notka o prawach autorskich. Redystrybucja komercyjna jest dozwolona i popierana; autorzy jednak woleliby zosta� o takich dystrybucjach powiadomieni.
Wszystkie t�umaczenia, prace pochodne i zbiorowe zawieraj�ce dokumenty Linux HOWTO musz� podlega� po t� notk� o prawach autorskich. To jest, nie mo�esz stworzy� z HOWTO pracy pochodnej i na�o�y� dodatkowe ograniczenia na jej dystrybucj�. Wyj�tki do tych regu� mog� by� udzielone pod pewnymi warunkami; prosz� skontaktowa� si� z koordynatorem Linux HOWTO pod adresem podanym poni�ej.
W skr�cie, chcieliby�my promowa� rozprzestrzenianie si� tych informacji tak wieloma kana�ami jak to mo�liwe. Pragn�liby�my jednak�e zachowa� prawa autorskie do dokument�w HOWTO, i by� powiadamianymi o ka�dych planach ich redystrybucji.
Je�li masz pytania, skontaktuj si� prosz� z Gregiem Hankinsem,
koordynatorem Linux HOWTO, pod adresem gregh@sunsite.unc.edu
.
Mo�esz u�y� tego adresu z programem finger by zdoby� numer telefonu
i inne dodatkowe informacje dotycz�ce kontaktu.
Unix jest zastrze�onym znakiem przemys�owym X/Open Ltd.; MS-DOS, Windows, Windows NT i Windows 95 s� zastrze�onymi znakami Microsoft Corp.; System X Windows jest znakiem zastrze�onym Consortium X, Inc. Wszystkie inne znaki zastrze�one nale�� do ich odpowiednich posiadaczy.
A�eby zrozumie� i wy�wietla� znaki r�nych j�zyk�w, system i programy musz� by� zdolne odr�nia� je od innych znak�w. To jest, ka�dy pojedynczy znak musi mie� odr�bn� reprezentacj� wewn�trz systemu operacyjnego, b�d� konkretnego pakietu program�w. Taka kolekcja wszystkich odr�bnych znak�w kt�re jaki� system jest w stanie reprezentowa� w danym momencie nazywa si� zestawem znak�w.
W czasie tworzenia najwi�kszych system�w operacyjnych nikt nie dba� o to aby programy by�y wieloj�zyczne. Dlatego te� najpopularniejszym zestawem znak�w by� (i ci�gle jest) ASCII (American Standard Code for Information Interchange).
Standardowy ASCII (aka siedmiobitowy ASCII) zawiera 128 odr�bnych kod�w. Niekt�re z nich ASCII definiuje jako faktyczne drukowalne znaki, a niekt�re s� tak zwanymi znakami kontrolnymi, kt�re posiada�y specjalne znaczenia w starszych protoko�ach komunikacyjnych. Ka�dy element zestawu identyfikuje kod b�d�cy liczb� ca�kowit� (0-127). Podzbi�r znak�w drukowalnych przedstawia te kt�re znale�� mo�na na klawiaturze maszyny do pisania, z niewielkimi dodatkami. Ka�dy znak zajmuje siedem najmniej znacz�cych bit�w bajtu, podczas gdy najbardziej znacz�cy u�ywany by� dla cel�w kontrolnych (np. kontroli transmisji w starszych pakietach komunikacyjnych).
Koncepcj� ASCII siedmiobitowego rozszerzy� ASCII o�miobitowy (aka rozszerzony ASCII). W tym zestawie zakres kod�w znak�w to 0-255. Dolna po�owa (0-127) to czysty ASCII, podczas gdy g�rna zawiera 127 dodatkowych znak�w. Poniewa� zestaw ten jest wstecznie kompatybilny z ASCII (znak ci�gle zajmuje osiem bit�w, kody odpowiadaj� staremu ASCII), zyska� on sobie szerok� popularno��.
ASCII o�miobitowe nie definiuje zawarto�ci g�rnej po��wki zestawu. Dlatego ISO powzi�o zadanie ustalenia rodziny standard�w znanych jako rodzina ISO-8859-X. Jest to zbi�r kodowa� o�miobitowych, w kt�rych ni�sza po�owa ka�dego kodowania (0-127) odpowiada ASCII, a wy�sza definiuje znaki dla r�nych j�zyk�w. Zdefiniowano na przyk�ad nast�puj�ce kodowania:
W Latin 1 g�rna po�owa tabeli definiuje r�ne znaki kt�re nie s� cz�ci� alfabetu angielskiego, ale znajduj� si� w r�nych j�zykach zachodnioeuropejskich (umlauty niemieckie, akcenty francuskie).
Programy kt�re nie zak�adaj� nic co do �smego bitu danych ASCII zwane s� o�miobitowo czystymi. Niekt�re starsze programy, napisane z my�l� o ASCII 7-bitowym, nie s� czyste o�miobitowe i mog� dzia�a� niepoprawnie z danymi o�miobitowymi. Wi�kszo�� jednak pakiet�w domy�lnie radzi sobie z o�miobitowym ASCII, albo wymaga bardzo prostego ustawienia. UWAGA: zanim wy�lesz pytanie "Wszystko ustawi�em poprawnie, a nie mog� wprowadza�/ogl�da� znak�w cyrylicowych!", zajrzyj do sekcji 8 co do uwag o programie kt�rego u�ywasz.
Poniewa� na wi�kszo�ci system�w ASCII zajmuje osiem bit�w, nie ma ju� mo�liwo�� aby ci�gle je rozszerza�. Sposobem na zaimplementowanie nowych symboli w kodowaniach opartych na ASCII jest stworzenie innej implementacji rozszerzonego ASCII. W taki w�a�nie spos�b zaimplementowane zosta�o kodowanie cyrylicy w ASCII.
Wspomnieli�my ju� o standardzie ISO-8859-5 jako okre�laj�cym kodowanie cyrylicy. Lecz jak to cz�sto bywa ze standardami, stworzono go nie bior�c pod uwag� istniej�cej praktyki w by�ym ZSRR. Jedyn� wi�c rzecz� jak� ten standard osi�gn�� by�o spot�gowanie zamieszania. Nie powiedzia�bym �e gdzie� si� znacz�co u�ywa ISO-8859-5.
Innymi standardami kodowania cyrylicy s� tak zwane kodowanie Alt i strona kodowa 1251 Microsoftu. Ta pierwsza stworzona zosta�a (przez kogo?) do�� dawno temu na potrzeby MS-DOS. W tamtych czasach nie by�o jeszcze tego ca�ego szumu o internetowaniu, intencj� wi�c by�o uczynienie jej jak najbardziej kompatybilnej ze standardem IBM. Dlatego kodowanie Alt jest w rzeczywisto�ci stron� kodow� IBM, gdzie wszystkie specjalne znaki europejskie w g�rnej po��wce zast�piono cyrylicznymi, z wy��czeniem pseudografiki. Nie rujnowa�o to �atwego tworzenia okienek i dawa�o tak�e znaki cyrylicowe. Standard Alt ci�gle �yje i jest nies�ychanie popularny w �wiecie MS-DOSa.
Strona kodowa 1251 to po prostu pr�ba Microsoftu pokazania nowego standardu dla kodowania cyrylicy w Windows. Na ile wiem, nie jest ona kompatybilna z czymkolwiek (niezbyt dziwne, co?)
I w ko�cu istnieje KOI-8. Jest ono r�wnie� stare, ale zaprojektowano je m�drze i dzisiaj za�o�enia tego projektu wygl�daj� naprawd� u�ytecznie.
I zn�w, jest ono kompatybilne z ASCII, a znaki cyrylicy umieszczone s� w g�rnej po��wce. Lecz g��wnym za�o�eniem projektowania KOI-8 jest to �e pozycje znak�w cyrylicy musz� odpowiada� znakom angielskim o zbli�onej wymowie. Konkretnie, je�li ustawimy �smy bit w angielskim 'a', dostaniemy 'a' cyrylicowe. Oznacza to �e je�li mamy tekst pisany cyrylic� w KOI-8, mo�emy uci�� �smy bit z ka�dego znaku i dalej mie� czytelny tekst. Bardzo to dzisiaj wa�ne, poniewa� w Internecie jest wiele w�z��w pocztowych kt�re po prostu po cichu obcinaj� �smy bit, pewne �e wszyscy na ca�ej Ziemi m�wi� po angielsku.
Nic dziwnego �e KOI-8 szybko sta� si� de facto standardem dla cyrylicy w Internecie. Andriej A. Czernow poczyni� ogromne nak�ady pracy aby ustali� w tym obszarze standard. Jest on autorem RFC 1489 ("Registration of a Cyrillic character set").
Te dwa standardy [Alt i KOI-8] r�ni� si� tylko pozycjami znak�w cyrylicowych w tabeli (to jest kodami znak�w cyrylicowych)/
G��wn� r�nic� jest to �e kodowanie Alt u�ywane jest tylko przez u�ytkownik�w MS-DOS, podczas gdy KOI-8 u�ywane jest w Unixie, a tak�e w MS-DOSie (chocia� w tym drugim jest znacznie mniej popularne). Poniewa� robimy to co trzeba (to znaczy pracujemy w systemie Unixowym) skupimy si� g��wnie na KOI-8.
Co do standardu ISO, jest on bardziej popularny jako standard cyrylicy. w Europie i USA. W Rosji zdecydowanie przoduje KOI-8.
Istniej� i inne standardy, r�ne od ASCII i o wiele bardziej elastyczne. Najbardziej znanym jest Unicode. Nie s� jednak one zaimplementowane tak dobrze jak te podstawowe w Unixie w og�lno�ci i Linuxie w szczeg�lno�ci. Dlatego te� nie b�d� ich tu opisywa�.
Zasadniczo tryb tekstowy jest najprostsz� metod� pokazywania i wprowadzania znak�w cyrylicy. Istnieje jednak jedna zasadnicza komplikacja: fonty w trybie tekstowym i operacje na uk�adzie klawiatury zale�� od implementacji sterownika terminala. Nie ma wi�c przeno�nej metody dla osi�gni�cia tego celu mi�dzy r�nymi systemami.
Za chwil� opisz� spos�b radzenia sobie ze sterownikiem konsoli Linuxa. Tak wi�c je�li masz inny system, nie spodziewaj si� �e b�dzie to dzia�a� u ciebie. Zajrzyj raczej do dokumentacji swojego sterownika terminala. Po�lij mi jednak�e jakiekolwiek informacje jakie znajdziesz, tak aby m�g� w��czy� je do przysz�ych wersji tego dokumentu.
Sterownik konsoli Linuxa jest do�� elastycznym kawa�kiem software'u. Potrafi on zmienia� fonty oraz uk�ady klawiatury. Aby to osi�gn��, b�dziesz potrzebowa� pakietu kbd. RedHat i Slackware instaluj� kbd jako cz�� systemu.
Pakiet kbd zawiera narz�dzia do kontrolowania klawiatury oraz znaczny zbi�r font�w i uk�ad�w klawiatury.
By ustawi� cyrylic�, trzeba wykona� dwie rzeczy:
setfont
. Pliki z czcionkami umieszczone s� w
/usr/lib/kbd/consolefonts
.
UWAGA: Nigdy nie uruchamiaj programu setfont pod X, poniewa� zawiesi
on tw�j system. Dzieje si� tak poniewa� dzia�a on z odwo�aniami
niskiego poziomu do karty graficznej, kt�rych nie lubi X.
loadkeys
.UWAGA: W RedHat 3.0.3 /usr/bin/loadkeys
ma zbyt zaw�one
prawa dost�pu, konkretnie 700 (rwx------
). Nie ma powodu aby tak
by�o, poniewa� ka�dy mo�e skompilowa� swoj� w�asn� kopi� i uruchomi�
j� (odpowiednie odwo�ania do systemu nie s� zarezerwowane tylko dla
administratora). Popro� wi�c swojego sysadmina aby ustawi� dla�
bardziej sensowne prawa dost�pu (na przyk�ad 755).
Oto wyci�g z mojego skryptu cyrload
, kt�ry ustawia tryb cyrylicy
dla konsoli linuxowej.
if [ notset.$DISPLAY != notset. ]; then
echo "`basename $0`: nie dzia�a pod X"
exit
fi
loadkeys /usr/lib/kbd/keytables/ru.map
setfont /usr/lib/kbd/consolefonts/Cyr_a8x16
mapscrn /usr/lib/kbd/consoletrans/koi2alt
echo -ne "\033(K" # magiczna sekwencja
echo "U�yj prawego Ctrl aby zmieni� tryb"
Pozw�l mi to nieco wyja�ni�. �adujesz odpowiednie mapowanie klawiatury.
Nast�pnie �adujesz font odpowiadaj�cy zestawowi znak�w Alt. P�niej,
aby m�c poprawnie wy�wietla� tekst w KOI-8, �adujesz tablic� przekodowywania
ekranowego. Dokonuje ona translacji niekt�rych znak�w z g�rnej po��wki
kodowania na kodowanie Alt. Kluczowe znaczenie ma s�owo 'niekt�re' - nie
wszystkie znaki podlegaj� translacji, dlatego te� niekt�re z nich, jak
pseudograficzne znaki IBM, trafiaj� na ekran niezmodyfikowane i wy�wietlaj�
si� poprawnie, poniewa� s� one kompatybilne z kodowaniem Alt, w
przeciwie�stwie do KOI-8. Aby si� upewni�, uruchom mc
i udawaj �e
jeste� zn�w w MS-DOS 3.3...
W ko�cu, owa magiczna sekwencja jest wa�na, ale nie mam �adnego poj�cia co takiego robi [resetuje konsol� i mapy odwzorowa�; patrz Keyboard-HOWTO - przyp. GSN]. Po�yczy�em/podkrad�em j� z German-HOWTO jeszcze w 1994, kiedy by�o no chyba jedynym HOWTO zorientowanym na j�zyki narodowe. Je�li masz jaki� pomys� co do tej magicznej sekwencji, powiadomij mnie, prosz�.
Dla tych puryst�w kt�rzy nie chc� pr�bowa� kodowania Alt do��czam jeszcze jedn� wersj� powy�szego skryptu, u�ywaj�c� rdzennych font�w KOI-8.
if [ notset.$DISPLAY != notset. ]; then
echo "`basename $0`: cannot run under X"
exit
fi
loadkeys /usr/lib/kbd/keytables/ru.map
setfont /usr/lib/kbd/consolefonts/koi-8x16
echo "U�yj prawego Ctrl aby zmieni� tryb"
Nie spodziewaj si� jednak �adnych ramek w swoich okienkowych aplikacjach tekstowych.
Chcesz to pewnie teraz wypr�bowa�. Ustaw bash lub tcsh jak trzeba, uruchom je ponownie, potem naci�nij prawy klawisz Ctrl i upewnij si� �e otrzymujesz prawid�owe znaki cyrylicy. Klawisz 'q' musi dawa� rosyjskie 'kr�tkie i', w generowa� 'c' itd.
Je�li co� pokr�ci�e�, najlepsz� rzecz� jest przywr�cenie ustawie� oryginalnych (tj. ameryka�skich). Wykonaj nast�puj�ce komendy:
loadkeys /usr/lib/kbd/keytables/defkeymap.map
setfont /usr/lib/kbd/consolefonts/default8x16
UWAGA: niestety sterownik konsoli nie jest w stanie zachowa� swojego statusu (a przynajmniej nie w prosty spos�b) podczas uruchamiania X Windows. Dlatego, kiedy wyjdziesz z X (albo prze��czysz ze� na konsol�), b�dziesz musia� ponownie za�adowa� rosyjski font konsolowy.
Nie u�ywam FreeBSD, tak wi�c nie mog�em przetestowa� poni�szej informacji.
Trzeba zacz�� od tego �e wszystkie dane w tej sekcji nale�y traktowa� jako
wska�niki. Strona domowa projektu FreeBSD mo�e mie� jakie� informacje
na ten temat. Innym dobrym �r�d�em jest grupa newsowa relcom.fido.ru.unix
.
Sprawd� tak�e zasoby wyliczone w sekcji 11.
W ka�dym razie, oto co Ilja K. Orechow sugeruje zrobi� aby konsola FreeBSD m�wi�a po rosyjsku:
/etc/sysconfig
:
keymap=ru.koi8-r
keyrate=fast
# UWAGA: ^[ poni�ej to pojedynczy znak kontrolny [ESC]
keychange="61 ^[[K"
cursor=destructive
scrnmap=koi8-r2cp866
font8x16=cp866b-8x16
font8x14=cp866-8x14
font8x8=cp866-8x8
/etc/csh.login
:
setenv ENABLE_STARTUP_LOCALE
setenv LANG ru_SU.KOI8-R
setenv LESSCHARSET latin1
Podobnie jak tryb konsoli, �rodowisko X r�wnie� wymaga nieco konfiguracji. Zawiera si� w niej ustawienie trybu wprowadzania i Xowych czcionek. Oba aspekty om�wione s� poni�ej.
Po pierwsze zdoby� musisz kolekcj� czcionek posiadaj�cych znaki cyrylicy w odpowiednich miejscach.
Je�li u�ywasz najnowszej dystrybucji X (lub XFree86), istnieje szansa �e masz ju� takie czcionki. W ko�cu 1995 X Windows System w��czy� zestaw czcionek cyrylicowych, stworzonych przez Cronyxa. Zapytaj swojego administratora systemu, albo je�li to ty nim jeste�, sprawd� sw�j system, to jest:
xlsfonts | grep koi8
. Je�li wyliczono jakie�
czcionki, tw�j X-serwer ju� o nich wie.
find /usr -name crox\*.pcf\*
aby znale�� miejsce czcionek cyrylicowych na serwerze. B�dziesz musia�
w��czy� te czcionki dla X-serwera, jak wyja�niam poni�ej.Je�li nie znalaz�e� takich font�w zainstalowanych, b�dziesz musia� to sam zrobi�.
Istnieje pewna rozbie�no�� co do czcionek. XFree86 twierdzi �e kolekcj�
czcionek rosyjskich zamieszczonych w dystrybucji stworzy� Cronyx. Niemniej
na sieci znale�� mo�na inne czcionki cyrylicowe Cronyxa (np. na
ftp.klae.su
), znane jako pakiet xrus
(nie myl go z programem
xrus
, kt�ry u�ywany jest do ustawienia uk�adu klawiatury cyrylicy).
Na szcz�cie ten drugi zosta� ostatnio przemianowany na xruskb
.
xrus
ma mniej czcionek ni� kolekcja w XFree86 (38 wobec 68), ale
te drugie czcionki nie chcia�y dzia�a� z moim ustawieniem Netscape -
dawa�y mi jak�� strasznie du�� czcionk� w pasku menu. Pakiet xrus
nie stwarza� tego problemu.
Sugerowa�bym �ci�gni�cie i wypr�bowanie obydwu. Wybierz ten kt�ry bardziej
ci si� podoba. Mam tak�e zamiar wkr�tce stworzy� pakiety RPM dla obu
kolekcji i pod�adowa� je do ftp.redhat.com
oraz mojego FTP.
Istniej� tak�e starsze rzeczy, na przyk�ad pakiet VakuFonts, stworzony przez
Sergieja Wakulenko (
mailto:vak@cronyx.ru)
, kt�ry
tworzy� podstaw� dla tego w dystrubucji X. Istniej� te� inne. Wa�n� rzecz�
jest to �e nazwy czcionek w starszych kolekcjach nie ca�kiem �ci�le
stosowa�y si� do standard�w. P�niejsze s� w zasadzie w porz�dku, ale
czasami wywo�a� mog� r�ne dziwne b��dy. Mia�em na przyk�ad niemi�e
do�wiadczenia z Maple V dla Linuxa, kt�ry wyk�ada� si� tajemniczo z
pakietem VakuFonts, ale dzia�a� bez zarzutu ze "standardowymi".
Zacznijmy wi�c od czcionek:
xrus
znale��
mo�na na ftp.klae.su
.
/usr/lib/X11/fonts/cyrillic
dla instalacji ca�osystemowej, albo po prostu utw�rz katalog prywatny dla
u�ytku osobistego.
bdftopcf -o name.pcf name.bdfJe�li tw�j serwer obs�uguje czcionki skompresowane, skompresuj je u�ywaj�c programu
compress
compress name.pcfJe�li chcesz wsadzi� nowe czcionki do ju� istniej�cego katalogu, b�dziesz musia� po��czy� stary i nowy
font.alias
. w przypadku gdy oba istniej�,
np.
cat font.alias.new >> font.aliasTeraz, �eby wszystko ustawi�, powiniene� wykona� trzy rzeczy:
fonts.dir
. Nie
musisz jej tworzy� r�cznie. Zamiast tego, wykonaj
cd <katalog_z_nowymi_czcionkami> mkfontdir
XF86Config
. Aby znale��
po�o�enie tego pliku sp�jrz na wyj�cie startx
. Patrz te�
XF86Config{4,5} po szczeg�y.xinit
. Dodaj katalog
startowy do pliku startowego xinit
. Patrz xinit(1x) i nast�pny punkt
po szczeg�y.~/.xinitrc
(albo ~/.Xclients
, albo ~/.xsession
dla u�ytkownik�w RedHata). Dodaj do niego nast�puj�ce komedy:
xset +fp katalog_z_czcionkami
xset fp rehash
Aby klienci X u�ywali czcionek cyrylicowych, musisz ustawi� odpowiednie X-zasoby. Na przyk�ad, ustawiam czcionk� rosyjsk� jako domy�ln� w swoim /.Xdefaults:
*font 6x13
Poniewa� moje czcionki cyrylicowe s� pierwsze na li�cie �cie�ek do czcionek (patrz rezultaty [xinit, wybrana zostanie pierwsza czcionka o aliasie 6x13)]
To prostszy przyk�ad. Je�li chcesz ustawi� odpowiedni� cz�� X-klienta by u�ywa�a czcionek cyrylicowych, musisz znale�� nazw� zasobu (np. za pomoc� editres(1x) i ustali� go albo w bazie danych zasob�w, albo w linii komend. Oto kilka przyk�ad�w:
$ xterm -font '-cronyx-*-bold-*-*-*-19-*-*-*-*-*-*-*'
$ xfontsel -xrm '*quitButton.font: -*-times-*-*-*-*-13-*-*-*-*-*-koi8-*'
W najnowszych wersjach X (X11R61 i wy�szych) istniej� dwie "standardowe"
metody wprowadzania znak�w: pierwotna, dzia�aj�ca z u�yciem programu
xmodmap
, oraz nowa, zwana (Xkb) XKeyBoard. Pierwsze co powiniene�
zrobi� to wy��czy� metod� Xkb! Nie daj si� oczarowa� jej mo�liwo�ciami
ustawienia "cyrylicznej klawiatury". Wygl�da na to �e ta metoda u�ywa
klawsym�w zdefiniowanych w keysymdef.h
. Plik ten definiuje klawsymy
dla wielu j�zyk�w. Jednym problemem jest to �e te definicje nie maj�
nic wsp�lnego z rozszerzonym zestawem znak�w ASCII - jedynym na kt�rym
potrafi wy��cznie operowa� wi�kszo�� program�w! Ledwie wiem o jaki�
programach kt�re zdolne s� przetworzy� klawsymy z keysymdef.h
r�ne od o�miobitowego ASCII. Jednakowo� naszym celem jest sprawienie
�eby obs�uga KOI-8 zadzia�a�a.
Aby wy��czy� obs�ug� Xkb, przegl�dnij sekcj� Keyboard w swoim pliku
XF86Config
i wykomentuj wszystkie linie zaczynaj�ce si� od Xkb
(wielko�� liter bez znaczenia). Zamiast nich, wstaw nast�puj�c� lini�:
XkbDisable
Program xmodmap
pozwala na dopasowanie kod�w kt�re wysy�aj� r�ne
znaki i ich kombinacje. Ustawia on to opieraj�c si� na pliku zawieraj�cym
tabel� t�umacze�.
Je�li nie chcesz zajmowa� si� wszystkimi tymi trikami i wolisz rozwi�zanie
od r�ki, [b�d� to] �ci�gnij odpowiedni� tablic� xmodmapow�, dost�pn� na
wielu ftpach zajmuj�cych si� cyrylic�, na przyk�ad ftp.kiae.su
albo
ftp.funet.fi
. Sam sporz�dzi�em r�wnie� map� opisan� poni�ej, dost�pn�
przez m�j ftp.
Bardziej odpowiedni� alternatyw� jest instalacja pakietu xruskb
,
kt�ry pozwala ci skonfigurowa� wi�kszo�� parametr�w translacji wej�ciowej
bez potrzeby obeznania si� z xmodmap
.
Poni�ej uproszczony opis przystosowania wej�cia. Je�li chcesz jaki� bardziej wyrafinowanych trik�w, zajrzyj do xmodmap(1) lub, jeszcze lepiej, poczekaj na nast�pn� wersj� g��wn� X, kt�ra miejmy nadziej� zajmie si� bie��cymi problemami ze wprowadzaniem danych.
W naszym przypadku, tablica t�umacze� powinna definiowa� dwie rzeczy:
Jest to w zasadzie sekwencja dyrektyw kt�re przypisuj� pewne klawsymy okre�lonym kodom klawiszy. Og�lna sk�adnia to:
keycode kod = sym1 sym2 sym3 sym4
gdzie kod
to numeryczny kod okre�lonego klawisza na klawiaturze (zajrzyj
do tablicy standardowej dla twojego systemu. W moim przypadku znajduje
si� ona w pliku /usr/lib/X11/etc/xmodmap.std
). "Symy" definiuj� klawsymy
wysy�ane przez ten klawisz w r�nych stanach. Sym1
jest klawsymem
wysy�anym w stanie normalnym, sym2
odpowiada klawiszowi z naci�ni�tym
Shift (zwykle), Sym3
i sym4
definiuj� klawsymy wysy�ane przy aktywnym
Mode_switch dla stan�w normalnych i ze Shiftem odpowiednio (grupa 2,
zgodnie z X Protocol Specification). W naszym przypadku aktywny Mode_switch
odpowiada wprowadzaniu w trybie cyrylicy.
Warto�ciami powinny by� albo kody szesnastkowe, albo sta�e symboliczne
z /usr/include/X11/keysymdef.h
(bez pocz�tkowego "XK_").
Tak wi�c je�eli chcieliby�my aby klawisz odpowiadaj�cy �aci�skiemu "a" wypisywa� "a" rosyjskie w trybie alternatywnym, napisaliby�my jak ni�ej:
keycode 38 = a A 0xC1 0xE1
Czytelnik ciekaw by� mo�e dlaczego nie u�y�em sta�ych Cyrillic_a oraz Cyrillic_A, odpowiednio. Odpowied� brzmi: nie dzia�aj� one dla mnie. Nie jestem zbyt obeznany z wn�trzno�ciami specyfikacji systemu X Windows, ale mam nast�puj�ce wyt�umaczenie: symboliczne sta�e powy�ej maj� warto�ci 0x6C1 oraz 0x6E1 odpowiednio. Oznacza to �e w rzeczywi�cie multij�zykowym �rodowisku mo�naby u�ywa� ich bez ich nak�adania si� na inne zestawy znak�w. Jednak standard KOI-8 nie jest szczeg�lnie przystosowany do takiego �rodowiska. Poniewa� wi�c chcemy pozosta� kompatybilni z przesz�o�ci�, naruszymy regu�y obs�ugi wielu j�zyk�w w systemie X Windows.
Oto tabela dla najbardziej popularnej rosyjskiej klawiatury w uk�adzie JCUKEN (tabele te pochodz� od tych z pakietu VakuFonts).
keysym 4 = 4 dollar 4 quotedbl
keysym 5 = 5 percent 5 colon
keysym 6 = 6 asciicircum 6 comma
keysym 7 = 7 ampersand 7 period
keysym q = q Q 0xCA 0xEA
keysym w = w W 0xC3 0xE3
keysym e = e E 0xD5 0xF5
keysym r = r R 0xCB 0xEB
keysym t = t T 0xC5 0xE5
keysym y = y Y 0xCE 0xEE
keysym u = u U 0xC7 0xE7
keysym i = i I 0xDB 0xFB
keysym o = o O 0xDD 0xFD
keysym p = p P 0xDA 0xFA
keysym bracketleft = bracketleft braceleft 0xC8 0xE8
keysym bracketright = bracketright braceright 0xDF 0xFF
keysym a = a A 0xC6 0xE6
keysym s = s S 0xD9 0xF9
keysym d = d D 0xD7 0xF7
keysym f = f F 0xC1 0xE1
keysym g = g G 0xD0 0xF0
keysym h = h H 0xD2 0xF2
keysym j = j J 0xCF 0xEF
keysym k = k K 0xCC 0xEC
keysym l = l L 0xC4 0xE4
keysym semicolon = semicolon colon 0xD6 0xF6
keysym apostrophe = apostrophe quotedbl 0xDC 0xFC
keysym grave = grave asciitilde 0xA3 0xB3
keysym z = z Z 0xD1 0xF1
keysym x = x X 0xDE 0xFE
keysym c = c C 0xD3 0xF3
keysym v = v V 0xCD 0xED
keysym b = b B 0xC9 0xE9
keysym n = n N 0xD4 0xF4
keysym m = m M 0xD8 0xF8
keysym comma = comma less 0xC2 0xE2
keysym period = period greater 0xC0 0xE0
Dla u�ywaj�cych rosyjskiego uk�adu JAWERTY do��czy�em nast�puj�c� tabel�:
keysym q = q Q 0xD1 0xF1
keysym w = w W 0xD7 0xF7
keysym e = e E 0xC5 0xE5
keysym r = r R 0xD2 0xF2
keysym t = t T 0xD4 0xF4
keysym y = y Y 0xD9 0xF9
keysym u = u U 0xD5 0xF5
keysym i = i I 0xC9 0xE9
keysym o = o O 0xCF 0xEF
keysym p = p P 0xD0 0xF0
keysym bracketleft = bracketleft braceleft 0xDB 0xFB
keysym bracketright = bracketright braceright 0xDD 0xFD
keysym a = a A 0xC1 0xE1
keysym s = s S 0xD3 0xF3
keysym d = d D 0xC4 0xE4
keysym f = f F 0xC6 0xE6
keysym g = g G 0xC7 0xE7
keysym h = h H 0xC8 0xE8
keysym j = j J 0xCA 0xEA
keysym k = k K 0xCB 0xEB
keysym l = l L 0xCC 0xEC
keysym z = z Z 0xDA 0xFA
keysym x = x X 0xD8 0xF8
keysym c = c C 0xC3 0xE3
keysym v = v V 0xD6 0xF6
keysym b = b B 0xC2 0xE2
keysym n = n N 0xCE 0xEE
keysym m = m M 0xCD 0xED
keysym backslash = backslash bar 0xDC 0xFC
keysym grave = grave asciitilde 0xC0 0xE0
keysym equal = equal plus 0xDE 0xFE
keysym 3 = 3 numbersign 3 0xDF
keysym 4 = 4 dollar 4 0xFF
Jest to zasadniczo cz�� konfiguracji Xowej cyrylicy wymagaj�ca najwi�cej wiedzy. Zdefiniowa� powiniene� warunki w kt�rych tryb bie��cy prze��czany jest mi�dzy trybem zwyk�ym i cyrylicy. Dzi�ki m�dremu zaprojektowaniu translacji wej�cia w X, jest ona nieprzeno�na, nieelastyczna, niekompletna i og�lnie m�wi�c do kitu. Nic dziwnego �e ludzie przenosz� si� na MS Windows.
Obecnie du�o si� dzieje w rozwijaniu XFree86 w og�lno�ci i modelu wej�cia w X w szczeg�lno�ci. Rezultat jest taki �e twoja konfiguracja mo�e dzia�a� z jedn� wersj� XFree86 i nie dzia�a� z inn�. Co gorsza, czasami rzeczy r�ni� si� mi�dzy r�nymi serwerami w tej samej dystrybucji.
Najpierw opisz� moje ustawienia, kt�re w obecnej chwili dzia�aj� dla mnie.
Pracuj� w XFree86 3.3, serwer SVGA. W moim pliku XF86Config
(w
dystrybucji RedHata umieszczony jest on w /etc/X11
, w sekcji
"Keyboard" mam nast�puj�ce dyrektywy:
Istniej� dwa sposoby osi�gni�cia tego w Linuxie. Jedna jest specyficzna dla XFree86, podczas gdy druga jest bardziej og�lna (nie za bardzo mo�e, jak i poka�� ni�ej).
LeftAlt Meta
RightAlt ModeShift
ScrollLock ModeLock
RightCtl Control
UWAGA: Metoda ustawiania regu� prze��czania tryb�w poprzez plik
XF86Config
jest specyficzna dla XFree86. Nie b�dzie ona dzia�a�
w innych wersjach X.
Teraz �aduj� tabel� opisan� w poprzedniej sekcji i zachowan� w jakim� pliku u�ywaj�c narz�dzia xmodmap(1x):
xmodmap <plik_z_tabel�>
Teraz mam mo�liwo�� zaznaczenia trybu wprowadzania cyrylicy u�ywaj�c prawego klawisza Alt oraz prze��czenia na cyrylic� i z powrotem u�ywaj�c ScrollLock. Zdziwisz si� je�li zobaczysz �e ani CapsLock ani klawisze Control nie dzia�aj� w trybie wprowadzania cyrylicy. C�, powiem to raz jeszcze: model wej�cia X jest do kitu!
Reszt� tej sekcji zajmuje zwi�z�y opis zwyk�ej konfiguracji translacji wej�cia w X. Dzia�a�a ona dla starszych wyda� XFree86, ale teraz wykazuje rozmaite problemy. Pozostawi�em j� tutaj, tak aby co bardziej ciekawi z was mogli spr�bowa� cz�ci tego i zu�ytkowa� to.
Powiniene� zrobi� co nast�puje:
Teraz klawisz do kt�rego przypisany jest ModeShift b�dzie dzia�a� jako prze��cznik tryb�w. Oznacza to �e gdy jest przyci�ni�ty, klawiatura znajduje si� w trybie alternatywnym.
Co wi�cej, je�li dodasz klawsym Mode_lock do tego uk�adu, b�dzie on ustawia� na sta�e tryb alternatywny.
Uwaga: s� jednak pewne problemy. Siergiej Wakulenko (vax@cronyx.com
)
wskaza� �e r�ne implementacje X-serwer�w maj� r�ne zasady przypisywania
prze��cznik�w trybu (np. niekt�re serwery ograniczaj� zestaw klawiszy kt�re
mog� dzia�a� w trybie prze��cznika do, powiedzmy, CapsLock, NumLock oraz
ScrollLock). Na szcz�cie ma si� to zmieni� w nast�pnym wydaniu
systemu X Windows. Po szczeg�y patrz specyfikacja X Protocol.
Niestety nie uda�o mi si� zmusi� CapsLock aby mia� t� sam� funkcjonalno�� w trybie alternatywnym, konkretnie aby na sta�e w��cza� du�e litery. Wydaje mi si� �e nie mo�na tego dokona� z powodu idiotycznego zaprojektowania translacji wej�cia w X. Je�li si� myl�, prosz� mnie poprawi�.
Zobaczmy przyk�ad. Za��my �e chce si� u�ywa� prawego Alt jako prze��cznika tryb�w i ScrollLock do ustawiania trybu na sta�e. Najpierw powinno si� sprawdzi� domy�lny uk�ad modyfikator�w. Osi�ga si� to uruchamiaj�c xmodmap bez argument�w.
$ xmodmap
xmodmap: up to 2 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25)
mod1 Alt_L (0x40), Alt_R (0x71)
mod2 Num_Lock (0x4d)
mod3
mod4
mod5
Zgodnie z powy�szym, plan ataku wygl�da jak nast�puje:
Oto wi�c rozwi�zanie:
remove mod1 = Alt_R
keysym Alt_R = Mode_switch
keycode 78 = Scroll_Lock
add mod3 = Mode_switch
add mod3 = Scroll_Lock
Je�li u�yjesz tego drugiego rozwi�zania, mo�esz po��czy� tabel� i
dyrektywy dotycz�ce tryb�w w swoim pliku ~/.Xmodmap
.
Pliki takie dostarczane s� przewa�nie razem z r�nymi pakietami do obs�ugi cyrylicy pod X. Dobrym przyk�adem s� tabele w doskona�ym pakiecie Siergieja Wakulenki, opisanym wy�ej.
Gdy ju� masz taki plik zawieraj�cy tabel�, powiniene� wykona� komend�:
xmodmap filename
Plik dla ca�ego systemu to /usr/lib/X11/xinit/xinitrc
; osobisty
to albo ~/.xinitrc
, albo ~/.Xclients
, albo
~/.xsession
, zale�nie od tego co masz [zainstalowane].
UWAGA: Je�li xmodmap
narzeka na twoj� tabel�, spr�buj za�adowa�
najpierw domy�ln�. Tabela domy�lna znajduje si� zwykle w
/usr/lib/X11/etc/xmodmap.std
.
W tej sekcji opisz� kilka sposob�w nak�onienia TeXa i LaTeXa do sk�adania tekstu
w cyrylicy. Istnieje kilka sposob�w, kt�re r�ni� si� wyrafinowaniem
instalacji i wygod� w obs�udze. Dla przyk�adu, jedn� z mo�liwo�ci jest
zacz�� bez �adnej wst�pnej instalacji i u�y� font�w cyrylicowych Washington
AMSTeX. Z drugiej strony, mo�esz zainstalowa� pakiet LaTeX, kt�ry zapewnia
wysoki stopie� ustawie� dotycz�cych cyrylicy. Mam pewne do�wiadczenia z dwoma
pakietami. Pierwszy to pakiet cmcyralt
autorstwa Wadima W. �ytnikowa
(
mailto:vvzhy@phy.ncu.edu.tw)
i Aleksandra Harina
(
harin@lourie.und.ac.za), a ten drugi to pakiet LH
autorstwa CyrTUG
[Cyrillic TeX Users Group] ze stylami i dzieleniem wyraz�w
dla LaTeX2e
autorstwa Sergieja O. Naoumowa (
serge@astro.unc.edu).
Opisz� obydwa.
Zauwa� �e dost�pne s� dwie wersje LaTeXa : 2.09 jest wersj� starsz�, podczas gdy 2e jest nowszym wydaniem pre-3.0. Je�li u�ywasz LaTeXa 2.09, przestaw si� szybko na 2e. Ten drugi pozostaje kompatybilny z tym pierwszym, ale ma o wiele wi�cej funkcji. Miejmy nadziej� �e wersja 3 zostanie wkr�tce wypuszczona. Opisz� ustawienia dla LaTeXa 2e.
Uwaga: oba te pakiety wymagaj� aby tekst w cyrylicy sk�adany by� z u�yciem zestawu znak�w Alt, nie KOI-8! Spowodowane jest to przyczynami historycznymi, poniewa� tw�rcy tych pakiet�w pracowali byli z EmTeXem - MS-DOSow� wersj� TeXa (nie wiedzieli jeszcze o Linuxie :-). Przestawienie ich na KOI-8 wymaga nieco wysi�ku i spodziewane jest niebawem. Na razie, u�ywaj jakiego� narz�dzia do konwersji tekstu rosyjskiego z KOI-8 do Alt. Patrz sekcja "Narz�dzia u�ytkownika".
Pakiet ten zosta� stworzony przez American Mathematics Society w celu uzupe�nienia dokument�w o odno�niki po rosyjsku. Dlatego te� autorzy nie byli zbyt uwa�ni, a czcionki wygl�daj� raczej niezr�cznie. Pakiet ten okre�la si� zwykle jako 'ca�kiem kiepski pakiet cyrylicy dla TeXa'.
Niemniej jednak om�wimy go, poniewa� jest on bardzo �atwy w u�yciu i nie wymaga �adnej konfiguracji - kolekcja ta dostarczana jest z wi�kszo�ci� dystrybucji TeXa.
Oczywi�cie nie b�dziesz m�g� sobie pozwoli� na taki luksus jak automatyczne przenoszenie wyraz�w, ale jednak...
\input cyracc.def
\font\tencyr=wncyr10
\def\cyr{\tencyr\cyracc}
\cyri u�ywasz odpowiedniej litery �aci�skiej albo komendy TeXa. I tak ma�e litery rosyjskiego alfabetu wyra�aj� nast�puj�ce kody: a b v g d e \"e zh z i {\u l} k l m n o p q r s t u f kh c ch sh shch {\cprime} y {\cdprime} \'e yu ya
Jest bardzo niewygodnym przekonwertowa� twoje teksty rosyjskie na takie kodowanie, lecz proces mo�na zautomatyzowa�. Program translit (sekcja 11) obs�uguje wynik w postaci TeXowej.
Pojawi� si� jaki� nowy pakiet teTeX-rus
. Podobno obs�uguje on zestaw znak�w
KOI-8 i ma wszystkie podstawowe rzeczy wymagane dla TeXa i LaTeXa. Osobi�cie
jeszcze go nie pr�bowa�em, chocia� s�ysza�em o pomy�lnym go u�ywaniu.
Pakiet cmcyralt
znale�� mo�na na ka�dym z w�z��w CTAN (Comprehensive TeX
Archive Network), jak ftp.dante.de
. Powiniene� zdoby� dwie kolekcje:
kolekcj� font�w z [katalogu] /fonts/cmcyralt
oraz style i regu�y
dzielenia wyraz�w z [katalogu]
/macros/latex/contrib/others/cmcyralt
.
Uwaga: upewnij si� �e masz zainstalowany pakiet Sauter, bowiem cmcyralt
potrzebuje z niego niekt�rych font�w. Pakiet ten mo�esz r�wnie�
zdoby� z w�z�a CTAN.
Powiniene� teraz zrobi� co nast�puje:
cmcyralt
w
/usr/lib/texmf/fonts/cm/
. Utw�rz w nim podkatalogi src
,
tfm
i vf
. Umie�� tam pliki .mf
, .tfm
oraz
.vf
, odpowiednio.*.fd
) z archiwum styl�w
w odpowiednim miejscu (w moim przypadku by� to
/usr/lib/texmf/tex/latex/fd)
.*.sty
) w odpowiednim katalogu styl�w
LaTeXa (w moim przypadku /usr/lib/texmf/tex/latex/sty
).Teraz konfiguracja dzielenia wyraz�w. Wymaga to przerobienia pliku bazowego LaTeXa.
hyphen.cfg
zawiera dyrektywy dla dzielenia wyraz�w
w angielskim i rosyjskim. Wytnij to co tyczy si� rosyjskiego
i umie�� to w pliku konfiguracji dzielenia wyraz�w LaTeXa,
lthyphen.ltx
. W moim przypadku plik ten znajdowa� si� w
/usr/lib/texmf/tex/latex/latex-base
.rhyphen.tex
. Potrzebny jest
on do stworzenia nowego pliku bazowego. P�niej mo�esz go usun��.make
. Nie zapomnij stworzy� odno�nika
z Makefile
do Makefile.unx
. Podczas wykonywania make
sprawd�
komunikaty. Powinno si� pojawi�:
Loading hyphenation patterns for Russian
Je�li wszystko p�jdzie poprawnie, otrzymasz w tym katalogu nowy
latex.fmt
. Wstaw go w odpowiednie miejsce, tam gdzie znajdowa� si�
poprzedni (np. /usr/lib/texmf/ini/
). Nie zapomnij zachowa� starego
pliku!
Oto� i to. Instalacja gotowa. Spr�buj przetworzy� przyk�ady z archiwum styl�w. Je�li mo�esz stworzy� pliki postscriptowe bez �adnych problem�w, wszystko jest w porz�dku. Teraz aby u�ywa� cyrylicy w LaTeXie, wstaw na pocz�tek swojego dokumentu poni�sz� dyrektyw�:
\usepackage{cmcyralt}
Po szczeg�y patrz plik README
w archiwum styl�w cmcyralt
.
Uwaga: je�li masz problemy z przyk�adami, za�o�ywszy �e instalowa�e�
prawid�owo, to prawdopodobnie tw�j system TeX nie zosta� zainstalowany
poprawnie. Na przyk�ad, przy mojej pierwszym te�cie ka�da pr�ba
stworzenia plik�w .pk
dla czcionek rosyjskich nie udawa�a si� (etap
MakeTeXPK
). Dok�adne przyjrzenie si� plikom wykry�o pewien niejawny
konflikt mi�dzy konfiguracjami METAFONT localfont
i ljfour
. Kiedy�
by�o to dzia�a�o, ale rozpad�o si� po instalacji cmcyralt
. Skontaktuj
si� ze swoim lokalnym guru od TeXa - TeX jest bardzo (czasami za
bardzo) z�o�ony aby rekonfigurowa� go bez wcze�niejszej znajomo�ci.
Pakiet CyrTUG uzyska� mo�esz z archiwum SunSite
(
ftp://sunsite.unc.edu/pub/academic/russian-studies/Software)
.
Zrzu� stamt�d pliki CyrTUGfonts.tar.gz
, CyrTUGmacro.tar.gz
i
hyphen.tar.Z
.
Proces instalacji nie r�ni si� od opisanego powy�ej.
Eksperci powiadaj� �e PostScript jest �atwy. Nie potrafi� os�dzi� - mam zbyt wiele rzeczy do nauczenia si� aby po�wi�ci� troch� czasu na nauk� PostScriptu. Spr�buj� wi�c opisa� moje smutne z nim do�wiadczenia. Mile widzia�bym wsparcie od ka�dego kto wie wi�cej na ten temat ode mnie (ok. 99% ludzko�ci).
Zasadniczo aby wydrukowa� tekst z u�yciem PostScriptu, musisz si� upewni� co do nast�puj�cych rzeczy:
Nie ma rozwi�zania na tyle og�lnego aby je poleci� jako �rodek ostateczny, Spr�buj� nakre�li� r�ne sposoby radzenia sobie z r�nymi problemami odno�nie tematu.
Jednym ze sposob�w podej�cia do konfiguracji cyrylicy jest u�ycie Ghostscripta. Ghostscript (lub po prostu gs w nowomowie) to darmowy (no, quasi-darmowy) interpreter PostScriptu. Ma on wiele zalet, pomi�dzy nimi:
To co wa�ne w naszym konkretnym przypadku to to �e gdy ju� raz skonfigurujemy Ghostscripta, mo�emy za jego pomoc� dokonywa� ca�o�ci drukowania, eliminuj�c tym samym ekstra konfiguracj� dla innych urz�dze� postscriptowych (np. HP Laserjet IV).
Jest to wa�ne, poniewa� zapewne nie b�dziesz chcia� polega� na innych
programach przy umieszczaniu w wynikowym postscripcie czcionek cyrylicowych.
Zamiast tego dodajesz je do gs
. i po prostu zmuszasz programy aby
generowa�y wyj�cie w cyrylicy kompatybilne z czcionkami.
Aby doda� do gs
now� czcionk� (w formacie .pfa lub .pfb), musisz:
gs
(np.
/usr/lib/ghostscript/fonts
).Fontmap
w
katalogu gs
Ostatnio pojawi� si� porz�dny zestaw czcionek cyrylicowych dla GhostScripta.
Znajduje si� on na ftp.kapella.gpi.ru
. Ma on nawet konieczny wpis
kt�ry trzeba doda� do pliku Fontmap
. �ci�gn�� musisz zawarto��
katalogu /pub/cyrillic/psfonts/
. Plik README
opisuje
niezb�dne szczeg�y.
Drukowanie zawsze jest rzecz� zawi��. Istniej� r�ne drukarki r�nych producent�w z r�nymi mo�liwo�ciami. Nawet co do drukowania w "go�ym" formacie nie ma jednorodnego rozwi�zania (odnosi si� to nie tylko do Unixa, ale r�wnie� do innych system�w operacyjnych).
Drukarki maj� r�ne j�zyki kontrolne, a cz�sto maj� bardzo r�ne pogl�dy na obs�ug� innych takich j�zyk�w. Dobr� wiadomo�ci� jest to �e jeden taki j�zyk kontrolny wydaje si� by� uznawany za de facto standard dla opisywania zada� zwi�zanych z drukiem - to j�zyk PostScript, stworzony przez Adobe Corporation.
Innym problemem jest r�norodno�� wymaga� zwi�zanych z us�ug� drukowania. Na przyk�ad, czasem chcesz po prostu wydrukowa� kawa�ek programu w C z rosyjskimi komentarzami, wi�c nie potrzebujesz �adnego �adnego drukowania - po prostu czysty wydruk ASCII w pojedynczej czcionce. Innym razem, kiedy projektujesz poczt�wk� dla swojej dziewczyny, b�dziesz zapewne musia� j� z�o�y� u�ywaj�c r�nych czcionek, i tak dalej. B�dzie to wymaga�o z pewno�ci� wi�cej wysi�ku w kwestii ustawienia obs�ugi cyrylicy.
Aby podo�a� pierwszemu zadaniu b�dziesz musia� po prostu zmusi� swoj� drukark� aby rozumia�a jeden font cyrylicowy i (by� mo�e) zainstalowa� jaki� program filtruj�cy, kt�ry b�dzie wypisywa� dane w odpowiednim formacie. Aby dokona� tego drugiego [zadania], b�dziesz musia� nauczy� swoj� drukark� r�nych czcionek i mie� specjalny software.
Istnieje tak�e sytuacja po�rodku, gdy masz program kt�ry wie jak wygenerowa� i fonty i odpowiednie dane dla drukarki, mo�esz wi�c, powiedzmy, wykona� par� �adnych wydruk�w kodu �r�d�owego bez wyrafinowanych system�w obr�bki tekstu.
Wszystkie te opcje zostan� mniej lub bardziej om�wione poni�ej.
Je�li masz star� dobr� drukark� ig�ow� i potrzebujesz tylko wydrukowa� czysty tekst w KOI-8, spr�buj poni�szego:
ftp.
simtel.net
)Tak wi�c maj�c znaki cyrylicowe w g�rnej po��wce zestawu znak�w drukarki b�dziesz m�g� drukowa� teksty po rosyjsku bez �adnych ceregieli.
Alternatywnie z czcionkami KOI-8 mo�esz u�y� czcionek Alt. S� ku temu dwa powody:
Niemniej w tym przypadku b�dziesz musia� przekodowa� swoje teksty z KOI-8
na Alt przed pos�aniem ich do drukarki. Jest to ca�kiem �atwe, poniewa�
pe�no jest program�w kt�re to robi� (patrz "translit", na przyk�ad), tak
wi�c wystarczy �e w�a�ciwie wywo�asz ten program w polu if
/etc/
printcap
. Na przyk�ad dla programu translit
napisa� mo�esz:
if=/usr/bin/translit -t koi8-alt.rus
Patrz printcap(5) po szczeg�y.
Jednym �wietnym sposobem poradzenia sobie z r�nymi czcionkami i drukarkami jest u�ycie TeXa. Sterowniki TeXa zajmuj� si� wszelkimi detalami, wi�c skoro ju� raz nauczy�e� TeXa rozumie� czcionki cyrylicowe, sprawa za�atwiona.
Inn� mo�liwo�ci� jest u�ycie PostScriptu. Zdecydowa�em si� po�wi�ci� temu ca�y rozdzia�, poniewa� nie jest to �atwe.
W ko�cu, s� i inne edytory tekst�w kt�re maj� sterowniki drukarek. Nigdy nie pr�bowa�em niczego poza TeXem, wi�c nie mog� niczego zasugerowa�
Je�li tym czego potrzebujesz jest wydrukowanie tekstu w ASCII bez �adnego
dodatkowego przetworzenia, mo�esz spr�bowa� u�y� kilku program�w kt�re
przerobi� tw�j tekst w cyrylicy na gotowe do przetworzenia plik TeXa.
Jednym z najlepszych program�w do tego celu jest translit
. W tym
przypadku nie musisz si� nawet k�opota� instalowaniem czcionek cyrylicowych
dla TeXa, poniewa� translit u�ywa pakietu Washington Cyriliic, kt�ry
w��czony jest do wi�kszo�ci dystrybucji TeXa (a mo�e si� myl�?)
Czasami masz tekst w czystym KOI-8 i chcesz go wydrukowa� tylko po to �eby mie� go na papierze. Jedn� z najprostszych metod osi�gni�cia tego jest u�ycie specjalnych program�w konwertuj�cych tekst do postscriptu.
Istnieje pewna liczba program�w dokonuj�cych takiej konwersji. Osobi�cie
preferuj� a2ps
. Stworzony pocz�tkowo jako prosty konwerter tekstu
do postscriptu, sta� si� on du�ym i wysoce konfigurowalnym programem
z wieloma opcjami, pozwalaj�c ci obs�u�y� r�ne wielko�ci strony,
pod�wietlanie sk�adni itp. Inne narz�dzie (obecnie dost�pne jako cz��
projektu GNU) to enscript
G��wnym problemem z takimi programami jest to �e nie wiedz� one nic o czcionkach cyrylicowych. W�a�nie rozwa�am mo�liwo�� zawierania w nich czcionek cyrylicowych, tak aby rozumia�y cyrylic�.
Niemniej ca�a ta powy�sza gadanina by�aby bezcelowa bez �adnej rzeczywistej rady. Oto wi�c ona:
Jak zwykle, GNU wygrywa. GNUsowy program enscript
zaprojektowany
zosta� do konwersji tekstu na postscript i ma doskona�� obs�ug�
nie-ASCIIowych zestaw�w znak�w. Nie zawiera on cyrylicowych czcionek
postscriptowych, ale bardzo �atwo je zdoby�, jak wyja�niono poni�ej
(podzi�kowania dla Michaela Van Canneyta).
enscript
. Jak na razie naj�wie�sz� wersj�
jest 1.5. Mo�esz �ci�gn�� go albo z ftp GNU, albo jako pakiet RPM z
ftp RedHata.ftp://ftp.redhat.com/pub/
contrib/i386/enscript-fonts-koi8-1.0.1-i386.rpm
)textbook.tar.gz
z
Cyrillic Software Collection na ftp://sunsite.unc.edu/pub/academic/russian-studies/Software/
). Rozpakuj go do katalogu w kt�rym zainstalowane
s� czcionki enscripta
. Przejd� teraz do tego katalogu i wykonaj:
mkamfmap *.afm
enscript --font=Textbook8 --encoding=koi8 jakis_plik
Je�li chcesz jakiego� szybkiego rozwi�zania i nie dbasz o jako�� wydruku,
a wszystkim czego potrzebujesz jest cyrylica na papierze, spr�buj pakietu
rtxt2ps
. Jest to bardzo prosty i niewyszukany konwerter tekstu do
postscriptu. Jako�� wydruku jest nienajlepsza (albo, m�wi�c szczerze,
ca�kiem z�a), ale robi on to co powinien.
Jeszcze inn� desk� ratunku jest przerobiona wersja a2ps
. Jest ona
do�� stara, wi�c nie spodziewaj si� tych wszystkich fajerwerk�w z nowszych
wersji. Ale drukuje ona tekst w cyrylicy, a jako�� wydruku jest znacz�co
lepsza ni� ta rtxt2ps
. Do�wiadczy�em przy niej jednak r�nych rodzaj�w
problem�w, np. nie mog�em wydrukowa� wi�cej ni� dw�ch stron (???)
Og�lnie, aby przestawi� pewne narz�dzia w trybie operowania cyrylic� wymagane jest po prostu umo�liwienie danych o�miobitowych. W kilku przypadkach wymagane jest powiedzenie aplikacji aby pokaza�a rozszerzone znaki ASCII w ich bazowej formie.
Aby bash rozumia� o�miobitowe znaki, powiniene� ustawi� trzy zmienne,
Najlepszym miejscem jest plik ~/.inputrc
. Ustaw co nast�puje:
set meta-flag on
set convert-meta off
set output-meta on
Powinienie� ustawi� poni�sze w .cshrc
:
setenv LC_CTYPE iso_8859_5
stty pass8
Je�li nie masz stty zgodnego z POSIX (niemo�liwe w Linuxie), zast�p ostatnie wywo�anie przez:
stty -istrip cs8
Minimaln� obs�ug� cyrylicy w emacsie zapewnia dodanie poni�szych
wywo�a� do pliku .emacs
(zak�adaj�c �e zainstalowana jest obs�uga
zestawu znak�w cyrylicy dla konsoli lub X, odpowiednio).
(standard-display-european t)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)
Umo�liwia to u�ytkownikowi ogl�danie i wprowadzanie rosyjskich dokument�w.
Taki tryb nie jest jednak wielk� wygod�, poniewa� emacs
nie rozpoznaje
zwyk�ych komend klawiatury gdy znajduje si� w trybie wprowadzania
cyrylicy. Istnieje pewna liczba pakiet�w kt�re u�ywaj� innego podej�cia.
Nie polegaj� one na "input mode" ustalonym przez �rodowisko (X lub
konsol�). Zamiast tego, pozwalaj� u�ytkownikowi prze��cza� tryb wprowadzania
specjalnymi komendami emacsa, a emacs sam jest odpowiedzialny za
przedefiniowanie zestawu znak�w. Autor mia� szans� zaznajomi� si� z trzema
takimi pakietami. Pakiet russian.el
Walerego Aleksiejewa
(
mailto:ava@math.jhu.edu)
pozwala u�ytkownikowi prze��cza� si� mi�dzy trybami cyrylicy i zwyk�ym
oraz t�umaczy� zawarto�� bufora z jednego kodowania cyrylicy na drugie
(co jest szczeg�lnie u�yteczne przy czytaniu tekst�w przeniesionych
z MS-DOS). rustable.el
(nie znam niestety autora) dodaje do emacsa regu�y
sk�adniowe zestawu znak�w (granice s��w, regu�y zmiany wielko�ci liter
itd.) Pakiety te znale�� mo�na w wi�kszo�ci archiw�w emacsowego Lispa.
Jedyn� niewygod� jest to �e emacs ci�gle traktuje znaki rosyjskie jako specjalne, nie rozpoznaje wi�c granic s��w rosyjskich i zmian wielko�ci liter. Aby to poprawi�, musisz zmodyfikowa� sk�adni� i tablice wielko�ci liter emacsa:
;; w zmiennych poni�ej znajduj� si� �miecie, poniewa� SGML nie lubi
;; znak�w cyrylicy. B�dziesz musia� wstawi� du�e i ma�e litery
;; rosyjskiego alfabetu, odpowiednio (patrz faktyczne pliki)
(setq *russian-abc-ucase* "tu wstaw du�e litery")
(setq *russian-abc-lcase* "tu wstaw ma�e litery")
(let ((i 0)
(len (length *russian-abc-ucase*)))
(while (< i len)
(modify-syntax-entry (elt *russian-abc-ucase* i) "w ")
(modify-syntax-entry (elt *russian-abc-lcase* i) "w ")
(set-case-syntax-pair (elt *russian-abc-ucase* i)
(elt *russian-abc-lcase* i)
(standard-case-table))
(setq i (+ i 1))))
Dla tego celu stworzy�em plik rusup.el
kt�ry tego dokonuje, podobnie
jak kilka por�cznych funkcji. Musisz za�adowa� go w swoim ~/.emacs
.
Jeszcze jeden pakiet to remap
, kt�ry pr�buje bardziej utypowi� obs�ug�
cyrylicy. Pakiet ten napisa� Per Abrahamsen
(
mailto:abraham@iesd.auc.dk
), i dost�pny jest on na
ftp.iesd.auc.dk
.
We w�asnej opinii, sugerowa�bym zacz�� od russian.el
, bowiem jest on
bardzo �atwy w konfiguracji i u�yciu.
Istnieje dodatek rspell
do pakietu GNU ispell
, stworzony przez
Neala Daltona (nrd@cray.com
), ale do�wiadczy�em z nim kilku
problem�w pr�buj�c go zmusi� do natychmiastowego dzia�ania. Spr�buj go -
mo�e tobie si� poszcz�ci.
Spr�buj opcji -asis
Co do implementacji public domain ksh
, pdksh 5.1.3
, mo�esz
wprowadza� znaki o�miobitowe tylko w trybie vi. U�yj
set -o vi
Jak na razie, less
nie obs�uguje zestawu znak�w KOI-8, ale poni�sza
zmienna �rodowiskowa za�atwia spraw�:
LESSCHARSET=latin1
Od wersji 2.6 mo�esz wybra� odpowiedni� warto�� dla opcji Display Character Set.
Aby poprawnie wy�wietla� znaki cyrylicy, zaznacz opcj� 'full 8 bits' w menu Options/Display.
Je�li masz problem z brzydkimi ramkami okien, zobacz sekcj� ''
Off topic: je�li chcesz zmusi� mc do u�ywania kolor�w w oknie xterma
,
ustaw zmienn� COLORTERM
COLORTERM= ; export COLORTERM
Upewnij si� �e u�ywasz wersji Netscape'a wi�kszej ni� 3. Je�li tw�j Netscape jest starszy, �ci�gnij nowszego z www.netscape.com.
Aby m�c ogl�da� tekst cyrylic� w wi�kszej cz�ci dokument�w HTMLowych, zr�b co nast�puje:
UWAGA: konfiguracja ta b�dzie dzia�a�a z wi�ksz� cz�ci� dokumentu. Jednak�e nie b�dziesz m�g� wy�wietla� tekstu cyrylic� w nag��wku okna, menu i niekt�rych dialogach. Aby naprawi� te problemy:
Andriej A. Czernow wie wi�cej ni� inni o KOI-8 w og�le i o Netscape w szczeg�lno�ci. Odwied� jego doskona�� stron� o KOI-8 i �ci�gnij �at� do pliku zasob�w Netscape, co sprawi �e Netscape b�dzie m�wi�o po rosyjsku na tyle na ile mo�e.
Wstaw nast�puj�c� dyrektyw� do ~/.pinerc
dla konfiguracji
osobistej, albo do /usr/lib/pine.conf
dla globalnej:
character-set=ISO-8859-5
Upewnij si� �e pow�oka na serwerze docelowym jest ustawiona poprawnie.
Potem, je�li tw�j rlogin
nie dzia�a domy�lnie [prawid�owo],
u�yj rlogin -8
.
Od wersji 8 sendmail domy�lnie prawid�owo radzi sobie z 8-bitowymi danymi.
Je�li nie jest tak u ciebie, sprawd� opcj� EightBitMode i opcj� -7
przekazywan� mailerom w twoim /etc/sendmail.cf
. Patrz "Sendmail;
Installation and Operation Guide" po szczeg�y.
U�ywaj w ten sam spos�b jak csh
(patrz sekcja o csh
). Plikami
startowymi w tym przypadku s� .zshrc
oraz /etc/zshrc
.
Istnieje pewna liczba program�w zdolna konwertowa� z KOI-8 na Alt
i z powrotem. Poszukaj w SovInformBureau albo na ftp.funet.fi
listy por�cznych ma�ych programik�w. Mo�esz te� u�y� specjalnego
trybu emacsa (patrz sekcja o emacsie).
Szczeg�lnie poleca�bym jednak�e pakiet translit
. Obs�uguje on
wiele popularnych zestaw�w znak�w i potrafi nawet stworzy� pliki TeXa
(patrz sekcja 5.1). z tekstu rosyjskiego. U�ytkownicy RedHata maj�
do dyspozycji translit
w postaci pliku RPM.
Jak dot�d obja�nia�em sposoby zmuszenia program�w do akceptowania i wy�wietlania zestawu znak�w cyrylicy. Niemniej pe�ne przystosowanie systemu do warunk�w lokalnych obejmuje o wiele wi�cej. To co om�wiono powy�ej nie wystarcza. System powinien by� przyjazny dla u�ytkownika, kt�ry niekoniecznie musi zna� angielski. W mojej opinii, nie jest wielk� spraw� obeznanie si� z angielskim na poziomie komunikat�w program�w. Jednak�e nie jest ca�kiem fair tego wymaga�.
Tak wi�c nast�pny poziom przystosowania wymaga aby programy by�y dostosowywalne do wymaga� r�nych j�zyk�w i zwyczaj�w w przedstawianiu danych.
Wcze�niej dokonywano tego poprzez rozwijanie pewnej abstrakcji komunikat�w b�d�cych rezultatem kodu programu. Teraz ten mechanizm jest (mniej czy wi�cej) ustandaryzowany. I, oczywi�cie, istniej� jego darmowe implementacje!
Dobra wiadomo�� to to �e GNU w ko�cu przyj�o spos�b tworzenia
zinternacjonalizowanych aplikacji. Ulrich Drepper
(
mailto:drepper@ipd.info.uni-karlsruhe.de
)
stworzy� pakiet gettext
, dost�pny we wszystkich
repozytoriach GNU, takich jak
ftp://prep.ai.mit.edu/pub/gnu/
.
Pozwala on tworzy� programy w spos�b kt�ry �atwo mo�na roszerzy�
na obs�ug� wielu j�zyk�w. Nie zamierzam opisywa� technik programistycznych,
zw�aszcza �e pakiet gettext zawiera doskona�y podr�cznik.
Tak wi�c je�eli tworzysz programy kt�re wypisuj� jakie� komunikaty (a stworzy�e� kiedy� taki kt�ry by ich wypisywa�?), nie le� si� i w�� ociupin� (naprawd� ociupin�) wysi�ku w uczynienie swojego programu �wiadomym locale.
Pro�ba o wsp�prac�: je�li chcesz nauczy� si� pakietu gettext
i
r�wnocze�nie do�o�y� co� do projektu GNU; lub nawet je�li tylko chcesz
do�o�y�, mo�esz to zrobi�! GNU si� internacjonalizuje, wi�c wszystkie
narz�dzia przerabiane s� na �wiadome locale. Problemem jest
przet�umaczenie komunikat�w z angielskiego na rosyjski (i inne
j�zyki, jak wam si� podoba). Zasadniczo, to co trzeba zrobi� to
zdoby� specjalny plik .po
, sk�adaj�cy si� z angielskich komunikat�w
konkretnego narz�dzia i do��czy� do ka�dego komunikatu jego odpowiednik
po rosyjsku. W ostatecznym rozrachunku sprawi to �e system b�dzie
odzywa� si� po rosyjsku, je�li zechce tego u�ytkownik! Po wi�cej
szczeg��w i dalsze wskaz�wki skontaktuj si� z Ulrichem Drepperem
(
mailto:drepper@ipd.info.uni-karlsruhe.de
)
Strona domowa a2ps
:
http://www-inf.enst.fr/~demaille/a2ps.html
Strona A. Czernowa o KOI-8:
http://www.nagual.ru/~ache/koi8.html
Og�lna informacja o Linuxie:
http://sunsite.unc.edu/mdw/linux.html
Moja kolekcja rzeczy zwi�zanych z konfiguracj� cyrylicy:
ftp://netvision.net.il/pub/home/b/belikoff/cyrillic/
Kolekcja cyrylicowa na ftp.kiae.su
:
ftp://ftp.kiae.su/cyrillic
Kolekcja cyrylicowa na ftp.relcom.ru
:
ftp://ftp.relcom.ru/cyrillic/
Kolekcja program�w cyrylizuj�cych
ftp://ftp.funet.fi/pub/culture/russian/comp/
Cronyx
http://www.cronyx.ru/
- tw�rcy czcionek cyrylicowych dla systemu X Windows.
Pakiet remap dla emacsa
ftp://frp.iesd.auc.dk/
Czcionki cyrylicowe dla Ghostscripta:
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts
Czcionki cyrylicowe dla X:
ftp://ftp.kiae.su/cyrillic/x11/fonts/xrus-2.1.1-src.tgz
Ghostscript:
http://www.cs.wisc.edu/~ghost/index.html
GNU nenscript:
ftp://ftp.prep.ai.mit.edu/pub/gnu
Informacja o Cyrlillic Software:
http://sunsite.oit.unc.edu/sergei/Software/Software.html
Grupa newsowa relcom.fido.ru.unix
.
RFC 1489:
http://ds.internic.net/rfc/rfc1489.txt
U�yteczne pakiety obs�uguj�ce cyrylic�:
ftp://sunsite.unc.edu/pub/academic/russian-studies/Software
Pakiet kbd dla Linuxa:
ftp://sunsite.unc.edu/pub/Linux/system/Keyboards/
Kolekcje czcionek X:
ftp://ftp.switch.ch/mirror/linux/X11/fonts/
SovInformBureau:
http://www.siber.com/sib/russify/
Pakiet rusyfikuj�cy teTeX:
ftp://xray.sai.msu.su/pub/outgoing/teTeX-rus/
rtxt2ps
i przerobiony a2ps
:
http://www.siber.com/sib/russify/converters/
Pakiet translit
:
ftp://ftp.osc.edu/pub/russian/translit/translit.tar.Z
Pakiet xruskb
:
ftp://ftp.relcom.ru/x11/cyrillic/
rspell
:
ftp://sunsite.unc.edu/pub/academic/russian-studies/Software/rspell.tar.gz
FTP XFree86:
http://www.xfree86.org
# # # #
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22