1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>The Cyrillic HOWTO</TITLE>
</HEAD>
<BODY>
<H1>The Cyrillic HOWTO<BR></H1>
<H2>Autor: Aleksander L. Belikoff<BR>
v3.0, 13 sierpie 1995<BR>
<B>Wersja polska: Gwidon S. Naskrent
<A HREF="mailto:naskrent@hoth.amu.edu.pl">naskrent@hoth.amu.edu.pl</A><BR></B>
v2.0, luty 1998</H2>
<P><HR>
<EM>Dokument ten opisuje jak skonfigurowa swj system linuxowy aby mc pisa,
oglda i drukowa dokumenty w jzyku rosyjskim.
Dokument ten zosta napisany w standardzie ISO-8859-2.
Orygina tego dokumentu znajduje si pod adresem
<A HREF="ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/">ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/</A></EM>
<HR>
<H2><A NAME="s1">1. 1. Uwagi oglne</A></H2>
<P>
<P>
<H2>1.1 1.1 Wstp</H2>
<P>
<P>Dokument ten obejmuje to czego potrzebujesz aby skutecznie pisa, oglda
i drukowa dokumenty po rosyjsku pod Linuxem. Chocia dokument ten zakada
e jako systemu operacyjnego uywasz Linuxa, wikszo z przedstawionych
informacji stosuje si take do innych odmian Unixa. Postaram si zachowa
rozrnienie tak widocznym jak to moliwe.
<P>Istnieje pewna liczba popularnych dystrybucji linuxowych. Jako system
przykadowy opisz Linuxa Red Hat 3.0.3 (Picasso) oraz Red Hat 4.1
(Vanderbildt) - tego ktrego osobicie uywam. Niemniej jednak postaram
si zaznaczy rnice, jeli takowe istniej, w instalacji Linux Slackware.
<P>Poniewa taka instalacja bezporednio modyfikuje i rozszerza system
operacyjny, powiniene zdawa sobie spraw z tego co robisz. Chocia
staraem si sprawy maksymalnie uproci, posiadanie pewnego dowiadczenia
z danym programem jest korzystne. Nie zamierzam opisywa czym jest system
X Windows i jak skada dokumenty uywajc TeXa lub LaTeXa, albo jak
zainstalowa drukark w Linuxie. Problemy te omawiane s w innych
dokumentach.
<P>Z tych samych powodw opisuj instalacj na skal systemow, domylnie
wymagajc uprawnie administratora. Jeli jednak istnieje moliwo
instalacji na poziomie uytkownika, nie omieszkam jej wspomnie.
<P>Uwaga: system X Windows, TeX i inne skadniki Linuxa s zoonymi
systemami z wyrafinowan konfiguracj. Jeli co sknocisz, moesz nie
tylko nie dokona instalacji cyrilicy, ale popsu skadnik, jeli nie
cay system. Nie ma to na celu ci odstrasza, lecz tylko sprawi aby
zrozumia powag operacji i by ostronym. Wstpna kopia zapasowa
plikw konfiguracyjnych jest wielce podana. Posiadanie pod rk
jakiego guru zawsze si przydaje.
<P>
<H2>1.2 1.2 Dostpno i uwagi</H2>
<P>
<P>Dokument ten dostpny jest na sunsite.unc.edu lub tsx-11.mit.edu jako
cz Linux Documentation Project. Moe take by dostpny w rnych
archiwach zawierajcych Linuxa. Co wicej, moe take wchodzi w skad
dystrybucji Linuxa.
<P>Mona go wreszcie otrzyma bezporednio od autora, na ftp.netvision.net.il.
<P>Jeli masz jakie pytania dotyczce tego dokumentu, nie wahaj si, prosz,
skontaktowa si ze mn pod adresem belikoff@netvision.net.il. Kada nowa
i uyteczna informacja na temat obsugi Cyrilicy w rnych Unixach jest
mile widziana. Pamitaj, pomoe to innym.
<P>Wielu ludzi pomogo mi (i nie tylko mi) wartociowymi informacjami oraz
sugestiami. Jeszcze wicej ludzi dooyo oprogramowania na uytek
publiczny. Przepraszam jeeli zapomniaem kogo wymieni.
<P>Oto wic oni: Bas v. de Bakker, David Daves, Siergiej Wakulenko,
Siergiej O. Naoumow, Winfried Trmper, Michael van Canneyt.
<P>Ten dokument jest (c) 1995 Aleksander L. Belikoff. Mona go uywa
i rozpowszechnia zgodnie ze zwykymi warunkami Linux HOWTO opisanymi
poniej.
<P>Ponisze jest notk o prawach autorskich Linux HOWTO:
<P>Dokumenty Linux HOWTO stanowi prawn wasno ich autorw, chyba
e zaznaczono inaczej. Dokumenty Linux HOWTO mog by reprodukowane
i rozposzechniane w caoci lub czci, w kadym fizycznym lub
elektronicznym rodku przekazu, tak dugo jak w kadej kopii pozostaje
niniejsza notka o prawach autorskich. Redystrybucja komercyjna jest
dozwolona i popierana; autorzy jednak woleliby zosta o takich
dystrybucjach powiadomieni.
<P>Wszystkie tumaczenia, prace pochodne i zbiorowe zawierajce
dokumenty Linux HOWTO musz podlega po t notk o prawach autorskich.
To jest, nie moesz stworzy z HOWTO pracy pochodnej i naoy
dodatkowe ograniczenia na jej dystrybucj. Wyjtki do tych regu
mog by udzielone pod pewnymi warunkami; prosz skontaktowa
si z koordynatorem Linux HOWTO pod adresem podanym poniej.
<P>W skrcie, chcielibymy promowa rozprzestrzenianie si tych
informacji tak wieloma kanaami jak to moliwe. Pragnlibymy
jednake zachowa prawa autorskie do dokumentw HOWTO, i
by powiadamianymi o kadych planach ich redystrybucji.
<P>Jeli masz pytania, skontaktuj si prosz z Gregiem Hankinsem,
koordynatorem Linux HOWTO, pod adresem <CODE>gregh@sunsite.unc.edu</CODE>.
Moesz uy tego adresu z programem finger by zdoby numer telefonu
i inne dodatkowe informacje dotyczce kontaktu.
<P>Unix jest zastrzeonym znakiem przemysowym X/Open Ltd.; MS-DOS, Windows,
Windows NT i Windows 95 s zastrzeonymi znakami Microsoft Corp.; System
X Windows jest znakiem zastrzeonym Consortium X, Inc. Wszystkie inne
znaki zastrzeone nale do ich odpowiednich posiadaczy.
<P>
<H2><A NAME="s2">2. 2. Znaki i zestawy znakw</A></H2>
<P>
<P>Aeby zrozumie i wywietla znaki rnych jzykw, system i programy
musz by zdolne odrnia je od innych znakw. To jest, kady pojedynczy
znak musi mie odrbn reprezentacj wewntrz systemu operacyjnego, bd
konkretnego pakietu programw. Taka kolekcja wszystkich odrbnych znakw
ktre jaki system jest w stanie reprezentowa w danym momencie nazywa
si zestawem znakw.
<P>W czasie tworzenia najwikszych systemw operacyjnych nikt nie dba o to
aby programy byy wielojzyczne. Dlatego te najpopularniejszym zestawem
znakw by (i cigle jest) ASCII (American Standard Code for Information
Interchange).
<P>Standardowy ASCII (aka siedmiobitowy ASCII) zawiera 128 odrbnych kodw.
Niektre z nich ASCII definiuje jako faktyczne drukowalne znaki, a niektre
s tak zwanymi znakami kontrolnymi, ktre posiaday specjalne znaczenia
w starszych protokoach komunikacyjnych. Kady element zestawu identyfikuje
kod bdcy liczb cakowit (0-127). Podzbir znakw drukowalnych
przedstawia te ktre znale mona na klawiaturze maszyny do pisania, z
niewielkimi dodatkami. Kady znak zajmuje siedem najmniej znaczcych bitw
bajtu, podczas gdy najbardziej znaczcy uywany by dla celw kontrolnych
(np. kontroli transmisji w starszych pakietach komunikacyjnych).
<P>Koncepcj ASCII siedmiobitowego rozszerzy ASCII omiobitowy (aka
rozszerzony ASCII). W tym zestawie zakres kodw znakw to 0-255. Dolna
poowa (0-127) to czysty ASCII, podczas gdy grna zawiera 127 dodatkowych
znakw. Poniewa zestaw ten jest wstecznie kompatybilny z ASCII (znak
cigle zajmuje osiem bitw, kody odpowiadaj staremu ASCII), zyska
on sobie szerok popularno.
<P>ASCII omiobitowe nie definiuje zawartoci grnej powki zestawu. Dlatego
ISO powzio zadanie ustalenia rodziny standardw znanych jako rodzina
ISO-8859-X. Jest to zbir kodowa omiobitowych, w ktrych nisza poowa
kadego kodowania (0-127) odpowiada ASCII, a wysza definiuje znaki dla
rnych jzykw. Zdefiniowano na przykad nastpujce kodowania:
<P>
<UL>
<LI>8859-1 - Europa Zachodnia, Ameryka aciska (znany te jako Latin 1)</LI>
<LI>8859-2 - Europa rodkowa i Wschodnia</LI>
<LI>8859-5 - cyrylica</LI>
<LI>8859-8 - hebrajski</LI>
</UL>
<P>W Latin 1 grna poowa tabeli definiuje rne znaki ktre nie s czci
alfabetu angielskiego, ale znajduj si w rnych jzykach
zachodnioeuropejskich (umlauty niemieckie, akcenty francuskie).
<P>Programy ktre nie zakadaj nic co do smego bitu danych ASCII zwane
s omiobitowo czystymi. Niektre starsze programy, napisane z myl o
ASCII 7-bitowym, nie s czyste omiobitowe i mog dziaa niepoprawnie
z danymi omiobitowymi. Wikszo jednak pakietw domylnie radzi sobie
z omiobitowym ASCII, albo wymaga bardzo prostego ustawienia.
UWAGA: zanim wylesz pytanie "Wszystko ustawiem poprawnie, a nie mog
wprowadza/oglda znakw cyrylicowych!", zajrzyj do sekcji 8 co do
uwag o programie ktrego uywasz.
<P>Poniewa na wikszoci systemw ASCII zajmuje osiem bitw, nie ma ju
moliwo aby cigle je rozszerza. Sposobem na zaimplementowanie nowych
symboli w kodowaniach opartych na ASCII jest stworzenie innej implementacji
rozszerzonego ASCII. W taki wanie sposb zaimplementowane zostao
kodowanie cyrylicy w ASCII.
<P>Wspomnielimy ju o standardzie ISO-8859-5 jako okrelajcym kodowanie
cyrylicy. Lecz jak to czsto bywa ze standardami, stworzono go nie biorc
pod uwag istniejcej praktyki w byym ZSRR. Jedyn wic rzecz jak
ten standard osign byo spotgowanie zamieszania. Nie powiedziabym
e gdzie si znaczco uywa ISO-8859-5.
<P>Innymi standardami kodowania cyrylicy s tak zwane kodowanie Alt i
strona kodowa 1251 Microsoftu. Ta pierwsza stworzona zostaa (przez kogo?)
do dawno temu na potrzeby MS-DOS. W tamtych czasach nie byo jeszcze
tego caego szumu o internetowaniu, intencj wic byo uczynienie jej
jak najbardziej kompatybilnej ze standardem IBM. Dlatego kodowanie Alt
jest w rzeczywistoci stron kodow IBM, gdzie wszystkie specjalne znaki
europejskie w grnej powce zastpiono cyrylicznymi, z wyczeniem
pseudografiki. Nie rujnowao to atwego tworzenia okienek i dawao take
znaki cyrylicowe. Standard Alt cigle yje i jest niesychanie popularny
w wiecie MS-DOSa.
<P>Strona kodowa 1251 to po prostu prba Microsoftu pokazania nowego standardu
dla kodowania cyrylicy w Windows. Na ile wiem, nie jest ona kompatybilna
z czymkolwiek (niezbyt dziwne, co?)
<P>I w kocu istnieje KOI-8. Jest ono rwnie stare, ale zaprojektowano je
mdrze i dzisiaj zaoenia tego projektu wygldaj naprawd uytecznie.
<P>I znw, jest ono kompatybilne z ASCII, a znaki cyrylicy umieszczone s
w grnej powce. Lecz gwnym zaoeniem projektowania KOI-8 jest to e
pozycje znakw cyrylicy musz odpowiada znakom angielskim o zblionej
wymowie. Konkretnie, jeli ustawimy smy bit w angielskim 'a', dostaniemy
'a' cyrylicowe. Oznacza to e jeli mamy tekst pisany cyrylic w KOI-8,
moemy uci smy bit z kadego znaku i dalej mie czytelny tekst. Bardzo
to dzisiaj wane, poniewa w Internecie jest wiele wzw pocztowych ktre
po prostu po cichu obcinaj smy bit, pewne e wszyscy na caej Ziemi mwi
po angielsku.
<P>Nic dziwnego e KOI-8 szybko sta si de facto standardem dla cyrylicy
w Internecie. Andriej A. Czernow poczyni ogromne nakady pracy aby
ustali w tym obszarze standard. Jest on autorem RFC 1489 ("Registration
of a Cyrillic character set").
<P>Te dwa standardy [Alt i KOI-8] rni si tylko pozycjami znakw
cyrylicowych w tabeli (to jest kodami znakw cyrylicowych)/
<P>Gwn rnic jest to e kodowanie Alt uywane jest tylko przez
uytkownikw MS-DOS, podczas gdy KOI-8 uywane jest w Unixie, a take
w MS-DOSie (chocia w tym drugim jest znacznie mniej popularne).
Poniewa robimy to co trzeba (to znaczy pracujemy w systemie Unixowym)
skupimy si gwnie na KOI-8.
<P>Co do standardu ISO, jest on bardziej popularny jako standard cyrylicy.
w Europie i USA. W Rosji zdecydowanie przoduje KOI-8.
<P>Istniej i inne standardy, rne od ASCII i o wiele bardziej elastyczne.
Najbardziej znanym jest Unicode. Nie s jednak one zaimplementowane
tak dobrze jak te podstawowe w Unixie w oglnoci i Linuxie w
szczeglnoci. Dlatego te nie bd ich tu opisywa.
<P>
<H2><A NAME="s3">3. 3. Ustawianie trybu tekstowego</A></H2>
<P>
<P>Zasadniczo tryb tekstowy jest najprostsz metod pokazywania i wprowadzania
znakw cyrylicy. Istnieje jednak jedna zasadnicza komplikacja: fonty
w trybie tekstowym i operacje na ukadzie klawiatury zale od implementacji
sterownika terminala. Nie ma wic przenonej metody dla osignicia tego
celu midzy rnymi systemami.
<P>Za chwil opisz sposb radzenia sobie ze sterownikiem konsoli Linuxa.
Tak wic jeli masz inny system, nie spodziewaj si e bdzie to dziaa
u ciebie. Zajrzyj raczej do dokumentacji swojego sterownika terminala.
Polij mi jednake jakiekolwiek informacje jakie znajdziesz, tak aby mg
wczy je do przyszych wersji tego dokumentu.
<P>
<H2>3.1 4.1. Konsola</H2>
<P>
<P>Sterownik konsoli Linuxa jest do elastycznym kawakiem software'u.
Potrafi on zmienia fonty oraz ukady klawiatury. Aby to osign, bdziesz
potrzebowa pakietu kbd. RedHat i Slackware instaluj kbd jako cz
systemu.
<P>Pakiet kbd zawiera narzdzia do kontrolowania klawiatury oraz znaczny
zbir fontw i ukadw klawiatury.
<P>By ustawi cyrylic, trzeba wykona dwie rzeczy:
<P>
<OL>
<LI>Ustawienie czcionki ekranowej. Wykonywane jest to za pomoc
programu <CODE>setfont</CODE>. Pliki z czcionkami umieszczone s w
<CODE>/usr/lib/kbd/consolefonts</CODE>.
UWAGA: Nigdy nie uruchamiaj programu setfont pod X, poniewa zawiesi
on twj system. Dzieje si tak poniewa dziaa on z odwoaniami
niskiego poziomu do karty graficznej, ktrych nie lubi X.
</LI>
<LI>Zaadowa odpowiedni ukad klawiatury programem <CODE>loadkeys</CODE>.</LI>
</OL>
<P>UWAGA: W RedHat 3.0.3 <CODE>/usr/bin/loadkeys</CODE> ma zbyt zawone
prawa dostpu, konkretnie 700 (<CODE>rwx------</CODE>). Nie ma powodu aby tak
byo, poniewa kady moe skompilowa swoj wasn kopi i uruchomi
j (odpowiednie odwoania do systemu nie s zarezerwowane tylko dla
administratora). Popro wic swojego sysadmina aby ustawi dla
bardziej sensowne prawa dostpu (na przykad 755).
<P>Oto wycig z mojego skryptu <CODE>cyrload</CODE>, ktry ustawia tryb cyrylicy
dla konsoli linuxowej.
<P>
<BLOCKQUOTE><CODE>
<PRE>
if [ notset.$DISPLAY != notset. ]; then
echo "`basename $0`: nie dziaa 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 "Uyj prawego Ctrl aby zmieni tryb"
</PRE>
</CODE></BLOCKQUOTE>
<P>Pozwl mi to nieco wyjani. adujesz odpowiednie mapowanie klawiatury.
Nastpnie adujesz font odpowiadajcy zestawowi znakw Alt. Pniej,
aby mc poprawnie wywietla tekst w KOI-8, adujesz tablic przekodowywania
ekranowego. Dokonuje ona translacji niektrych znakw z grnej powki
kodowania na kodowanie Alt. Kluczowe znaczenie ma sowo 'niektre' - nie
wszystkie znaki podlegaj translacji, dlatego te niektre z nich, jak
pseudograficzne znaki IBM, trafiaj na ekran niezmodyfikowane i wywietlaj
si poprawnie, poniewa s one kompatybilne z kodowaniem Alt, w
przeciwiestwie do KOI-8. Aby si upewni, uruchom <CODE>mc</CODE> i udawaj e
jeste znw w MS-DOS 3.3...
<P>W kocu, owa magiczna sekwencja jest wana, ale nie mam adnego pojcia
co takiego robi [resetuje konsol i mapy odwzorowa; patrz Keyboard-HOWTO -
przyp. GSN]. Poyczyem/podkradem j z German-HOWTO jeszcze w 1994, kiedy
byo no chyba jedynym HOWTO zorientowanym na jzyki narodowe. Jeli masz
jaki pomys co do tej magicznej sekwencji, powiadomij mnie, prosz.
<P>Dla tych purystw ktrzy nie chc prbowa kodowania Alt doczam jeszcze
jedn wersj powyszego skryptu, uywajc rdzennych fontw KOI-8.
<P>
<BLOCKQUOTE><CODE>
<PRE>
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 "Uyj prawego Ctrl aby zmieni tryb"
</PRE>
</CODE></BLOCKQUOTE>
<P>Nie spodziewaj si jednak adnych ramek w swoich okienkowych aplikacjach
tekstowych.
<P>Chcesz to pewnie teraz wyprbowa. Ustaw bash lub tcsh jak trzeba,
uruchom je ponownie, potem nacinij prawy klawisz Ctrl i upewnij si
e otrzymujesz prawidowe znaki cyrylicy. Klawisz 'q' musi dawa
rosyjskie 'krtkie i', w generowa 'c' itd.
<P>Jeli co pokrcie, najlepsz rzecz jest przywrcenie ustawie
oryginalnych (tj. amerykaskich). Wykonaj nastpujce komendy:
<P>
<BLOCKQUOTE><CODE>
<PRE>
loadkeys /usr/lib/kbd/keytables/defkeymap.map
setfont /usr/lib/kbd/consolefonts/default8x16
</PRE>
</CODE></BLOCKQUOTE>
<P>UWAGA: niestety sterownik konsoli nie jest w stanie zachowa swojego
statusu (a przynajmniej nie w prosty sposb) podczas uruchamiania
X Windows. Dlatego, kiedy wyjdziesz z X (albo przeczysz ze na
konsol), bdziesz musia ponownie zaadowa rosyjski font konsolowy.
<P>
<H2>3.2 Konsola FreeBSD</H2>
<P>
<P>Nie uywam FreeBSD, tak wic nie mogem przetestowa poniszej informacji.
Trzeba zacz od tego e wszystkie dane w tej sekcji naley traktowa jako
wskaniki. Strona domowa projektu FreeBSD moe mie jakie informacje
na ten temat. Innym dobrym rdem jest grupa newsowa <CODE>relcom.fido.ru.unix</CODE>.
Sprawd take zasoby wyliczone w sekcji 11.
<P>W kadym razie, oto co Ilja K. Orechow sugeruje zrobi aby konsola
FreeBSD mwia po rosyjsku:
<P>
<OL>
<LI>dodaj w <CODE>/etc/sysconfig</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
keymap=ru.koi8-r
keyrate=fast
# UWAGA: ^[ poniej to pojedynczy znak kontrolny [ESC]
keychange="61 ^[[K"
cursor=destructive
scrnmap=koi8-r2cp866
font8x16=cp866b-8x16
font8x14=cp866-8x14
font8x8=cp866-8x8
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>w <CODE>/etc/csh.login</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
setenv ENABLE_STARTUP_LOCALE
setenv LANG ru_SU.KOI8-R
setenv LESSCHARSET latin1
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</OL>
<P>
<H2>3.3 System X Window</H2>
<P>
<P>Podobnie jak tryb konsoli, rodowisko X rwnie wymaga nieco konfiguracji.
Zawiera si w niej ustawienie trybu wprowadzania i Xowych czcionek.
Oba aspekty omwione s poniej.
<P>
<H3>Xowe czcionki</H3>
<P>
<P>Po pierwsze zdoby musisz kolekcj czcionek posiadajcych znaki
cyrylicy w odpowiednich miejscach.
<P>Jeli uywasz najnowszej dystrybucji X (lub XFree86), istnieje szansa
e masz ju takie czcionki. W kocu 1995 X Windows System wczy zestaw
czcionek cyrylicowych, stworzonych przez Cronyxa. Zapytaj swojego
administratora systemu, albo jeli to ty nim jeste, sprawd swj
system, to jest:
<OL>
<LI>Uruchom <CODE>xlsfonts | grep koi8</CODE>. Jeli wyliczono jakie
czcionki, twj X-serwer ju o nich wie.</LI>
<LI>W przeciwnym razie wykonaj
<BLOCKQUOTE><CODE>
<PRE>
find /usr -name crox\*.pcf\*
</PRE>
</CODE></BLOCKQUOTE>
aby znale miejsce czcionek cyrylicowych na serwerze. Bdziesz musia
wczy te czcionki dla X-serwera, jak wyjaniam poniej.</LI>
</OL>
<P>Jeli nie znalaze takich fontw zainstalowanych, bdziesz musia to
sam zrobi.
<P>Istnieje pewna rozbieno co do czcionek. XFree86 twierdzi e kolekcj
czcionek rosyjskich zamieszczonych w dystrybucji stworzy Cronyx. Niemniej
na sieci znale mona inne czcionki cyrylicowe Cronyxa (np. na
<CODE>ftp.klae.su</CODE>), znane jako pakiet <CODE>xrus</CODE> (nie myl go z programem
<CODE>xrus</CODE>, ktry uywany jest do ustawienia ukadu klawiatury cyrylicy).
Na szczcie ten drugi zosta ostatnio przemianowany na <CODE>xruskb</CODE>.
<CODE>xrus</CODE> ma mniej czcionek ni kolekcja w XFree86 (38 wobec 68), ale
te drugie czcionki nie chciay dziaa z moim ustawieniem Netscape -
daway mi jak strasznie du czcionk w pasku menu. Pakiet <CODE>xrus</CODE>
nie stwarza tego problemu.
<P>Sugerowabym cignicie i wyprbowanie obydwu. Wybierz ten ktry bardziej
ci si podoba. Mam take zamiar wkrtce stworzy pakiety RPM dla obu
kolekcji i podadowa je do <CODE>ftp.redhat.com</CODE> oraz mojego FTP.
<P>Istniej take starsze rzeczy, na przykad pakiet VakuFonts, stworzony przez
Sergieja Wakulenko <CODE>(
<A HREF="mailto:vak@cronyx.ru">mailto:vak@cronyx.ru</A>)</CODE>, ktry
tworzy podstaw dla tego w dystrubucji X. Istniej te inne. Wan rzecz
jest to e nazwy czcionek w starszych kolekcjach nie cakiem cile
stosoway si do standardw. Pniejsze s w zasadzie w porzdku, ale
czasami wywoa mog rne dziwne bdy. Miaem na przykad niemie
dowiadczenia z Maple V dla Linuxa, ktry wykada si tajemniczo z
pakietem VakuFonts, ale dziaa bez zarzutu ze "standardowymi".
<P>Zacznijmy wic od czcionek:
<P>
<OL>
<LI>cignij odpowiedni kolekcj czcionek. Pakiet dla XFree86 mona
znale w kadym FTP zawierajcym dystrybucj Xa, na przykad moesz
j cign] bezporednio z FTP XFree86. Pakiet <CODE>xrus</CODE> znale
mona na <CODE>ftp.klae.su</CODE>.
<LI>Teraz kiedy masz czcionki, stwrz dla nich jaki katalog. Zwykle
zym pomysem jest wsadzanie nowych czcionek do ju istniejcego
katalogu. Umie je wic w, powiedzmy, <CODE>/usr/lib/X11/fonts/cyrillic</CODE>
dla instalacji caosystemowej, albo po prostu utwrz katalog prywatny dla
uytku osobistego.
<LI>Jeli nowe czcionki s w formacie BDF (pliki *.bdf), musisz je
skompilowa. Wykonaj dla kadej czcionki
<PRE>
bdftopcf -o name.pcf name.bdf
</PRE>
Jeli twj serwer obsuguje czcionki skompresowane, skompresuj je uywajc
programu <CODE>compress</CODE>
<PRE>
compress name.pcf
</PRE>
Jeli chcesz wsadzi nowe czcionki do ju istniejcego katalogu, bdziesz
musia poczy stary i nowy <CODE>font.alias</CODE>. w przypadku gdy oba istniej,
np.
<PRE>
cat font.alias.new >> font.alias
</PRE>
Teraz, eby wszystko ustawi, powiniene wykona trzy rzeczy:
<LI>Kada katalog z czcionkami w X musi zawiera list znajdujcych
si w nim czcionek. Lista ta przechowywana jest w <CODE>fonts.dir</CODE>. Nie
musisz jej tworzy rcznie. Zamiast tego, wykonaj
<PRE>
cd <katalog_z_nowymi_czcionkami>
mkfontdir
</PRE>
<LI>Musisz teraz powiadomi X-serwer o tym katalogu z czcionkami. Masz
tu kilka opcji:
<UL>
<LI>Instalacja dla caego systemu XFree86. Jeli uruchamiasz t wersj
X, docz nowy katalog do listy katalogw w <CODE>XF86Config</CODE>. Aby znale
pooenie tego pliku spjrz na wyjcie <CODE>startx</CODE>. Patrz te
XF86Config{4,5} po szczegy.</LI>
<LI>Instalacja dla caego systemu poprzez <CODE>xinit</CODE>. Dodaj katalog
startowy do pliku startowego <CODE>xinit</CODE>. Patrz xinit(1x) i nastpny punkt
po szczegy.</LI>
<LI>Instalacja osobista. Masz specjalny plik startowy dla X -
<CODE>~/.xinitrc</CODE> (albo <CODE>~/.Xclients</CODE>, albo <CODE>~/.xsession</CODE>
dla uytkownikw RedHata). Dodaj do niego nastpujce komedy:
<BLOCKQUOTE><CODE>
<PRE>
xset +fp katalog_z_czcionkami
xset fp rehash
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Zrestartuj teraz X. Jeli wykonae wszystko prawidowo, testy
na pocztku sekcji powiod si. Pobaw si take xfontsel(1x), aby si
upewni e moesz wybiera czcionki cyrylicowe.</LI>
</UL>
</LI>
</LI>
</LI>
</LI>
</LI>
</OL>
<P>Aby klienci X uywali czcionek cyrylicowych, musisz ustawi odpowiednie
X-zasoby. Na przykad, ustawiam czcionk rosyjsk jako domyln w swoim
/.Xdefaults:
<P>
<BLOCKQUOTE><CODE>
<PRE>
*font 6x13
</PRE>
</CODE></BLOCKQUOTE>
<P>Poniewa moje czcionki cyrylicowe s pierwsze na licie cieek do
czcionek (patrz rezultaty [xinit, wybrana zostanie pierwsza czcionka o
aliasie 6x13)]
<P>To prostszy przykad. Jeli chcesz ustawi odpowiedni cz X-klienta
by uywaa czcionek cyrylicowych, musisz znale nazw zasobu (np.
za pomoc editres(1x) i ustali go albo w bazie danych zasobw, albo
w linii komend. Oto kilka przykadw:
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ xterm -font '-cronyx-*-bold-*-*-*-19-*-*-*-*-*-*-*'
$ xfontsel -xrm '*quitButton.font: -*-times-*-*-*-*-13-*-*-*-*-*-koi8-*'
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>Tumaczenie danych wprowadzanych</H3>
<P>
<P>W najnowszych wersjach X (X11R61 i wyszych) istniej dwie "standardowe"
metody wprowadzania znakw: pierwotna, dziaajca z uyciem programu
<CODE>xmodmap</CODE>, oraz nowa, zwana (Xkb) XKeyBoard. Pierwsze co powiniene
zrobi to wyczy metod Xkb! Nie daj si oczarowa jej moliwociami
ustawienia "cyrylicznej klawiatury". Wyglda na to e ta metoda uywa
klawsymw zdefiniowanych w <CODE>keysymdef.h</CODE>. Plik ten definiuje klawsymy
dla wielu jzykw. Jednym problemem jest to e te definicje nie maj
nic wsplnego z rozszerzonym zestawem znakw ASCII - jedynym na ktrym
potrafi wycznie operowa wikszo programw! Ledwie wiem o jaki
programach ktre zdolne s przetworzy klawsymy z <CODE>keysymdef.h</CODE>
rne od omiobitowego ASCII. Jednakowo naszym celem jest sprawienie
eby obsuga KOI-8 zadziaaa.
<P>Aby wyczy obsug Xkb, przegldnij sekcj Keyboard w swoim pliku
<CODE>XF86Config</CODE> i wykomentuj wszystkie linie zaczynajce si od Xkb
(wielko liter bez znaczenia). Zamiast nich, wstaw nastpujc lini:
<P>
<BLOCKQUOTE><CODE>
<PRE>
XkbDisable
</PRE>
</CODE></BLOCKQUOTE>
<P>Program <CODE>xmodmap</CODE> pozwala na dopasowanie kodw ktre wysyaj rne
znaki i ich kombinacje. Ustawia on to opierajc si na pliku zawierajcym
tabel tumacze.
<P>Jeli nie chcesz zajmowa si wszystkimi tymi trikami i wolisz rozwizanie
od rki, [bd to] cignij odpowiedni tablic xmodmapow, dostpn na
wielu ftpach zajmujcych si cyrylic, na przykad <CODE>ftp.kiae.su</CODE> albo
<CODE>ftp.funet.fi</CODE>. Sam sporzdziem rwnie map opisan poniej, dostpn
przez mj ftp.
<P>Bardziej odpowiedni alternatyw jest instalacja pakietu <CODE>xruskb</CODE>,
ktry pozwala ci skonfigurowa wikszo parametrw translacji wejciowej
bez potrzeby obeznania si z <CODE>xmodmap</CODE>.
<P>Poniej uproszczony opis przystosowania wejcia. Jeli chcesz jaki
bardziej wyrafinowanych trikw, zajrzyj do xmodmap(1) lub, jeszcze
lepiej, poczekaj na nastpn wersj gwn X, ktra miejmy nadziej
zajmie si biecymi problemami ze wprowadzaniem danych.
<P>W naszym przypadku, tablica tumacze powinna definiowa dwie rzeczy:
<P>
<UL>
<LI>kody znakw wysyane przez klawisze alfanumeryczne, oraz</LI>
<LI>zasady przeczania si midzy trybami</LI>
</UL>
<P>
<H3>Tablica znakw</H3>
<P>
<P>Jest to w zasadzie sekwencja dyrektyw ktre przypisuj pewne klawsymy
okrelonym kodom klawiszy. Oglna skadnia to:
<P>
<PRE>
keycode kod = sym1 sym2 sym3 sym4
</PRE>
<P>gdzie <CODE>kod</CODE> to numeryczny kod okrelonego klawisza na klawiaturze (zajrzyj
do tablicy standardowej dla twojego systemu. W moim przypadku znajduje
si ona w pliku <CODE>/usr/lib/X11/etc/xmodmap.std</CODE>). "Symy" definiuj klawsymy
wysyane przez ten klawisz w rnych stanach. <CODE>Sym1</CODE> jest klawsymem
wysyanym w stanie normalnym, <CODE>sym2</CODE> odpowiada klawiszowi z nacinitym
Shift (zwykle), <CODE>Sym3</CODE> i <CODE>sym4</CODE> definiuj klawsymy wysyane przy aktywnym
Mode_switch dla stanw normalnych i ze Shiftem odpowiednio (grupa 2,
zgodnie z X Protocol Specification). W naszym przypadku aktywny Mode_switch
odpowiada wprowadzaniu w trybie cyrylicy.
<P>Wartociami powinny by albo kody szesnastkowe, albo stae symboliczne
z <CODE>/usr/include/X11/keysymdef.h</CODE> (bez pocztkowego "XK_").
<P>Tak wic jeeli chcielibymy aby klawisz odpowiadajcy aciskiemu "a"
wypisywa "a" rosyjskie w trybie alternatywnym, napisalibymy jak niej:
<P>
<PRE>
keycode 38 = a A 0xC1 0xE1
</PRE>
<P>Czytelnik ciekaw by moe dlaczego nie uyem staych Cyrillic_a oraz
Cyrillic_A, odpowiednio. Odpowied brzmi: nie dziaaj one dla mnie.
Nie jestem zbyt obeznany z wntrznociami specyfikacji systemu X Windows,
ale mam nastpujce wytumaczenie: symboliczne stae powyej maj wartoci
0x6C1 oraz 0x6E1 odpowiednio. Oznacza to e w rzeczywicie multijzykowym
rodowisku monaby uywa ich bez ich nakadania si na inne zestawy znakw.
Jednak standard KOI-8 nie jest szczeglnie przystosowany do takiego
rodowiska. Poniewa wic chcemy pozosta kompatybilni z przeszoci,
naruszymy reguy obsugi wielu jzykw w systemie X Windows.
<P>Oto tabela dla najbardziej popularnej rosyjskiej klawiatury w ukadzie
JCUKEN (tabele te pochodz od tych z pakietu VakuFonts).
<P>
<BLOCKQUOTE><CODE>
<PRE>
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
</PRE>
</CODE></BLOCKQUOTE>
<P>Dla uywajcych rosyjskiego ukadu JAWERTY doczyem nastpujc
tabel:
<P>
<BLOCKQUOTE><CODE>
<PRE>
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
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>Zasady przeczania trybw</H3>
<P>
<P>Jest to zasadniczo cz konfiguracji Xowej cyrylicy wymagajca najwicej
wiedzy. Zdefiniowa powiniene warunki w ktrych tryb biecy przeczany
jest midzy trybem zwykym i cyrylicy. Dziki mdremu zaprojektowaniu
translacji wejcia w X, jest ona nieprzenona, nieelastyczna, niekompletna
i oglnie mwic do kitu. Nic dziwnego e ludzie przenosz si na MS Windows.
<P>Obecnie duo si dzieje w rozwijaniu XFree86 w oglnoci i modelu
wejcia w X w szczeglnoci. Rezultat jest taki e twoja konfiguracja
moe dziaa z jedn wersj XFree86 i nie dziaa z inn. Co gorsza,
czasami rzeczy rni si midzy rnymi serwerami w tej samej dystrybucji.
<P>Najpierw opisz moje ustawienia, ktre w obecnej chwili dziaaj dla mnie.
Pracuj w XFree86 3.3, serwer SVGA. W moim pliku <CODE>XF86Config</CODE> (w
dystrybucji RedHata umieszczony jest on w <CODE>/etc/X11</CODE>, w sekcji
"Keyboard" mam nastpujce dyrektywy:
<P>Istniej dwa sposoby osignicia tego w Linuxie. Jedna jest specyficzna
dla XFree86, podczas gdy druga jest bardziej oglna (nie za bardzo moe,
jak i poka niej).
<P>
<BLOCKQUOTE><CODE>
<PRE>
LeftAlt Meta
RightAlt ModeShift
ScrollLock ModeLock
RightCtl Control
</PRE>
</CODE></BLOCKQUOTE>
<P>UWAGA: Metoda ustawiania regu przeczania trybw poprzez plik
<CODE>XF86Config</CODE> jest specyficzna dla XFree86. Nie bdzie ona dziaa
w innych wersjach X.
<P>Teraz aduj tabel opisan w poprzedniej sekcji i zachowan w jakim
pliku uywajc narzdzia xmodmap(1x):
<P>
<BLOCKQUOTE><CODE>
<PRE>
xmodmap <plik_z_tabel>
</PRE>
</CODE></BLOCKQUOTE>
<P>Teraz mam moliwo zaznaczenia trybu wprowadzania cyrylicy uywajc
prawego klawisza Alt oraz przeczenia na cyrylic i z powrotem uywajc
ScrollLock. Zdziwisz si jeli zobaczysz e ani CapsLock ani klawisze
Control nie dziaaj w trybie wprowadzania cyrylicy. C, powiem to raz
jeszcze: model wejcia X jest do kitu!
<P>Reszt tej sekcji zajmuje zwizy opis zwykej konfiguracji translacji
wejcia w X. Dziaaa ona dla starszych wyda XFree86, ale teraz wykazuje
rozmaite problemy. Pozostawiem j tutaj, tak aby co bardziej ciekawi
z was mogli sprbowa czci tego i zuytkowa to.
<P>Powiniene zrobi co nastpuje:
<P>
<UL>
<LI>przypisa klawsym Mode_switch jakiemu klawiszowi, oraz</LI>
<LI>doda Mode_switch do jakie nieuywanego ukadu</LI>
</UL>
<P>Teraz klawisz do ktrego przypisany jest ModeShift bdzie dziaa jako
przecznik trybw. Oznacza to e gdy jest przycinity, klawiatura
znajduje si w trybie alternatywnym.
<P>Co wicej, jeli dodasz klawsym Mode_lock do tego ukadu, bdzie on
ustawia na stae tryb alternatywny.
<P>Uwaga: s jednak pewne problemy. Siergiej Wakulenko (<CODE>vax@cronyx.com</CODE>)
wskaza e rne implementacje X-serwerw maj rne zasady przypisywania
przecznikw trybu (np. niektre serwery ograniczaj zestaw klawiszy ktre
mog dziaa w trybie przecznika do, powiedzmy, CapsLock, NumLock oraz
ScrollLock). Na szczcie ma si to zmieni w nastpnym wydaniu
systemu X Windows. Po szczegy patrz specyfikacja X Protocol.
<P>Niestety nie udao mi si zmusi CapsLock aby mia t sam funkcjonalno
w trybie alternatywnym, konkretnie aby na stae wcza due litery.
Wydaje mi si e nie mona tego dokona z powodu idiotycznego
zaprojektowania translacji wejcia w X. Jeli si myl, prosz mnie
poprawi.
<P>Zobaczmy przykad. Zamy e chce si uywa prawego Alt jako
przecznika trybw i ScrollLock do ustawiania trybu na stae.
Najpierw powinno si sprawdzi domylny ukad modyfikatorw.
Osiga si to uruchamiajc xmodmap bez argumentw.
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ 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
</PRE>
</CODE></BLOCKQUOTE>
<P>Zgodnie z powyszym, plan ataku wyglda jak nastpuje:
<P>
<OL>
<LI>usun klawisz Alt_R z klawsymu mod1</LI>
<LI>przypisa klawsym Mode_switch klawiszowi Alt_R</LI>
<LI>przypisa klawsym Scroll_Lock do kodu klawisza 78 (kodu rzeczywistego
ScrollLock)</LI>
<LI>doda Mode_switch do nieuywanego klawsymu mod3 i</LI>
<LI>doda klawsym Scroll_Lock do mod3</LI>
</OL>
<P>Oto wic rozwizanie:
<P>
<BLOCKQUOTE><CODE>
<PRE>
remove mod1 = Alt_R
keysym Alt_R = Mode_switch
keycode 78 = Scroll_Lock
add mod3 = Mode_switch
add mod3 = Scroll_Lock
</PRE>
</CODE></BLOCKQUOTE>
<P>Jeli uyjesz tego drugiego rozwizania, moesz poczy tabel i
dyrektywy dotyczce trybw w swoim pliku <CODE>~/.Xmodmap</CODE>.
<P>Pliki takie dostarczane s przewanie razem z rnymi pakietami
do obsugi cyrylicy pod X. Dobrym przykadem s tabele w doskonaym
pakiecie Siergieja Wakulenki, opisanym wyej.
<P>Gdy ju masz taki plik zawierajcy tabel, powiniene wykona komend:
<P>
<PRE>
xmodmap filename
</PRE>
<P>Plik dla caego systemu to <CODE>/usr/lib/X11/xinit/xinitrc</CODE>; osobisty
to albo <CODE>~/.xinitrc</CODE>, albo <CODE>~/.Xclients</CODE>, albo
<CODE>~/.xsession</CODE>, zalenie od tego co masz [zainstalowane].
<P>UWAGA: Jeli <CODE>xmodmap</CODE> narzeka na twoj tabel, sprbuj zaadowa
najpierw domyln. Tabela domylna znajduje si zwykle w
<CODE>/usr/lib/X11/etc/xmodmap.std</CODE>.
<P>
<H2><A NAME="s4">4. Obsuga cyrylicy w LaTeXie</A></H2>
<P>
<P>W tej sekcji opisz kilka sposobw nakonienia TeXa i LaTeXa do skadania tekstu
w cyrylicy. Istnieje kilka sposobw, ktre rni si wyrafinowaniem
instalacji i wygod w obsudze. Dla przykadu, jedn z moliwoci jest
zacz bez adnej wstpnej instalacji i uy fontw cyrylicowych Washington
AMSTeX. Z drugiej strony, moesz zainstalowa pakiet LaTeX, ktry zapewnia
wysoki stopie ustawie dotyczcych cyrylicy. Mam pewne dowiadczenia z dwoma
pakietami. Pierwszy to pakiet <CODE>cmcyralt</CODE>
autorstwa Wadima W. ytnikowa
(
<A HREF="mailto:vvzhy@phy.ncu.edu.tw">mailto:vvzhy@phy.ncu.edu.tw</A>)
i Aleksandra Harina
(
<A HREF="harin@lourie.und.ac.za">harin@lourie.und.ac.za</A>), a ten drugi to pakiet <CODE>LH</CODE>
autorstwa CyrTUG
[Cyrillic TeX Users Group] ze stylami i dzieleniem wyrazw
dla LaTeX2e
autorstwa Sergieja O. Naoumowa (
<A HREF="serge@astro.unc.edu">serge@astro.unc.edu</A>).
Opisz obydwa.
<P>Zauwa e dostpne s dwie wersje LaTeXa
: 2.09 jest wersj starsz, podczas
gdy 2e jest nowszym wydaniem pre-3.0. Jeli uywasz LaTeXa 2.09, przestaw
si szybko na 2e. Ten drugi pozostaje kompatybilny z tym pierwszym, ale
ma o wiele wicej funkcji. Miejmy nadziej e wersja 3 zostanie wkrtce
wypuszczona. Opisz ustawienia dla LaTeXa 2e.
<P>Uwaga: oba te pakiety wymagaj aby tekst w cyrylicy skadany by
z uyciem zestawu znakw Alt, nie KOI-8! Spowodowane jest to przyczynami
historycznymi, poniewa twrcy tych pakietw pracowali byli z EmTeXem
- MS-DOSow wersj TeXa (nie wiedzieli jeszcze o Linuxie :-). Przestawienie
ich na KOI-8 wymaga nieco wysiku i spodziewane jest niebawem. Na razie,
uywaj jakiego narzdzia do konwersji tekstu rosyjskiego z KOI-8 do
Alt. Patrz sekcja "Narzdzia uytkownika".
<P>
<H2>4.1 Uywanie Washington Cyryliic</H2>
<P>
<P>Pakiet ten zosta stworzony przez American Mathematics Society w celu
uzupenienia dokumentw o odnoniki po rosyjsku. Dlatego te autorzy nie
byli zbyt uwani, a czcionki wygldaj raczej niezrcznie. Pakiet ten
okrela si zwykle jako 'cakiem kiepski pakiet cyrylicy dla TeXa'.
<P>Niemniej jednak omwimy go, poniewa jest on bardzo atwy w uyciu i nie
wymaga adnej konfiguracji - kolekcja ta dostarczana jest z wikszoci
dystrybucji TeXa.
<P>Oczywicie nie bdziesz mg sobie pozwoli na taki luksus jak automatyczne
przenoszenie wyrazw, ale jednak...
<P>
<OL>
<LI>Poprzed swj dokument nastpujcymi dyrektywami:
<BLOCKQUOTE><CODE>
<PRE>
\input cyracc.def
\font\tencyr=wncyr10
\def\cyr{\tencyr\cyracc}
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Teraz aby napisa liter w cyrylicy, wprowadzasz
<PRE>
\cyr
</PRE>
i uywasz odpowiedniej litery aciskiej albo komendy TeXa. I tak mae
litery rosyjskiego alfabetu wyraaj nastpujce 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</LI>
</OL>
<P>Jest bardzo niewygodnym przekonwertowa twoje teksty rosyjskie na takie
kodowanie, lecz proces mona zautomatyzowa. Program translit (sekcja 11)
obsuguje wynik w postaci TeXowej.
<P>
<H2>4.2 Pakiet KOI-8 dla LaTeXa</H2>
<P>
<P>Pojawi si jaki nowy pakiet <CODE>teTeX-rus</CODE>. Podobno obsuguje on zestaw znakw
KOI-8 i ma wszystkie podstawowe rzeczy wymagane dla TeXa i LaTeXa. Osobicie
jeszcze go nie prbowaem, chocia syszaem o pomylnym go uywaniu.
<P>
<H2>4.3 Uywanie pakietu cmcyralt dla LaTeXa</H2>
<P>
<P>Pakiet <CODE>cmcyralt</CODE> znale mona na kadym z wzw CTAN (Comprehensive TeX
Archive Network), jak <CODE>ftp.dante.de</CODE>. Powiniene zdoby dwie kolekcje:
kolekcj fontw z [katalogu] <CODE>/fonts/cmcyralt</CODE> oraz style i reguy
dzielenia wyrazw z [katalogu]
<CODE>/macros/latex/contrib/others/cmcyralt</CODE>.
<P>Uwaga: upewnij si e masz zainstalowany pakiet Sauter, bowiem <CODE>cmcyralt</CODE>
potrzebuje z niego niektrych fontw. Pakiet ten moesz rwnie
zdoby z wza CTAN.
<P>Powiniene teraz zrobi co nastpuje:
<P>
<OL>
<LI>Umieci nowe czcionki w drzewie czcionek TeXa. W moim systemie
(Slackware 2.2) stworzyem podkatalog <CODE>cmcyralt</CODE> w
<CODE>/usr/lib/texmf/fonts/cm/</CODE>. Utwrz w nim podkatalogi <CODE>src</CODE>,
<CODE>tfm</CODE> i <CODE>vf</CODE>. Umie tam pliki <CODE>.mf</CODE>, <CODE>.tfm</CODE> oraz
<CODE>.vf</CODE>, odpowiednio.</LI>
<LI>Umie pliki sterownikw czcionek (<CODE>*.fd</CODE>) z archiwum stylw
w odpowiednim miejscu (w moim przypadku by to
<CODE>/usr/lib/texmf/tex/latex/fd)</CODE>.</LI>
<LI>Umie pliki stylw (<CODE>*.sty</CODE>) w odpowiednim katalogu stylw
LaTeXa (w moim przypadku <CODE>/usr/lib/texmf/tex/latex/sty</CODE>).</LI>
</OL>
<P>Teraz konfiguracja dzielenia wyrazw. Wymaga to przerobienia
pliku bazowego
LaTeXa.
<P>
<OL>
<LI>Plik <CODE>hyphen.cfg</CODE> zawiera dyrektywy dla dzielenia wyrazw
w angielskim i rosyjskim. Wytnij to co tyczy si rosyjskiego
i umie to w pliku konfiguracji dzielenia wyrazw LaTeXa,
<CODE>lthyphen.ltx</CODE>. W moim przypadku plik ten znajdowa si w
<CODE>/usr/lib/texmf/tex/latex/latex-base</CODE>.</LI>
<LI>W tym samym katalogu umie plik <CODE>rhyphen.tex</CODE>. Potrzebny jest
on do stworzenia nowego pliku bazowego. Pniej moesz go usun.</LI>
<LI>Wykonaj w tym katalogu <CODE>make</CODE>. Nie zapomnij stworzy odnonika
z <CODE>Makefile</CODE> do <CODE>Makefile.unx</CODE>. Podczas wykonywania <CODE>make</CODE> sprawd
komunikaty. Powinno si pojawi:
<PRE>
Loading hyphenation patterns for Russian
</PRE>
</LI>
</OL>
<P>Jeli wszystko pjdzie poprawnie, otrzymasz w tym katalogu nowy
<CODE>latex.fmt</CODE>. Wstaw go w odpowiednie miejsce, tam gdzie znajdowa si
poprzedni (np. <CODE>/usr/lib/texmf/ini/</CODE>). Nie zapomnij zachowa starego
pliku!
<P>Oto i to. Instalacja gotowa. Sprbuj przetworzy przykady z archiwum
stylw. Jeli moesz stworzy pliki postscriptowe bez adnych problemw,
wszystko jest w porzdku. Teraz aby uywa cyrylicy w LaTeXie, wstaw
na pocztek swojego dokumentu ponisz dyrektyw:
<P>
<PRE>
\usepackage{cmcyralt}
</PRE>
<P>Po szczegy patrz plik <CODE>README</CODE> w archiwum stylw <CODE>cmcyralt</CODE>.
<P>Uwaga: jeli masz problemy z przykadami, zaoywszy e instalowae
prawidowo, to prawdopodobnie twj system TeX nie zosta zainstalowany
poprawnie. Na przykad, przy mojej pierwszym tecie kada prba
stworzenia plikw <CODE>.pk</CODE> dla czcionek rosyjskich nie udawaa si (etap
<CODE>MakeTeXPK</CODE>). Dokadne przyjrzenie si plikom wykryo pewien niejawny
konflikt midzy konfiguracjami METAFONT <CODE>localfont</CODE> i <CODE>ljfour</CODE>. Kiedy
byo to dziaao, ale rozpado si po instalacji <CODE>cmcyralt</CODE>. Skontaktuj
si ze swoim lokalnym guru od TeXa - TeX jest bardzo (czasami za
bardzo) zoony aby rekonfigurowa go bez wczeniejszej znajomoci.
<P>
<H2>4.4 Pakiet CyrTUG</H2>
<P>
<P>Pakiet CyrTUG uzyska moesz z archiwum SunSite
<CODE>(
<A HREF="ftp://sunsite.unc.edu/pub/academic/russian-studies/Software">ftp://sunsite.unc.edu/pub/academic/russian-studies/Software</A>)</CODE>.
Zrzu stamtd pliki <CODE>CyrTUGfonts.tar.gz</CODE>, <CODE>CyrTUGmacro.tar.gz</CODE> i
<CODE>hyphen.tar.Z</CODE>.
<P>Proces instalacji nie rni si od opisanego powyej.
<P>
<H2><A NAME="s5">5. Cyrylica w PostScriptcie</A></H2>
<P>
<P>Eksperci powiadaj e PostScript jest atwy. Nie potrafi osdzi - mam zbyt
wiele rzeczy do nauczenia si aby powici troch czasu na nauk
PostScriptu. Sprbuj wic opisa moje smutne z nim dowiadczenia. Mile
widziabym wsparcie od kadego kto wie wicej
na ten temat ode mnie (ok. 99%
ludzkoci).
<P>Zasadniczo aby wydrukowa tekst z uyciem PostScriptu, musisz si upewni co
do nastpujcych rzeczy:
<P>
<UL>
<LI>Czcionka cyrylicowa jest zaadowana lub zawarta w dokumencie</LI>
<LI>W dokumencie zawarty jest tekst w cyrylicy</LI>
<LI>Tekst w cyrylicy uywa odpowiednich kodw ktre odpowiadaj wymaganiom
czcionki</LI>
<LI>Wybrano odpowiedni czcionk do drukowania tekstu w cyrylicy</LI>
</UL>
<P>Nie ma rozwizania na tyle oglnego aby je poleci jako rodek ostateczny,
Sprbuj nakreli rne sposoby radzenia sobie z rnymi problemami
odnonie tematu.
<P>Jednym ze sposobw podejcia do konfiguracji cyrylicy jest uycie
Ghostscripta. Ghostscript (lub po prostu gs w nowomowie) to darmowy (no,
quasi-darmowy) interpreter PostScriptu. Ma on wiele zalet, pomidzy nimi:
<P>
<UL>
<LI>Moliwo dziaania na rnych platformach (Windows, rne Unixy)</LI>
<LI>Obsuga szerokiego zakresu drukarek niepostscriptowych</LI>
<LI>Duy stopie konfigurowalnoci</LI>
</UL>
<P>To co wane w naszym konkretnym przypadku to to e gdy ju raz
skonfigurujemy Ghostscripta, moemy za jego pomoc dokonywa caoci
drukowania, eliminujc tym samym ekstra konfiguracj dla innych urzdze
postscriptowych (np. HP Laserjet IV).
<P>
<H2>5.1 Dodawanie czcionek cyrylicowych do Ghostscripta</H2>
<P>
<P>Jest to wane, poniewa zapewne nie bdziesz chcia polega na innych
programach przy umieszczaniu w wynikowym postscripcie czcionek cyrylicowych.
Zamiast tego dodajesz je do <CODE>gs</CODE>. i po prostu zmuszasz programy aby
generoway wyjcie w cyrylicy kompatybilne z czcionkami.
<P>Aby doda do <CODE>gs</CODE> now czcionk (w formacie .pfa lub .pfb), musisz:
<P>
<OL>
<LI>Doda j do katalogu czcionek <CODE>gs</CODE> (np.
<CODE>/usr/lib/ghostscript/fonts</CODE>).</LI>
<LI>Doda odpowiednie nazwy i aliasy dla czcionki w pliku <CODE>Fontmap</CODE> w
katalogu <CODE>gs</CODE></LI>
</OL>
<P>Ostatnio pojawi si porzdny zestaw czcionek cyrylicowych dla GhostScripta.
Znajduje si on na <CODE>ftp.kapella.gpi.ru</CODE>. Ma on nawet konieczny wpis
ktry trzeba doda do pliku <CODE>Fontmap</CODE>. cign musisz zawarto
katalogu <CODE>/pub/cyrillic/psfonts/</CODE>. Plik <CODE>README</CODE> opisuje
niezbdne szczegy.
<P>
<H2><A NAME="s6">6. Drukowanie</A></H2>
<P>
<P>Drukowanie zawsze jest rzecz zawi. Istniej rne drukarki rnych
producentw z rnymi moliwociami. Nawet co do drukowania w "goym"
formacie nie ma jednorodnego rozwizania (odnosi si to nie tylko do
Unixa, ale rwnie do innych systemw operacyjnych).
<P>Drukarki maj rne jzyki kontrolne, a czsto maj bardzo rne pogldy
na obsug innych takich jzykw. Dobr wiadomoci jest to e jeden taki
jzyk kontrolny wydaje si by uznawany za de facto standard dla opisywania
zada zwizanych z drukiem - to jzyk PostScript, stworzony przez Adobe
Corporation.
<P>Innym problemem jest rnorodno wymaga zwizanych z usug drukowania.
Na przykad, czasem chcesz po prostu wydrukowa kawaek programu w C z
rosyjskimi komentarzami, wic nie potrzebujesz adnego adnego drukowania -
po prostu czysty wydruk ASCII w pojedynczej czcionce. Innym razem, kiedy
projektujesz pocztwk dla swojej dziewczyny, bdziesz zapewne musia j
zoy uywajc rnych czcionek, i tak dalej. Bdzie to wymagao z
pewnoci wicej wysiku w kwestii ustawienia obsugi cyrylicy.
<P>Aby podoa pierwszemu zadaniu bdziesz musia po prostu zmusi swoj
drukark aby rozumiaa jeden font cyrylicowy i (by moe) zainstalowa
jaki program filtrujcy, ktry bdzie wypisywa dane w odpowiednim
formacie. Aby dokona tego drugiego [zadania], bdziesz musia nauczy
swoj drukark rnych czcionek i mie specjalny software.
<P>Istnieje take sytuacja porodku, gdy masz program ktry wie jak wygenerowa
i fonty i odpowiednie dane dla drukarki, moesz wic, powiedzmy, wykona
par adnych wydrukw kodu rdowego bez wyrafinowanych systemw obrbki
tekstu.
<P>Wszystkie te opcje zostan mniej lub bardziej omwione poniej.
<P>
<H2>6.1 adowanie czcionek cyrylicowych do drukarki niepostscriptowej</H2>
<P>
<P>Jeli masz star dobr drukark igow i potrzebujesz tylko wydrukowa
czysty tekst w KOI-8, sprbuj poniszego:
<P>
<OL>
<LI>Znajd odpowiedni czcionk KOI-8 dla swojej drukarki. Sprawd
kolekcje MS-DOSowe w Internecie (na przykad archiwum SimTel, <CODE>ftp.
simtel.net</CODE>)</LI>
<LI>Dowiedz si z instrukcji jak zaadowa czcionk do drukarki i,
moliwie, napisz prosty program ktry to robi</LI>
<LI>Uruchom ten program z odpowiedniego pliku .rc w czasie startu systemu.</LI>
</OL>
<P>Tak wic majc znaki cyrylicowe w grnej powce zestawu znakw drukarki
bdziesz mg drukowa teksty po rosyjsku bez adnych ceregieli.
<P>Alternatywnie z czcionkami KOI-8 moesz uy czcionek Alt. S ku temu
dwa powody:
<UL>
<LI>Moe by atwiej znale czcionk Alt, bowiem takowe byy bardzo
rozpowszechnione w kulturze MS-DOSowej</LI>
<LI>Posiadanie odpowiedniej czcionki Alt pozwoli ci drukowa rwnie
pseudografik</LI>
</UL>
<P>Niemniej w tym przypadku bdziesz musia przekodowa swoje teksty z KOI-8
na Alt przed posaniem ich do drukarki. Jest to cakiem atwe, poniewa
peno jest programw ktre to robi (patrz "translit", na przykad), tak
wic wystarczy e waciwie wywoasz ten program w polu <CODE>if</CODE> <CODE>/etc/
printcap</CODE>. Na przykad dla programu <CODE>translit</CODE> napisa moesz:
<P>
<BLOCKQUOTE><CODE>
<PRE>
if=/usr/bin/translit -t koi8-alt.rus
</PRE>
</CODE></BLOCKQUOTE>
<P>Patrz printcap(5) po szczegy.
<P>
<H2>6.2 Drukowanie rnymi czcionkami</H2>
<P>
<P>Jednym wietnym sposobem poradzenia sobie z rnymi czcionkami i drukarkami
jest uycie TeXa. Sterowniki TeXa zajmuj si wszelkimi detalami, wic skoro
ju raz nauczye TeXa rozumie czcionki cyrylicowe, sprawa zaatwiona.
<P>Inn moliwoci jest uycie PostScriptu. Zdecydowaem si powici
temu cay rozdzia, poniewa nie jest to atwe.
<P>W kocu, s i inne edytory tekstw ktre maj sterowniki drukarek. Nigdy
nie prbowaem niczego poza TeXem, wic nie mog niczego zasugerowa
<P>
<H2>6.3 Konwersja tekstu do TeXa</H2>
<P>
<P>Jeli tym czego potrzebujesz jest wydrukowanie tekstu w ASCII bez adnego
dodatkowego przetworzenia, moesz sprbowa uy kilku programw ktre
przerobi twj tekst w cyrylicy na gotowe do przetworzenia plik TeXa.
Jednym z najlepszych programw do tego celu jest <CODE>translit</CODE>. W tym
przypadku nie musisz si nawet kopota instalowaniem czcionek cyrylicowych
dla TeXa, poniewa translit uywa pakietu Washington Cyriliic, ktry
wczony jest do wikszoci dystrybucji TeXa (a moe si myl?)
<P>
<H2>6.4 Konwersja tekstu do postscriptu</H2>
<P>
<P>Czasami masz tekst w czystym KOI-8 i chcesz go wydrukowa tylko po to
eby mie go na papierze. Jedn z najprostszych metod osignicia tego
jest uycie specjalnych programw konwertujcych tekst do postscriptu.
<P>Istnieje pewna liczba programw dokonujcych takiej konwersji. Osobicie
preferuj <CODE>a2ps</CODE>. Stworzony pocztkowo jako prosty konwerter tekstu
do postscriptu, sta si on duym i wysoce konfigurowalnym programem
z wieloma opcjami, pozwalajc ci obsuy rne wielkoci strony,
podwietlanie skadni itp. Inne narzdzie (obecnie dostpne jako cz
projektu GNU) to <CODE>enscript</CODE>
<P>Gwnym problemem z takimi programami jest to e nie wiedz one nic o
czcionkach cyrylicowych. Wanie rozwaam moliwo zawierania w nich
czcionek cyrylicowych, tak aby rozumiay cyrylic.
<P>Niemniej caa ta powysza gadanina byaby bezcelowa bez adnej rzeczywistej
rady. Oto wic ona:
<P>Jak zwykle, GNU wygrywa. GNUsowy program <CODE>enscript</CODE> zaprojektowany
zosta do konwersji tekstu na postscript i ma doskona obsug
nie-ASCIIowych zestaww znakw. Nie zawiera on cyrylicowych czcionek
postscriptowych, ale bardzo atwo je zdoby, jak wyjaniono poniej
(podzikowania dla Michaela Van Canneyta).
<P>
<OL>
<LI>Zainstaluj najnowszy <CODE>enscript</CODE>. Jak na razie najwiesz wersj
jest 1.5. Moesz cign go albo z ftp GNU, albo jako pakiet RPM z
ftp RedHata.</LI>
<LI>Teraz, jeli masz szczcie by uytkownikiem RedHat Linuxa, cignij
i zainstaluj czcionk Cyriliic Textbook (<CODE>ftp://ftp.redhat.com/pub/
contrib/i386/enscript-fonts-koi8-1.0.1-i386.rpm</CODE>)</LI>
<LI>Jeli nie uywasz RPM, cignij plik <CODE>textbook.tar.gz</CODE> z
Cyrillic Software Collection na <CODE>ftp://sunsite.unc.edu/pub/academic/russian-studies/Software/</CODE>). Rozpakuj go do katalogu w ktrym zainstalowane
s czcionki <CODE>enscripta</CODE>. Przejd teraz do tego katalogu i wykonaj:
<BLOCKQUOTE><CODE>
<PRE>
mkamfmap *.afm
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>Koniec konfiguracji. Sprbuj wydrukowa jaki tekst w KOI-8 ponisz
komend:
<BLOCKQUOTE><CODE>
<PRE>
enscript --font=Textbook8 --encoding=koi8 jakis_plik
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</OL>
<P>Jeli chcesz jakiego szybkiego rozwizania i nie dbasz o jako wydruku,
a wszystkim czego potrzebujesz jest cyrylica na papierze, sprbuj pakietu
<CODE>rtxt2ps</CODE>. Jest to bardzo prosty i niewyszukany konwerter tekstu do
postscriptu. Jako wydruku jest nienajlepsza (albo, mwic szczerze,
cakiem za), ale robi on to co powinien.
<P>Jeszcze inn desk ratunku jest przerobiona wersja <CODE>a2ps</CODE>. Jest ona
do stara, wic nie spodziewaj si tych wszystkich fajerwerkw z nowszych
wersji. Ale drukuje ona tekst w cyrylicy, a jako wydruku jest znaczco
lepsza ni ta <CODE>rtxt2ps</CODE>. Dowiadczyem przy niej jednak rnych rodzajw
problemw, np. nie mogem wydrukowa wicej ni dwch stron (???)
<P>
<H2><A NAME="s7">7. Konfiguracja rnych narzdzi</A></H2>
<P>
<P>Oglnie, aby przestawi pewne narzdzia w trybie operowania cyrylic
wymagane jest po prostu umoliwienie danych omiobitowych. W kilku
przypadkach wymagane jest powiedzenie aplikacji aby pokazaa rozszerzone
znaki ASCII w ich bazowej formie.
<P>
<H2>7.1 6.1. bash</H2>
<P>
<P>Aby bash rozumia omiobitowe znaki, powiniene ustawi trzy zmienne,
Najlepszym miejscem jest plik <CODE>~/.inputrc</CODE>. Ustaw co nastpuje:
<P>
<BLOCKQUOTE><CODE>
<PRE>
set meta-flag on
set convert-meta off
set output-meta on
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>7.2 6.2. csh/tcsh</H2>
<P>
<P>Powinienie ustawi ponisze w <CODE>.cshrc</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
setenv LC_CTYPE iso_8859_5
stty pass8
</PRE>
</CODE></BLOCKQUOTE>
<P>Jeli nie masz stty zgodnego z POSIX (niemoliwe w Linuxie), zastp
ostatnie wywoanie przez:
<P>
<PRE>
stty -istrip cs8
</PRE>
<P>
<H2>7.3 6.3. emacs</H2>
<P>
<P>Minimaln obsug cyrylicy w emacsie zapewnia dodanie poniszych
wywoa do pliku <CODE>.emacs</CODE> (zakadajc e zainstalowana jest obsuga
zestawu znakw cyrylicy dla konsoli lub X, odpowiednio).
<P>
<BLOCKQUOTE><CODE>
<PRE>
(standard-display-european t)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)
</PRE>
</CODE></BLOCKQUOTE>
<P>Umoliwia to uytkownikowi ogldanie i wprowadzanie rosyjskich dokumentw.
<P>Taki tryb nie jest jednak wielk wygod, poniewa <CODE>emacs</CODE> nie rozpoznaje
zwykych komend klawiatury gdy znajduje si w trybie wprowadzania
cyrylicy. Istnieje pewna liczba pakietw ktre uywaj innego podejcia.
Nie polegaj one na "input mode" ustalonym przez rodowisko (X lub
konsol). Zamiast tego, pozwalaj uytkownikowi przecza tryb wprowadzania
specjalnymi komendami emacsa, a emacs sam jest odpowiedzialny za
przedefiniowanie zestawu znakw. Autor mia szans zaznajomi si z trzema
takimi pakietami. Pakiet <CODE>russian.el</CODE> Walerego Aleksiejewa
(
<A HREF="mailto:ava@math.jhu.edu">mailto:ava@math.jhu.edu</A>)
pozwala uytkownikowi przecza si midzy trybami cyrylicy i zwykym
oraz tumaczy zawarto bufora z jednego kodowania cyrylicy na drugie
(co jest szczeglnie uyteczne przy czytaniu tekstw przeniesionych
z MS-DOS). <CODE>rustable.el</CODE> (nie znam niestety autora) dodaje do emacsa reguy
skadniowe zestawu znakw (granice sw, reguy zmiany wielkoci liter
itd.) Pakiety te znale mona w wikszoci archiww emacsowego Lispa.
<P>Jedyn niewygod jest to e emacs cigle traktuje znaki rosyjskie
jako specjalne, nie rozpoznaje wic granic sw rosyjskich i zmian
wielkoci liter. Aby to poprawi, musisz zmodyfikowa skadni i
tablice wielkoci liter emacsa:
<P>
<BLOCKQUOTE><CODE>
<PRE>
;; w zmiennych poniej znajduj si miecie, poniewa SGML nie lubi
;; znakw cyrylicy. Bdziesz musia wstawi due i mae litery
;; rosyjskiego alfabetu, odpowiednio (patrz faktyczne pliki)
(setq *russian-abc-ucase* "tu wstaw due litery")
(setq *russian-abc-lcase* "tu wstaw mae 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))))
</PRE>
</CODE></BLOCKQUOTE>
<P>Dla tego celu stworzyem plik <CODE>rusup.el</CODE> ktry tego dokonuje, podobnie
jak kilka porcznych funkcji. Musisz zaadowa go w swoim <CODE>~/.emacs</CODE>.
<P>Jeszcze jeden pakiet to <CODE>remap</CODE>, ktry prbuje bardziej utypowi obsug
cyrylicy. Pakiet ten napisa Per Abrahamsen
(<CODE>
<A HREF="mailto:abraham@iesd.auc.dk">mailto:abraham@iesd.auc.dk</A></CODE>), i dostpny jest on na
<CODE>ftp.iesd.auc.dk</CODE>.
<P>We wasnej opinii, sugerowabym zacz od <CODE>russian.el</CODE>, bowiem jest on
bardzo atwy w konfiguracji i uyciu.
<P>
<H2>7.4 6.4. ispell</H2>
<P>
<P>Istnieje dodatek <CODE>rspell</CODE> do pakietu GNU <CODE>ispell</CODE>, stworzony przez
Neala Daltona (<CODE>nrd@cray.com</CODE>), ale dowiadczyem z nim kilku
problemw prbujc go zmusi do natychmiastowego dziaania. Sprbuj go -
moe tobie si poszczci.
<P>
<H2>7.5 joe</H2>
<P>
<P>Sprbuj opcji <CODE>-asis</CODE>
<P>
<H2>7.6 ksh</H2>
<P>
<P>Co do implementacji public domain <CODE>ksh</CODE>, <CODE>pdksh 5.1.3</CODE>, moesz
wprowadza znaki omiobitowe tylko w trybie vi. Uyj
<P>
<BLOCKQUOTE><CODE>
<PRE>
set -o vi
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>7.7 less</H2>
<P>
<P>Jak na razie, <CODE>less</CODE> nie obsuguje zestawu znakw KOI-8, ale ponisza
zmienna rodowiskowa zaatwia spraw:
<P>
<BLOCKQUOTE><CODE>
<PRE>
LESSCHARSET=latin1
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>7.8 lynx</H2>
<P>
<P>Od wersji 2.6 moesz wybra odpowiedni warto dla opcji Display
Character Set.
<P>
<H2>7.9 mc (Midnight Commander)</H2>
<P>
<P>Aby poprawnie wywietla znaki cyrylicy, zaznacz opcj 'full 8 bits'
w menu Options/Display.
<P>Jeli masz problem z brzydkimi ramkami okien, zobacz sekcj ''
<P>Off topic: jeli chcesz zmusi mc do uywania kolorw w oknie <CODE>xterma</CODE>,
ustaw zmienn <CODE>COLORTERM</CODE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
COLORTERM= ; export COLORTERM
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>7.10 Netscape Navigator</H2>
<P>
<P>Upewnij si e uywasz wersji Netscape'a wikszej ni 3. Jeli twj
Netscape jest starszy, cignij nowszego z www.netscape.com.
<P>
<H3>Konfiguracja podstawowa</H3>
<P>
<P>Aby mc oglda tekst cyrylic w wikszej czci dokumentw HTMLowych,
zrb co nastpuje:
<P>
<UL>
<LI>W menu Options/Encoding Document wybierz Cyrillic (KOI-8)</LI>
<LI>W menu Options/General Preferences/Fonts wybierz Cyrillic (KOI-8),
Times(Cronyx) jako czcionk proporcjonaln i Courier(Cronyx) jako czcionk
o staej szerokoci.</LI>
<LI>Zachowaj ustawienia</LI>
</UL>
<P>UWAGA: konfiguracja ta bdzie dziaaa z wiksz czci dokumentu.
Jednake nie bdziesz mg wywietla tekstu cyrylic w nagwku okna,
menu i niektrych dialogach. Aby naprawi te problemy:
<P>
<H3>Konfiguracja zaawansowana</H3>
<P>
<P>Andriej A. Czernow wie wicej ni inni o KOI-8 w ogle i o Netscape
w szczeglnoci. Odwied jego doskona stron o KOI-8 i cignij at
do pliku zasobw Netscape, co sprawi e Netscape bdzie mwio po rosyjsku
na tyle na ile moe.
<P>
<H2>7.11 pine</H2>
<P>
<P>Wstaw nastpujc dyrektyw do <CODE>~/.pinerc</CODE> dla konfiguracji
osobistej, albo do <CODE>/usr/lib/pine.conf</CODE> dla globalnej:
<P>
<BLOCKQUOTE><CODE>
<PRE>
character-set=ISO-8859-5
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>7.12 rlogin</H2>
<P>
<P>Upewnij si e powoka na serwerze docelowym jest ustawiona poprawnie.
Potem, jeli twj <CODE>rlogin</CODE> nie dziaa domylnie [prawidowo],
uyj <CODE>rlogin -8</CODE>.
<P>
<H2>7.13 sendmail (aka 'zguba sysadmina')</H2>
<P>
<P>Od wersji 8 sendmail domylnie prawidowo radzi sobie z 8-bitowymi danymi.
Jeli nie jest tak u ciebie, sprawd opcj EightBitMode i opcj -7
przekazywan mailerom w twoim <CODE>/etc/sendmail.cf</CODE>. Patrz "Sendmail;
Installation and Operation Guide" po szczegy.
<P>
<H2><A NAME="s8">8. zsh</A></H2>
<P>
<P>Uywaj w ten sam sposb jak <CODE>csh</CODE> (patrz sekcja o <CODE>csh</CODE>). Plikami
startowymi w tym przypadku s <CODE>.zshrc</CODE> oraz <CODE>/etc/zshrc</CODE>.
<P>
<H2><A NAME="s9">9. Uyteczne narzdzia</A></H2>
<P>
<P>
<H2>9.1 Narzdzia do konwersji</H2>
<P>
<P>Istnieje pewna liczba programw zdolna konwertowa z KOI-8 na Alt
i z powrotem. Poszukaj w SovInformBureau albo na <CODE>ftp.funet.fi</CODE>
listy porcznych maych programikw. Moesz te uy specjalnego
trybu emacsa (patrz sekcja o emacsie).
<P>Szczeglnie polecabym jednake pakiet <CODE>translit</CODE>. Obsuguje on
wiele popularnych zestaww znakw i potrafi nawet stworzy pliki TeXa
(patrz sekcja 5.1). z tekstu rosyjskiego. Uytkownicy RedHata maj
do dyspozycji <CODE>translit</CODE> w postaci pliku RPM.
<P>
<H2>9.2 Narzdzia programisty</H2>
<P>
<P>Jak dotd objaniaem sposoby zmuszenia programw do akceptowania
i wywietlania zestawu znakw cyrylicy. Niemniej pene przystosowanie
systemu do warunkw lokalnych obejmuje o wiele wicej. To co omwiono
powyej nie wystarcza. System powinien by przyjazny dla uytkownika,
ktry niekoniecznie musi zna angielski. W mojej opinii, nie jest
wielk spraw obeznanie si z angielskim na poziomie komunikatw
programw. Jednake nie jest cakiem fair tego wymaga.
<P>Tak wic nastpny poziom przystosowania wymaga aby programy byy
dostosowywalne do wymaga rnych jzykw i zwyczajw w przedstawianiu
danych.
<P>Wczeniej dokonywano tego poprzez rozwijanie pewnej abstrakcji
komunikatw bdcych rezultatem kodu programu. Teraz ten mechanizm
jest (mniej czy wicej) ustandaryzowany. I, oczywicie, istniej
jego darmowe implementacje!
<P>Dobra wiadomo to to e GNU w kocu przyjo sposb tworzenia
zinternacjonalizowanych aplikacji. Ulrich Drepper
(<CODE>
<A HREF="mailto:drepper@ipd.info.uni-karlsruhe.de">mailto:drepper@ipd.info.uni-karlsruhe.de</A></CODE>)
stworzy pakiet <CODE>gettext</CODE>, dostpny we wszystkich
repozytoriach GNU, takich jak <CODE>
<A HREF="ftp://prep.ai.mit.edu/pub/gnu/">ftp://prep.ai.mit.edu/pub/gnu/</A></CODE>.
Pozwala on tworzy programy w sposb ktry atwo mona roszerzy
na obsug wielu jzykw. Nie zamierzam opisywa technik programistycznych,
zwaszcza e pakiet gettext zawiera doskonay podrcznik.
<P>Tak wic jeeli tworzysz programy ktre wypisuj jakie komunikaty
(a stworzye kiedy taki ktry by ich wypisywa?), nie le si i w
ociupin (naprawd ociupin) wysiku w uczynienie swojego programu
wiadomym locale.
<P>Proba o wspprac: jeli chcesz nauczy si pakietu <CODE>gettext</CODE> i
rwnoczenie dooy co do projektu GNU; lub nawet jeli tylko chcesz
dooy, moesz to zrobi! GNU si internacjonalizuje, wic wszystkie
narzdzia przerabiane s na wiadome locale. Problemem jest
przetumaczenie komunikatw z angielskiego na rosyjski (i inne
jzyki, jak wam si podoba). Zasadniczo, to co trzeba zrobi to
zdoby specjalny plik <CODE>.po</CODE>, skadajcy si z angielskich komunikatw
konkretnego narzdzia i doczy do kadego komunikatu jego odpowiednik
po rosyjsku. W ostatecznym rozrachunku sprawi to e system bdzie
odzywa si po rosyjsku, jeli zechce tego uytkownik! Po wicej
szczegw i dalsze wskazwki skontaktuj si z Ulrichem Drepperem
(<CODE>
<A HREF="mailto:drepper@ipd.info.uni-karlsruhe.de">mailto:drepper@ipd.info.uni-karlsruhe.de</A></CODE>)
<P>
<H2><A NAME="s10">10. Wykaz uytecznych zasobw</A></H2>
<P>
<P>Strona domowa <CODE>a2ps</CODE>:
<CODE>
<A HREF="http://www-inf.enst.fr/~demaille/a2ps.html">http://www-inf.enst.fr/~demaille/a2ps.html</A></CODE>
<P>Strona A. Czernowa o KOI-8:
<CODE>
<A HREF="http://www.nagual.ru/~ache/koi8.html">http://www.nagual.ru/~ache/koi8.html</A></CODE>
<P>Oglna informacja o Linuxie:
<CODE>
<A HREF="http://sunsite.unc.edu/mdw/linux.html">http://sunsite.unc.edu/mdw/linux.html</A></CODE>
<P>Moja kolekcja rzeczy zwizanych z konfiguracj cyrylicy:
<CODE>
<A HREF="ftp://netvision.net.il/pub/home/b/belikoff/cyrillic/">ftp://netvision.net.il/pub/home/b/belikoff/cyrillic/</A></CODE>
<P>Kolekcja cyrylicowa na <CODE>ftp.kiae.su</CODE>:
<CODE>
<A HREF="ftp://ftp.kiae.su/cyrillic/">ftp://ftp.kiae.su/cyrillic</A></CODE>
<P>Kolekcja cyrylicowa na <CODE>ftp.relcom.ru</CODE>:
<CODE>
<A HREF="ftp://ftp.relcom.ru/cyrillic/">ftp://ftp.relcom.ru/cyrillic/</A></CODE>
<P>Kolekcja programw cyrylizujcych
<CODE>
<A HREF="ftp://ftp.funet.fi/pub/culture/russian/comp/">ftp://ftp.funet.fi/pub/culture/russian/comp/</A></CODE>
<P>Cronyx <CODE>
<A HREF="http://www.cronyx.ru/">http://www.cronyx.ru/</A></CODE> - twrcy czcionek cyrylicowych dla systemu X Windows.
<P>Pakiet remap dla emacsa <CODE>
<A HREF="ftp://ftp.iesd.auc.dk/">ftp://frp.iesd.auc.dk/</A></CODE>
<P>Czcionki cyrylicowe dla Ghostscripta:
<CODE>
<A HREF="ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts">ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts</A></CODE>
<P>Czcionki cyrylicowe dla X:
<CODE>
<A HREF="ftp://ftp.kiae.su/cyrillic/x11/fonts/xrus-2.1.1-src.tgz">ftp://ftp.kiae.su/cyrillic/x11/fonts/xrus-2.1.1-src.tgz</A></CODE>
<P>Ghostscript: <CODE>
<A HREF="http://www.cs.wisc.edu/~ghost/index.html">http://www.cs.wisc.edu/~ghost/index.html</A></CODE>
<P>GNU nenscript: <CODE>
<A HREF="ftp://prep.ai.mit.edu/pub/gnu/">ftp://ftp.prep.ai.mit.edu/pub/gnu</A></CODE>
<P>Informacja o Cyrlillic Software:
<CODE>
<A HREF="http://sunsite.oit.unc.edu/sergei/Software/Software.html">http://sunsite.oit.unc.edu/sergei/Software/Software.html</A></CODE>
<P>Grupa newsowa <CODE>relcom.fido.ru.unix</CODE>.
<P>RFC 1489: <CODE>
<A HREF="http://ds.internic.net/rfc/rfc1489.txt">http://ds.internic.net/rfc/rfc1489.txt</A></CODE>
<P>Uyteczne pakiety obsugujce cyrylic:
<CODE>
<A HREF="ftp://sunsite.unc.edu/pub/academic/russian-studies/Software">ftp://sunsite.unc.edu/pub/academic/russian-studies/Software</A></CODE>
<P>Pakiet kbd dla Linuxa:
<CODE>
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Keyboards/">ftp://sunsite.unc.edu/pub/Linux/system/Keyboards/</A></CODE>
<P>Kolekcje czcionek X: <CODE>
<A HREF="ftp://ftp.switch.ch/mirror/linux/X11/fonts/">ftp://ftp.switch.ch/mirror/linux/X11/fonts/</A></CODE>
<P>SovInformBureau: <CODE>
<A HREF="http://www.siber.com/sib/russify/">http://www.siber.com/sib/russify/</A></CODE>
<P>Pakiet rusyfikujcy teTeX: <CODE>
<A HREF="ftp://xray.sai.msu.su/pub/outgoing/teTeX-rus/">ftp://xray.sai.msu.su/pub/outgoing/teTeX-rus/</A></CODE>
<P><CODE>rtxt2ps</CODE> i przerobiony <CODE>a2ps</CODE>: <CODE>
<A HREF="http://www.siber.com/sib/russify/converters/">http://www.siber.com/sib/russify/converters/</A></CODE>
<P>Pakiet <CODE>translit</CODE>:
<CODE>
<A HREF="ftp://ftp.osc.edu/pub/russian/translit/translit.tar.Z">ftp://ftp.osc.edu/pub/russian/translit/translit.tar.Z</A></CODE>
<P>Pakiet <CODE>xruskb</CODE>:
<CODE>
<A HREF="ftp://ftp.relcom.ru/x11/cyrillic/">ftp://ftp.relcom.ru/x11/cyrillic/</A></CODE>
<P><CODE>rspell</CODE>: <CODE>
<A HREF="ftp://sunsite.unc.edu/pub/academic/russian-studies/Software/rspell.tar.gz">ftp://sunsite.unc.edu/pub/academic/russian-studies/Software/rspell.tar.gz</A></CODE>
<P>FTP XFree86:
<CODE>
<A HREF="http://www.xfree86.org">http://www.xfree86.org</A></CODE>
<P>
</BODY>
</HTML>
|