Napechatat' chto-libo - eto vsegda problema. Imeetsya nabor razlichnyh printerov ot razlichnyh proizvoditelej s razlichnymi osobennostyami. Dazhe dlya vyvoda na pechati obychnogo ASCII teksta net nikakih obshchih reshenij (eto primenimo ne tol'ko k UNIX, no takzhe i k drugim operacionnym sistemam.
Printery imeyut razlichnye upravlyayushchie yazyki, i ochen' chasto oni imeyut sil'no razlichnye podhody k podderzhke inostrannyh yazykov. Horoshaya novost' - eto to, chto sejchas v kachestve upravlyayushchego yazyka, kak standart de facto dlya opisaniya raboty pechati ispol'zuetsya yazyk PostScript, razrabotannyj Adobe Corporation. Mnogo printerov imeyut vstroennyj PostScript interpretator, to est' vam nado prosto poslat' na printer Postscript dannye. Dlya teh u kogo etogo net, sushchestvuet programmnye PostScript interpretatory, kotoryj beret dannye Postscript preobrazovyvaet v specificheskij dlya dannogo printera upravlyayushchij kod. Odin iz nih my sejchas obsudim (veroyatno samyj luchshij iz luchshih). |to GNU GhostScript (gs dlya kratkosti).
Drugaya problema - eto shirokij spektr trebovanij predŽyavlyaemyj k pechati. Naprimer, inogda vy hotite prosto napechatat' chast' vashej C programmy, soderzhashchej v kachestve kommentariya tekst na russkom, tak chto vy ne nuzhdaetes' v "navorochennoj" procedure pechati- vam nuzhen prostoj ASCII vyvod s odnim shriftom. Sovsem drugoj delo, kogda vy sozdaete otkrytku dlya vashej podrugi. V etom sluchae vy, veroyatno, budete nuzhdat'sya v pechati dokumenta s razlichnymi shriftami i t.d. I eto uzhe opredelenno trebuet bol'shih usilij po ustanovke podderzhki kirillicy.
CHtoby vypolnit' vysheupomyanutuyu zadachu po vyvodu S programmy, vy dolzhny zastavit' vash printer ponyat' tol'ko odin shrift kirillicy i (vozmozhno) ustanavlivat' nekotoruyu programmu- fil'tr, chtoby vyvodit' dannye v sootvetstvuyushchem formate. CHtoby sovladat' so vtoroj zadachej, vy dolzhny obuchit' vash printer razlichnym shriftam i imet' special'noe programmnoe obespechenie.
Byvayut zadachi, trebuyushchie dlya vypolneniya nechto srednee, togda vam nuzhna programmy, kotoraya znaet, kak organizovat' i shrifty, i sootvetstvuyushchij vyvod v printer, tak chto vy mozhete, skazhem, poluchit' na vyhode kachestvenno otpechatannyj tekst, bez slozhnyh sistem podgotovki tekstov.
Inogda u vas est' prostoj ASCII KOI-8 tekst, i vy hotite ego tol'ko napechatat'. Odin iz samyh prostyh sposobov eto sdelat' eto vospol'zovat'sya uslugami programm preobrazuyushchih tekst v PostScript.
Est' ryad programm, delayushchih takoe preobrazovanie. YA lichno predpochitayu a2ps. Pervonachal'no razrabotannaya kak prostoj text-to-PostScript preobrazovatel', eta programma sejchas stala "materym", legko nastraivaemym i s bol'shim kolichestvom opcij programmnym produktom. Ona pozvolyaet upravlyat' formatami, razmeshcheniyami stranic, vydeleniem i t.d. Drugaya utilita, delayushchaya primerno to zhe samoe (teper' dostupnaya kak chast' proekta GNU) - enscript.
Preobrazovatel' teksta v PostScript byl i ostaetsya odnim iz
naibolee universal'nyh sredstv pechati. Avtor, kak okazalos',
ochen' otkryt dlya predlozhenij, i kak sledstvie, a2ps
versiya 4.9.8
podderzhivaet kirillicu pryamo v programme. Vse, v chem vy teper'
nuzhdaetes' - eto PostScript printer.
Komanda, kotoruyu ya ispol'zuyu dlya etogo:
a2ps -X koi8r --print-anyway <fajl>
Programma GNU enscript
takzhe, kak i a2ps, byla razrabotana dlya
preobrazovaniya teksta v PostScript, i ona takzhe podderzhivaet
ne ascii kodirovki. Programma ne imeet russkih PostScript
shriftov v svoem sostave, no ih ochen' prosto doustanovit'. Kak eto
sdelat' opisano nizhe (spasibo Michael Van Canneyt):
enscript
. Teper', samaya poslednyaya
versiya eto 1.5. vy mozhete najti ee na
GNU FTP arhive, ili vzyat'
paket RPM s
Redhat.
textbook.tar.gz
iz arhiva na
sunsite.unc.edu
(sdes' lezhit programmnoe obespechenie dlya rusifikacii).
Razarhivirujte etot fajl v katalog, gde razmeshcheny shrifty dlya enscript
(obychno /usr/share/enscript
). Teper' perejdite tuda, i vypolnite
sleduyushchuyu komandu:
mkafmmap *.afm
enscript --font=Textbook8 --encoding=koi8 some.file
Esli vam trebuetsya dejstvitel'no bystryj i prostoj sposob, i kachestva vyvoda dlya vas ne kritichno, i vse chto vam nuzhno - eto tol'ko russkij tekst na bumage, poprobujte paket rtxt2ps. |to ochen' prostoj bez ukrashatel'stv konverter teksta v PostScript. Kachestvo vyvoda ne ochen' horoshee (ili, chestno govorya plohoe) no eto - rabotaet.
Esli vse, v chem vy nuzhdaetes'- eto pechatat' ASCII teksta bez
dopolnitel'noj obrabotki, to vy mozhete
ispol'zovat' nekotorye programmki, kotorye mogut preobrazovat'
vash tekst kirillicy v gotovyj TeX fajl. Odna iz samyh luchshih
programm dlya takih celej - eto translit
(Smotrite razdel
Simvol'naya perekodirovka). V etom sluchae vy
dazhe ne dolzhny bespokoit'sya otnositel'no ustanovki shriftov
kirillicy dlya TeX, tak kak translit
ispol'zuet paket kirillicy
Washington Cyrillic
, kotoryj vklyuchen v bol'shinstvo distributivov
TeX (ili - ya ne prav?).
|ksperty govoryat, chto PostScript eto prosto. YA ne mogu sudit' - u menya bylo slishkom mnogo veshchej, kotorye nado izuchit', chtoby vykroit' vremya dlya izucheniya PostScript. No ya vse ravno poprobuyu ispol'zovat' moi nebol'shie znaniya ob etom voprose. YA budu ochen' blagodaren za lyubuyu informaciyu ob etom voprose ot vas druz'ya, kotorye znayut bol'she menya (vas priblizitel'no 99 % ot Zemnoj populyacii).
CHtoby pechatat' russkij tekst s ispol'zovaniem PostScript, vy dolzhny udostoverit'sya otnositel'no sleduyushchih veshchej:
Ne imeetsya nikakogo dostatochno obshchego resheniya, chtoby rekomendovat'sya ego kak okonchatel'noe. YA poprobuyu osvetit' razlichnye sposoby dlya resheniya razlichnyh problem, svyazannyh s etim voprosom.
Odin sposob eto poborot' problemy ustanovki kirillicy voobshche,
sostoit v tom, chtoby ispol'zovat'
Ghostscript. Ghostscript
(ili
prosto gs
ot newspeak) absolyutno free (nu, ne sovsem)
interpretator PostScript. U nego est' mnogo preimushchestv; sredi
nih:
V nashem specificheskom sluchae yavlyaetsya vazhnym to, - chto odnazhdy
ustanoviv i nastroiv Ghostscript
, my mozhem vse pechatat' cherez
nego, takim obrazom nam ne nado dopolnitel'no
nastraivat' drugie PostScript ustrojstva (naprimer HP LaserJet IV).
|to vazhno, tak kak vy, veroyatno, ne zahotite vzvalivat' otvetstvennost' za vklyuchenie shriftov kirillicy v PostScript na drugie programmy. Vzamen, vy dobavlyaete ih tol'ko k gs i zastavlyaete programmy vyvodit' russkij tekst sovmestimyj s etimi shriftami.
CHtoby dobavlyat' novyj shrift (v formate pfa
ili pfb
) v gs
, vy
dolzhny:
/usr/lib/ghostscript/fonts
).
Fontmap
v kataloge gs
.
Nedavno poyavilsya prilichnyj nabor shriftov kirillicy dlya
GhostScript
. Ego mozhno najti na
ftp.kapella.gpi.ru. |tot nabor
dazhe imeet neobhodimuyu chast' dlya dobavleniya k fajlu Fontmap
. Vy
dolzhny utyanut' soderzhanie kataloga /pub/cyrillic/psfonts
. V fajle
README opisyvayutsya vse neobhodimye podrobnosti.
Esli u vas est' staryj, dobryj matrichnyj printer, i vy nuzhdaetes' v prostom vyvode teksta na KOI-8, to poprobujte sleduyushchee:
rc
fajla pri
zagruzke.
Takim obrazom, nalichie simvolov Cyrillic v verhnej chasti nabora simvolov printera pozvolit vam pechatat' teksty po-russki bez dopolnitel'nyh uhishchrenij.
Al'ternativno k KOI8-R shriftam vy mozhete poprobovat' ispol'zovat' Alt shrifty. Dlya etogo imeyutsya dve prichiny:
Odnako, v etom sluchae, vy dolzhny budete preobrazovat' vashi
teksty iz KOI8-R v Alt pered posylkoj ih na printer. |to ne
problema, tak kak imeetsya mnozhestvo programm, delayushchih eto (dlya primera
smotrite razdel
Simvol'naya perekodirovka),
tak chto vam nuzhno tol'ko vyzvat'
takuyu programmku iz fajla /etc/printcap
v "if
pole".
Naprimer, s programmoj translit
mozhno sdelat' sleduyushchee:
if=/usr/bin/translit -t koi8-alt.rus
Dlya podrobnostej smotrite printcap(5)
.