
Kod stampanja mozete naici na razne situacije:
Neki od novijih stampaca neposredno podrzavaju ISO-8859-2 kodni raspored. Medju njima su:
\033(@N\033(s0p12h0s0b4099T
gde je \033 oktalni kod znaka Escape.
Jedan od nacina da pomocu datoteke /etc/printcap prilagodimo stampac da stampa po tom rasporedu opisan je u sledecem odeljku.
Ako stampac podrzava neki drugi kodni raspored s nasim slovima, ipak mozemo pomocu njega stampati tekstove po ISO-8859-2 rasporedu, ako datoteku /etc/printcap prilagodimo na odgovarajuci nacin.
Postupak cemo objasniti na primeru stampaca marke Epson, koji ima znake po YUSCII rasporedu na mesto svedske abecede.
U pitanju su tri reda za stampanje. Prva je americki (ASCII) izbor znakova. Drugi koristilp|ascii|epson|Epson LQ-850:\ :lp=/dev/lp1:\ :sd=/usr/spool/lpd/epson:\ :lf=/usr/spool/lpd/ERRORLOG:\ :mx#0:\ :sh: jus|Epson LQ-850 sa znakovima JUS I.B1.002:\ :lp=/dev/null:\ :sd=/usr/spool/lpd/jus:\ :if=/usr/spool/lpd/jus_filter:\ :lf=/usr/spool/lpd/ERRORLOG:\ :mx#0:\ :sh latin2|text|Epson LQ-850 sa znakovima po ISO Latin 2:\ :lp=/dev/null:\ :sd=/usr/spool/lpd/latin2:\ :if=/usr/spool/lpd/latin2_filter:\ :lf=/usr/spool/lpd/ERRORLOG:\ :mx#0:\ :sh:
/var/spool/lpd/jus_epson:
Potrebno je da datoteku filtrirate kroz filter#!/bin/sh /usr/spool/lpd/jus_epson | lpr -Pascii
/var/spool/lpd/jus_epson i da je postavite u prvi red za stampanje. Filter jus_epson ne radi nista drugo osim sto bira svedski kodni raspored, prepise datoteku sa ulaza na izlaz i na kraju opet bira americki raspored. To je jedini deo programa koji zavisi od vrste stampaca:
Treci red (queue) je modifikacija drugog. Najpre se dokument pretvara iz Latin 2 u JUS kodni raspored, zatim se koristi prethodno opisani filter da doda na pocetku i na kraju potrebne kodove za stampac, i na kraju se datoteka salje u prvi red za stampanje.#!/bin/sh # Stampanje dokumenta kodiranih po JUS I.B1.002 na stampac Epson LQ # # Biramo srpski (svedski) raspored /bin/echo "\033R\005\c" # Ispisujemo dokument cat # Biramo ASCII raspored /bin/echo "\033R\000\c"
Ovde pretpostavljamo da posedujemo program#!/bin/sh /usr/local/bin/recode --force latin2:yu | \ /usr/spool/lpd/jus_epson | lpr -Pascii
recode u /usr/local/bin direktorijumu.
U ovu svrhu morate u direktorijumu /usr/spool/lpd (ili /var/spool/lpd) kreirati poddirektorijume /usr/spool/lpd/epson, /usr/spool/lpd/jus i /usr/spool/lpd/latin2.
Stampanje bi trebalo da ide lako:
-Pepson ili -Pascii, datoteka se stampa kao ASCII:
lpr <datoteka>
-Pjus datoteka se stampa kao dokument po JUS I.B1.002 rasporedu:
lpr -Pjus <datoteka>
-Platin2 ili -Ptext datoteka se stampa po ISO-8859-2 rasporedu:
lpr -Platin2 <datoteka>
Datoteku mozete lako odstampati ako koristite jedan od filtera za PostScript stampace koji podrzavaju ISO-8859-2 raspored. Takvi programi su, na primer, a2ps i GNU enscript. Poslednji podrzava ISO-8859-2 raspored, dok je podrska za prvi program u izradi.
Enscript za Red Hat distribucije mozete naci na http://rufus.w3.org/linux/RPM "skladistu" RPM paketa.
Ako niste instalirali GNU enscript, mozete to da ucinite po uputstvima koja prate program. Osim njega, potreban vam je i neki font u Type 1 obliku koji sadrzi nasa slova. Dobar izbor bi bio IBM Courier, koji se distribuira uz X Windows sisteme ili sa programom ghostscript. Ako font postoji, ali ne znate tacno gde se nalazi, mozete ga pronaci komandom
find / -name cour.pf[ab]
U licnu (~/.enscriptrc) ili sistemsku konfiguracionu datoteku (/usr/local/etc/enscript.cfg ili /usr/loca/etc/enscriptsite.cfg) dodajte put do datoteke sa fontovima. Osim toga, GNU enscript zahteva u svakom direktorijumu sa fontovima datoteku font.map, koja sadrzi preslikavanje izmedju fontova i datoteka u kojima se fontovi nalaze - slicno kao fonts.dir. Datoteku font.map mozete da kreirate naredbom mkafmmap.
Primer konfiguracione datoteke enscriptsite.cfg:
Posto ste sve namestili, jednostavno posaljite datoteku na stampanje komandom... # Gde su PostScript fontovi? AFMPath: /usr/lib/X11/fonts/Type1:/usr/local/lib/ghostscript/fonts ... # Podrazumevani nacin kodiranja: DefaultEncoding: latin2 ... # Podrazumevani format papira: DefaultMedia: A4 ... # lpd bira red za stampanje prekidacem -P... QueueParam: -P ... # Za stampanje koristimo naredbu lpr, a ne lp Spooler: lp
enscript <datoteka>