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.
lp|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:
U pitanju su tri reda za stampanje. Prva je americki (ASCII) izbor znakova.
Drugi koristi /var/spool/lpd/jus_epson
:
#!/bin/sh
/usr/spool/lpd/jus_epson | lpr -Pascii
Potrebno je da datoteku filtrirate kroz filter /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:
#!/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"
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
/usr/local/bin/recode --force latin2:yu | \
/usr/spool/lpd/jus_epson | lpr -Pascii
Ovde pretpostavljamo da posedujemo program 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
:
...
# 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
Posto ste sve namestili, jednostavno posaljite datoteku na stampanje komandom
enscript <datoteka>