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 (???)