Napechatat' chto-libo - eto vsegda problema. Imeetsya nabor razlichnyh printerov ot razlichnyh proizvoditelej s razlichnymi osobennostyami. Dazhe dlya vyvoda na pechat' 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 berut dannye Postscript i preobrazovyvayut 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®yavlyaemyh 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) ustanovit' 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 programmnym produktom s bol'shim kolichestvom opcij i nastroek. 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. 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
. Samuyu poslednyuyu
versiyu 1.5. vy mozhete najti na
GNU FTP arhive.
textbook.tar.gz
iz arhiva na
sunsite.unc.edu
(zdes' 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 zhe vam trebuetsya dejstvitel'no bystryj i prostoj sposob, a 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 (podrobnee ob etom pakete smotrite v razdele
Rabota s Washington Cyrillic).
|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' 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,
i sostoit on 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).
Risunki v formate PostScript chasto trebuetsya vklyuchat' v tekst, podgotovlennym
takim sredstvom formatirovaniya kak TeX. Kompaniya Adobe razrabotala format
fajla Inkapsulirovannyj
PostScript (EPS ili EPSF), kotoryj sozdaetsya v
sootvetstvii s soglasheniyami po strukturirovaniyu dokumentov v formate
PostScript
(PostScript Document Structuring Conventions).
Bol'shinstvo sovremennyh graficheskih prilozhenij porozhdaet fajl v obshcheprinyatom formate EPS, kotoryj bez truda mozhet byt' ispol'zovan LaTeXom. Sushchestvuet odno no: kak pravilo, pri sozdanii EPS fajla shrifty, kotorymi delayutsya nadpisi (shrifty, konechno zhe - PostScript Type1), v nego ne vklyuchayutsya i pri pechati zamenyayutsya pervymi popavshimisya.
Esli u vas est' kartinka v EPS, ispol'zuyushchaya shrift AAA, i fajl AAA.PFA
s etim PostScript shriftom to dlya togo, chtoby inkapsulirovat' etot shrift v etu
kartinku, nado s pomoshch'yu lyubogo tekstovogo redaktora vstavit' fajl AAA.PFA
celikom neposredstvenno pered strochkoj %%EndProlog
v fajl EPS.
Esli u vas est' tol'ko PFB shrifty, to ih sleduet ego preobrazovat' v PFA. Dlya
etogo vospol'zujtes' utilitoj pfb2pfa (sm.
CTAN) ili t1ascii (sm.
t1utils
).
Dlya vstavki vmesto redaktora mozhno ispol'zovat'
skript includeresources
iz psutils
- on delaet to zhe,
no avtomaticheski.
|tot zhe priem srabatyvaet i dlya obychnogo Postcript fajla.
Paket Ghostscript yavlyaetsya sovershenno unikal'nym produktom - fakticheski vse, chto pechataetsya v Unix prohodit cherez Ghostscript.
Inogda neobhodimo imet' kakuyu-nibud' specificheskuyu, ne obshchesistemnuyu nastrojku ghostscript. Naprimer, vozmozhno, chto u vas net privilegij root-a ili vy ne zhelaete vospol'zovat'sya imi iz soobrazhenij bezopasnosti. V sisteme mogut sovmestno rabotat' pol'zovateli, nuzhdayushchihsya v raznyh nastroek. Krome togo, universal'noj nastrojki prosto ne sushchestvuet. Naprimer dlya togo chtoby Netscape pechatal kirillicu, nuzhno zamestit' standartnye latinskie PostScript shrifty kirillicheskimi. No s drugoj storonoj posle etoj zameny budet nevozmozhno napechatat' (i dazhe uvidet' na ekrane) nekotorye latinskie teksty.
Sozdajte novyj katalog (napr. ~/.ghostscript
) i pomestite v
nem vse novye kirillicheskie shrifty. Skopirujte v nego takzhe fajl
Fontmap
i zatem redaktirujte ego kak Vam ugodno. Ustanovite
peremennuyu
okruzheniya GS_LIB
:
export GS_LIB=~/.ghostscript
|ta peremennaya ukazyvaet ghostscript, chto nuzhno snachala zaglyanut'
v kataloge ~/.ghostscript
(gde nahodyatsya vashi novye shrifty
i fajl Fontmap) i lish' potom v obshchesistemnye katalogi.
|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
- mozhno utochnit'
s pomoshch'yu komandy 'gs -h'
.
Fontmap
v kataloge gs
.
O tom gde mozhno najti shrifty Type1 opisano v razdele SHrifty Type1.
Esli u vas est' staryj, dobryj matrichnyj printer, i vy nuzhdaetes' v prostom vyvode teksta na KOI8, 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:
Sleduet otmetit', chto v Bolgarii vmesto "al'ternativnoj kodirovki" ispol'zuetsya kodirovka MIK.
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 dlya etogo 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)
.
|to imeet ves'ma otdalennoe otnoshenie k kirillizacii, no inogda ochen' polezno znat' chto nado sdelat', chtoby vash tekst byl otformatirovan pod stranicu formata A4 (zaimstvovano iz Serbian-HOWTO).
/usr/share/texmf/dvips/config/config.ps
ili ~/.dvips
.
-sPAPERSIZE=a4
.
~/.Xresources
:
Ghostview.pageMedia: A4
~/.Xresources
:
XDvi.paper: A4