Next Previous Contents

8. Vyvod na pechat' and PostScript

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.

8.1 Preobrazovanie teksta v PostScript

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.

A2ps konverter

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>

GNU enscript

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):

  1. Ustanovite poslednij enscript. Teper', samaya poslednyaya versiya eto 1.5. vy mozhete najti ee na GNU FTP arhive, ili vzyat' paket RPM s Redhat.
  2. Esli vy - schastlivyj pol'zovatel' RedHat Linux, zagruzite i ustanovite shrift Cyrillic Textbook.
  3. Esli vy ne ispol'zuete RPMki, vytyanite fajl 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
    
  4. Ustanovka zavershena. Poprobujte napechatat' tekst v KOI8-R sleduyushchej komandoj:
        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.

8.2 Preobrazovanie teksta v TeX

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

8.3 Kirillica v PostScript

|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).

Dobavlenie shriftov kirillicy k Ghostscript

|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:

  1. Pomestit' etot shrift v katalog shriftov tt/gs/ (to est'. v /usr/lib/ghostscript/fonts).
  2. Dobavit' sootvetstvuyushchie imena i aliases dlya shrifta v fajle 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.

8.4 Ispol'zovanie starogo matrichnogo printera dlya pechati kirillicheskogo teksta

Esli u vas est' staryj, dobryj matrichnyj printer, i vy nuzhdaetes' v prostom vyvode teksta na KOI-8, to poprobujte sleduyushchee:

  1. Najti sootvetstvuyushchij KOI-8 shrift dlya vashego printera. Prover'te ftp arhivy MS DOS - v Internete (naprimer posmotrite na arhiv SimTel).
  2. Prochitajte rukovodstvo i najdite v nem kak zagruzit' takoj shrift v vash printer. Napishite prosten'kuyu programmu, delayushchuyu eto.
  3. Zapuskajte etu programmku iz sootvetstvuyushchego 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).


Next Previous Contents